From d117c152b8e97e6ece1acfc9b1ce241907f37b2c Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Wed, 30 Nov 2022 22:49:14 +0000 Subject: [PATCH 1/4] feat: add bigquery datapolicies v1 API PiperOrigin-RevId: 491999451 Source-Link: https://github.com/googleapis/googleapis/commit/24fc77bd4cb18d72a98bda4c0239e54fa616c498 Source-Link: https://github.com/googleapis/googleapis-gen/commit/81aebdc7f68d390ee226e8e327edbebccc996e49 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWJpZ3F1ZXJ5LWRhdGFwb2xpY2llcy8uT3dsQm90LnlhbWwiLCJoIjoiODFhZWJkYzdmNjhkMzkwZWUyMjZlOGUzMjdlZGJlYmNjYzk5NmU0OSJ9 --- .../v1/.eslintignore | 7 + .../v1/.eslintrc.json | 3 + .../v1/.gitignore | 14 + .../v1/.jsdoc.js | 55 + .../v1/.mocharc.js | 33 + .../v1/.prettierrc.js | 22 + .../v1/README.md | 1 + .../v1/linkinator.config.json | 16 + .../v1/package.json | 64 + .../bigquery/datapolicies/v1/datapolicy.proto | 315 ++++ .../data_policy_service.create_data_policy.js | 68 + .../data_policy_service.delete_data_policy.js | 62 + .../v1/data_policy_service.get_data_policy.js | 62 + .../v1/data_policy_service.get_iam_policy.js | 67 + .../data_policy_service.list_data_policies.js | 85 + .../data_policy_service.rename_data_policy.js | 67 + .../v1/data_policy_service.set_iam_policy.js | 77 + ...ata_policy_service.test_iam_permissions.js | 70 + .../data_policy_service.update_data_policy.js | 71 + ...google.cloud.bigquery.datapolicies.v1.json | 415 +++++ .../v1/src/index.ts | 25 + .../v1/src/v1/data_policy_service_client.ts | 1264 +++++++++++++++ .../v1/data_policy_service_client_config.json | 83 + .../v1/data_policy_service_proto_list.json | 3 + .../v1/src/v1/gapic_metadata.json | 117 ++ .../v1/src/v1/index.ts | 19 + .../system-test/fixtures/sample/src/index.js | 27 + .../system-test/fixtures/sample/src/index.ts | 32 + .../v1/system-test/install.ts | 49 + .../v1/test/gapic_data_policy_service_v1.ts | 1427 +++++++++++++++++ .../v1/tsconfig.json | 19 + .../v1/webpack.config.js | 64 + .../v1beta1/.eslintignore | 7 + .../v1beta1/.eslintrc.json | 3 + .../v1beta1/.gitignore | 14 + .../v1beta1/.jsdoc.js | 55 + .../v1beta1/.mocharc.js | 33 + .../v1beta1/.prettierrc.js | 22 + .../v1beta1/README.md | 1 + .../v1beta1/linkinator.config.json | 16 + .../v1beta1/package.json | 64 + .../datapolicies/v1beta1/datapolicy.proto | 287 ++++ .../data_policy_service.create_data_policy.js | 68 + .../data_policy_service.delete_data_policy.js | 62 + .../data_policy_service.get_data_policy.js | 62 + .../data_policy_service.get_iam_policy.js | 67 + .../data_policy_service.list_data_policies.js | 75 + .../data_policy_service.set_iam_policy.js | 77 + ...ata_policy_service.test_iam_permissions.js | 70 + .../data_policy_service.update_data_policy.js | 71 + ...e.cloud.bigquery.datapolicies.v1beta1.json | 367 +++++ .../v1beta1/src/index.ts | 25 + .../src/v1beta1/data_policy_service_client.ts | 1163 ++++++++++++++ .../data_policy_service_client_config.json | 78 + .../data_policy_service_proto_list.json | 3 + .../v1beta1/src/v1beta1/gapic_metadata.json | 107 ++ .../v1beta1/src/v1beta1/index.ts | 19 + .../system-test/fixtures/sample/src/index.js | 27 + .../system-test/fixtures/sample/src/index.ts | 32 + .../v1beta1/system-test/install.ts | 49 + .../test/gapic_data_policy_service_v1beta1.ts | 1319 +++++++++++++++ .../v1beta1/tsconfig.json | 19 + .../v1beta1/webpack.config.js | 64 + 63 files changed, 9029 insertions(+) create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintignore create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintrc.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.gitignore create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.jsdoc.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.mocharc.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.prettierrc.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/README.md create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/linkinator.config.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/package.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.create_data_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.delete_data_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_data_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_iam_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.list_data_policies.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.rename_data_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.set_iam_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.test_iam_permissions.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.update_data_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/index.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client_config.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_proto_list.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/gapic_metadata.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/index.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/install.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/test/gapic_data_policy_service_v1.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/tsconfig.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/webpack.config.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintignore create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintrc.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.gitignore create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.jsdoc.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.mocharc.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.prettierrc.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/README.md create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/linkinator.config.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/package.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicy.proto create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.create_data_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.delete_data_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_data_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_iam_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.list_data_policies.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.set_iam_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.test_iam_permissions.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.update_data_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/index.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client_config.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_proto_list.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/gapic_metadata.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/index.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/install.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/test/gapic_data_policy_service_v1beta1.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/tsconfig.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/webpack.config.js diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintignore b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintignore new file mode 100644 index 00000000000..cfc348ec4d1 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintignore @@ -0,0 +1,7 @@ +**/node_modules +**/.coverage +build/ +docs/ +protos/ +system-test/ +samples/generated/ diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintrc.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintrc.json new file mode 100644 index 00000000000..78215349546 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/gts" +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.gitignore b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.gitignore new file mode 100644 index 00000000000..5d32b23782f --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.gitignore @@ -0,0 +1,14 @@ +**/*.log +**/node_modules +.coverage +coverage +.nyc_output +docs/ +out/ +build/ +system-test/secrets.js +system-test/*key.json +*.lock +.DS_Store +package-lock.json +__pycache__ diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.jsdoc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.jsdoc.js new file mode 100644 index 00000000000..68361d6c419 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.jsdoc.js @@ -0,0 +1,55 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +'use strict'; + +module.exports = { + opts: { + readme: './README.md', + package: './package.json', + template: './node_modules/jsdoc-fresh', + recurse: true, + verbose: true, + destination: './docs/' + }, + plugins: [ + 'plugins/markdown', + 'jsdoc-region-tag' + ], + source: { + excludePattern: '(^|\\/|\\\\)[._]', + include: [ + 'build/src', + 'protos' + ], + includePattern: '\\.js$' + }, + templates: { + copyright: 'Copyright 2022 Google LLC', + includeDate: false, + sourceFiles: false, + systemName: '@google-cloud/datapolicies', + theme: 'lumen', + default: { + outputSourceFiles: false + } + }, + markdown: { + idInHeadings: true + } +}; diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.mocharc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.mocharc.js new file mode 100644 index 00000000000..481c522b00f --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.mocharc.js @@ -0,0 +1,33 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +const config = { + "enable-source-maps": true, + "throw-deprecation": true, + "timeout": 10000 +} +if (process.env.MOCHA_THROW_DEPRECATION === 'false') { + delete config['throw-deprecation']; +} +if (process.env.MOCHA_REPORTER) { + config.reporter = process.env.MOCHA_REPORTER; +} +if (process.env.MOCHA_REPORTER_OUTPUT) { + config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`; +} +module.exports = config diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.prettierrc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.prettierrc.js new file mode 100644 index 00000000000..494e147865d --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.prettierrc.js @@ -0,0 +1,22 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + +module.exports = { + ...require('gts/.prettierrc.json') +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/README.md b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/README.md new file mode 100644 index 00000000000..46950ef3a37 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/README.md @@ -0,0 +1 @@ +Datapolicies: Nodejs Client diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/linkinator.config.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/linkinator.config.json new file mode 100644 index 00000000000..befd23c8633 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/linkinator.config.json @@ -0,0 +1,16 @@ +{ + "recurse": true, + "skip": [ + "https://codecov.io/gh/googleapis/", + "www.googleapis.com", + "img.shields.io", + "https://console.cloud.google.com/cloudshell", + "https://support.google.com" + ], + "silent": true, + "concurrency": 5, + "retry": true, + "retryErrors": true, + "retryErrorsCount": 5, + "retryErrorsJitter": 3000 +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/package.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/package.json new file mode 100644 index 00000000000..79e1b6b2a35 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/package.json @@ -0,0 +1,64 @@ +{ + "name": "@google-cloud/datapolicies", + "version": "0.1.0", + "description": "Datapolicies client for Node.js", + "repository": "googleapis/nodejs-datapolicies", + "license": "Apache-2.0", + "author": "Google LLC", + "main": "build/src/index.js", + "files": [ + "build/src", + "build/protos" + ], + "keywords": [ + "google apis client", + "google api client", + "google apis", + "google api", + "google", + "google cloud platform", + "google cloud", + "cloud", + "google datapolicies", + "datapolicies", + "data policy service" + ], + "scripts": { + "clean": "gts clean", + "compile": "tsc -p . && cp -r protos build/ && minifyProtoJson", + "compile-protos": "compileProtos src", + "docs": "jsdoc -c .jsdoc.js", + "predocs-test": "npm run docs", + "docs-test": "linkinator docs", + "fix": "gts fix", + "lint": "gts check", + "prepare": "npm run compile-protos && npm run compile", + "system-test": "c8 mocha build/system-test", + "test": "c8 mocha build/test" + }, + "dependencies": { + "google-gax": "^3.5.2" + }, + "devDependencies": { + "@types/mocha": "^9.1.1", + "@types/node": "^16.11.62", + "@types/sinon": "^10.0.13", + "c8": "^7.12.0", + "gts": "^3.1.1", + "jsdoc": "^3.6.11", + "jsdoc-fresh": "^2.0.1", + "jsdoc-region-tag": "^2.0.1", + "linkinator": "^4.0.3", + "mocha": "^10.0.0", + "null-loader": "^4.0.1", + "pack-n-play": "^1.0.0-2", + "sinon": "^14.0.0", + "ts-loader": "^8.4.0", + "typescript": "^4.8.3", + "webpack": "^4.46.0", + "webpack-cli": "^4.10.0" + }, + "engines": { + "node": ">=v12" + } +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto new file mode 100644 index 00000000000..f055f9d4593 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto @@ -0,0 +1,315 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.bigquery.datapolicies.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/iam/v1/iam_policy.proto"; +import "google/iam/v1/policy.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.BigQuery.DataPolicies.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/bigquery/datapolicies/v1;datapolicies"; +option java_multiple_files = true; +option java_outer_classname = "DataPolicyProto"; +option java_package = "com.google.cloud.bigquery.datapolicies.v1"; +option php_namespace = "Google\\Cloud\\BigQuery\\DataPolicies\\V1"; +option ruby_package = "Google::Cloud::Bigquery::DataPolicies::V1"; + +// Data Policy Service provides APIs for managing the label-policy bindings. +service DataPolicyService { + option (google.api.default_host) = "bigquerydatapolicy.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/bigquery," + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a new data policy under a project with the given `dataPolicyId` + // (used as the display name), policy tag, and data policy type. + rpc CreateDataPolicy(CreateDataPolicyRequest) returns (DataPolicy) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/dataPolicies" + body: "data_policy" + }; + option (google.api.method_signature) = "parent,data_policy"; + } + + // Updates the metadata for an existing data policy. The target data policy + // can be specified by the resource name. + rpc UpdateDataPolicy(UpdateDataPolicyRequest) returns (DataPolicy) { + option (google.api.http) = { + patch: "/v1/{data_policy.name=projects/*/locations/*/dataPolicies/*}" + body: "data_policy" + }; + option (google.api.method_signature) = "data_policy,update_mask"; + } + + // Renames the id (display name) of the specified data policy. + rpc RenameDataPolicy(RenameDataPolicyRequest) returns (DataPolicy) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/dataPolicies/*}:rename" + body: "*" + }; + option (google.api.method_signature) = "name,new_data_policy_id"; + } + + // Deletes the data policy specified by its resource name. + rpc DeleteDataPolicy(DeleteDataPolicyRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/dataPolicies/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Gets the data policy specified by its resource name. + rpc GetDataPolicy(GetDataPolicyRequest) returns (DataPolicy) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/dataPolicies/*}" + }; + option (google.api.method_signature) = "name"; + } + + // List all of the data policies in the specified parent project. + rpc ListDataPolicies(ListDataPoliciesRequest) returns (ListDataPoliciesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/dataPolicies" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets the IAM policy for the specified data policy. + rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) { + option (google.api.http) = { + post: "/v1/{resource=projects/*/locations/*/dataPolicies/*}:getIamPolicy" + body: "*" + }; + } + + // Sets the IAM policy for the specified data policy. + rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) { + option (google.api.http) = { + post: "/v1/{resource=projects/*/locations/*/dataPolicies/*}:setIamPolicy" + body: "*" + }; + } + + // Returns the caller's permission on the specified data policy resource. + rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) { + option (google.api.http) = { + post: "/v1/{resource=projects/*/locations/*/dataPolicies/*}:testIamPermissions" + body: "*" + }; + } +} + +// Request message for the CreateDataPolicy method. +message CreateDataPolicyRequest { + // Required. Resource name of the project that the data policy will belong to. The + // format is `projects/{project_number}/locations/{location_id}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "bigquerydatapolicy.googleapis.com/DataPolicy" + } + ]; + + // Required. The data policy to create. The `name` field does not need to be + // provided for the data policy creation. + DataPolicy data_policy = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for the UpdateDataPolicy method. +message UpdateDataPolicyRequest { + // Required. Update the data policy's metadata. + // + // The target data policy is determined by the `name` field. + // Other fields are updated to the specified values based on the field masks. + DataPolicy data_policy = 1 [(google.api.field_behavior) = REQUIRED]; + + // The update mask applies to the resource. For the `FieldMask` definition, + // see + // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + // If not set, defaults to all of the fields that are allowed to update. + // + // Updates to the `name` and `dataPolicyId` fields are not allowed. + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for the RenameDataPolicy method. +message RenameDataPolicyRequest { + // Required. Resource name of the data policy to rename. The format is + // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}` + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The new data policy id. + string new_data_policy_id = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for the DeleteDataPolicy method. +message DeleteDataPolicyRequest { + // Required. Resource name of the data policy to delete. Format is + // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigquerydatapolicy.googleapis.com/DataPolicy" + } + ]; +} + +// Request message for the GetDataPolicy method. +message GetDataPolicyRequest { + // Required. Resource name of the requested data policy. Format is + // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigquerydatapolicy.googleapis.com/DataPolicy" + } + ]; +} + +// Request message for the ListDataPolicies method. +message ListDataPoliciesRequest { + // Required. Resource name of the project for which to list data policies. Format is + // `projects/{project_number}/locations/{location_id}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "bigquerydatapolicy.googleapis.com/DataPolicy" + } + ]; + + // The maximum number of data policies to return. Must be a value between 1 + // and 1000. + // If not set, defaults to 50. + int32 page_size = 2; + + // The `nextPageToken` value returned from a previous list request, if any. If + // not set, defaults to an empty string. + string page_token = 3; + + // Filters the data policies by policy tags that they + // are associated with. Currently filter only supports + // "policy_tag" based filtering and OR based predicates. Sample + // filter can be "policy_tag: + // 'projects/1/locations/us/taxonomies/2/policyTags/3'". You may use wildcard + // such as "policy_tag: + // 'projects/1/locations/us/taxonomies/2/*'". + string filter = 4; +} + +// Response message for the ListDataPolicies method. +message ListDataPoliciesResponse { + // Data policies that belong to the requested project. + repeated DataPolicy data_policies = 1; + + // Token used to retrieve the next page of results, or empty if there are no + // more results. + string next_page_token = 2; +} + +// Represents the label-policy binding. +message DataPolicy { + option (google.api.resource) = { + type: "bigquerydatapolicy.googleapis.com/DataPolicy" + pattern: "projects/{project}/locations/{location}/dataPolicies/{data_policy}" + }; + + // A list of supported data policy types. + enum DataPolicyType { + // Default value for the data policy type. This should not be used. + DATA_POLICY_TYPE_UNSPECIFIED = 0; + + // Used to create a data policy for column-level security, without data + // masking. + COLUMN_LEVEL_SECURITY_POLICY = 3; + + // Used to create a data policy for data masking. + DATA_MASKING_POLICY = 2; + } + + // Label that is bound to this data policy. + oneof matching_label { + // Policy tag resource name, in the format of + // `projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{policyTag_id}`. + string policy_tag = 4; + } + + // The policy that is bound to this data policy. + oneof policy { + // The data masking policy that specifies the data masking rule to use. + DataMaskingPolicy data_masking_policy = 5; + } + + // Output only. Resource name of this data policy, in the format of + // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Type of data policy. + DataPolicyType data_policy_type = 2; + + // User-assigned (human readable) ID of the data policy that needs to be + // unique within a project. Used as {data_policy_id} in part of the resource + // name. + string data_policy_id = 3; +} + +// The data masking policy that is used to specify data masking rule. +message DataMaskingPolicy { + // The available masking rules. Learn more here: + // https://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options. + enum PredefinedExpression { + // Default, unspecified predefined expression. No masking will take place + // since no expression is specified. + PREDEFINED_EXPRESSION_UNSPECIFIED = 0; + + // Masking expression to replace data with SHA-256 hash. + SHA256 = 3; + + // Masking expression to replace data with NULLs. + ALWAYS_NULL = 5; + + // Masking expression to replace data with their default masking values. + // The default masking values for each type listed as below: + // + // * STRING: "" + // * BYTES: b'' + // * INTEGER: 0 + // * FLOAT: 0.0 + // * NUMERIC: 0 + // * BOOLEAN: FALSE + // * TIMESTAMP: 0001-01-01 00:00:00 UTC + // * DATE: 0001-01-01 + // * TIME: 00:00:00 + // * DATETIME: 0001-01-01T00:00:00 + // * GEOGRAPHY: POINT(0 0) + // * BIGNUMERIC: 0 + // * ARRAY: [] + // * STRUCT: NOT_APPLICABLE + // * JSON: NULL + DEFAULT_MASKING_VALUE = 7; + } + + // A masking expression to bind to the data masking rule. + oneof masking_expression { + // A predefined masking expression. + PredefinedExpression predefined_expression = 1; + } +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.create_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.create_data_policy.js new file mode 100644 index 00000000000..b14616a309b --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.create_data_policy.js @@ -0,0 +1,68 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(parent, dataPolicy) { + // [START bigquerydatapolicy_v1_generated_DataPolicyService_CreateDataPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the project that the data policy will belong to. The + * format is `projects/{project_number}/locations/{location_id}`. + */ + // const parent = 'abc123' + /** + * Required. The data policy to create. The `name` field does not need to be + * provided for the data policy creation. + */ + // const dataPolicy = {} + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callCreateDataPolicy() { + // Construct request + const request = { + parent, + dataPolicy, + }; + + // Run request + const response = await datapoliciesClient.createDataPolicy(request); + console.log(response); + } + + callCreateDataPolicy(); + // [END bigquerydatapolicy_v1_generated_DataPolicyService_CreateDataPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.delete_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.delete_data_policy.js new file mode 100644 index 00000000000..bfae7b78a07 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.delete_data_policy.js @@ -0,0 +1,62 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(name) { + // [START bigquerydatapolicy_v1_generated_DataPolicyService_DeleteDataPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the data policy to delete. Format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + */ + // const name = 'abc123' + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callDeleteDataPolicy() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await datapoliciesClient.deleteDataPolicy(request); + console.log(response); + } + + callDeleteDataPolicy(); + // [END bigquerydatapolicy_v1_generated_DataPolicyService_DeleteDataPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_data_policy.js new file mode 100644 index 00000000000..3460963686e --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_data_policy.js @@ -0,0 +1,62 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(name) { + // [START bigquerydatapolicy_v1_generated_DataPolicyService_GetDataPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the requested data policy. Format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + */ + // const name = 'abc123' + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callGetDataPolicy() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await datapoliciesClient.getDataPolicy(request); + console.log(response); + } + + callGetDataPolicy(); + // [END bigquerydatapolicy_v1_generated_DataPolicyService_GetDataPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_iam_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_iam_policy.js new file mode 100644 index 00000000000..84533025be7 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_iam_policy.js @@ -0,0 +1,67 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(resource) { + // [START bigquerydatapolicy_v1_generated_DataPolicyService_GetIamPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * REQUIRED: The resource for which the policy is being requested. + * See the operation documentation for the appropriate value for this field. + */ + // const resource = 'abc123' + /** + * OPTIONAL: A `GetPolicyOptions` object for specifying options to + * `GetIamPolicy`. + */ + // const options = {} + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callGetIamPolicy() { + // Construct request + const request = { + resource, + }; + + // Run request + const response = await datapoliciesClient.getIamPolicy(request); + console.log(response); + } + + callGetIamPolicy(); + // [END bigquerydatapolicy_v1_generated_DataPolicyService_GetIamPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.list_data_policies.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.list_data_policies.js new file mode 100644 index 00000000000..7895258542c --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.list_data_policies.js @@ -0,0 +1,85 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(parent) { + // [START bigquerydatapolicy_v1_generated_DataPolicyService_ListDataPolicies_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the project for which to list data policies. Format is + * `projects/{project_number}/locations/{location_id}`. + */ + // const parent = 'abc123' + /** + * The maximum number of data policies to return. Must be a value between 1 + * and 1000. + * If not set, defaults to 50. + */ + // const pageSize = 1234 + /** + * The `nextPageToken` value returned from a previous list request, if any. If + * not set, defaults to an empty string. + */ + // const pageToken = 'abc123' + /** + * Filters the data policies by policy tags that they + * are associated with. Currently filter only supports + * "policy_tag" based filtering and OR based predicates. Sample + * filter can be "policy_tag: + * 'projects/1/locations/us/taxonomies/2/policyTags/3'". You may use wildcard + * such as "policy_tag: + * 'projects/1/locations/us/taxonomies/2/*'". + */ + // const filter = 'abc123' + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callListDataPolicies() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await datapoliciesClient.listDataPoliciesAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListDataPolicies(); + // [END bigquerydatapolicy_v1_generated_DataPolicyService_ListDataPolicies_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.rename_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.rename_data_policy.js new file mode 100644 index 00000000000..af2892b048a --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.rename_data_policy.js @@ -0,0 +1,67 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(name, newDataPolicyId) { + // [START bigquerydatapolicy_v1_generated_DataPolicyService_RenameDataPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the data policy to rename. The format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}` + */ + // const name = 'abc123' + /** + * Required. The new data policy id. + */ + // const newDataPolicyId = 'abc123' + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callRenameDataPolicy() { + // Construct request + const request = { + name, + newDataPolicyId, + }; + + // Run request + const response = await datapoliciesClient.renameDataPolicy(request); + console.log(response); + } + + callRenameDataPolicy(); + // [END bigquerydatapolicy_v1_generated_DataPolicyService_RenameDataPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.set_iam_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.set_iam_policy.js new file mode 100644 index 00000000000..7cfda4aa49b --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.set_iam_policy.js @@ -0,0 +1,77 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(resource, policy) { + // [START bigquerydatapolicy_v1_generated_DataPolicyService_SetIamPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * REQUIRED: The resource for which the policy is being specified. + * See the operation documentation for the appropriate value for this field. + */ + // const resource = 'abc123' + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size of + * the policy is limited to a few 10s of KB. An empty policy is a + * valid policy but certain Cloud Platform services (such as Projects) + * might reject them. + */ + // const policy = {} + /** + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only + * the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: + * `paths: "bindings, etag"` + */ + // const updateMask = {} + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callSetIamPolicy() { + // Construct request + const request = { + resource, + policy, + }; + + // Run request + const response = await datapoliciesClient.setIamPolicy(request); + console.log(response); + } + + callSetIamPolicy(); + // [END bigquerydatapolicy_v1_generated_DataPolicyService_SetIamPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.test_iam_permissions.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.test_iam_permissions.js new file mode 100644 index 00000000000..49d6f841c1d --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.test_iam_permissions.js @@ -0,0 +1,70 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(resource, permissions) { + // [START bigquerydatapolicy_v1_generated_DataPolicyService_TestIamPermissions_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + // const resource = 'abc123' + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. For more + * information see + * IAM Overview (https://cloud.google.com/iam/docs/overview#permissions). + */ + // const permissions = 'abc123' + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callTestIamPermissions() { + // Construct request + const request = { + resource, + permissions, + }; + + // Run request + const response = await datapoliciesClient.testIamPermissions(request); + console.log(response); + } + + callTestIamPermissions(); + // [END bigquerydatapolicy_v1_generated_DataPolicyService_TestIamPermissions_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.update_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.update_data_policy.js new file mode 100644 index 00000000000..a459efd1583 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.update_data_policy.js @@ -0,0 +1,71 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(dataPolicy) { + // [START bigquerydatapolicy_v1_generated_DataPolicyService_UpdateDataPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Update the data policy's metadata. + * The target data policy is determined by the `name` field. + * Other fields are updated to the specified values based on the field masks. + */ + // const dataPolicy = {} + /** + * The update mask applies to the resource. For the `FieldMask` definition, + * see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + * If not set, defaults to all of the fields that are allowed to update. + * Updates to the `name` and `dataPolicyId` fields are not allowed. + */ + // const updateMask = {} + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callUpdateDataPolicy() { + // Construct request + const request = { + dataPolicy, + }; + + // Run request + const response = await datapoliciesClient.updateDataPolicy(request); + console.log(response); + } + + callUpdateDataPolicy(); + // [END bigquerydatapolicy_v1_generated_DataPolicyService_UpdateDataPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json new file mode 100644 index 00000000000..9cc2d6c6627 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json @@ -0,0 +1,415 @@ +{ + "clientLibrary": { + "name": "nodejs-datapolicies", + "version": "0.1.0", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.bigquery.datapolicies.v1", + "version": "v1" + } + ] + }, + "snippets": [ + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_CreateDataPolicy_async", + "title": "DataPolicyService createDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Creates a new data policy under a project with the given `dataPolicyId` (used as the display name), policy tag, and data policy type.", + "canonical": true, + "file": "data_policy_service.create_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 60, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.CreateDataPolicy", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "data_policy", + "type": ".google.cloud.bigquery.datapolicies.v1.DataPolicy" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1.DataPolicy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "CreateDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.CreateDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_UpdateDataPolicy_async", + "title": "DataPolicyService updateDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Updates the metadata for an existing data policy. The target data policy can be specified by the resource name.", + "canonical": true, + "file": "data_policy_service.update_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 63, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.UpdateDataPolicy", + "async": true, + "parameters": [ + { + "name": "data_policy", + "type": ".google.cloud.bigquery.datapolicies.v1.DataPolicy" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1.DataPolicy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "UpdateDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.UpdateDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_RenameDataPolicy_async", + "title": "DataPolicyService renameDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Renames the id (display name) of the specified data policy.", + "canonical": true, + "file": "data_policy_service.rename_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "RenameDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.RenameDataPolicy", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "new_data_policy_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1.DataPolicy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "RenameDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.RenameDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_DeleteDataPolicy_async", + "title": "DataPolicyService deleteDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Deletes the data policy specified by its resource name.", + "canonical": true, + "file": "data_policy_service.delete_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.DeleteDataPolicy", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "DeleteDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.DeleteDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_GetDataPolicy_async", + "title": "DataPolicyService getDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Gets the data policy specified by its resource name.", + "canonical": true, + "file": "data_policy_service.get_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetDataPolicy", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1.DataPolicy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "GetDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_ListDataPolicies_async", + "title": "DataPolicyService listDataPolicies Sample", + "origin": "API_DEFINITION", + "description": " List all of the data policies in the specified parent project.", + "canonical": true, + "file": "data_policy_service.list_data_policies.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 77, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListDataPolicies", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.ListDataPolicies", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + }, + { + "name": "filter", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "ListDataPolicies", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.ListDataPolicies", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_GetIamPolicy_async", + "title": "DataPolicyService getIamPolicy Sample", + "origin": "API_DEFINITION", + "description": " Gets the IAM policy for the specified data policy.", + "canonical": true, + "file": "data_policy_service.get_iam_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetIamPolicy", + "async": true, + "parameters": [ + { + "name": "resource", + "type": "TYPE_STRING" + }, + { + "name": "options", + "type": ".google.iam.v1.GetPolicyOptions" + } + ], + "resultType": ".google.iam.v1.Policy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetIamPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_SetIamPolicy_async", + "title": "DataPolicyService setIamPolicy Sample", + "origin": "API_DEFINITION", + "description": " Sets the IAM policy for the specified data policy.", + "canonical": true, + "file": "data_policy_service.set_iam_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 69, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "SetIamPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.SetIamPolicy", + "async": true, + "parameters": [ + { + "name": "resource", + "type": "TYPE_STRING" + }, + { + "name": "policy", + "type": ".google.iam.v1.Policy" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.iam.v1.Policy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "SetIamPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.SetIamPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_TestIamPermissions_async", + "title": "DataPolicyService testIamPermissions Sample", + "origin": "API_DEFINITION", + "description": " Returns the caller's permission on the specified data policy resource.", + "canonical": true, + "file": "data_policy_service.test_iam_permissions.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 62, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "TestIamPermissions", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.TestIamPermissions", + "async": true, + "parameters": [ + { + "name": "resource", + "type": "TYPE_STRING" + }, + { + "name": "permissions", + "type": "TYPE_STRING[]" + } + ], + "resultType": ".google.iam.v1.TestIamPermissionsResponse", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "TestIamPermissions", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.TestIamPermissions", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + } + ] +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/index.ts new file mode 100644 index 00000000000..6916fa3a44f --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/index.ts @@ -0,0 +1,25 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as v1 from './v1'; +const DataPolicyServiceClient = v1.DataPolicyServiceClient; +type DataPolicyServiceClient = v1.DataPolicyServiceClient; +export {v1, DataPolicyServiceClient}; +export default {v1, DataPolicyServiceClient}; +import * as protos from '../protos/protos'; +export {protos} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client.ts new file mode 100644 index 00000000000..34ca0e62ad8 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client.ts @@ -0,0 +1,1264 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +/* global window */ +import type * as gax from 'google-gax'; +import type {Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback, GaxCall} from 'google-gax'; +import {Transform} from 'stream'; +import * as protos from '../../protos/protos'; +import jsonProtos = require('../../protos/protos.json'); +/** + * Client JSON configuration object, loaded from + * `src/v1/data_policy_service_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ +import * as gapicConfig from './data_policy_service_client_config.json'; +const version = require('../../../package.json').version; + +/** + * Data Policy Service provides APIs for managing the label-policy bindings. + * @class + * @memberof v1 + */ +export class DataPolicyServiceClient { + private _terminated = false; + private _opts: ClientOptions; + private _providedCustomServicePath: boolean; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; + auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + warn: (code: string, message: string, warnType?: string) => void; + innerApiCalls: {[name: string]: Function}; + pathTemplates: {[name: string]: gax.PathTemplate}; + dataPolicyServiceStub?: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of DataPolicyServiceClient. + * + * @param {object} [options] - The configuration object. + * The options accepted by the constructor are described in detail + * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). + * The common options are: + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {string} [options.apiEndpoint] - The domain name of the + * API remote host. + * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. + * Follows the structure of {@link gapicConfig}. + * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. + * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. + * For more information, please check the + * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. + * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you + * need to avoid loading the default gRPC version and want to use the fallback + * HTTP implementation. Load only fallback version and pass it to the constructor: + * ``` + * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC + * const client = new DataPolicyServiceClient({fallback: 'rest'}, gax); + * ``` + */ + constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { + // Ensure that options include all the required fields. + const staticMembers = this.constructor as typeof DataPolicyServiceClient; + const servicePath = opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); + const port = opts?.port || staticMembers.port; + const clientConfig = opts?.clientConfig ?? {}; + const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + + // Request numeric enum values if REST transport is used. + opts.numericEnums = true; + + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. + if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { + opts['scopes'] = staticMembers.scopes; + } + + // Load google-gax module synchronously if needed + if (!gaxInstance) { + gaxInstance = require('google-gax') as typeof gax; + } + + // Choose either gRPC or proto-over-HTTP implementation of google-gax. + this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; + + // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. + this._gaxGrpc = new this._gaxModule.GrpcClient(opts); + + // Save options to use in initialize() method. + this._opts = opts; + + // Save the auth object to the client, for use by other methods. + this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + + // Set useJWTAccessWithScope on the auth object. + this.auth.useJWTAccessWithScope = true; + + // Set defaultServicePath on the auth object. + this.auth.defaultServicePath = staticMembers.servicePath; + + // Set the default scopes in auth client if needed. + if (servicePath === staticMembers.servicePath) { + this.auth.defaultScopes = staticMembers.scopes; + } + + // Determine the client header string. + const clientHeader = [ + `gax/${this._gaxModule.version}`, + `gapic/${version}`, + ]; + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } else { + clientHeader.push(`gl-web/${this._gaxModule.version}`); + } + if (!opts.fallback) { + clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); + } else if (opts.fallback === 'rest' ) { + clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); + } + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + // Load the applicable protos. + this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this.pathTemplates = { + dataPolicyPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/dataPolicies/{data_policy}' + ), + locationPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}' + ), + projectPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}' + ), + }; + + // Some of the methods on this service return "paged" results, + // (e.g. 50 results at a time, with tokens to get subsequent + // pages). Denote the keys used for pagination and results. + this.descriptors.page = { + listDataPolicies: + new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'dataPolicies') + }; + + // Put together the default options sent with requests. + this._defaults = this._gaxGrpc.constructSettings( + 'google.cloud.bigquery.datapolicies.v1.DataPolicyService', gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this.innerApiCalls = {}; + + // Add a warn function to the client constructor so it can be easily tested. + this.warn = this._gaxModule.warn; + } + + /** + * Initialize the client. + * Performs asynchronous operations (such as authentication) and prepares the client. + * This function will be called automatically when any class method is called for the + * first time, but if you need to initialize it before calling an actual method, + * feel free to call initialize() directly. + * + * You can await on this method if you want to make sure the client is initialized. + * + * @returns {Promise} A promise that resolves to an authenticated service stub. + */ + initialize() { + // If the client stub promise is already initialized, return immediately. + if (this.dataPolicyServiceStub) { + return this.dataPolicyServiceStub; + } + + // Put together the "service stub" for + // google.cloud.bigquery.datapolicies.v1.DataPolicyService. + this.dataPolicyServiceStub = this._gaxGrpc.createStub( + this._opts.fallback ? + (this._protos as protobuf.Root).lookupService('google.cloud.bigquery.datapolicies.v1.DataPolicyService') : + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.bigquery.datapolicies.v1.DataPolicyService, + this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const dataPolicyServiceStubMethods = + ['createDataPolicy', 'updateDataPolicy', 'renameDataPolicy', 'deleteDataPolicy', 'getDataPolicy', 'listDataPolicies', 'getIamPolicy', 'setIamPolicy', 'testIamPermissions']; + for (const methodName of dataPolicyServiceStubMethods) { + const callPromise = this.dataPolicyServiceStub.then( + stub => (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, + (err: Error|null|undefined) => () => { + throw err; + }); + + const descriptor = + this.descriptors.page[methodName] || + undefined; + const apiCall = this._gaxModule.createApiCall( + callPromise, + this._defaults[methodName], + descriptor, + this._opts.fallback + ); + + this.innerApiCalls[methodName] = apiCall; + } + + return this.dataPolicyServiceStub; + } + + /** + * The DNS address for this API service. + * @returns {string} The DNS address for this service. + */ + static get servicePath() { + return 'bigquerydatapolicy.googleapis.com'; + } + + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + * @returns {string} The DNS address for this service. + */ + static get apiEndpoint() { + return 'bigquerydatapolicy.googleapis.com'; + } + + /** + * The port for this API service. + * @returns {number} The default port for this service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + * @returns {string[]} List of default scopes. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/bigquery', + 'https://www.googleapis.com/auth/cloud-platform' + ]; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @returns {Promise} A promise that resolves to string containing the project ID. + */ + getProjectId(callback?: Callback): + Promise|void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- +/** + * Creates a new data policy under a project with the given `dataPolicyId` + * (used as the display name), policy tag, and data policy type. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the project that the data policy will belong to. The + * format is `projects/{project_number}/locations/{location_id}`. + * @param {google.cloud.bigquery.datapolicies.v1.DataPolicy} request.dataPolicy + * Required. The data policy to create. The `name` field does not need to be + * provided for the data policy creation. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.create_data_policy.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_CreateDataPolicy_async + */ + createDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|undefined, {}|undefined + ]>; + createDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + createDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + createDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'parent': request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.createDataPolicy(request, options, callback); + } +/** + * Updates the metadata for an existing data policy. The target data policy + * can be specified by the resource name. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.bigquery.datapolicies.v1.DataPolicy} request.dataPolicy + * Required. Update the data policy's metadata. + * + * The target data policy is determined by the `name` field. + * Other fields are updated to the specified values based on the field masks. + * @param {google.protobuf.FieldMask} request.updateMask + * The update mask applies to the resource. For the `FieldMask` definition, + * see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + * If not set, defaults to all of the fields that are allowed to update. + * + * Updates to the `name` and `dataPolicyId` fields are not allowed. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.update_data_policy.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_UpdateDataPolicy_async + */ + updateDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|undefined, {}|undefined + ]>; + updateDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + updateDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + updateDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'data_policy.name': request.dataPolicy!.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.updateDataPolicy(request, options, callback); + } +/** + * Renames the id (display name) of the specified data policy. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the data policy to rename. The format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}` + * @param {string} request.newDataPolicyId + * Required. The new data policy id. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.rename_data_policy.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_RenameDataPolicy_async + */ + renameDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|undefined, {}|undefined + ]>; + renameDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + renameDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + renameDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'name': request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.renameDataPolicy(request, options, callback); + } +/** + * Deletes the data policy specified by its resource name. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the data policy to delete. Format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.delete_data_policy.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_DeleteDataPolicy_async + */ + deleteDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|undefined, {}|undefined + ]>; + deleteDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + deleteDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + deleteDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'name': request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.deleteDataPolicy(request, options, callback); + } +/** + * Gets the data policy specified by its resource name. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the requested data policy. Format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.get_data_policy.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_GetDataPolicy_async + */ + getDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|undefined, {}|undefined + ]>; + getDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + getDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + getDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'name': request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.getDataPolicy(request, options, callback); + } +/** + * Gets the IAM policy for the specified data policy. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource + * REQUIRED: The resource for which the policy is being requested. + * See the operation documentation for the appropriate value for this field. + * @param {google.iam.v1.GetPolicyOptions} request.options + * OPTIONAL: A `GetPolicyOptions` object for specifying options to + * `GetIamPolicy`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Policy]{@link google.iam.v1.Policy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.get_iam_policy.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_GetIamPolicy_async + */ + getIamPolicy( + request?: protos.google.iam.v1.IGetIamPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|undefined, {}|undefined + ]>; + getIamPolicy( + request: protos.google.iam.v1.IGetIamPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, + {}|null|undefined>): void; + getIamPolicy( + request: protos.google.iam.v1.IGetIamPolicyRequest, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, + {}|null|undefined>): void; + getIamPolicy( + request?: protos.google.iam.v1.IGetIamPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'resource': request.resource ?? '', + }); + this.initialize(); + return this.innerApiCalls.getIamPolicy(request, options, callback); + } +/** + * Sets the IAM policy for the specified data policy. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource + * REQUIRED: The resource for which the policy is being specified. + * See the operation documentation for the appropriate value for this field. + * @param {google.iam.v1.Policy} request.policy + * REQUIRED: The complete policy to be applied to the `resource`. The size of + * the policy is limited to a few 10s of KB. An empty policy is a + * valid policy but certain Cloud Platform services (such as Projects) + * might reject them. + * @param {google.protobuf.FieldMask} request.updateMask + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only + * the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: + * + * `paths: "bindings, etag"` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Policy]{@link google.iam.v1.Policy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.set_iam_policy.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_SetIamPolicy_async + */ + setIamPolicy( + request?: protos.google.iam.v1.ISetIamPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|undefined, {}|undefined + ]>; + setIamPolicy( + request: protos.google.iam.v1.ISetIamPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, + {}|null|undefined>): void; + setIamPolicy( + request: protos.google.iam.v1.ISetIamPolicyRequest, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, + {}|null|undefined>): void; + setIamPolicy( + request?: protos.google.iam.v1.ISetIamPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'resource': request.resource ?? '', + }); + this.initialize(); + return this.innerApiCalls.setIamPolicy(request, options, callback); + } +/** + * Returns the caller's permission on the specified data policy resource. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + * @param {string[]} request.permissions + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. For more + * information see + * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [TestIamPermissionsResponse]{@link google.iam.v1.TestIamPermissionsResponse}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.test_iam_permissions.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_TestIamPermissions_async + */ + testIamPermissions( + request?: protos.google.iam.v1.ITestIamPermissionsRequest, + options?: CallOptions): + Promise<[ + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|undefined, {}|undefined + ]>; + testIamPermissions( + request: protos.google.iam.v1.ITestIamPermissionsRequest, + options: CallOptions, + callback: Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, + {}|null|undefined>): void; + testIamPermissions( + request: protos.google.iam.v1.ITestIamPermissionsRequest, + callback: Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, + {}|null|undefined>): void; + testIamPermissions( + request?: protos.google.iam.v1.ITestIamPermissionsRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'resource': request.resource ?? '', + }); + this.initialize(); + return this.innerApiCalls.testIamPermissions(request, options, callback); + } + + /** + * List all of the data policies in the specified parent project. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the project for which to list data policies. Format is + * `projects/{project_number}/locations/{location_id}`. + * @param {number} request.pageSize + * The maximum number of data policies to return. Must be a value between 1 + * and 1000. + * If not set, defaults to 50. + * @param {string} request.pageToken + * The `nextPageToken` value returned from a previous list request, if any. If + * not set, defaults to an empty string. + * @param {string} request.filter + * Filters the data policies by policy tags that they + * are associated with. Currently filter only supports + * "policy_tag" based filtering and OR based predicates. Sample + * filter can be "policy_tag: + * 'projects/1/locations/us/taxonomies/2/policyTags/3'". You may use wildcard + * such as "policy_tag: + * 'projects/1/locations/us/taxonomies/2/*'". + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listDataPoliciesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listDataPolicies( + request?: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + options?: CallOptions): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[], + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest|null, + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse + ]>; + listDataPolicies( + request: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse|null|undefined, + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy>): void; + listDataPolicies( + request: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + callback: PaginationCallback< + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse|null|undefined, + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy>): void; + listDataPolicies( + request?: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + optionsOrCallback?: CallOptions|PaginationCallback< + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse|null|undefined, + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy>, + callback?: PaginationCallback< + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse|null|undefined, + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy>): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[], + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest|null, + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'parent': request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.listDataPolicies(request, options, callback); + } + +/** + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the project for which to list data policies. Format is + * `projects/{project_number}/locations/{location_id}`. + * @param {number} request.pageSize + * The maximum number of data policies to return. Must be a value between 1 + * and 1000. + * If not set, defaults to 50. + * @param {string} request.pageToken + * The `nextPageToken` value returned from a previous list request, if any. If + * not set, defaults to an empty string. + * @param {string} request.filter + * Filters the data policies by policy tags that they + * are associated with. Currently filter only supports + * "policy_tag" based filtering and OR based predicates. Sample + * filter can be "policy_tag: + * 'projects/1/locations/us/taxonomies/2/policyTags/3'". You may use wildcard + * such as "policy_tag: + * 'projects/1/locations/us/taxonomies/2/*'". + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listDataPoliciesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listDataPoliciesStream( + request?: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + options?: CallOptions): + Transform{ + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'parent': request.parent ?? '', + }); + const defaultCallSettings = this._defaults['listDataPolicies']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listDataPolicies.createStream( + this.innerApiCalls.listDataPolicies as GaxCall, + request, + callSettings + ); + } + +/** + * Equivalent to `listDataPolicies`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the project for which to list data policies. Format is + * `projects/{project_number}/locations/{location_id}`. + * @param {number} request.pageSize + * The maximum number of data policies to return. Must be a value between 1 + * and 1000. + * If not set, defaults to 50. + * @param {string} request.pageToken + * The `nextPageToken` value returned from a previous list request, if any. If + * not set, defaults to an empty string. + * @param {string} request.filter + * Filters the data policies by policy tags that they + * are associated with. Currently filter only supports + * "policy_tag" based filtering and OR based predicates. Sample + * filter can be "policy_tag: + * 'projects/1/locations/us/taxonomies/2/policyTags/3'". You may use wildcard + * such as "policy_tag: + * 'projects/1/locations/us/taxonomies/2/*'". + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.list_data_policies.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_ListDataPolicies_async + */ + listDataPoliciesAsync( + request?: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + options?: CallOptions): + AsyncIterable{ + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'parent': request.parent ?? '', + }); + const defaultCallSettings = this._defaults['listDataPolicies']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listDataPolicies.asyncIterate( + this.innerApiCalls['listDataPolicies'] as GaxCall, + request as {}, + callSettings + ) as AsyncIterable; + } + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified dataPolicy resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} data_policy + * @returns {string} Resource name string. + */ + dataPolicyPath(project:string,location:string,dataPolicy:string) { + return this.pathTemplates.dataPolicyPathTemplate.render({ + project: project, + location: location, + data_policy: dataPolicy, + }); + } + + /** + * Parse the project from DataPolicy resource. + * + * @param {string} dataPolicyName + * A fully-qualified path representing DataPolicy resource. + * @returns {string} A string representing the project. + */ + matchProjectFromDataPolicyName(dataPolicyName: string) { + return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).project; + } + + /** + * Parse the location from DataPolicy resource. + * + * @param {string} dataPolicyName + * A fully-qualified path representing DataPolicy resource. + * @returns {string} A string representing the location. + */ + matchLocationFromDataPolicyName(dataPolicyName: string) { + return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).location; + } + + /** + * Parse the data_policy from DataPolicy resource. + * + * @param {string} dataPolicyName + * A fully-qualified path representing DataPolicy resource. + * @returns {string} A string representing the data_policy. + */ + matchDataPolicyFromDataPolicyName(dataPolicyName: string) { + return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).data_policy; + } + + /** + * Return a fully-qualified location resource name string. + * + * @param {string} project + * @param {string} location + * @returns {string} Resource name string. + */ + locationPath(project:string,location:string) { + return this.pathTemplates.locationPathTemplate.render({ + project: project, + location: location, + }); + } + + /** + * Parse the project from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the project. + */ + matchProjectFromLocationName(locationName: string) { + return this.pathTemplates.locationPathTemplate.match(locationName).project; + } + + /** + * Parse the location from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the location. + */ + matchLocationFromLocationName(locationName: string) { + return this.pathTemplates.locationPathTemplate.match(locationName).location; + } + + /** + * Return a fully-qualified project resource name string. + * + * @param {string} project + * @returns {string} Resource name string. + */ + projectPath(project:string) { + return this.pathTemplates.projectPathTemplate.render({ + project: project, + }); + } + + /** + * Parse the project from Project resource. + * + * @param {string} projectName + * A fully-qualified path representing Project resource. + * @returns {string} A string representing the project. + */ + matchProjectFromProjectName(projectName: string) { + return this.pathTemplates.projectPathTemplate.match(projectName).project; + } + + /** + * Terminate the gRPC channel and close the client. + * + * The client will no longer be usable and all future behavior is undefined. + * @returns {Promise} A promise that resolves when the client is closed. + */ + close(): Promise { + if (this.dataPolicyServiceStub && !this._terminated) { + return this.dataPolicyServiceStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client_config.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client_config.json new file mode 100644 index 00000000000..a9942095e60 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client_config.json @@ -0,0 +1,83 @@ +{ + "interfaces": { + "google.cloud.bigquery.datapolicies.v1.DataPolicyService": { + "retry_codes": { + "non_idempotent": [], + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "unavailable": [ + "UNAVAILABLE" + ] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + }, + "ce5b960a6ed052e690863808e4f0deff3dc7d49f": { + "initial_retry_delay_millis": 1000, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 10000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "CreateDataPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "UpdateDataPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "RenameDataPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "DeleteDataPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "GetDataPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "ListDataPolicies": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "GetIamPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "SetIamPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "TestIamPermissions": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + } + } + } + } +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_proto_list.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_proto_list.json new file mode 100644 index 00000000000..3a4a27a5092 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto" +] diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/gapic_metadata.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/gapic_metadata.json new file mode 100644 index 00000000000..957e44d2537 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/gapic_metadata.json @@ -0,0 +1,117 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.cloud.bigquery.datapolicies.v1", + "libraryPackage": "@google-cloud/datapolicies", + "services": { + "DataPolicyService": { + "clients": { + "grpc": { + "libraryClient": "DataPolicyServiceClient", + "rpcs": { + "CreateDataPolicy": { + "methods": [ + "createDataPolicy" + ] + }, + "UpdateDataPolicy": { + "methods": [ + "updateDataPolicy" + ] + }, + "RenameDataPolicy": { + "methods": [ + "renameDataPolicy" + ] + }, + "DeleteDataPolicy": { + "methods": [ + "deleteDataPolicy" + ] + }, + "GetDataPolicy": { + "methods": [ + "getDataPolicy" + ] + }, + "GetIamPolicy": { + "methods": [ + "getIamPolicy" + ] + }, + "SetIamPolicy": { + "methods": [ + "setIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "testIamPermissions" + ] + }, + "ListDataPolicies": { + "methods": [ + "listDataPolicies", + "listDataPoliciesStream", + "listDataPoliciesAsync" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "DataPolicyServiceClient", + "rpcs": { + "CreateDataPolicy": { + "methods": [ + "createDataPolicy" + ] + }, + "UpdateDataPolicy": { + "methods": [ + "updateDataPolicy" + ] + }, + "RenameDataPolicy": { + "methods": [ + "renameDataPolicy" + ] + }, + "DeleteDataPolicy": { + "methods": [ + "deleteDataPolicy" + ] + }, + "GetDataPolicy": { + "methods": [ + "getDataPolicy" + ] + }, + "GetIamPolicy": { + "methods": [ + "getIamPolicy" + ] + }, + "SetIamPolicy": { + "methods": [ + "setIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "testIamPermissions" + ] + }, + "ListDataPolicies": { + "methods": [ + "listDataPolicies", + "listDataPoliciesStream", + "listDataPoliciesAsync" + ] + } + } + } + } + } + } +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/index.ts new file mode 100644 index 00000000000..81030a61690 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/index.ts @@ -0,0 +1,19 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +export {DataPolicyServiceClient} from './data_policy_service_client'; diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.js new file mode 100644 index 00000000000..c64d8408835 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.js @@ -0,0 +1,27 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + +/* eslint-disable node/no-missing-require, no-unused-vars */ +const datapolicies = require('@google-cloud/datapolicies'); + +function main() { + const dataPolicyServiceClient = new datapolicies.DataPolicyServiceClient(); +} + +main(); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.ts new file mode 100644 index 00000000000..7222450a15f --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.ts @@ -0,0 +1,32 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import {DataPolicyServiceClient} from '@google-cloud/datapolicies'; + +// check that the client class type name can be used +function doStuffWithDataPolicyServiceClient(client: DataPolicyServiceClient) { + client.close(); +} + +function main() { + // check that the client instance can be created + const dataPolicyServiceClient = new DataPolicyServiceClient(); + doStuffWithDataPolicyServiceClient(dataPolicyServiceClient); +} + +main(); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/install.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/install.ts new file mode 100644 index 00000000000..557a57558e1 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/install.ts @@ -0,0 +1,49 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import {packNTest} from 'pack-n-play'; +import {readFileSync} from 'fs'; +import {describe, it} from 'mocha'; + +describe('📦 pack-n-play test', () => { + + it('TypeScript code', async function() { + this.timeout(300000); + const options = { + packageDir: process.cwd(), + sample: { + description: 'TypeScript user can use the type definitions', + ts: readFileSync('./system-test/fixtures/sample/src/index.ts').toString() + } + }; + await packNTest(options); + }); + + it('JavaScript code', async function() { + this.timeout(300000); + const options = { + packageDir: process.cwd(), + sample: { + description: 'JavaScript user can use the library', + ts: readFileSync('./system-test/fixtures/sample/src/index.js').toString() + } + }; + await packNTest(options); + }); + +}); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/test/gapic_data_policy_service_v1.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/test/gapic_data_policy_service_v1.ts new file mode 100644 index 00000000000..6e91dbb6628 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/test/gapic_data_policy_service_v1.ts @@ -0,0 +1,1427 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protos from '../protos/protos'; +import * as assert from 'assert'; +import * as sinon from 'sinon'; +import {SinonStub} from 'sinon'; +import {describe, it} from 'mocha'; +import * as datapolicyserviceModule from '../src'; + +import {PassThrough} from 'stream'; + +import {protobuf} from 'google-gax'; + +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + +function generateSampleMessage(instance: T) { + const filledObject = (instance.constructor as typeof protobuf.Message) + .toObject(instance as protobuf.Message, {defaults: true}); + return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T; +} + +function stubSimpleCall(response?: ResponseType, error?: Error) { + return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]); +} + +function stubSimpleCallWithCallback(response?: ResponseType, error?: Error) { + return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response); +} + +function stubPageStreamingCall(responses?: ResponseType[], error?: Error) { + const pagingStub = sinon.stub(); + if (responses) { + for (let i = 0; i < responses.length; ++i) { + pagingStub.onCall(i).callsArgWith(2, null, responses[i]); + } + } + const transformStub = error ? sinon.stub().callsArgWith(2, error) : pagingStub; + const mockStream = new PassThrough({ + objectMode: true, + transform: transformStub, + }); + // trigger as many responses as needed + if (responses) { + for (let i = 0; i < responses.length; ++i) { + setImmediate(() => { mockStream.write({}); }); + } + setImmediate(() => { mockStream.end(); }); + } else { + setImmediate(() => { mockStream.write({}); }); + setImmediate(() => { mockStream.end(); }); + } + return sinon.stub().returns(mockStream); +} + +function stubAsyncIterationCall(responses?: ResponseType[], error?: Error) { + let counter = 0; + const asyncIterable = { + [Symbol.asyncIterator]() { + return { + async next() { + if (error) { + return Promise.reject(error); + } + if (counter >= responses!.length) { + return Promise.resolve({done: true, value: undefined}); + } + return Promise.resolve({done: false, value: responses![counter++]}); + } + }; + } + }; + return sinon.stub().returns(asyncIterable); +} + +describe('v1.DataPolicyServiceClient', () => { + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = datapolicyserviceModule.v1.DataPolicyServiceClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = datapolicyserviceModule.v1.DataPolicyServiceClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = datapolicyserviceModule.v1.DataPolicyServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.dataPolicyServiceStub, undefined); + await client.initialize(); + assert(client.dataPolicyServiceStub); + }); + + it('has close method for the initialized client', done => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.dataPolicyServiceStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.dataPolicyServiceStub, undefined); + client.close().then(() => { + done(); + }); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error|null, projectId?: string|null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + }); + + describe('createDataPolicy', () => { + it('invokes createDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.createDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.createDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.createDataPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createDataPolicy( + request, + (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createDataPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.createDataPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest', ['parent']); + request.parent = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.createDataPolicy(request), expectedError); + }); + }); + + describe('updateDataPolicy', () => { + it('invokes updateDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest() + ); + request.dataPolicy ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); + request.dataPolicy.name = defaultValue1; + const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.updateDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.updateDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest() + ); + request.dataPolicy ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); + request.dataPolicy.name = defaultValue1; + const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.updateDataPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateDataPolicy( + request, + (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest() + ); + request.dataPolicy ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); + request.dataPolicy.name = defaultValue1; + const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateDataPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.updateDataPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest() + ); + request.dataPolicy ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); + request.dataPolicy.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.updateDataPolicy(request), expectedError); + }); + }); + + describe('renameDataPolicy', () => { + it('invokes renameDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.renameDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.renameDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.renameDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.renameDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes renameDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.renameDataPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.renameDataPolicy( + request, + (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.renameDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.renameDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes renameDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.renameDataPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.renameDataPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.renameDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.renameDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes renameDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.renameDataPolicy(request), expectedError); + }); + }); + + describe('deleteDataPolicy', () => { + it('invokes deleteDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.deleteDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteDataPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteDataPolicy( + request, + (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteDataPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.deleteDataPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.deleteDataPolicy(request), expectedError); + }); + }); + + describe('getDataPolicy', () => { + it('invokes getDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.getDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.getDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.getDataPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getDataPolicy( + request, + (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getDataPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.getDataPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getDataPolicy(request), expectedError); + }); + }); + + describe('getIamPolicy', () => { + it('invokes getIamPolicy without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy() + ); + client.innerApiCalls.getIamPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.getIamPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getIamPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy() + ); + client.innerApiCalls.getIamPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getIamPolicy( + request, + (err?: Error|null, result?: protos.google.iam.v1.IPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getIamPolicy with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getIamPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.getIamPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getIamPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getIamPolicy(request), expectedError); + }); + }); + + describe('setIamPolicy', () => { + it('invokes setIamPolicy without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy() + ); + client.innerApiCalls.setIamPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.setIamPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes setIamPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy() + ); + client.innerApiCalls.setIamPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.setIamPolicy( + request, + (err?: Error|null, result?: protos.google.iam.v1.IPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes setIamPolicy with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.setIamPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.setIamPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes setIamPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.setIamPolicy(request), expectedError); + }); + }); + + describe('testIamPermissions', () => { + it('invokes testIamPermissions without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsResponse() + ); + client.innerApiCalls.testIamPermissions = stubSimpleCall(expectedResponse); + const [response] = await client.testIamPermissions(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes testIamPermissions without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsResponse() + ); + client.innerApiCalls.testIamPermissions = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.testIamPermissions( + request, + (err?: Error|null, result?: protos.google.iam.v1.ITestIamPermissionsResponse|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes testIamPermissions with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.testIamPermissions = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.testIamPermissions(request), expectedError); + const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes testIamPermissions with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); + request.resource = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.testIamPermissions(request), expectedError); + }); + }); + + describe('listDataPolicies', () => { + it('invokes listDataPolicies without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + ]; + client.innerApiCalls.listDataPolicies = stubSimpleCall(expectedResponse); + const [response] = await client.listDataPolicies(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listDataPolicies without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + ]; + client.innerApiCalls.listDataPolicies = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listDataPolicies( + request, + (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[]|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listDataPolicies with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listDataPolicies = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.listDataPolicies(request), expectedError); + const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listDataPoliciesStream without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + ]; + client.descriptors.page.listDataPolicies.createStream = stubPageStreamingCall(expectedResponse); + const stream = client.listDataPoliciesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.bigquery.datapolicies.v1.DataPolicy[] = []; + stream.on('data', (response: protos.google.cloud.bigquery.datapolicies.v1.DataPolicy) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert((client.descriptors.page.listDataPolicies.createStream as SinonStub) + .getCall(0).calledWith(client.innerApiCalls.listDataPolicies, request)); + assert( + (client.descriptors.page.listDataPolicies.createStream as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('invokes listDataPoliciesStream with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listDataPolicies.createStream = stubPageStreamingCall(undefined, expectedError); + const stream = client.listDataPoliciesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.bigquery.datapolicies.v1.DataPolicy[] = []; + stream.on('data', (response: protos.google.cloud.bigquery.datapolicies.v1.DataPolicy) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert((client.descriptors.page.listDataPolicies.createStream as SinonStub) + .getCall(0).calledWith(client.innerApiCalls.listDataPolicies, request)); + assert( + (client.descriptors.page.listDataPolicies.createStream as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listDataPolicies without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + ]; + client.descriptors.page.listDataPolicies.asyncIterate = stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[] = []; + const iterable = client.listDataPoliciesAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) + .getCall(0).args[1], request); + assert( + (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listDataPolicies with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listDataPolicies.asyncIterate = stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listDataPoliciesAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) + .getCall(0).args[1], request); + assert( + (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + }); + + describe('Path templates', () => { + + describe('dataPolicy', () => { + const fakePath = "/rendered/path/dataPolicy"; + const expectedParameters = { + project: "projectValue", + location: "locationValue", + data_policy: "dataPolicyValue", + }; + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.dataPolicyPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.dataPolicyPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('dataPolicyPath', () => { + const result = client.dataPolicyPath("projectValue", "locationValue", "dataPolicyValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.dataPolicyPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchProjectFromDataPolicyName', () => { + const result = client.matchProjectFromDataPolicyName(fakePath); + assert.strictEqual(result, "projectValue"); + assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchLocationFromDataPolicyName', () => { + const result = client.matchLocationFromDataPolicyName(fakePath); + assert.strictEqual(result, "locationValue"); + assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchDataPolicyFromDataPolicyName', () => { + const result = client.matchDataPolicyFromDataPolicyName(fakePath); + assert.strictEqual(result, "dataPolicyValue"); + assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + + describe('location', () => { + const fakePath = "/rendered/path/location"; + const expectedParameters = { + project: "projectValue", + location: "locationValue", + }; + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.locationPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.locationPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('locationPath', () => { + const result = client.locationPath("projectValue", "locationValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.locationPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchProjectFromLocationName', () => { + const result = client.matchProjectFromLocationName(fakePath); + assert.strictEqual(result, "projectValue"); + assert((client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchLocationFromLocationName', () => { + const result = client.matchLocationFromLocationName(fakePath); + assert.strictEqual(result, "locationValue"); + assert((client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + + describe('project', () => { + const fakePath = "/rendered/path/project"; + const expectedParameters = { + project: "projectValue", + }; + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.projectPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.projectPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('projectPath', () => { + const result = client.projectPath("projectValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.projectPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchProjectFromProjectName', () => { + const result = client.matchProjectFromProjectName(fakePath); + assert.strictEqual(result, "projectValue"); + assert((client.pathTemplates.projectPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + }); +}); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/tsconfig.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/tsconfig.json new file mode 100644 index 00000000000..c78f1c884ef --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build", + "resolveJsonModule": true, + "lib": [ + "es2018", + "dom" + ] + }, + "include": [ + "src/*.ts", + "src/**/*.ts", + "test/*.ts", + "test/**/*.ts", + "system-test/*.ts" + ] +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/webpack.config.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/webpack.config.js new file mode 100644 index 00000000000..032cd610597 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/webpack.config.js @@ -0,0 +1,64 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +const path = require('path'); + +module.exports = { + entry: './src/index.ts', + output: { + library: 'DataPolicyService', + filename: './data-policy-service.js', + }, + node: { + child_process: 'empty', + fs: 'empty', + crypto: 'empty', + }, + resolve: { + alias: { + '../../../package.json': path.resolve(__dirname, 'package.json'), + }, + extensions: ['.js', '.json', '.ts'], + }, + module: { + rules: [ + { + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/ + }, + { + test: /node_modules[\\/]@grpc[\\/]grpc-js/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]grpc/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]retry-request/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]https?-proxy-agent/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]gtoken/, + use: 'null-loader' + }, + ], + }, + mode: 'production', +}; diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintignore b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintignore new file mode 100644 index 00000000000..cfc348ec4d1 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintignore @@ -0,0 +1,7 @@ +**/node_modules +**/.coverage +build/ +docs/ +protos/ +system-test/ +samples/generated/ diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintrc.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintrc.json new file mode 100644 index 00000000000..78215349546 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/gts" +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.gitignore b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.gitignore new file mode 100644 index 00000000000..5d32b23782f --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.gitignore @@ -0,0 +1,14 @@ +**/*.log +**/node_modules +.coverage +coverage +.nyc_output +docs/ +out/ +build/ +system-test/secrets.js +system-test/*key.json +*.lock +.DS_Store +package-lock.json +__pycache__ diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.jsdoc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.jsdoc.js new file mode 100644 index 00000000000..ae9e5b7afcd --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.jsdoc.js @@ -0,0 +1,55 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +'use strict'; + +module.exports = { + opts: { + readme: './README.md', + package: './package.json', + template: './node_modules/jsdoc-fresh', + recurse: true, + verbose: true, + destination: './docs/' + }, + plugins: [ + 'plugins/markdown', + 'jsdoc-region-tag' + ], + source: { + excludePattern: '(^|\\/|\\\\)[._]', + include: [ + 'build/src', + 'protos' + ], + includePattern: '\\.js$' + }, + templates: { + copyright: 'Copyright 2022 Google LLC', + includeDate: false, + sourceFiles: false, + systemName: '@google-cloud/bigquery-datapolicies', + theme: 'lumen', + default: { + outputSourceFiles: false + } + }, + markdown: { + idInHeadings: true + } +}; diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.mocharc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.mocharc.js new file mode 100644 index 00000000000..481c522b00f --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.mocharc.js @@ -0,0 +1,33 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +const config = { + "enable-source-maps": true, + "throw-deprecation": true, + "timeout": 10000 +} +if (process.env.MOCHA_THROW_DEPRECATION === 'false') { + delete config['throw-deprecation']; +} +if (process.env.MOCHA_REPORTER) { + config.reporter = process.env.MOCHA_REPORTER; +} +if (process.env.MOCHA_REPORTER_OUTPUT) { + config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`; +} +module.exports = config diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.prettierrc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.prettierrc.js new file mode 100644 index 00000000000..494e147865d --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.prettierrc.js @@ -0,0 +1,22 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + +module.exports = { + ...require('gts/.prettierrc.json') +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/README.md b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/README.md new file mode 100644 index 00000000000..46950ef3a37 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/README.md @@ -0,0 +1 @@ +Datapolicies: Nodejs Client diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/linkinator.config.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/linkinator.config.json new file mode 100644 index 00000000000..befd23c8633 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/linkinator.config.json @@ -0,0 +1,16 @@ +{ + "recurse": true, + "skip": [ + "https://codecov.io/gh/googleapis/", + "www.googleapis.com", + "img.shields.io", + "https://console.cloud.google.com/cloudshell", + "https://support.google.com" + ], + "silent": true, + "concurrency": 5, + "retry": true, + "retryErrors": true, + "retryErrorsCount": 5, + "retryErrorsJitter": 3000 +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/package.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/package.json new file mode 100644 index 00000000000..b5baa3d2753 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/package.json @@ -0,0 +1,64 @@ +{ + "name": "@google-cloud/bigquery-datapolicies", + "version": "0.1.0", + "description": "Datapolicies client for Node.js", + "repository": "googleapis/nodejs-datapolicies", + "license": "Apache-2.0", + "author": "Google LLC", + "main": "build/src/index.js", + "files": [ + "build/src", + "build/protos" + ], + "keywords": [ + "google apis client", + "google api client", + "google apis", + "google api", + "google", + "google cloud platform", + "google cloud", + "cloud", + "google datapolicies", + "datapolicies", + "data policy service" + ], + "scripts": { + "clean": "gts clean", + "compile": "tsc -p . && cp -r protos build/ && minifyProtoJson", + "compile-protos": "compileProtos src", + "docs": "jsdoc -c .jsdoc.js", + "predocs-test": "npm run docs", + "docs-test": "linkinator docs", + "fix": "gts fix", + "lint": "gts check", + "prepare": "npm run compile-protos && npm run compile", + "system-test": "c8 mocha build/system-test", + "test": "c8 mocha build/test" + }, + "dependencies": { + "google-gax": "^3.5.2" + }, + "devDependencies": { + "@types/mocha": "^9.1.1", + "@types/node": "^16.11.62", + "@types/sinon": "^10.0.13", + "c8": "^7.12.0", + "gts": "^3.1.1", + "jsdoc": "^3.6.11", + "jsdoc-fresh": "^2.0.1", + "jsdoc-region-tag": "^2.0.1", + "linkinator": "^4.0.3", + "mocha": "^10.0.0", + "null-loader": "^4.0.1", + "pack-n-play": "^1.0.0-2", + "sinon": "^14.0.0", + "ts-loader": "^8.4.0", + "typescript": "^4.8.3", + "webpack": "^4.46.0", + "webpack-cli": "^4.10.0" + }, + "engines": { + "node": ">=v12" + } +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicy.proto b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicy.proto new file mode 100644 index 00000000000..363f15c5ce9 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicy.proto @@ -0,0 +1,287 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.bigquery.datapolicies.v1beta1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/iam/v1/iam_policy.proto"; +import "google/iam/v1/policy.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.BigQuery.DataPolicies.V1Beta1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/bigquery/datapolicies/v1beta1;datapolicies"; +option java_multiple_files = true; +option java_outer_classname = "DataPolicyProto"; +option java_package = "com.google.cloud.bigquery.datapolicies.v1beta1"; +option php_namespace = "Google\\Cloud\\BigQuery\\DataPolicies\\V1beta1"; +option ruby_package = "Google::Cloud::Bigquery::DataPolicies::V1beta1"; + +// Data Policy Service provides APIs for managing the label-policy bindings. +service DataPolicyService { + option (google.api.default_host) = "bigquerydatapolicy.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/bigquery," + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a new data policy under a project with the given `dataPolicyId` + // (used as the display name), policy tag, and data policy type. + rpc CreateDataPolicy(CreateDataPolicyRequest) returns (DataPolicy) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*}/dataPolicies" + body: "data_policy" + }; + option (google.api.method_signature) = "parent,data_policy"; + } + + // Updates the metadata for an existing data policy. The target data policy + // can be specified by the resource name. + rpc UpdateDataPolicy(UpdateDataPolicyRequest) returns (DataPolicy) { + option (google.api.http) = { + patch: "/v1beta1/{data_policy.name=projects/*/locations/*/dataPolicies/*}" + body: "data_policy" + }; + option (google.api.method_signature) = "data_policy,update_mask"; + } + + // Deletes the data policy specified by its resource name. + rpc DeleteDataPolicy(DeleteDataPolicyRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/locations/*/dataPolicies/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Gets the data policy specified by its resource name. + rpc GetDataPolicy(GetDataPolicyRequest) returns (DataPolicy) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/locations/*/dataPolicies/*}" + }; + option (google.api.method_signature) = "name"; + } + + // List all of the data policies in the specified parent project. + rpc ListDataPolicies(ListDataPoliciesRequest) returns (ListDataPoliciesResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=projects/*/locations/*}/dataPolicies" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets the IAM policy for the specified data policy. + rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) { + option (google.api.http) = { + post: "/v1beta1/{resource=projects/*/locations/*/dataPolicies/*}:getIamPolicy" + body: "*" + }; + } + + // Sets the IAM policy for the specified data policy. + rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) { + option (google.api.http) = { + post: "/v1beta1/{resource=projects/*/locations/*/dataPolicies/*}:setIamPolicy" + body: "*" + }; + } + + // Returns the caller's permission on the specified data policy resource. + rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) { + option (google.api.http) = { + post: "/v1beta1/{resource=projects/*/locations/*/dataPolicies/*}:testIamPermissions" + body: "*" + }; + } +} + +// Request message for the CreateDataPolicy method. +message CreateDataPolicyRequest { + // Required. Resource name of the project that the data policy will belong to. The + // format is `projects/{project_number}/locations/{location_id}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "bigquerydatapolicy.googleapis.com/DataPolicy" + } + ]; + + // Required. The data policy to create. The `name` field does not need to be + // provided for the data policy creation. + DataPolicy data_policy = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for the UpdateDataPolicy method. +message UpdateDataPolicyRequest { + // Required. Update the data policy's metadata. + // + // The target data policy is determined by the `name` field. + // Other fields are updated to the specified values based on the field masks. + DataPolicy data_policy = 1 [(google.api.field_behavior) = REQUIRED]; + + // The update mask applies to the resource. For the `FieldMask` definition, + // see + // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + // If not set, defaults to all of the fields that are allowed to update. + // + // Updates to the `name` and `dataPolicyId` fields are not allowed. + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for the DeleteDataPolicy method. +message DeleteDataPolicyRequest { + // Required. Resource name of the data policy to delete. Format is + // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigquerydatapolicy.googleapis.com/DataPolicy" + } + ]; +} + +// Request message for the GetDataPolicy method. +message GetDataPolicyRequest { + // Required. Resource name of the requested data policy. Format is + // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigquerydatapolicy.googleapis.com/DataPolicy" + } + ]; +} + +// Request message for the ListDataPolicies method. +message ListDataPoliciesRequest { + // Required. Resource name of the project for which to list data policies. Format is + // `projects/{project_number}/locations/{location_id}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "bigquerydatapolicy.googleapis.com/DataPolicy" + } + ]; + + // The maximum number of data policies to return. Must be a value between 1 + // and 1000. + // If not set, defaults to 50. + int32 page_size = 2; + + // The `nextPageToken` value returned from a previous list request, if any. If + // not set, defaults to an empty string. + string page_token = 3; +} + +// Response message for the ListDataPolicies method. +message ListDataPoliciesResponse { + // Data policies that belong to the requested project. + repeated DataPolicy data_policies = 1; + + // Token used to retrieve the next page of results, or empty if there are no + // more results. + string next_page_token = 2; +} + +// Represents the label-policy binding. +message DataPolicy { + option (google.api.resource) = { + type: "bigquerydatapolicy.googleapis.com/DataPolicy" + pattern: "projects/{project}/locations/{location}/dataPolicies/{data_policy}" + }; + + // A list of supported data policy types. + enum DataPolicyType { + // Default value for the data policy type. This should not be used. + DATA_POLICY_TYPE_UNSPECIFIED = 0; + + // Used to create a data policy for column-level security, without data + // masking. + COLUMN_LEVEL_SECURITY_POLICY = 3; + + // Used to create a data policy for data masking. + DATA_MASKING_POLICY = 2; + } + + // Label that is bound to this data policy. + oneof matching_label { + // Policy tag resource name, in the format of + // `projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{policyTag_id}`. + string policy_tag = 4; + } + + // The policy that is bound to this data policy. + oneof policy { + // The data masking policy that specifies the data masking rule to use. + DataMaskingPolicy data_masking_policy = 5; + } + + // Output only. Resource name of this data policy, in the format of + // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Type of data policy. + DataPolicyType data_policy_type = 2; + + // User-assigned (human readable) ID of the data policy that needs to be + // unique within a project. Used as {data_policy_id} in part of the resource + // name. + string data_policy_id = 3; +} + +// The data masking policy that is used to specify data masking rule. +message DataMaskingPolicy { + // The available masking rules. Learn more here: + // https://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options. + enum PredefinedExpression { + // Default, unspecified predefined expression. No masking will take place + // since no expression is specified. + PREDEFINED_EXPRESSION_UNSPECIFIED = 0; + + // Masking expression to replace data with SHA-256 hash. + SHA256 = 3; + + // Masking expression to replace data with NULLs. + ALWAYS_NULL = 5; + + // Masking expression to replace data with their default masking values. + // The default masking values for each type listed as below: + // + // * STRING: "" + // * BYTES: b'' + // * INTEGER: 0 + // * FLOAT: 0.0 + // * NUMERIC: 0 + // * BOOLEAN: FALSE + // * TIMESTAMP: 0001-01-01 00:00:00 UTC + // * DATE: 0001-01-01 + // * TIME: 00:00:00 + // * DATETIME: 0001-01-01T00:00:00 + // * GEOGRAPHY: POINT(0 0) + // * BIGNUMERIC: 0 + // * ARRAY: [] + // * STRUCT: NOT_APPLICABLE + // * JSON: NULL + DEFAULT_MASKING_VALUE = 7; + } + + // A masking expression to bind to the data masking rule. + oneof masking_expression { + // A predefined masking expression. + PredefinedExpression predefined_expression = 1; + } +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.create_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.create_data_policy.js new file mode 100644 index 00000000000..1395d4d52ad --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.create_data_policy.js @@ -0,0 +1,68 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(parent, dataPolicy) { + // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_CreateDataPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the project that the data policy will belong to. The + * format is `projects/{project_number}/locations/{location_id}`. + */ + // const parent = 'abc123' + /** + * Required. The data policy to create. The `name` field does not need to be + * provided for the data policy creation. + */ + // const dataPolicy = {} + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callCreateDataPolicy() { + // Construct request + const request = { + parent, + dataPolicy, + }; + + // Run request + const response = await datapoliciesClient.createDataPolicy(request); + console.log(response); + } + + callCreateDataPolicy(); + // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_CreateDataPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.delete_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.delete_data_policy.js new file mode 100644 index 00000000000..725fc48db76 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.delete_data_policy.js @@ -0,0 +1,62 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(name) { + // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_DeleteDataPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the data policy to delete. Format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + */ + // const name = 'abc123' + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callDeleteDataPolicy() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await datapoliciesClient.deleteDataPolicy(request); + console.log(response); + } + + callDeleteDataPolicy(); + // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_DeleteDataPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_data_policy.js new file mode 100644 index 00000000000..bb0937a2785 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_data_policy.js @@ -0,0 +1,62 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(name) { + // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetDataPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the requested data policy. Format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + */ + // const name = 'abc123' + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callGetDataPolicy() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await datapoliciesClient.getDataPolicy(request); + console.log(response); + } + + callGetDataPolicy(); + // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetDataPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_iam_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_iam_policy.js new file mode 100644 index 00000000000..b79008c0854 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_iam_policy.js @@ -0,0 +1,67 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(resource) { + // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetIamPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * REQUIRED: The resource for which the policy is being requested. + * See the operation documentation for the appropriate value for this field. + */ + // const resource = 'abc123' + /** + * OPTIONAL: A `GetPolicyOptions` object for specifying options to + * `GetIamPolicy`. + */ + // const options = {} + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callGetIamPolicy() { + // Construct request + const request = { + resource, + }; + + // Run request + const response = await datapoliciesClient.getIamPolicy(request); + console.log(response); + } + + callGetIamPolicy(); + // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetIamPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.list_data_policies.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.list_data_policies.js new file mode 100644 index 00000000000..d801a990835 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.list_data_policies.js @@ -0,0 +1,75 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(parent) { + // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_ListDataPolicies_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the project for which to list data policies. Format is + * `projects/{project_number}/locations/{location_id}`. + */ + // const parent = 'abc123' + /** + * The maximum number of data policies to return. Must be a value between 1 + * and 1000. + * If not set, defaults to 50. + */ + // const pageSize = 1234 + /** + * The `nextPageToken` value returned from a previous list request, if any. If + * not set, defaults to an empty string. + */ + // const pageToken = 'abc123' + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callListDataPolicies() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await datapoliciesClient.listDataPoliciesAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListDataPolicies(); + // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_ListDataPolicies_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.set_iam_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.set_iam_policy.js new file mode 100644 index 00000000000..08643b6765f --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.set_iam_policy.js @@ -0,0 +1,77 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(resource, policy) { + // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_SetIamPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * REQUIRED: The resource for which the policy is being specified. + * See the operation documentation for the appropriate value for this field. + */ + // const resource = 'abc123' + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size of + * the policy is limited to a few 10s of KB. An empty policy is a + * valid policy but certain Cloud Platform services (such as Projects) + * might reject them. + */ + // const policy = {} + /** + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only + * the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: + * `paths: "bindings, etag"` + */ + // const updateMask = {} + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callSetIamPolicy() { + // Construct request + const request = { + resource, + policy, + }; + + // Run request + const response = await datapoliciesClient.setIamPolicy(request); + console.log(response); + } + + callSetIamPolicy(); + // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_SetIamPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.test_iam_permissions.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.test_iam_permissions.js new file mode 100644 index 00000000000..c8f52327442 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.test_iam_permissions.js @@ -0,0 +1,70 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(resource, permissions) { + // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_TestIamPermissions_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + // const resource = 'abc123' + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. For more + * information see + * IAM Overview (https://cloud.google.com/iam/docs/overview#permissions). + */ + // const permissions = 'abc123' + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callTestIamPermissions() { + // Construct request + const request = { + resource, + permissions, + }; + + // Run request + const response = await datapoliciesClient.testIamPermissions(request); + console.log(response); + } + + callTestIamPermissions(); + // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_TestIamPermissions_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.update_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.update_data_policy.js new file mode 100644 index 00000000000..61c136e0dcd --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.update_data_policy.js @@ -0,0 +1,71 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(dataPolicy) { + // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_UpdateDataPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Update the data policy's metadata. + * The target data policy is determined by the `name` field. + * Other fields are updated to the specified values based on the field masks. + */ + // const dataPolicy = {} + /** + * The update mask applies to the resource. For the `FieldMask` definition, + * see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + * If not set, defaults to all of the fields that are allowed to update. + * Updates to the `name` and `dataPolicyId` fields are not allowed. + */ + // const updateMask = {} + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callUpdateDataPolicy() { + // Construct request + const request = { + dataPolicy, + }; + + // Run request + const response = await datapoliciesClient.updateDataPolicy(request); + console.log(response); + } + + callUpdateDataPolicy(); + // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_UpdateDataPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json new file mode 100644 index 00000000000..da351e6ec62 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json @@ -0,0 +1,367 @@ +{ + "clientLibrary": { + "name": "nodejs-datapolicies", + "version": "0.1.0", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.bigquery.datapolicies.v1beta1", + "version": "v1beta1" + } + ] + }, + "snippets": [ + { + "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_CreateDataPolicy_async", + "title": "DataPolicyService createDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Creates a new data policy under a project with the given `dataPolicyId` (used as the display name), policy tag, and data policy type.", + "canonical": true, + "file": "data_policy_service.create_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 60, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.CreateDataPolicy", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "data_policy", + "type": ".google.cloud.bigquery.datapolicies.v1beta1.DataPolicy" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1beta1.DataPolicy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" + }, + "method": { + "shortName": "CreateDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.CreateDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_UpdateDataPolicy_async", + "title": "DataPolicyService updateDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Updates the metadata for an existing data policy. The target data policy can be specified by the resource name.", + "canonical": true, + "file": "data_policy_service.update_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 63, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.UpdateDataPolicy", + "async": true, + "parameters": [ + { + "name": "data_policy", + "type": ".google.cloud.bigquery.datapolicies.v1beta1.DataPolicy" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1beta1.DataPolicy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" + }, + "method": { + "shortName": "UpdateDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.UpdateDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_DeleteDataPolicy_async", + "title": "DataPolicyService deleteDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Deletes the data policy specified by its resource name.", + "canonical": true, + "file": "data_policy_service.delete_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.DeleteDataPolicy", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" + }, + "method": { + "shortName": "DeleteDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.DeleteDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetDataPolicy_async", + "title": "DataPolicyService getDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Gets the data policy specified by its resource name.", + "canonical": true, + "file": "data_policy_service.get_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.GetDataPolicy", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1beta1.DataPolicy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" + }, + "method": { + "shortName": "GetDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.GetDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_ListDataPolicies_async", + "title": "DataPolicyService listDataPolicies Sample", + "origin": "API_DEFINITION", + "description": " List all of the data policies in the specified parent project.", + "canonical": true, + "file": "data_policy_service.list_data_policies.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 67, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListDataPolicies", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.ListDataPolicies", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesResponse", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" + }, + "method": { + "shortName": "ListDataPolicies", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.ListDataPolicies", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetIamPolicy_async", + "title": "DataPolicyService getIamPolicy Sample", + "origin": "API_DEFINITION", + "description": " Gets the IAM policy for the specified data policy.", + "canonical": true, + "file": "data_policy_service.get_iam_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.GetIamPolicy", + "async": true, + "parameters": [ + { + "name": "resource", + "type": "TYPE_STRING" + }, + { + "name": "options", + "type": ".google.iam.v1.GetPolicyOptions" + } + ], + "resultType": ".google.iam.v1.Policy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" + }, + "method": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.GetIamPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_SetIamPolicy_async", + "title": "DataPolicyService setIamPolicy Sample", + "origin": "API_DEFINITION", + "description": " Sets the IAM policy for the specified data policy.", + "canonical": true, + "file": "data_policy_service.set_iam_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 69, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "SetIamPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.SetIamPolicy", + "async": true, + "parameters": [ + { + "name": "resource", + "type": "TYPE_STRING" + }, + { + "name": "policy", + "type": ".google.iam.v1.Policy" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.iam.v1.Policy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" + }, + "method": { + "shortName": "SetIamPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.SetIamPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_TestIamPermissions_async", + "title": "DataPolicyService testIamPermissions Sample", + "origin": "API_DEFINITION", + "description": " Returns the caller's permission on the specified data policy resource.", + "canonical": true, + "file": "data_policy_service.test_iam_permissions.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 62, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "TestIamPermissions", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.TestIamPermissions", + "async": true, + "parameters": [ + { + "name": "resource", + "type": "TYPE_STRING" + }, + { + "name": "permissions", + "type": "TYPE_STRING[]" + } + ], + "resultType": ".google.iam.v1.TestIamPermissionsResponse", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" + }, + "method": { + "shortName": "TestIamPermissions", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.TestIamPermissions", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" + } + } + } + } + ] +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/index.ts new file mode 100644 index 00000000000..58dbc1f7d69 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/index.ts @@ -0,0 +1,25 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as v1beta1 from './v1beta1'; +const DataPolicyServiceClient = v1beta1.DataPolicyServiceClient; +type DataPolicyServiceClient = v1beta1.DataPolicyServiceClient; +export {v1beta1, DataPolicyServiceClient}; +export default {v1beta1, DataPolicyServiceClient}; +import * as protos from '../protos/protos'; +export {protos} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client.ts new file mode 100644 index 00000000000..6afd2ab45ef --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client.ts @@ -0,0 +1,1163 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +/* global window */ +import type * as gax from 'google-gax'; +import type {Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback, GaxCall} from 'google-gax'; +import {Transform} from 'stream'; +import * as protos from '../../protos/protos'; +import jsonProtos = require('../../protos/protos.json'); +/** + * Client JSON configuration object, loaded from + * `src/v1beta1/data_policy_service_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ +import * as gapicConfig from './data_policy_service_client_config.json'; +const version = require('../../../package.json').version; + +/** + * Data Policy Service provides APIs for managing the label-policy bindings. + * @class + * @memberof v1beta1 + */ +export class DataPolicyServiceClient { + private _terminated = false; + private _opts: ClientOptions; + private _providedCustomServicePath: boolean; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; + auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + warn: (code: string, message: string, warnType?: string) => void; + innerApiCalls: {[name: string]: Function}; + pathTemplates: {[name: string]: gax.PathTemplate}; + dataPolicyServiceStub?: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of DataPolicyServiceClient. + * + * @param {object} [options] - The configuration object. + * The options accepted by the constructor are described in detail + * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). + * The common options are: + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {string} [options.apiEndpoint] - The domain name of the + * API remote host. + * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. + * Follows the structure of {@link gapicConfig}. + * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. + * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. + * For more information, please check the + * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. + * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you + * need to avoid loading the default gRPC version and want to use the fallback + * HTTP implementation. Load only fallback version and pass it to the constructor: + * ``` + * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC + * const client = new DataPolicyServiceClient({fallback: 'rest'}, gax); + * ``` + */ + constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { + // Ensure that options include all the required fields. + const staticMembers = this.constructor as typeof DataPolicyServiceClient; + const servicePath = opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); + const port = opts?.port || staticMembers.port; + const clientConfig = opts?.clientConfig ?? {}; + const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. + if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { + opts['scopes'] = staticMembers.scopes; + } + + // Load google-gax module synchronously if needed + if (!gaxInstance) { + gaxInstance = require('google-gax') as typeof gax; + } + + // Choose either gRPC or proto-over-HTTP implementation of google-gax. + this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; + + // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. + this._gaxGrpc = new this._gaxModule.GrpcClient(opts); + + // Save options to use in initialize() method. + this._opts = opts; + + // Save the auth object to the client, for use by other methods. + this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + + // Set useJWTAccessWithScope on the auth object. + this.auth.useJWTAccessWithScope = true; + + // Set defaultServicePath on the auth object. + this.auth.defaultServicePath = staticMembers.servicePath; + + // Set the default scopes in auth client if needed. + if (servicePath === staticMembers.servicePath) { + this.auth.defaultScopes = staticMembers.scopes; + } + + // Determine the client header string. + const clientHeader = [ + `gax/${this._gaxModule.version}`, + `gapic/${version}`, + ]; + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } else { + clientHeader.push(`gl-web/${this._gaxModule.version}`); + } + if (!opts.fallback) { + clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); + } else if (opts.fallback === 'rest' ) { + clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); + } + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + // Load the applicable protos. + this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this.pathTemplates = { + dataPolicyPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/dataPolicies/{data_policy}' + ), + locationPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}' + ), + projectPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}' + ), + }; + + // Some of the methods on this service return "paged" results, + // (e.g. 50 results at a time, with tokens to get subsequent + // pages). Denote the keys used for pagination and results. + this.descriptors.page = { + listDataPolicies: + new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'dataPolicies') + }; + + // Put together the default options sent with requests. + this._defaults = this._gaxGrpc.constructSettings( + 'google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService', gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this.innerApiCalls = {}; + + // Add a warn function to the client constructor so it can be easily tested. + this.warn = this._gaxModule.warn; + } + + /** + * Initialize the client. + * Performs asynchronous operations (such as authentication) and prepares the client. + * This function will be called automatically when any class method is called for the + * first time, but if you need to initialize it before calling an actual method, + * feel free to call initialize() directly. + * + * You can await on this method if you want to make sure the client is initialized. + * + * @returns {Promise} A promise that resolves to an authenticated service stub. + */ + initialize() { + // If the client stub promise is already initialized, return immediately. + if (this.dataPolicyServiceStub) { + return this.dataPolicyServiceStub; + } + + // Put together the "service stub" for + // google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService. + this.dataPolicyServiceStub = this._gaxGrpc.createStub( + this._opts.fallback ? + (this._protos as protobuf.Root).lookupService('google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService') : + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService, + this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const dataPolicyServiceStubMethods = + ['createDataPolicy', 'updateDataPolicy', 'deleteDataPolicy', 'getDataPolicy', 'listDataPolicies', 'getIamPolicy', 'setIamPolicy', 'testIamPermissions']; + for (const methodName of dataPolicyServiceStubMethods) { + const callPromise = this.dataPolicyServiceStub.then( + stub => (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, + (err: Error|null|undefined) => () => { + throw err; + }); + + const descriptor = + this.descriptors.page[methodName] || + undefined; + const apiCall = this._gaxModule.createApiCall( + callPromise, + this._defaults[methodName], + descriptor, + this._opts.fallback + ); + + this.innerApiCalls[methodName] = apiCall; + } + + return this.dataPolicyServiceStub; + } + + /** + * The DNS address for this API service. + * @returns {string} The DNS address for this service. + */ + static get servicePath() { + return 'bigquerydatapolicy.googleapis.com'; + } + + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + * @returns {string} The DNS address for this service. + */ + static get apiEndpoint() { + return 'bigquerydatapolicy.googleapis.com'; + } + + /** + * The port for this API service. + * @returns {number} The default port for this service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + * @returns {string[]} List of default scopes. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/bigquery', + 'https://www.googleapis.com/auth/cloud-platform' + ]; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @returns {Promise} A promise that resolves to string containing the project ID. + */ + getProjectId(callback?: Callback): + Promise|void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- +/** + * Creates a new data policy under a project with the given `dataPolicyId` + * (used as the display name), policy tag, and data policy type. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the project that the data policy will belong to. The + * format is `projects/{project_number}/locations/{location_id}`. + * @param {google.cloud.bigquery.datapolicies.v1beta1.DataPolicy} request.dataPolicy + * Required. The data policy to create. The `name` field does not need to be + * provided for the data policy creation. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1beta1/data_policy_service.create_data_policy.js + * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_CreateDataPolicy_async + */ + createDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|undefined, {}|undefined + ]>; + createDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + createDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + createDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'parent': request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.createDataPolicy(request, options, callback); + } +/** + * Updates the metadata for an existing data policy. The target data policy + * can be specified by the resource name. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.bigquery.datapolicies.v1beta1.DataPolicy} request.dataPolicy + * Required. Update the data policy's metadata. + * + * The target data policy is determined by the `name` field. + * Other fields are updated to the specified values based on the field masks. + * @param {google.protobuf.FieldMask} request.updateMask + * The update mask applies to the resource. For the `FieldMask` definition, + * see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + * If not set, defaults to all of the fields that are allowed to update. + * + * Updates to the `name` and `dataPolicyId` fields are not allowed. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1beta1/data_policy_service.update_data_policy.js + * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_UpdateDataPolicy_async + */ + updateDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|undefined, {}|undefined + ]>; + updateDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + updateDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + updateDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'data_policy.name': request.dataPolicy!.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.updateDataPolicy(request, options, callback); + } +/** + * Deletes the data policy specified by its resource name. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the data policy to delete. Format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1beta1/data_policy_service.delete_data_policy.js + * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_DeleteDataPolicy_async + */ + deleteDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|undefined, {}|undefined + ]>; + deleteDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + deleteDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + deleteDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'name': request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.deleteDataPolicy(request, options, callback); + } +/** + * Gets the data policy specified by its resource name. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the requested data policy. Format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1beta1/data_policy_service.get_data_policy.js + * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetDataPolicy_async + */ + getDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|undefined, {}|undefined + ]>; + getDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + getDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + getDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'name': request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.getDataPolicy(request, options, callback); + } +/** + * Gets the IAM policy for the specified data policy. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource + * REQUIRED: The resource for which the policy is being requested. + * See the operation documentation for the appropriate value for this field. + * @param {google.iam.v1.GetPolicyOptions} request.options + * OPTIONAL: A `GetPolicyOptions` object for specifying options to + * `GetIamPolicy`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Policy]{@link google.iam.v1.Policy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1beta1/data_policy_service.get_iam_policy.js + * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetIamPolicy_async + */ + getIamPolicy( + request?: protos.google.iam.v1.IGetIamPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|undefined, {}|undefined + ]>; + getIamPolicy( + request: protos.google.iam.v1.IGetIamPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, + {}|null|undefined>): void; + getIamPolicy( + request: protos.google.iam.v1.IGetIamPolicyRequest, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, + {}|null|undefined>): void; + getIamPolicy( + request?: protos.google.iam.v1.IGetIamPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'resource': request.resource ?? '', + }); + this.initialize(); + return this.innerApiCalls.getIamPolicy(request, options, callback); + } +/** + * Sets the IAM policy for the specified data policy. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource + * REQUIRED: The resource for which the policy is being specified. + * See the operation documentation for the appropriate value for this field. + * @param {google.iam.v1.Policy} request.policy + * REQUIRED: The complete policy to be applied to the `resource`. The size of + * the policy is limited to a few 10s of KB. An empty policy is a + * valid policy but certain Cloud Platform services (such as Projects) + * might reject them. + * @param {google.protobuf.FieldMask} request.updateMask + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only + * the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: + * + * `paths: "bindings, etag"` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Policy]{@link google.iam.v1.Policy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1beta1/data_policy_service.set_iam_policy.js + * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_SetIamPolicy_async + */ + setIamPolicy( + request?: protos.google.iam.v1.ISetIamPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|undefined, {}|undefined + ]>; + setIamPolicy( + request: protos.google.iam.v1.ISetIamPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, + {}|null|undefined>): void; + setIamPolicy( + request: protos.google.iam.v1.ISetIamPolicyRequest, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, + {}|null|undefined>): void; + setIamPolicy( + request?: protos.google.iam.v1.ISetIamPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'resource': request.resource ?? '', + }); + this.initialize(); + return this.innerApiCalls.setIamPolicy(request, options, callback); + } +/** + * Returns the caller's permission on the specified data policy resource. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + * @param {string[]} request.permissions + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. For more + * information see + * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [TestIamPermissionsResponse]{@link google.iam.v1.TestIamPermissionsResponse}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1beta1/data_policy_service.test_iam_permissions.js + * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_TestIamPermissions_async + */ + testIamPermissions( + request?: protos.google.iam.v1.ITestIamPermissionsRequest, + options?: CallOptions): + Promise<[ + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|undefined, {}|undefined + ]>; + testIamPermissions( + request: protos.google.iam.v1.ITestIamPermissionsRequest, + options: CallOptions, + callback: Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, + {}|null|undefined>): void; + testIamPermissions( + request: protos.google.iam.v1.ITestIamPermissionsRequest, + callback: Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, + {}|null|undefined>): void; + testIamPermissions( + request?: protos.google.iam.v1.ITestIamPermissionsRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'resource': request.resource ?? '', + }); + this.initialize(); + return this.innerApiCalls.testIamPermissions(request, options, callback); + } + + /** + * List all of the data policies in the specified parent project. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the project for which to list data policies. Format is + * `projects/{project_number}/locations/{location_id}`. + * @param {number} request.pageSize + * The maximum number of data policies to return. Must be a value between 1 + * and 1000. + * If not set, defaults to 50. + * @param {string} request.pageToken + * The `nextPageToken` value returned from a previous list request, if any. If + * not set, defaults to an empty string. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listDataPoliciesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listDataPolicies( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, + options?: CallOptions): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy[], + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest|null, + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse + ]>; + listDataPolicies( + request: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse|null|undefined, + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy>): void; + listDataPolicies( + request: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, + callback: PaginationCallback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse|null|undefined, + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy>): void; + listDataPolicies( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, + optionsOrCallback?: CallOptions|PaginationCallback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse|null|undefined, + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy>, + callback?: PaginationCallback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse|null|undefined, + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy>): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy[], + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest|null, + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'parent': request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.listDataPolicies(request, options, callback); + } + +/** + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the project for which to list data policies. Format is + * `projects/{project_number}/locations/{location_id}`. + * @param {number} request.pageSize + * The maximum number of data policies to return. Must be a value between 1 + * and 1000. + * If not set, defaults to 50. + * @param {string} request.pageToken + * The `nextPageToken` value returned from a previous list request, if any. If + * not set, defaults to an empty string. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listDataPoliciesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listDataPoliciesStream( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, + options?: CallOptions): + Transform{ + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'parent': request.parent ?? '', + }); + const defaultCallSettings = this._defaults['listDataPolicies']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listDataPolicies.createStream( + this.innerApiCalls.listDataPolicies as GaxCall, + request, + callSettings + ); + } + +/** + * Equivalent to `listDataPolicies`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the project for which to list data policies. Format is + * `projects/{project_number}/locations/{location_id}`. + * @param {number} request.pageSize + * The maximum number of data policies to return. Must be a value between 1 + * and 1000. + * If not set, defaults to 50. + * @param {string} request.pageToken + * The `nextPageToken` value returned from a previous list request, if any. If + * not set, defaults to an empty string. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example include:samples/generated/v1beta1/data_policy_service.list_data_policies.js + * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_ListDataPolicies_async + */ + listDataPoliciesAsync( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, + options?: CallOptions): + AsyncIterable{ + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'parent': request.parent ?? '', + }); + const defaultCallSettings = this._defaults['listDataPolicies']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listDataPolicies.asyncIterate( + this.innerApiCalls['listDataPolicies'] as GaxCall, + request as {}, + callSettings + ) as AsyncIterable; + } + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified dataPolicy resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} data_policy + * @returns {string} Resource name string. + */ + dataPolicyPath(project:string,location:string,dataPolicy:string) { + return this.pathTemplates.dataPolicyPathTemplate.render({ + project: project, + location: location, + data_policy: dataPolicy, + }); + } + + /** + * Parse the project from DataPolicy resource. + * + * @param {string} dataPolicyName + * A fully-qualified path representing DataPolicy resource. + * @returns {string} A string representing the project. + */ + matchProjectFromDataPolicyName(dataPolicyName: string) { + return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).project; + } + + /** + * Parse the location from DataPolicy resource. + * + * @param {string} dataPolicyName + * A fully-qualified path representing DataPolicy resource. + * @returns {string} A string representing the location. + */ + matchLocationFromDataPolicyName(dataPolicyName: string) { + return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).location; + } + + /** + * Parse the data_policy from DataPolicy resource. + * + * @param {string} dataPolicyName + * A fully-qualified path representing DataPolicy resource. + * @returns {string} A string representing the data_policy. + */ + matchDataPolicyFromDataPolicyName(dataPolicyName: string) { + return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).data_policy; + } + + /** + * Return a fully-qualified location resource name string. + * + * @param {string} project + * @param {string} location + * @returns {string} Resource name string. + */ + locationPath(project:string,location:string) { + return this.pathTemplates.locationPathTemplate.render({ + project: project, + location: location, + }); + } + + /** + * Parse the project from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the project. + */ + matchProjectFromLocationName(locationName: string) { + return this.pathTemplates.locationPathTemplate.match(locationName).project; + } + + /** + * Parse the location from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the location. + */ + matchLocationFromLocationName(locationName: string) { + return this.pathTemplates.locationPathTemplate.match(locationName).location; + } + + /** + * Return a fully-qualified project resource name string. + * + * @param {string} project + * @returns {string} Resource name string. + */ + projectPath(project:string) { + return this.pathTemplates.projectPathTemplate.render({ + project: project, + }); + } + + /** + * Parse the project from Project resource. + * + * @param {string} projectName + * A fully-qualified path representing Project resource. + * @returns {string} A string representing the project. + */ + matchProjectFromProjectName(projectName: string) { + return this.pathTemplates.projectPathTemplate.match(projectName).project; + } + + /** + * Terminate the gRPC channel and close the client. + * + * The client will no longer be usable and all future behavior is undefined. + * @returns {Promise} A promise that resolves when the client is closed. + */ + close(): Promise { + if (this.dataPolicyServiceStub && !this._terminated) { + return this.dataPolicyServiceStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client_config.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client_config.json new file mode 100644 index 00000000000..426ab638d19 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client_config.json @@ -0,0 +1,78 @@ +{ + "interfaces": { + "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService": { + "retry_codes": { + "non_idempotent": [], + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "unavailable": [ + "UNAVAILABLE" + ] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + }, + "ce5b960a6ed052e690863808e4f0deff3dc7d49f": { + "initial_retry_delay_millis": 1000, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 10000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "CreateDataPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "UpdateDataPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "DeleteDataPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "GetDataPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "ListDataPolicies": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "GetIamPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "SetIamPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "TestIamPermissions": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + } + } + } + } +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_proto_list.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_proto_list.json new file mode 100644 index 00000000000..6e26fa8caca --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicy.proto" +] diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/gapic_metadata.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/gapic_metadata.json new file mode 100644 index 00000000000..18fb9ed02a5 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/gapic_metadata.json @@ -0,0 +1,107 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.cloud.bigquery.datapolicies.v1beta1", + "libraryPackage": "@google-cloud/bigquery-datapolicies", + "services": { + "DataPolicyService": { + "clients": { + "grpc": { + "libraryClient": "DataPolicyServiceClient", + "rpcs": { + "CreateDataPolicy": { + "methods": [ + "createDataPolicy" + ] + }, + "UpdateDataPolicy": { + "methods": [ + "updateDataPolicy" + ] + }, + "DeleteDataPolicy": { + "methods": [ + "deleteDataPolicy" + ] + }, + "GetDataPolicy": { + "methods": [ + "getDataPolicy" + ] + }, + "GetIamPolicy": { + "methods": [ + "getIamPolicy" + ] + }, + "SetIamPolicy": { + "methods": [ + "setIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "testIamPermissions" + ] + }, + "ListDataPolicies": { + "methods": [ + "listDataPolicies", + "listDataPoliciesStream", + "listDataPoliciesAsync" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "DataPolicyServiceClient", + "rpcs": { + "CreateDataPolicy": { + "methods": [ + "createDataPolicy" + ] + }, + "UpdateDataPolicy": { + "methods": [ + "updateDataPolicy" + ] + }, + "DeleteDataPolicy": { + "methods": [ + "deleteDataPolicy" + ] + }, + "GetDataPolicy": { + "methods": [ + "getDataPolicy" + ] + }, + "GetIamPolicy": { + "methods": [ + "getIamPolicy" + ] + }, + "SetIamPolicy": { + "methods": [ + "setIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "testIamPermissions" + ] + }, + "ListDataPolicies": { + "methods": [ + "listDataPolicies", + "listDataPoliciesStream", + "listDataPoliciesAsync" + ] + } + } + } + } + } + } +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/index.ts new file mode 100644 index 00000000000..81030a61690 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/index.ts @@ -0,0 +1,19 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +export {DataPolicyServiceClient} from './data_policy_service_client'; diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.js new file mode 100644 index 00000000000..b26197444a3 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.js @@ -0,0 +1,27 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + +/* eslint-disable node/no-missing-require, no-unused-vars */ +const datapolicies = require('@google-cloud/bigquery-datapolicies'); + +function main() { + const dataPolicyServiceClient = new datapolicies.DataPolicyServiceClient(); +} + +main(); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.ts new file mode 100644 index 00000000000..760641ee949 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.ts @@ -0,0 +1,32 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import {DataPolicyServiceClient} from '@google-cloud/bigquery-datapolicies'; + +// check that the client class type name can be used +function doStuffWithDataPolicyServiceClient(client: DataPolicyServiceClient) { + client.close(); +} + +function main() { + // check that the client instance can be created + const dataPolicyServiceClient = new DataPolicyServiceClient(); + doStuffWithDataPolicyServiceClient(dataPolicyServiceClient); +} + +main(); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/install.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/install.ts new file mode 100644 index 00000000000..557a57558e1 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/install.ts @@ -0,0 +1,49 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import {packNTest} from 'pack-n-play'; +import {readFileSync} from 'fs'; +import {describe, it} from 'mocha'; + +describe('📦 pack-n-play test', () => { + + it('TypeScript code', async function() { + this.timeout(300000); + const options = { + packageDir: process.cwd(), + sample: { + description: 'TypeScript user can use the type definitions', + ts: readFileSync('./system-test/fixtures/sample/src/index.ts').toString() + } + }; + await packNTest(options); + }); + + it('JavaScript code', async function() { + this.timeout(300000); + const options = { + packageDir: process.cwd(), + sample: { + description: 'JavaScript user can use the library', + ts: readFileSync('./system-test/fixtures/sample/src/index.js').toString() + } + }; + await packNTest(options); + }); + +}); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/test/gapic_data_policy_service_v1beta1.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/test/gapic_data_policy_service_v1beta1.ts new file mode 100644 index 00000000000..1b61cf2fbef --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/test/gapic_data_policy_service_v1beta1.ts @@ -0,0 +1,1319 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protos from '../protos/protos'; +import * as assert from 'assert'; +import * as sinon from 'sinon'; +import {SinonStub} from 'sinon'; +import {describe, it} from 'mocha'; +import * as datapolicyserviceModule from '../src'; + +import {PassThrough} from 'stream'; + +import {protobuf} from 'google-gax'; + +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + +function generateSampleMessage(instance: T) { + const filledObject = (instance.constructor as typeof protobuf.Message) + .toObject(instance as protobuf.Message, {defaults: true}); + return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T; +} + +function stubSimpleCall(response?: ResponseType, error?: Error) { + return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]); +} + +function stubSimpleCallWithCallback(response?: ResponseType, error?: Error) { + return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response); +} + +function stubPageStreamingCall(responses?: ResponseType[], error?: Error) { + const pagingStub = sinon.stub(); + if (responses) { + for (let i = 0; i < responses.length; ++i) { + pagingStub.onCall(i).callsArgWith(2, null, responses[i]); + } + } + const transformStub = error ? sinon.stub().callsArgWith(2, error) : pagingStub; + const mockStream = new PassThrough({ + objectMode: true, + transform: transformStub, + }); + // trigger as many responses as needed + if (responses) { + for (let i = 0; i < responses.length; ++i) { + setImmediate(() => { mockStream.write({}); }); + } + setImmediate(() => { mockStream.end(); }); + } else { + setImmediate(() => { mockStream.write({}); }); + setImmediate(() => { mockStream.end(); }); + } + return sinon.stub().returns(mockStream); +} + +function stubAsyncIterationCall(responses?: ResponseType[], error?: Error) { + let counter = 0; + const asyncIterable = { + [Symbol.asyncIterator]() { + return { + async next() { + if (error) { + return Promise.reject(error); + } + if (counter >= responses!.length) { + return Promise.resolve({done: true, value: undefined}); + } + return Promise.resolve({done: false, value: responses![counter++]}); + } + }; + } + }; + return sinon.stub().returns(asyncIterable); +} + +describe('v1beta1.DataPolicyServiceClient', () => { + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = datapolicyserviceModule.v1beta1.DataPolicyServiceClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = datapolicyserviceModule.v1beta1.DataPolicyServiceClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = datapolicyserviceModule.v1beta1.DataPolicyServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.dataPolicyServiceStub, undefined); + await client.initialize(); + assert(client.dataPolicyServiceStub); + }); + + it('has close method for the initialized client', done => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.dataPolicyServiceStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.dataPolicyServiceStub, undefined); + client.close().then(() => { + done(); + }); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error|null, projectId?: string|null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + }); + + describe('createDataPolicy', () => { + it('invokes createDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() + ); + client.innerApiCalls.createDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.createDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() + ); + client.innerApiCalls.createDataPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createDataPolicy( + request, + (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createDataPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.createDataPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest', ['parent']); + request.parent = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.createDataPolicy(request), expectedError); + }); + }); + + describe('updateDataPolicy', () => { + it('invokes updateDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest() + ); + request.dataPolicy ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); + request.dataPolicy.name = defaultValue1; + const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() + ); + client.innerApiCalls.updateDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.updateDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest() + ); + request.dataPolicy ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); + request.dataPolicy.name = defaultValue1; + const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() + ); + client.innerApiCalls.updateDataPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateDataPolicy( + request, + (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest() + ); + request.dataPolicy ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); + request.dataPolicy.name = defaultValue1; + const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateDataPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.updateDataPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest() + ); + request.dataPolicy ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); + request.dataPolicy.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.updateDataPolicy(request), expectedError); + }); + }); + + describe('deleteDataPolicy', () => { + it('invokes deleteDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.deleteDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteDataPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteDataPolicy( + request, + (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteDataPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.deleteDataPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.deleteDataPolicy(request), expectedError); + }); + }); + + describe('getDataPolicy', () => { + it('invokes getDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() + ); + client.innerApiCalls.getDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.getDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() + ); + client.innerApiCalls.getDataPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getDataPolicy( + request, + (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getDataPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.getDataPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getDataPolicy(request), expectedError); + }); + }); + + describe('getIamPolicy', () => { + it('invokes getIamPolicy without error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy() + ); + client.innerApiCalls.getIamPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.getIamPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getIamPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy() + ); + client.innerApiCalls.getIamPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getIamPolicy( + request, + (err?: Error|null, result?: protos.google.iam.v1.IPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getIamPolicy with error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getIamPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.getIamPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getIamPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getIamPolicy(request), expectedError); + }); + }); + + describe('setIamPolicy', () => { + it('invokes setIamPolicy without error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy() + ); + client.innerApiCalls.setIamPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.setIamPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes setIamPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy() + ); + client.innerApiCalls.setIamPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.setIamPolicy( + request, + (err?: Error|null, result?: protos.google.iam.v1.IPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes setIamPolicy with error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.setIamPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.setIamPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes setIamPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.setIamPolicy(request), expectedError); + }); + }); + + describe('testIamPermissions', () => { + it('invokes testIamPermissions without error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsResponse() + ); + client.innerApiCalls.testIamPermissions = stubSimpleCall(expectedResponse); + const [response] = await client.testIamPermissions(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes testIamPermissions without error using callback', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsResponse() + ); + client.innerApiCalls.testIamPermissions = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.testIamPermissions( + request, + (err?: Error|null, result?: protos.google.iam.v1.ITestIamPermissionsResponse|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes testIamPermissions with error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.testIamPermissions = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.testIamPermissions(request), expectedError); + const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes testIamPermissions with closed client', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); + request.resource = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.testIamPermissions(request), expectedError); + }); + }); + + describe('listDataPolicies', () => { + it('invokes listDataPolicies without error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + ]; + client.innerApiCalls.listDataPolicies = stubSimpleCall(expectedResponse); + const [response] = await client.listDataPolicies(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listDataPolicies without error using callback', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + ]; + client.innerApiCalls.listDataPolicies = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listDataPolicies( + request, + (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy[]|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listDataPolicies with error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listDataPolicies = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.listDataPolicies(request), expectedError); + const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listDataPoliciesStream without error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + ]; + client.descriptors.page.listDataPolicies.createStream = stubPageStreamingCall(expectedResponse); + const stream = client.listDataPoliciesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy[] = []; + stream.on('data', (response: protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert((client.descriptors.page.listDataPolicies.createStream as SinonStub) + .getCall(0).calledWith(client.innerApiCalls.listDataPolicies, request)); + assert( + (client.descriptors.page.listDataPolicies.createStream as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('invokes listDataPoliciesStream with error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listDataPolicies.createStream = stubPageStreamingCall(undefined, expectedError); + const stream = client.listDataPoliciesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy[] = []; + stream.on('data', (response: protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert((client.descriptors.page.listDataPolicies.createStream as SinonStub) + .getCall(0).calledWith(client.innerApiCalls.listDataPolicies, request)); + assert( + (client.descriptors.page.listDataPolicies.createStream as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listDataPolicies without error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + ]; + client.descriptors.page.listDataPolicies.asyncIterate = stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy[] = []; + const iterable = client.listDataPoliciesAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) + .getCall(0).args[1], request); + assert( + (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listDataPolicies with error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listDataPolicies.asyncIterate = stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listDataPoliciesAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) + .getCall(0).args[1], request); + assert( + (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + }); + + describe('Path templates', () => { + + describe('dataPolicy', () => { + const fakePath = "/rendered/path/dataPolicy"; + const expectedParameters = { + project: "projectValue", + location: "locationValue", + data_policy: "dataPolicyValue", + }; + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.dataPolicyPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.dataPolicyPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('dataPolicyPath', () => { + const result = client.dataPolicyPath("projectValue", "locationValue", "dataPolicyValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.dataPolicyPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchProjectFromDataPolicyName', () => { + const result = client.matchProjectFromDataPolicyName(fakePath); + assert.strictEqual(result, "projectValue"); + assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchLocationFromDataPolicyName', () => { + const result = client.matchLocationFromDataPolicyName(fakePath); + assert.strictEqual(result, "locationValue"); + assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchDataPolicyFromDataPolicyName', () => { + const result = client.matchDataPolicyFromDataPolicyName(fakePath); + assert.strictEqual(result, "dataPolicyValue"); + assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + + describe('location', () => { + const fakePath = "/rendered/path/location"; + const expectedParameters = { + project: "projectValue", + location: "locationValue", + }; + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.locationPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.locationPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('locationPath', () => { + const result = client.locationPath("projectValue", "locationValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.locationPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchProjectFromLocationName', () => { + const result = client.matchProjectFromLocationName(fakePath); + assert.strictEqual(result, "projectValue"); + assert((client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchLocationFromLocationName', () => { + const result = client.matchLocationFromLocationName(fakePath); + assert.strictEqual(result, "locationValue"); + assert((client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + + describe('project', () => { + const fakePath = "/rendered/path/project"; + const expectedParameters = { + project: "projectValue", + }; + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.projectPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.projectPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('projectPath', () => { + const result = client.projectPath("projectValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.projectPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchProjectFromProjectName', () => { + const result = client.matchProjectFromProjectName(fakePath); + assert.strictEqual(result, "projectValue"); + assert((client.pathTemplates.projectPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + }); +}); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/tsconfig.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/tsconfig.json new file mode 100644 index 00000000000..c78f1c884ef --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build", + "resolveJsonModule": true, + "lib": [ + "es2018", + "dom" + ] + }, + "include": [ + "src/*.ts", + "src/**/*.ts", + "test/*.ts", + "test/**/*.ts", + "system-test/*.ts" + ] +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/webpack.config.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/webpack.config.js new file mode 100644 index 00000000000..032cd610597 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/webpack.config.js @@ -0,0 +1,64 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +const path = require('path'); + +module.exports = { + entry: './src/index.ts', + output: { + library: 'DataPolicyService', + filename: './data-policy-service.js', + }, + node: { + child_process: 'empty', + fs: 'empty', + crypto: 'empty', + }, + resolve: { + alias: { + '../../../package.json': path.resolve(__dirname, 'package.json'), + }, + extensions: ['.js', '.json', '.ts'], + }, + module: { + rules: [ + { + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/ + }, + { + test: /node_modules[\\/]@grpc[\\/]grpc-js/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]grpc/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]retry-request/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]https?-proxy-agent/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]gtoken/, + use: 'null-loader' + }, + ], + }, + mode: 'production', +}; From fc8d64005f6aaba2074d75312d2057792db5c163 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Wed, 30 Nov 2022 22:52:40 +0000 Subject: [PATCH 2/4] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot=20po?= =?UTF-8?q?st-processor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- .../v1/.eslintignore | 7 - .../v1/.eslintrc.json | 3 - .../v1/.gitignore | 14 - .../v1/.jsdoc.js | 55 - .../v1/.mocharc.js | 33 - .../v1/.prettierrc.js | 22 - .../v1/README.md | 1 - .../v1/linkinator.config.json | 16 - .../v1/package.json | 64 - ...google.cloud.bigquery.datapolicies.v1.json | 415 --- .../v1/src/index.ts | 25 - .../v1/src/v1/data_policy_service_client.ts | 1264 -------- .../system-test/fixtures/sample/src/index.js | 27 - .../system-test/fixtures/sample/src/index.ts | 32 - .../v1/system-test/install.ts | 49 - .../v1/test/gapic_data_policy_service_v1.ts | 1427 --------- .../v1/tsconfig.json | 19 - .../v1/webpack.config.js | 64 - .../v1beta1/.eslintignore | 7 - .../v1beta1/.eslintrc.json | 3 - .../v1beta1/.gitignore | 14 - .../v1beta1/.jsdoc.js | 55 - .../v1beta1/.mocharc.js | 33 - .../v1beta1/.prettierrc.js | 22 - .../v1beta1/README.md | 1 - .../v1beta1/linkinator.config.json | 16 - .../v1beta1/package.json | 64 - .../datapolicies/v1beta1/datapolicy.proto | 287 -- .../data_policy_service.create_data_policy.js | 68 - .../data_policy_service.delete_data_policy.js | 62 - .../data_policy_service.get_data_policy.js | 62 - .../data_policy_service.get_iam_policy.js | 67 - .../data_policy_service.list_data_policies.js | 75 - .../data_policy_service.set_iam_policy.js | 77 - ...ata_policy_service.test_iam_permissions.js | 70 - .../data_policy_service.update_data_policy.js | 71 - ...e.cloud.bigquery.datapolicies.v1beta1.json | 367 --- .../v1beta1/src/index.ts | 25 - .../src/v1beta1/data_policy_service_client.ts | 1163 -------- .../data_policy_service_client_config.json | 78 - .../data_policy_service_proto_list.json | 3 - .../v1beta1/src/v1beta1/gapic_metadata.json | 107 - .../v1beta1/src/v1beta1/index.ts | 19 - .../system-test/fixtures/sample/src/index.js | 27 - .../system-test/fixtures/sample/src/index.ts | 32 - .../v1beta1/system-test/install.ts | 49 - .../test/gapic_data_policy_service_v1beta1.ts | 1319 --------- .../v1beta1/tsconfig.json | 19 - .../v1beta1/webpack.config.js | 64 - .../README.md | 9 + .../bigquery/datapolicies/v1/datapolicy.proto | 0 .../protos/protos.d.ts | 1186 ++++++++ .../protos/protos.js | 2611 +++++++++++++++++ .../protos/protos.json | 373 +++ .../samples/README.md | 162 + .../data_policy_service.create_data_policy.js | 0 .../data_policy_service.delete_data_policy.js | 0 .../v1/data_policy_service.get_data_policy.js | 0 .../v1/data_policy_service.get_iam_policy.js | 0 .../data_policy_service.list_data_policies.js | 0 .../data_policy_service.rename_data_policy.js | 0 .../v1/data_policy_service.set_iam_policy.js | 0 ...ata_policy_service.test_iam_permissions.js | 0 .../data_policy_service.update_data_policy.js | 0 ...google.cloud.bigquery.datapolicies.v1.json | 415 +++ .../src/index.ts | 5 +- .../src/v1/data_policy_service_client.ts | 1482 ++++++++++ .../v1/data_policy_service_client_config.json | 0 .../v1/data_policy_service_proto_list.json | 0 .../src/v1/gapic_metadata.json | 0 .../src/v1/index.ts | 0 .../test/gapic_data_policy_service_v1.ts | 1762 +++++++++++ .../test/gapic_data_policy_service_v1beta1.ts | 249 +- 73 files changed, 8143 insertions(+), 7974 deletions(-) delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintignore delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintrc.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.gitignore delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.jsdoc.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.mocharc.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.prettierrc.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/README.md delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/linkinator.config.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/package.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/index.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/install.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/test/gapic_data_policy_service_v1.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/tsconfig.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/webpack.config.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintignore delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintrc.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.gitignore delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.jsdoc.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.mocharc.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.prettierrc.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/README.md delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/linkinator.config.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/package.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicy.proto delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.create_data_policy.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.delete_data_policy.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_data_policy.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_iam_policy.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.list_data_policies.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.set_iam_policy.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.test_iam_permissions.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.update_data_policy.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/index.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client_config.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_proto_list.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/gapic_metadata.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/index.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/install.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/test/gapic_data_policy_service_v1beta1.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/tsconfig.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/webpack.config.js rename {owl-bot-staging/google-cloud-bigquery-datapolicies/v1 => packages/google-cloud-bigquery-datapolicies}/protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto (100%) rename {owl-bot-staging/google-cloud-bigquery-datapolicies/v1 => packages/google-cloud-bigquery-datapolicies}/samples/generated/v1/data_policy_service.create_data_policy.js (100%) rename {owl-bot-staging/google-cloud-bigquery-datapolicies/v1 => packages/google-cloud-bigquery-datapolicies}/samples/generated/v1/data_policy_service.delete_data_policy.js (100%) rename {owl-bot-staging/google-cloud-bigquery-datapolicies/v1 => packages/google-cloud-bigquery-datapolicies}/samples/generated/v1/data_policy_service.get_data_policy.js (100%) rename {owl-bot-staging/google-cloud-bigquery-datapolicies/v1 => packages/google-cloud-bigquery-datapolicies}/samples/generated/v1/data_policy_service.get_iam_policy.js (100%) rename {owl-bot-staging/google-cloud-bigquery-datapolicies/v1 => packages/google-cloud-bigquery-datapolicies}/samples/generated/v1/data_policy_service.list_data_policies.js (100%) rename {owl-bot-staging/google-cloud-bigquery-datapolicies/v1 => packages/google-cloud-bigquery-datapolicies}/samples/generated/v1/data_policy_service.rename_data_policy.js (100%) rename {owl-bot-staging/google-cloud-bigquery-datapolicies/v1 => packages/google-cloud-bigquery-datapolicies}/samples/generated/v1/data_policy_service.set_iam_policy.js (100%) rename {owl-bot-staging/google-cloud-bigquery-datapolicies/v1 => packages/google-cloud-bigquery-datapolicies}/samples/generated/v1/data_policy_service.test_iam_permissions.js (100%) rename {owl-bot-staging/google-cloud-bigquery-datapolicies/v1 => packages/google-cloud-bigquery-datapolicies}/samples/generated/v1/data_policy_service.update_data_policy.js (100%) create mode 100644 packages/google-cloud-bigquery-datapolicies/samples/generated/v1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json create mode 100644 packages/google-cloud-bigquery-datapolicies/src/v1/data_policy_service_client.ts rename {owl-bot-staging/google-cloud-bigquery-datapolicies/v1 => packages/google-cloud-bigquery-datapolicies}/src/v1/data_policy_service_client_config.json (100%) rename {owl-bot-staging/google-cloud-bigquery-datapolicies/v1 => packages/google-cloud-bigquery-datapolicies}/src/v1/data_policy_service_proto_list.json (100%) rename {owl-bot-staging/google-cloud-bigquery-datapolicies/v1 => packages/google-cloud-bigquery-datapolicies}/src/v1/gapic_metadata.json (100%) rename {owl-bot-staging/google-cloud-bigquery-datapolicies/v1 => packages/google-cloud-bigquery-datapolicies}/src/v1/index.ts (100%) create mode 100644 packages/google-cloud-bigquery-datapolicies/test/gapic_data_policy_service_v1.ts diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintignore b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintignore deleted file mode 100644 index cfc348ec4d1..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintignore +++ /dev/null @@ -1,7 +0,0 @@ -**/node_modules -**/.coverage -build/ -docs/ -protos/ -system-test/ -samples/generated/ diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintrc.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintrc.json deleted file mode 100644 index 78215349546..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "./node_modules/gts" -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.gitignore b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.gitignore deleted file mode 100644 index 5d32b23782f..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -**/*.log -**/node_modules -.coverage -coverage -.nyc_output -docs/ -out/ -build/ -system-test/secrets.js -system-test/*key.json -*.lock -.DS_Store -package-lock.json -__pycache__ diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.jsdoc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.jsdoc.js deleted file mode 100644 index 68361d6c419..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.jsdoc.js +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -'use strict'; - -module.exports = { - opts: { - readme: './README.md', - package: './package.json', - template: './node_modules/jsdoc-fresh', - recurse: true, - verbose: true, - destination: './docs/' - }, - plugins: [ - 'plugins/markdown', - 'jsdoc-region-tag' - ], - source: { - excludePattern: '(^|\\/|\\\\)[._]', - include: [ - 'build/src', - 'protos' - ], - includePattern: '\\.js$' - }, - templates: { - copyright: 'Copyright 2022 Google LLC', - includeDate: false, - sourceFiles: false, - systemName: '@google-cloud/datapolicies', - theme: 'lumen', - default: { - outputSourceFiles: false - } - }, - markdown: { - idInHeadings: true - } -}; diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.mocharc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.mocharc.js deleted file mode 100644 index 481c522b00f..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.mocharc.js +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -const config = { - "enable-source-maps": true, - "throw-deprecation": true, - "timeout": 10000 -} -if (process.env.MOCHA_THROW_DEPRECATION === 'false') { - delete config['throw-deprecation']; -} -if (process.env.MOCHA_REPORTER) { - config.reporter = process.env.MOCHA_REPORTER; -} -if (process.env.MOCHA_REPORTER_OUTPUT) { - config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`; -} -module.exports = config diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.prettierrc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.prettierrc.js deleted file mode 100644 index 494e147865d..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.prettierrc.js +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - -module.exports = { - ...require('gts/.prettierrc.json') -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/README.md b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/README.md deleted file mode 100644 index 46950ef3a37..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/README.md +++ /dev/null @@ -1 +0,0 @@ -Datapolicies: Nodejs Client diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/linkinator.config.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/linkinator.config.json deleted file mode 100644 index befd23c8633..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/linkinator.config.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "recurse": true, - "skip": [ - "https://codecov.io/gh/googleapis/", - "www.googleapis.com", - "img.shields.io", - "https://console.cloud.google.com/cloudshell", - "https://support.google.com" - ], - "silent": true, - "concurrency": 5, - "retry": true, - "retryErrors": true, - "retryErrorsCount": 5, - "retryErrorsJitter": 3000 -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/package.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/package.json deleted file mode 100644 index 79e1b6b2a35..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/package.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "name": "@google-cloud/datapolicies", - "version": "0.1.0", - "description": "Datapolicies client for Node.js", - "repository": "googleapis/nodejs-datapolicies", - "license": "Apache-2.0", - "author": "Google LLC", - "main": "build/src/index.js", - "files": [ - "build/src", - "build/protos" - ], - "keywords": [ - "google apis client", - "google api client", - "google apis", - "google api", - "google", - "google cloud platform", - "google cloud", - "cloud", - "google datapolicies", - "datapolicies", - "data policy service" - ], - "scripts": { - "clean": "gts clean", - "compile": "tsc -p . && cp -r protos build/ && minifyProtoJson", - "compile-protos": "compileProtos src", - "docs": "jsdoc -c .jsdoc.js", - "predocs-test": "npm run docs", - "docs-test": "linkinator docs", - "fix": "gts fix", - "lint": "gts check", - "prepare": "npm run compile-protos && npm run compile", - "system-test": "c8 mocha build/system-test", - "test": "c8 mocha build/test" - }, - "dependencies": { - "google-gax": "^3.5.2" - }, - "devDependencies": { - "@types/mocha": "^9.1.1", - "@types/node": "^16.11.62", - "@types/sinon": "^10.0.13", - "c8": "^7.12.0", - "gts": "^3.1.1", - "jsdoc": "^3.6.11", - "jsdoc-fresh": "^2.0.1", - "jsdoc-region-tag": "^2.0.1", - "linkinator": "^4.0.3", - "mocha": "^10.0.0", - "null-loader": "^4.0.1", - "pack-n-play": "^1.0.0-2", - "sinon": "^14.0.0", - "ts-loader": "^8.4.0", - "typescript": "^4.8.3", - "webpack": "^4.46.0", - "webpack-cli": "^4.10.0" - }, - "engines": { - "node": ">=v12" - } -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json deleted file mode 100644 index 9cc2d6c6627..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json +++ /dev/null @@ -1,415 +0,0 @@ -{ - "clientLibrary": { - "name": "nodejs-datapolicies", - "version": "0.1.0", - "language": "TYPESCRIPT", - "apis": [ - { - "id": "google.cloud.bigquery.datapolicies.v1", - "version": "v1" - } - ] - }, - "snippets": [ - { - "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_CreateDataPolicy_async", - "title": "DataPolicyService createDataPolicy Sample", - "origin": "API_DEFINITION", - "description": " Creates a new data policy under a project with the given `dataPolicyId` (used as the display name), policy tag, and data policy type.", - "canonical": true, - "file": "data_policy_service.create_data_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 60, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "CreateDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.CreateDataPolicy", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "data_policy", - "type": ".google.cloud.bigquery.datapolicies.v1.DataPolicy" - } - ], - "resultType": ".google.cloud.bigquery.datapolicies.v1.DataPolicy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" - }, - "method": { - "shortName": "CreateDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.CreateDataPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_UpdateDataPolicy_async", - "title": "DataPolicyService updateDataPolicy Sample", - "origin": "API_DEFINITION", - "description": " Updates the metadata for an existing data policy. The target data policy can be specified by the resource name.", - "canonical": true, - "file": "data_policy_service.update_data_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 63, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "UpdateDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.UpdateDataPolicy", - "async": true, - "parameters": [ - { - "name": "data_policy", - "type": ".google.cloud.bigquery.datapolicies.v1.DataPolicy" - }, - { - "name": "update_mask", - "type": ".google.protobuf.FieldMask" - } - ], - "resultType": ".google.cloud.bigquery.datapolicies.v1.DataPolicy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" - }, - "method": { - "shortName": "UpdateDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.UpdateDataPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_RenameDataPolicy_async", - "title": "DataPolicyService renameDataPolicy Sample", - "origin": "API_DEFINITION", - "description": " Renames the id (display name) of the specified data policy.", - "canonical": true, - "file": "data_policy_service.rename_data_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 59, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "RenameDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.RenameDataPolicy", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - }, - { - "name": "new_data_policy_id", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.bigquery.datapolicies.v1.DataPolicy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" - }, - "method": { - "shortName": "RenameDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.RenameDataPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_DeleteDataPolicy_async", - "title": "DataPolicyService deleteDataPolicy Sample", - "origin": "API_DEFINITION", - "description": " Deletes the data policy specified by its resource name.", - "canonical": true, - "file": "data_policy_service.delete_data_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 54, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "DeleteDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.DeleteDataPolicy", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" - }, - "method": { - "shortName": "DeleteDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.DeleteDataPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_GetDataPolicy_async", - "title": "DataPolicyService getDataPolicy Sample", - "origin": "API_DEFINITION", - "description": " Gets the data policy specified by its resource name.", - "canonical": true, - "file": "data_policy_service.get_data_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 54, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetDataPolicy", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.bigquery.datapolicies.v1.DataPolicy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" - }, - "method": { - "shortName": "GetDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetDataPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_ListDataPolicies_async", - "title": "DataPolicyService listDataPolicies Sample", - "origin": "API_DEFINITION", - "description": " List all of the data policies in the specified parent project.", - "canonical": true, - "file": "data_policy_service.list_data_policies.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 77, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListDataPolicies", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.ListDataPolicies", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - }, - { - "name": "filter", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" - }, - "method": { - "shortName": "ListDataPolicies", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.ListDataPolicies", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_GetIamPolicy_async", - "title": "DataPolicyService getIamPolicy Sample", - "origin": "API_DEFINITION", - "description": " Gets the IAM policy for the specified data policy.", - "canonical": true, - "file": "data_policy_service.get_iam_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 59, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetIamPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetIamPolicy", - "async": true, - "parameters": [ - { - "name": "resource", - "type": "TYPE_STRING" - }, - { - "name": "options", - "type": ".google.iam.v1.GetPolicyOptions" - } - ], - "resultType": ".google.iam.v1.Policy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" - }, - "method": { - "shortName": "GetIamPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetIamPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_SetIamPolicy_async", - "title": "DataPolicyService setIamPolicy Sample", - "origin": "API_DEFINITION", - "description": " Sets the IAM policy for the specified data policy.", - "canonical": true, - "file": "data_policy_service.set_iam_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 69, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "SetIamPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.SetIamPolicy", - "async": true, - "parameters": [ - { - "name": "resource", - "type": "TYPE_STRING" - }, - { - "name": "policy", - "type": ".google.iam.v1.Policy" - }, - { - "name": "update_mask", - "type": ".google.protobuf.FieldMask" - } - ], - "resultType": ".google.iam.v1.Policy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" - }, - "method": { - "shortName": "SetIamPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.SetIamPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_TestIamPermissions_async", - "title": "DataPolicyService testIamPermissions Sample", - "origin": "API_DEFINITION", - "description": " Returns the caller's permission on the specified data policy resource.", - "canonical": true, - "file": "data_policy_service.test_iam_permissions.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 62, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "TestIamPermissions", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.TestIamPermissions", - "async": true, - "parameters": [ - { - "name": "resource", - "type": "TYPE_STRING" - }, - { - "name": "permissions", - "type": "TYPE_STRING[]" - } - ], - "resultType": ".google.iam.v1.TestIamPermissionsResponse", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" - }, - "method": { - "shortName": "TestIamPermissions", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.TestIamPermissions", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" - } - } - } - } - ] -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/index.ts deleted file mode 100644 index 6916fa3a44f..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import * as v1 from './v1'; -const DataPolicyServiceClient = v1.DataPolicyServiceClient; -type DataPolicyServiceClient = v1.DataPolicyServiceClient; -export {v1, DataPolicyServiceClient}; -export default {v1, DataPolicyServiceClient}; -import * as protos from '../protos/protos'; -export {protos} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client.ts deleted file mode 100644 index 34ca0e62ad8..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client.ts +++ /dev/null @@ -1,1264 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -/* global window */ -import type * as gax from 'google-gax'; -import type {Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback, GaxCall} from 'google-gax'; -import {Transform} from 'stream'; -import * as protos from '../../protos/protos'; -import jsonProtos = require('../../protos/protos.json'); -/** - * Client JSON configuration object, loaded from - * `src/v1/data_policy_service_client_config.json`. - * This file defines retry strategy and timeouts for all API methods in this library. - */ -import * as gapicConfig from './data_policy_service_client_config.json'; -const version = require('../../../package.json').version; - -/** - * Data Policy Service provides APIs for managing the label-policy bindings. - * @class - * @memberof v1 - */ -export class DataPolicyServiceClient { - private _terminated = false; - private _opts: ClientOptions; - private _providedCustomServicePath: boolean; - private _gaxModule: typeof gax | typeof gax.fallback; - private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; - private _protos: {}; - private _defaults: {[method: string]: gax.CallSettings}; - auth: gax.GoogleAuth; - descriptors: Descriptors = { - page: {}, - stream: {}, - longrunning: {}, - batching: {}, - }; - warn: (code: string, message: string, warnType?: string) => void; - innerApiCalls: {[name: string]: Function}; - pathTemplates: {[name: string]: gax.PathTemplate}; - dataPolicyServiceStub?: Promise<{[name: string]: Function}>; - - /** - * Construct an instance of DataPolicyServiceClient. - * - * @param {object} [options] - The configuration object. - * The options accepted by the constructor are described in detail - * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). - * The common options are: - * @param {object} [options.credentials] - Credentials object. - * @param {string} [options.credentials.client_email] - * @param {string} [options.credentials.private_key] - * @param {string} [options.email] - Account email address. Required when - * using a .pem or .p12 keyFilename. - * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or - * .p12 key downloaded from the Google Developers Console. If you provide - * a path to a JSON file, the projectId option below is not necessary. - * NOTE: .pem and .p12 require you to specify options.email as well. - * @param {number} [options.port] - The port on which to connect to - * the remote host. - * @param {string} [options.projectId] - The project ID from the Google - * Developer's Console, e.g. 'grape-spaceship-123'. We will also check - * the environment variable GCLOUD_PROJECT for your project ID. If your - * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, - * your project ID will be detected automatically. - * @param {string} [options.apiEndpoint] - The domain name of the - * API remote host. - * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. - * Follows the structure of {@link gapicConfig}. - * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. - * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. - * For more information, please check the - * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. - * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you - * need to avoid loading the default gRPC version and want to use the fallback - * HTTP implementation. Load only fallback version and pass it to the constructor: - * ``` - * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC - * const client = new DataPolicyServiceClient({fallback: 'rest'}, gax); - * ``` - */ - constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { - // Ensure that options include all the required fields. - const staticMembers = this.constructor as typeof DataPolicyServiceClient; - const servicePath = opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; - this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); - const port = opts?.port || staticMembers.port; - const clientConfig = opts?.clientConfig ?? {}; - const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function'); - opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); - - // Request numeric enum values if REST transport is used. - opts.numericEnums = true; - - // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. - if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { - opts['scopes'] = staticMembers.scopes; - } - - // Load google-gax module synchronously if needed - if (!gaxInstance) { - gaxInstance = require('google-gax') as typeof gax; - } - - // Choose either gRPC or proto-over-HTTP implementation of google-gax. - this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; - - // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. - this._gaxGrpc = new this._gaxModule.GrpcClient(opts); - - // Save options to use in initialize() method. - this._opts = opts; - - // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); - - // Set useJWTAccessWithScope on the auth object. - this.auth.useJWTAccessWithScope = true; - - // Set defaultServicePath on the auth object. - this.auth.defaultServicePath = staticMembers.servicePath; - - // Set the default scopes in auth client if needed. - if (servicePath === staticMembers.servicePath) { - this.auth.defaultScopes = staticMembers.scopes; - } - - // Determine the client header string. - const clientHeader = [ - `gax/${this._gaxModule.version}`, - `gapic/${version}`, - ]; - if (typeof process !== 'undefined' && 'versions' in process) { - clientHeader.push(`gl-node/${process.versions.node}`); - } else { - clientHeader.push(`gl-web/${this._gaxModule.version}`); - } - if (!opts.fallback) { - clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); - } else if (opts.fallback === 'rest' ) { - clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); - } - if (opts.libName && opts.libVersion) { - clientHeader.push(`${opts.libName}/${opts.libVersion}`); - } - // Load the applicable protos. - this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); - - // This API contains "path templates"; forward-slash-separated - // identifiers to uniquely identify resources within the API. - // Create useful helper objects for these. - this.pathTemplates = { - dataPolicyPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/dataPolicies/{data_policy}' - ), - locationPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}' - ), - projectPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}' - ), - }; - - // Some of the methods on this service return "paged" results, - // (e.g. 50 results at a time, with tokens to get subsequent - // pages). Denote the keys used for pagination and results. - this.descriptors.page = { - listDataPolicies: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'dataPolicies') - }; - - // Put together the default options sent with requests. - this._defaults = this._gaxGrpc.constructSettings( - 'google.cloud.bigquery.datapolicies.v1.DataPolicyService', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); - - // Set up a dictionary of "inner API calls"; the core implementation - // of calling the API is handled in `google-gax`, with this code - // merely providing the destination and request information. - this.innerApiCalls = {}; - - // Add a warn function to the client constructor so it can be easily tested. - this.warn = this._gaxModule.warn; - } - - /** - * Initialize the client. - * Performs asynchronous operations (such as authentication) and prepares the client. - * This function will be called automatically when any class method is called for the - * first time, but if you need to initialize it before calling an actual method, - * feel free to call initialize() directly. - * - * You can await on this method if you want to make sure the client is initialized. - * - * @returns {Promise} A promise that resolves to an authenticated service stub. - */ - initialize() { - // If the client stub promise is already initialized, return immediately. - if (this.dataPolicyServiceStub) { - return this.dataPolicyServiceStub; - } - - // Put together the "service stub" for - // google.cloud.bigquery.datapolicies.v1.DataPolicyService. - this.dataPolicyServiceStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.cloud.bigquery.datapolicies.v1.DataPolicyService') : - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (this._protos as any).google.cloud.bigquery.datapolicies.v1.DataPolicyService, - this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; - - // Iterate over each of the methods that the service provides - // and create an API call method for each. - const dataPolicyServiceStubMethods = - ['createDataPolicy', 'updateDataPolicy', 'renameDataPolicy', 'deleteDataPolicy', 'getDataPolicy', 'listDataPolicies', 'getIamPolicy', 'setIamPolicy', 'testIamPermissions']; - for (const methodName of dataPolicyServiceStubMethods) { - const callPromise = this.dataPolicyServiceStub.then( - stub => (...args: Array<{}>) => { - if (this._terminated) { - return Promise.reject('The client has already been closed.'); - } - const func = stub[methodName]; - return func.apply(stub, args); - }, - (err: Error|null|undefined) => () => { - throw err; - }); - - const descriptor = - this.descriptors.page[methodName] || - undefined; - const apiCall = this._gaxModule.createApiCall( - callPromise, - this._defaults[methodName], - descriptor, - this._opts.fallback - ); - - this.innerApiCalls[methodName] = apiCall; - } - - return this.dataPolicyServiceStub; - } - - /** - * The DNS address for this API service. - * @returns {string} The DNS address for this service. - */ - static get servicePath() { - return 'bigquerydatapolicy.googleapis.com'; - } - - /** - * The DNS address for this API service - same as servicePath(), - * exists for compatibility reasons. - * @returns {string} The DNS address for this service. - */ - static get apiEndpoint() { - return 'bigquerydatapolicy.googleapis.com'; - } - - /** - * The port for this API service. - * @returns {number} The default port for this service. - */ - static get port() { - return 443; - } - - /** - * The scopes needed to make gRPC calls for every method defined - * in this service. - * @returns {string[]} List of default scopes. - */ - static get scopes() { - return [ - 'https://www.googleapis.com/auth/bigquery', - 'https://www.googleapis.com/auth/cloud-platform' - ]; - } - - getProjectId(): Promise; - getProjectId(callback: Callback): void; - /** - * Return the project ID used by this class. - * @returns {Promise} A promise that resolves to string containing the project ID. - */ - getProjectId(callback?: Callback): - Promise|void { - if (callback) { - this.auth.getProjectId(callback); - return; - } - return this.auth.getProjectId(); - } - - // ------------------- - // -- Service calls -- - // ------------------- -/** - * Creates a new data policy under a project with the given `dataPolicyId` - * (used as the display name), policy tag, and data policy type. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the project that the data policy will belong to. The - * format is `projects/{project_number}/locations/{location_id}`. - * @param {google.cloud.bigquery.datapolicies.v1.DataPolicy} request.dataPolicy - * Required. The data policy to create. The `name` field does not need to be - * provided for the data policy creation. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/data_policy_service.create_data_policy.js - * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_CreateDataPolicy_async - */ - createDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|undefined, {}|undefined - ]>; - createDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - createDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - createDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); - this.initialize(); - return this.innerApiCalls.createDataPolicy(request, options, callback); - } -/** - * Updates the metadata for an existing data policy. The target data policy - * can be specified by the resource name. - * - * @param {Object} request - * The request object that will be sent. - * @param {google.cloud.bigquery.datapolicies.v1.DataPolicy} request.dataPolicy - * Required. Update the data policy's metadata. - * - * The target data policy is determined by the `name` field. - * Other fields are updated to the specified values based on the field masks. - * @param {google.protobuf.FieldMask} request.updateMask - * The update mask applies to the resource. For the `FieldMask` definition, - * see - * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask - * If not set, defaults to all of the fields that are allowed to update. - * - * Updates to the `name` and `dataPolicyId` fields are not allowed. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/data_policy_service.update_data_policy.js - * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_UpdateDataPolicy_async - */ - updateDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|undefined, {}|undefined - ]>; - updateDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - updateDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - updateDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'data_policy.name': request.dataPolicy!.name ?? '', - }); - this.initialize(); - return this.innerApiCalls.updateDataPolicy(request, options, callback); - } -/** - * Renames the id (display name) of the specified data policy. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the data policy to rename. The format is - * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}` - * @param {string} request.newDataPolicyId - * Required. The new data policy id. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/data_policy_service.rename_data_policy.js - * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_RenameDataPolicy_async - */ - renameDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|undefined, {}|undefined - ]>; - renameDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - renameDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - renameDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', - }); - this.initialize(); - return this.innerApiCalls.renameDataPolicy(request, options, callback); - } -/** - * Deletes the data policy specified by its resource name. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the data policy to delete. Format is - * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/data_policy_service.delete_data_policy.js - * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_DeleteDataPolicy_async - */ - deleteDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|undefined, {}|undefined - ]>; - deleteDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - deleteDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - deleteDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', - }); - this.initialize(); - return this.innerApiCalls.deleteDataPolicy(request, options, callback); - } -/** - * Gets the data policy specified by its resource name. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the requested data policy. Format is - * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/data_policy_service.get_data_policy.js - * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_GetDataPolicy_async - */ - getDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|undefined, {}|undefined - ]>; - getDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - getDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - getDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', - }); - this.initialize(); - return this.innerApiCalls.getDataPolicy(request, options, callback); - } -/** - * Gets the IAM policy for the specified data policy. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.resource - * REQUIRED: The resource for which the policy is being requested. - * See the operation documentation for the appropriate value for this field. - * @param {google.iam.v1.GetPolicyOptions} request.options - * OPTIONAL: A `GetPolicyOptions` object for specifying options to - * `GetIamPolicy`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Policy]{@link google.iam.v1.Policy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/data_policy_service.get_iam_policy.js - * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_GetIamPolicy_async - */ - getIamPolicy( - request?: protos.google.iam.v1.IGetIamPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|undefined, {}|undefined - ]>; - getIamPolicy( - request: protos.google.iam.v1.IGetIamPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; - getIamPolicy( - request: protos.google.iam.v1.IGetIamPolicyRequest, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; - getIamPolicy( - request?: protos.google.iam.v1.IGetIamPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'resource': request.resource ?? '', - }); - this.initialize(); - return this.innerApiCalls.getIamPolicy(request, options, callback); - } -/** - * Sets the IAM policy for the specified data policy. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.resource - * REQUIRED: The resource for which the policy is being specified. - * See the operation documentation for the appropriate value for this field. - * @param {google.iam.v1.Policy} request.policy - * REQUIRED: The complete policy to be applied to the `resource`. The size of - * the policy is limited to a few 10s of KB. An empty policy is a - * valid policy but certain Cloud Platform services (such as Projects) - * might reject them. - * @param {google.protobuf.FieldMask} request.updateMask - * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only - * the fields in the mask will be modified. If no mask is provided, the - * following default mask is used: - * - * `paths: "bindings, etag"` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Policy]{@link google.iam.v1.Policy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/data_policy_service.set_iam_policy.js - * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_SetIamPolicy_async - */ - setIamPolicy( - request?: protos.google.iam.v1.ISetIamPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|undefined, {}|undefined - ]>; - setIamPolicy( - request: protos.google.iam.v1.ISetIamPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; - setIamPolicy( - request: protos.google.iam.v1.ISetIamPolicyRequest, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; - setIamPolicy( - request?: protos.google.iam.v1.ISetIamPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'resource': request.resource ?? '', - }); - this.initialize(); - return this.innerApiCalls.setIamPolicy(request, options, callback); - } -/** - * Returns the caller's permission on the specified data policy resource. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.resource - * REQUIRED: The resource for which the policy detail is being requested. - * See the operation documentation for the appropriate value for this field. - * @param {string[]} request.permissions - * The set of permissions to check for the `resource`. Permissions with - * wildcards (such as '*' or 'storage.*') are not allowed. For more - * information see - * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [TestIamPermissionsResponse]{@link google.iam.v1.TestIamPermissionsResponse}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/data_policy_service.test_iam_permissions.js - * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_TestIamPermissions_async - */ - testIamPermissions( - request?: protos.google.iam.v1.ITestIamPermissionsRequest, - options?: CallOptions): - Promise<[ - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|undefined, {}|undefined - ]>; - testIamPermissions( - request: protos.google.iam.v1.ITestIamPermissionsRequest, - options: CallOptions, - callback: Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>): void; - testIamPermissions( - request: protos.google.iam.v1.ITestIamPermissionsRequest, - callback: Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>): void; - testIamPermissions( - request?: protos.google.iam.v1.ITestIamPermissionsRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'resource': request.resource ?? '', - }); - this.initialize(); - return this.innerApiCalls.testIamPermissions(request, options, callback); - } - - /** - * List all of the data policies in the specified parent project. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the project for which to list data policies. Format is - * `projects/{project_number}/locations/{location_id}`. - * @param {number} request.pageSize - * The maximum number of data policies to return. Must be a value between 1 - * and 1000. - * If not set, defaults to 50. - * @param {string} request.pageToken - * The `nextPageToken` value returned from a previous list request, if any. If - * not set, defaults to an empty string. - * @param {string} request.filter - * Filters the data policies by policy tags that they - * are associated with. Currently filter only supports - * "policy_tag" based filtering and OR based predicates. Sample - * filter can be "policy_tag: - * 'projects/1/locations/us/taxonomies/2/policyTags/3'". You may use wildcard - * such as "policy_tag: - * 'projects/1/locations/us/taxonomies/2/*'". - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed and will merge results from all the pages into this array. - * Note that it can affect your quota. - * We recommend using `listDataPoliciesAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) - * for more details and examples. - */ - listDataPolicies( - request?: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[], - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest|null, - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse - ]>; - listDataPolicies( - request: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse|null|undefined, - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy>): void; - listDataPolicies( - request: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, - callback: PaginationCallback< - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse|null|undefined, - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy>): void; - listDataPolicies( - request?: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, - optionsOrCallback?: CallOptions|PaginationCallback< - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse|null|undefined, - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy>, - callback?: PaginationCallback< - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse|null|undefined, - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy>): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[], - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest|null, - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); - this.initialize(); - return this.innerApiCalls.listDataPolicies(request, options, callback); - } - -/** - * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the project for which to list data policies. Format is - * `projects/{project_number}/locations/{location_id}`. - * @param {number} request.pageSize - * The maximum number of data policies to return. Must be a value between 1 - * and 1000. - * If not set, defaults to 50. - * @param {string} request.pageToken - * The `nextPageToken` value returned from a previous list request, if any. If - * not set, defaults to an empty string. - * @param {string} request.filter - * Filters the data policies by policy tags that they - * are associated with. Currently filter only supports - * "policy_tag" based filtering and OR based predicates. Sample - * filter can be "policy_tag: - * 'projects/1/locations/us/taxonomies/2/policyTags/3'". You may use wildcard - * such as "policy_tag: - * 'projects/1/locations/us/taxonomies/2/*'". - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Stream} - * An object stream which emits an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy} on 'data' event. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed. Note that it can affect your quota. - * We recommend using `listDataPoliciesAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) - * for more details and examples. - */ - listDataPoliciesStream( - request?: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, - options?: CallOptions): - Transform{ - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); - const defaultCallSettings = this._defaults['listDataPolicies']; - const callSettings = defaultCallSettings.merge(options); - this.initialize(); - return this.descriptors.page.listDataPolicies.createStream( - this.innerApiCalls.listDataPolicies as GaxCall, - request, - callSettings - ); - } - -/** - * Equivalent to `listDataPolicies`, but returns an iterable object. - * - * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the project for which to list data policies. Format is - * `projects/{project_number}/locations/{location_id}`. - * @param {number} request.pageSize - * The maximum number of data policies to return. Must be a value between 1 - * and 1000. - * If not set, defaults to 50. - * @param {string} request.pageToken - * The `nextPageToken` value returned from a previous list request, if any. If - * not set, defaults to an empty string. - * @param {string} request.filter - * Filters the data policies by policy tags that they - * are associated with. Currently filter only supports - * "policy_tag" based filtering and OR based predicates. Sample - * filter can be "policy_tag: - * 'projects/1/locations/us/taxonomies/2/policyTags/3'". You may use wildcard - * such as "policy_tag: - * 'projects/1/locations/us/taxonomies/2/*'". - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Object} - * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). - * When you iterate the returned iterable, each element will be an object representing - * [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. The API will be called under the hood as needed, once per the page, - * so you can stop the iteration when you don't need more results. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) - * for more details and examples. - * @example include:samples/generated/v1/data_policy_service.list_data_policies.js - * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_ListDataPolicies_async - */ - listDataPoliciesAsync( - request?: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, - options?: CallOptions): - AsyncIterable{ - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); - const defaultCallSettings = this._defaults['listDataPolicies']; - const callSettings = defaultCallSettings.merge(options); - this.initialize(); - return this.descriptors.page.listDataPolicies.asyncIterate( - this.innerApiCalls['listDataPolicies'] as GaxCall, - request as {}, - callSettings - ) as AsyncIterable; - } - // -------------------- - // -- Path templates -- - // -------------------- - - /** - * Return a fully-qualified dataPolicy resource name string. - * - * @param {string} project - * @param {string} location - * @param {string} data_policy - * @returns {string} Resource name string. - */ - dataPolicyPath(project:string,location:string,dataPolicy:string) { - return this.pathTemplates.dataPolicyPathTemplate.render({ - project: project, - location: location, - data_policy: dataPolicy, - }); - } - - /** - * Parse the project from DataPolicy resource. - * - * @param {string} dataPolicyName - * A fully-qualified path representing DataPolicy resource. - * @returns {string} A string representing the project. - */ - matchProjectFromDataPolicyName(dataPolicyName: string) { - return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).project; - } - - /** - * Parse the location from DataPolicy resource. - * - * @param {string} dataPolicyName - * A fully-qualified path representing DataPolicy resource. - * @returns {string} A string representing the location. - */ - matchLocationFromDataPolicyName(dataPolicyName: string) { - return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).location; - } - - /** - * Parse the data_policy from DataPolicy resource. - * - * @param {string} dataPolicyName - * A fully-qualified path representing DataPolicy resource. - * @returns {string} A string representing the data_policy. - */ - matchDataPolicyFromDataPolicyName(dataPolicyName: string) { - return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).data_policy; - } - - /** - * Return a fully-qualified location resource name string. - * - * @param {string} project - * @param {string} location - * @returns {string} Resource name string. - */ - locationPath(project:string,location:string) { - return this.pathTemplates.locationPathTemplate.render({ - project: project, - location: location, - }); - } - - /** - * Parse the project from Location resource. - * - * @param {string} locationName - * A fully-qualified path representing Location resource. - * @returns {string} A string representing the project. - */ - matchProjectFromLocationName(locationName: string) { - return this.pathTemplates.locationPathTemplate.match(locationName).project; - } - - /** - * Parse the location from Location resource. - * - * @param {string} locationName - * A fully-qualified path representing Location resource. - * @returns {string} A string representing the location. - */ - matchLocationFromLocationName(locationName: string) { - return this.pathTemplates.locationPathTemplate.match(locationName).location; - } - - /** - * Return a fully-qualified project resource name string. - * - * @param {string} project - * @returns {string} Resource name string. - */ - projectPath(project:string) { - return this.pathTemplates.projectPathTemplate.render({ - project: project, - }); - } - - /** - * Parse the project from Project resource. - * - * @param {string} projectName - * A fully-qualified path representing Project resource. - * @returns {string} A string representing the project. - */ - matchProjectFromProjectName(projectName: string) { - return this.pathTemplates.projectPathTemplate.match(projectName).project; - } - - /** - * Terminate the gRPC channel and close the client. - * - * The client will no longer be usable and all future behavior is undefined. - * @returns {Promise} A promise that resolves when the client is closed. - */ - close(): Promise { - if (this.dataPolicyServiceStub && !this._terminated) { - return this.dataPolicyServiceStub.then(stub => { - this._terminated = true; - stub.close(); - }); - } - return Promise.resolve(); - } -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.js deleted file mode 100644 index c64d8408835..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.js +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - -/* eslint-disable node/no-missing-require, no-unused-vars */ -const datapolicies = require('@google-cloud/datapolicies'); - -function main() { - const dataPolicyServiceClient = new datapolicies.DataPolicyServiceClient(); -} - -main(); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.ts deleted file mode 100644 index 7222450a15f..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.ts +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import {DataPolicyServiceClient} from '@google-cloud/datapolicies'; - -// check that the client class type name can be used -function doStuffWithDataPolicyServiceClient(client: DataPolicyServiceClient) { - client.close(); -} - -function main() { - // check that the client instance can be created - const dataPolicyServiceClient = new DataPolicyServiceClient(); - doStuffWithDataPolicyServiceClient(dataPolicyServiceClient); -} - -main(); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/install.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/install.ts deleted file mode 100644 index 557a57558e1..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/install.ts +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import {packNTest} from 'pack-n-play'; -import {readFileSync} from 'fs'; -import {describe, it} from 'mocha'; - -describe('📦 pack-n-play test', () => { - - it('TypeScript code', async function() { - this.timeout(300000); - const options = { - packageDir: process.cwd(), - sample: { - description: 'TypeScript user can use the type definitions', - ts: readFileSync('./system-test/fixtures/sample/src/index.ts').toString() - } - }; - await packNTest(options); - }); - - it('JavaScript code', async function() { - this.timeout(300000); - const options = { - packageDir: process.cwd(), - sample: { - description: 'JavaScript user can use the library', - ts: readFileSync('./system-test/fixtures/sample/src/index.js').toString() - } - }; - await packNTest(options); - }); - -}); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/test/gapic_data_policy_service_v1.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/test/gapic_data_policy_service_v1.ts deleted file mode 100644 index 6e91dbb6628..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/test/gapic_data_policy_service_v1.ts +++ /dev/null @@ -1,1427 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import * as protos from '../protos/protos'; -import * as assert from 'assert'; -import * as sinon from 'sinon'; -import {SinonStub} from 'sinon'; -import {describe, it} from 'mocha'; -import * as datapolicyserviceModule from '../src'; - -import {PassThrough} from 'stream'; - -import {protobuf} from 'google-gax'; - -// Dynamically loaded proto JSON is needed to get the type information -// to fill in default values for request objects -const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll(); - -// eslint-disable-next-line @typescript-eslint/no-unused-vars -function getTypeDefaultValue(typeName: string, fields: string[]) { - let type = root.lookupType(typeName) as protobuf.Type; - for (const field of fields.slice(0, -1)) { - type = type.fields[field]?.resolvedType as protobuf.Type; - } - return type.fields[fields[fields.length - 1]]?.defaultValue; -} - -function generateSampleMessage(instance: T) { - const filledObject = (instance.constructor as typeof protobuf.Message) - .toObject(instance as protobuf.Message, {defaults: true}); - return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T; -} - -function stubSimpleCall(response?: ResponseType, error?: Error) { - return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]); -} - -function stubSimpleCallWithCallback(response?: ResponseType, error?: Error) { - return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response); -} - -function stubPageStreamingCall(responses?: ResponseType[], error?: Error) { - const pagingStub = sinon.stub(); - if (responses) { - for (let i = 0; i < responses.length; ++i) { - pagingStub.onCall(i).callsArgWith(2, null, responses[i]); - } - } - const transformStub = error ? sinon.stub().callsArgWith(2, error) : pagingStub; - const mockStream = new PassThrough({ - objectMode: true, - transform: transformStub, - }); - // trigger as many responses as needed - if (responses) { - for (let i = 0; i < responses.length; ++i) { - setImmediate(() => { mockStream.write({}); }); - } - setImmediate(() => { mockStream.end(); }); - } else { - setImmediate(() => { mockStream.write({}); }); - setImmediate(() => { mockStream.end(); }); - } - return sinon.stub().returns(mockStream); -} - -function stubAsyncIterationCall(responses?: ResponseType[], error?: Error) { - let counter = 0; - const asyncIterable = { - [Symbol.asyncIterator]() { - return { - async next() { - if (error) { - return Promise.reject(error); - } - if (counter >= responses!.length) { - return Promise.resolve({done: true, value: undefined}); - } - return Promise.resolve({done: false, value: responses![counter++]}); - } - }; - } - }; - return sinon.stub().returns(asyncIterable); -} - -describe('v1.DataPolicyServiceClient', () => { - describe('Common methods', () => { - it('has servicePath', () => { - const servicePath = datapolicyserviceModule.v1.DataPolicyServiceClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = datapolicyserviceModule.v1.DataPolicyServiceClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = datapolicyserviceModule.v1.DataPolicyServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no option', () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - fallback: true, - }); - assert(client); - }); - - it('has initialize method and supports deferred initialization', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.dataPolicyServiceStub, undefined); - await client.initialize(); - assert(client.dataPolicyServiceStub); - }); - - it('has close method for the initialized client', done => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - assert(client.dataPolicyServiceStub); - client.close().then(() => { - done(); - }); - }); - - it('has close method for the non-initialized client', done => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.dataPolicyServiceStub, undefined); - client.close().then(() => { - done(); - }); - }); - - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); - }); - - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error|null, projectId?: string|null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } - }); - }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); - }); - }); - - describe('createDataPolicy', () => { - it('invokes createDataPolicy without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() - ); - client.innerApiCalls.createDataPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.createDataPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createDataPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() - ); - client.innerApiCalls.createDataPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.createDataPolicy( - request, - (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createDataPolicy with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.createDataPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.createDataPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createDataPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest', ['parent']); - request.parent = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.createDataPolicy(request), expectedError); - }); - }); - - describe('updateDataPolicy', () => { - it('invokes updateDataPolicy without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest() - ); - request.dataPolicy ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); - request.dataPolicy.name = defaultValue1; - const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() - ); - client.innerApiCalls.updateDataPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.updateDataPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateDataPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest() - ); - request.dataPolicy ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); - request.dataPolicy.name = defaultValue1; - const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() - ); - client.innerApiCalls.updateDataPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.updateDataPolicy( - request, - (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateDataPolicy with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest() - ); - request.dataPolicy ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); - request.dataPolicy.name = defaultValue1; - const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateDataPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.updateDataPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateDataPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest() - ); - request.dataPolicy ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); - request.dataPolicy.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.updateDataPolicy(request), expectedError); - }); - }); - - describe('renameDataPolicy', () => { - it('invokes renameDataPolicy without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() - ); - client.innerApiCalls.renameDataPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.renameDataPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.renameDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.renameDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes renameDataPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() - ); - client.innerApiCalls.renameDataPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.renameDataPolicy( - request, - (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.renameDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.renameDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes renameDataPolicy with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.renameDataPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.renameDataPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.renameDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.renameDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes renameDataPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.renameDataPolicy(request), expectedError); - }); - }); - - describe('deleteDataPolicy', () => { - it('invokes deleteDataPolicy without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteDataPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.deleteDataPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteDataPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteDataPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteDataPolicy( - request, - (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteDataPolicy with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteDataPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.deleteDataPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteDataPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.deleteDataPolicy(request), expectedError); - }); - }); - - describe('getDataPolicy', () => { - it('invokes getDataPolicy without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() - ); - client.innerApiCalls.getDataPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.getDataPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getDataPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() - ); - client.innerApiCalls.getDataPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getDataPolicy( - request, - (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getDataPolicy with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.getDataPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getDataPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getDataPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.getDataPolicy(request), expectedError); - }); - }); - - describe('getIamPolicy', () => { - it('invokes getIamPolicy without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.getIamPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.getIamPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getIamPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.getIamPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getIamPolicy( - request, - (err?: Error|null, result?: protos.google.iam.v1.IPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getIamPolicy with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.getIamPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getIamPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getIamPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.getIamPolicy(request), expectedError); - }); - }); - - describe('setIamPolicy', () => { - it('invokes setIamPolicy without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.setIamPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.setIamPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes setIamPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.setIamPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.setIamPolicy( - request, - (err?: Error|null, result?: protos.google.iam.v1.IPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes setIamPolicy with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.setIamPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.setIamPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes setIamPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.setIamPolicy(request), expectedError); - }); - }); - - describe('testIamPermissions', () => { - it('invokes testIamPermissions without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsResponse() - ); - client.innerApiCalls.testIamPermissions = stubSimpleCall(expectedResponse); - const [response] = await client.testIamPermissions(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes testIamPermissions without error using callback', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsResponse() - ); - client.innerApiCalls.testIamPermissions = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.testIamPermissions( - request, - (err?: Error|null, result?: protos.google.iam.v1.ITestIamPermissionsResponse|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes testIamPermissions with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.testIamPermissions = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.testIamPermissions(request), expectedError); - const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes testIamPermissions with closed client', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.testIamPermissions(request), expectedError); - }); - }); - - describe('listDataPolicies', () => { - it('invokes listDataPolicies without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - ]; - client.innerApiCalls.listDataPolicies = stubSimpleCall(expectedResponse); - const [response] = await client.listDataPolicies(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listDataPolicies without error using callback', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - ]; - client.innerApiCalls.listDataPolicies = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listDataPolicies( - request, - (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listDataPolicies with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.listDataPolicies = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listDataPolicies(request), expectedError); - const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listDataPoliciesStream without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - ]; - client.descriptors.page.listDataPolicies.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listDataPoliciesStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.bigquery.datapolicies.v1.DataPolicy[] = []; - stream.on('data', (response: protos.google.cloud.bigquery.datapolicies.v1.DataPolicy) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - const responses = await promise; - assert.deepStrictEqual(responses, expectedResponse); - assert((client.descriptors.page.listDataPolicies.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listDataPolicies, request)); - assert( - (client.descriptors.page.listDataPolicies.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('invokes listDataPoliciesStream with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.descriptors.page.listDataPolicies.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listDataPoliciesStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.bigquery.datapolicies.v1.DataPolicy[] = []; - stream.on('data', (response: protos.google.cloud.bigquery.datapolicies.v1.DataPolicy) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listDataPolicies.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listDataPolicies, request)); - assert( - (client.descriptors.page.listDataPolicies.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listDataPolicies without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - ]; - client.descriptors.page.listDataPolicies.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[] = []; - const iterable = client.listDataPoliciesAsync(request); - for await (const resource of iterable) { - responses.push(resource!); - } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listDataPolicies with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.descriptors.page.listDataPolicies.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listDataPoliciesAsync(request); - await assert.rejects(async () => { - const responses: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - }); - - describe('Path templates', () => { - - describe('dataPolicy', () => { - const fakePath = "/rendered/path/dataPolicy"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - data_policy: "dataPolicyValue", - }; - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.dataPolicyPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.dataPolicyPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('dataPolicyPath', () => { - const result = client.dataPolicyPath("projectValue", "locationValue", "dataPolicyValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.dataPolicyPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromDataPolicyName', () => { - const result = client.matchProjectFromDataPolicyName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromDataPolicyName', () => { - const result = client.matchLocationFromDataPolicyName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchDataPolicyFromDataPolicyName', () => { - const result = client.matchDataPolicyFromDataPolicyName(fakePath); - assert.strictEqual(result, "dataPolicyValue"); - assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('location', () => { - const fakePath = "/rendered/path/location"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - }; - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.locationPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.locationPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('locationPath', () => { - const result = client.locationPath("projectValue", "locationValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.locationPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromLocationName', () => { - const result = client.matchProjectFromLocationName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.locationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromLocationName', () => { - const result = client.matchLocationFromLocationName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.locationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('project', () => { - const fakePath = "/rendered/path/project"; - const expectedParameters = { - project: "projectValue", - }; - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.projectPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.projectPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('projectPath', () => { - const result = client.projectPath("projectValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.projectPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromProjectName', () => { - const result = client.matchProjectFromProjectName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.projectPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - }); -}); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/tsconfig.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/tsconfig.json deleted file mode 100644 index c78f1c884ef..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": "./node_modules/gts/tsconfig-google.json", - "compilerOptions": { - "rootDir": ".", - "outDir": "build", - "resolveJsonModule": true, - "lib": [ - "es2018", - "dom" - ] - }, - "include": [ - "src/*.ts", - "src/**/*.ts", - "test/*.ts", - "test/**/*.ts", - "system-test/*.ts" - ] -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/webpack.config.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/webpack.config.js deleted file mode 100644 index 032cd610597..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/webpack.config.js +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -const path = require('path'); - -module.exports = { - entry: './src/index.ts', - output: { - library: 'DataPolicyService', - filename: './data-policy-service.js', - }, - node: { - child_process: 'empty', - fs: 'empty', - crypto: 'empty', - }, - resolve: { - alias: { - '../../../package.json': path.resolve(__dirname, 'package.json'), - }, - extensions: ['.js', '.json', '.ts'], - }, - module: { - rules: [ - { - test: /\.tsx?$/, - use: 'ts-loader', - exclude: /node_modules/ - }, - { - test: /node_modules[\\/]@grpc[\\/]grpc-js/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]grpc/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]retry-request/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]https?-proxy-agent/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]gtoken/, - use: 'null-loader' - }, - ], - }, - mode: 'production', -}; diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintignore b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintignore deleted file mode 100644 index cfc348ec4d1..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintignore +++ /dev/null @@ -1,7 +0,0 @@ -**/node_modules -**/.coverage -build/ -docs/ -protos/ -system-test/ -samples/generated/ diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintrc.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintrc.json deleted file mode 100644 index 78215349546..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "./node_modules/gts" -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.gitignore b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.gitignore deleted file mode 100644 index 5d32b23782f..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -**/*.log -**/node_modules -.coverage -coverage -.nyc_output -docs/ -out/ -build/ -system-test/secrets.js -system-test/*key.json -*.lock -.DS_Store -package-lock.json -__pycache__ diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.jsdoc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.jsdoc.js deleted file mode 100644 index ae9e5b7afcd..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.jsdoc.js +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -'use strict'; - -module.exports = { - opts: { - readme: './README.md', - package: './package.json', - template: './node_modules/jsdoc-fresh', - recurse: true, - verbose: true, - destination: './docs/' - }, - plugins: [ - 'plugins/markdown', - 'jsdoc-region-tag' - ], - source: { - excludePattern: '(^|\\/|\\\\)[._]', - include: [ - 'build/src', - 'protos' - ], - includePattern: '\\.js$' - }, - templates: { - copyright: 'Copyright 2022 Google LLC', - includeDate: false, - sourceFiles: false, - systemName: '@google-cloud/bigquery-datapolicies', - theme: 'lumen', - default: { - outputSourceFiles: false - } - }, - markdown: { - idInHeadings: true - } -}; diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.mocharc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.mocharc.js deleted file mode 100644 index 481c522b00f..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.mocharc.js +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -const config = { - "enable-source-maps": true, - "throw-deprecation": true, - "timeout": 10000 -} -if (process.env.MOCHA_THROW_DEPRECATION === 'false') { - delete config['throw-deprecation']; -} -if (process.env.MOCHA_REPORTER) { - config.reporter = process.env.MOCHA_REPORTER; -} -if (process.env.MOCHA_REPORTER_OUTPUT) { - config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`; -} -module.exports = config diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.prettierrc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.prettierrc.js deleted file mode 100644 index 494e147865d..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.prettierrc.js +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - -module.exports = { - ...require('gts/.prettierrc.json') -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/README.md b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/README.md deleted file mode 100644 index 46950ef3a37..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/README.md +++ /dev/null @@ -1 +0,0 @@ -Datapolicies: Nodejs Client diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/linkinator.config.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/linkinator.config.json deleted file mode 100644 index befd23c8633..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/linkinator.config.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "recurse": true, - "skip": [ - "https://codecov.io/gh/googleapis/", - "www.googleapis.com", - "img.shields.io", - "https://console.cloud.google.com/cloudshell", - "https://support.google.com" - ], - "silent": true, - "concurrency": 5, - "retry": true, - "retryErrors": true, - "retryErrorsCount": 5, - "retryErrorsJitter": 3000 -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/package.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/package.json deleted file mode 100644 index b5baa3d2753..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/package.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "name": "@google-cloud/bigquery-datapolicies", - "version": "0.1.0", - "description": "Datapolicies client for Node.js", - "repository": "googleapis/nodejs-datapolicies", - "license": "Apache-2.0", - "author": "Google LLC", - "main": "build/src/index.js", - "files": [ - "build/src", - "build/protos" - ], - "keywords": [ - "google apis client", - "google api client", - "google apis", - "google api", - "google", - "google cloud platform", - "google cloud", - "cloud", - "google datapolicies", - "datapolicies", - "data policy service" - ], - "scripts": { - "clean": "gts clean", - "compile": "tsc -p . && cp -r protos build/ && minifyProtoJson", - "compile-protos": "compileProtos src", - "docs": "jsdoc -c .jsdoc.js", - "predocs-test": "npm run docs", - "docs-test": "linkinator docs", - "fix": "gts fix", - "lint": "gts check", - "prepare": "npm run compile-protos && npm run compile", - "system-test": "c8 mocha build/system-test", - "test": "c8 mocha build/test" - }, - "dependencies": { - "google-gax": "^3.5.2" - }, - "devDependencies": { - "@types/mocha": "^9.1.1", - "@types/node": "^16.11.62", - "@types/sinon": "^10.0.13", - "c8": "^7.12.0", - "gts": "^3.1.1", - "jsdoc": "^3.6.11", - "jsdoc-fresh": "^2.0.1", - "jsdoc-region-tag": "^2.0.1", - "linkinator": "^4.0.3", - "mocha": "^10.0.0", - "null-loader": "^4.0.1", - "pack-n-play": "^1.0.0-2", - "sinon": "^14.0.0", - "ts-loader": "^8.4.0", - "typescript": "^4.8.3", - "webpack": "^4.46.0", - "webpack-cli": "^4.10.0" - }, - "engines": { - "node": ">=v12" - } -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicy.proto b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicy.proto deleted file mode 100644 index 363f15c5ce9..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicy.proto +++ /dev/null @@ -1,287 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.cloud.bigquery.datapolicies.v1beta1; - -import "google/api/annotations.proto"; -import "google/api/client.proto"; -import "google/api/field_behavior.proto"; -import "google/api/resource.proto"; -import "google/iam/v1/iam_policy.proto"; -import "google/iam/v1/policy.proto"; -import "google/protobuf/empty.proto"; -import "google/protobuf/field_mask.proto"; - -option csharp_namespace = "Google.Cloud.BigQuery.DataPolicies.V1Beta1"; -option go_package = "google.golang.org/genproto/googleapis/cloud/bigquery/datapolicies/v1beta1;datapolicies"; -option java_multiple_files = true; -option java_outer_classname = "DataPolicyProto"; -option java_package = "com.google.cloud.bigquery.datapolicies.v1beta1"; -option php_namespace = "Google\\Cloud\\BigQuery\\DataPolicies\\V1beta1"; -option ruby_package = "Google::Cloud::Bigquery::DataPolicies::V1beta1"; - -// Data Policy Service provides APIs for managing the label-policy bindings. -service DataPolicyService { - option (google.api.default_host) = "bigquerydatapolicy.googleapis.com"; - option (google.api.oauth_scopes) = - "https://www.googleapis.com/auth/bigquery," - "https://www.googleapis.com/auth/cloud-platform"; - - // Creates a new data policy under a project with the given `dataPolicyId` - // (used as the display name), policy tag, and data policy type. - rpc CreateDataPolicy(CreateDataPolicyRequest) returns (DataPolicy) { - option (google.api.http) = { - post: "/v1beta1/{parent=projects/*/locations/*}/dataPolicies" - body: "data_policy" - }; - option (google.api.method_signature) = "parent,data_policy"; - } - - // Updates the metadata for an existing data policy. The target data policy - // can be specified by the resource name. - rpc UpdateDataPolicy(UpdateDataPolicyRequest) returns (DataPolicy) { - option (google.api.http) = { - patch: "/v1beta1/{data_policy.name=projects/*/locations/*/dataPolicies/*}" - body: "data_policy" - }; - option (google.api.method_signature) = "data_policy,update_mask"; - } - - // Deletes the data policy specified by its resource name. - rpc DeleteDataPolicy(DeleteDataPolicyRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { - delete: "/v1beta1/{name=projects/*/locations/*/dataPolicies/*}" - }; - option (google.api.method_signature) = "name"; - } - - // Gets the data policy specified by its resource name. - rpc GetDataPolicy(GetDataPolicyRequest) returns (DataPolicy) { - option (google.api.http) = { - get: "/v1beta1/{name=projects/*/locations/*/dataPolicies/*}" - }; - option (google.api.method_signature) = "name"; - } - - // List all of the data policies in the specified parent project. - rpc ListDataPolicies(ListDataPoliciesRequest) returns (ListDataPoliciesResponse) { - option (google.api.http) = { - get: "/v1beta1/{parent=projects/*/locations/*}/dataPolicies" - }; - option (google.api.method_signature) = "parent"; - } - - // Gets the IAM policy for the specified data policy. - rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) { - option (google.api.http) = { - post: "/v1beta1/{resource=projects/*/locations/*/dataPolicies/*}:getIamPolicy" - body: "*" - }; - } - - // Sets the IAM policy for the specified data policy. - rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) { - option (google.api.http) = { - post: "/v1beta1/{resource=projects/*/locations/*/dataPolicies/*}:setIamPolicy" - body: "*" - }; - } - - // Returns the caller's permission on the specified data policy resource. - rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) { - option (google.api.http) = { - post: "/v1beta1/{resource=projects/*/locations/*/dataPolicies/*}:testIamPermissions" - body: "*" - }; - } -} - -// Request message for the CreateDataPolicy method. -message CreateDataPolicyRequest { - // Required. Resource name of the project that the data policy will belong to. The - // format is `projects/{project_number}/locations/{location_id}`. - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - child_type: "bigquerydatapolicy.googleapis.com/DataPolicy" - } - ]; - - // Required. The data policy to create. The `name` field does not need to be - // provided for the data policy creation. - DataPolicy data_policy = 2 [(google.api.field_behavior) = REQUIRED]; -} - -// Response message for the UpdateDataPolicy method. -message UpdateDataPolicyRequest { - // Required. Update the data policy's metadata. - // - // The target data policy is determined by the `name` field. - // Other fields are updated to the specified values based on the field masks. - DataPolicy data_policy = 1 [(google.api.field_behavior) = REQUIRED]; - - // The update mask applies to the resource. For the `FieldMask` definition, - // see - // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask - // If not set, defaults to all of the fields that are allowed to update. - // - // Updates to the `name` and `dataPolicyId` fields are not allowed. - google.protobuf.FieldMask update_mask = 2; -} - -// Request message for the DeleteDataPolicy method. -message DeleteDataPolicyRequest { - // Required. Resource name of the data policy to delete. Format is - // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "bigquerydatapolicy.googleapis.com/DataPolicy" - } - ]; -} - -// Request message for the GetDataPolicy method. -message GetDataPolicyRequest { - // Required. Resource name of the requested data policy. Format is - // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "bigquerydatapolicy.googleapis.com/DataPolicy" - } - ]; -} - -// Request message for the ListDataPolicies method. -message ListDataPoliciesRequest { - // Required. Resource name of the project for which to list data policies. Format is - // `projects/{project_number}/locations/{location_id}`. - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - child_type: "bigquerydatapolicy.googleapis.com/DataPolicy" - } - ]; - - // The maximum number of data policies to return. Must be a value between 1 - // and 1000. - // If not set, defaults to 50. - int32 page_size = 2; - - // The `nextPageToken` value returned from a previous list request, if any. If - // not set, defaults to an empty string. - string page_token = 3; -} - -// Response message for the ListDataPolicies method. -message ListDataPoliciesResponse { - // Data policies that belong to the requested project. - repeated DataPolicy data_policies = 1; - - // Token used to retrieve the next page of results, or empty if there are no - // more results. - string next_page_token = 2; -} - -// Represents the label-policy binding. -message DataPolicy { - option (google.api.resource) = { - type: "bigquerydatapolicy.googleapis.com/DataPolicy" - pattern: "projects/{project}/locations/{location}/dataPolicies/{data_policy}" - }; - - // A list of supported data policy types. - enum DataPolicyType { - // Default value for the data policy type. This should not be used. - DATA_POLICY_TYPE_UNSPECIFIED = 0; - - // Used to create a data policy for column-level security, without data - // masking. - COLUMN_LEVEL_SECURITY_POLICY = 3; - - // Used to create a data policy for data masking. - DATA_MASKING_POLICY = 2; - } - - // Label that is bound to this data policy. - oneof matching_label { - // Policy tag resource name, in the format of - // `projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{policyTag_id}`. - string policy_tag = 4; - } - - // The policy that is bound to this data policy. - oneof policy { - // The data masking policy that specifies the data masking rule to use. - DataMaskingPolicy data_masking_policy = 5; - } - - // Output only. Resource name of this data policy, in the format of - // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Type of data policy. - DataPolicyType data_policy_type = 2; - - // User-assigned (human readable) ID of the data policy that needs to be - // unique within a project. Used as {data_policy_id} in part of the resource - // name. - string data_policy_id = 3; -} - -// The data masking policy that is used to specify data masking rule. -message DataMaskingPolicy { - // The available masking rules. Learn more here: - // https://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options. - enum PredefinedExpression { - // Default, unspecified predefined expression. No masking will take place - // since no expression is specified. - PREDEFINED_EXPRESSION_UNSPECIFIED = 0; - - // Masking expression to replace data with SHA-256 hash. - SHA256 = 3; - - // Masking expression to replace data with NULLs. - ALWAYS_NULL = 5; - - // Masking expression to replace data with their default masking values. - // The default masking values for each type listed as below: - // - // * STRING: "" - // * BYTES: b'' - // * INTEGER: 0 - // * FLOAT: 0.0 - // * NUMERIC: 0 - // * BOOLEAN: FALSE - // * TIMESTAMP: 0001-01-01 00:00:00 UTC - // * DATE: 0001-01-01 - // * TIME: 00:00:00 - // * DATETIME: 0001-01-01T00:00:00 - // * GEOGRAPHY: POINT(0 0) - // * BIGNUMERIC: 0 - // * ARRAY: [] - // * STRUCT: NOT_APPLICABLE - // * JSON: NULL - DEFAULT_MASKING_VALUE = 7; - } - - // A masking expression to bind to the data masking rule. - oneof masking_expression { - // A predefined masking expression. - PredefinedExpression predefined_expression = 1; - } -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.create_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.create_data_policy.js deleted file mode 100644 index 1395d4d52ad..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.create_data_policy.js +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(parent, dataPolicy) { - // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_CreateDataPolicy_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. Resource name of the project that the data policy will belong to. The - * format is `projects/{project_number}/locations/{location_id}`. - */ - // const parent = 'abc123' - /** - * Required. The data policy to create. The `name` field does not need to be - * provided for the data policy creation. - */ - // const dataPolicy = {} - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callCreateDataPolicy() { - // Construct request - const request = { - parent, - dataPolicy, - }; - - // Run request - const response = await datapoliciesClient.createDataPolicy(request); - console.log(response); - } - - callCreateDataPolicy(); - // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_CreateDataPolicy_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.delete_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.delete_data_policy.js deleted file mode 100644 index 725fc48db76..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.delete_data_policy.js +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(name) { - // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_DeleteDataPolicy_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. Resource name of the data policy to delete. Format is - * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - */ - // const name = 'abc123' - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callDeleteDataPolicy() { - // Construct request - const request = { - name, - }; - - // Run request - const response = await datapoliciesClient.deleteDataPolicy(request); - console.log(response); - } - - callDeleteDataPolicy(); - // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_DeleteDataPolicy_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_data_policy.js deleted file mode 100644 index bb0937a2785..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_data_policy.js +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(name) { - // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetDataPolicy_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. Resource name of the requested data policy. Format is - * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - */ - // const name = 'abc123' - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callGetDataPolicy() { - // Construct request - const request = { - name, - }; - - // Run request - const response = await datapoliciesClient.getDataPolicy(request); - console.log(response); - } - - callGetDataPolicy(); - // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetDataPolicy_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_iam_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_iam_policy.js deleted file mode 100644 index b79008c0854..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_iam_policy.js +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(resource) { - // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetIamPolicy_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * REQUIRED: The resource for which the policy is being requested. - * See the operation documentation for the appropriate value for this field. - */ - // const resource = 'abc123' - /** - * OPTIONAL: A `GetPolicyOptions` object for specifying options to - * `GetIamPolicy`. - */ - // const options = {} - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callGetIamPolicy() { - // Construct request - const request = { - resource, - }; - - // Run request - const response = await datapoliciesClient.getIamPolicy(request); - console.log(response); - } - - callGetIamPolicy(); - // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetIamPolicy_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.list_data_policies.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.list_data_policies.js deleted file mode 100644 index d801a990835..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.list_data_policies.js +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(parent) { - // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_ListDataPolicies_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. Resource name of the project for which to list data policies. Format is - * `projects/{project_number}/locations/{location_id}`. - */ - // const parent = 'abc123' - /** - * The maximum number of data policies to return. Must be a value between 1 - * and 1000. - * If not set, defaults to 50. - */ - // const pageSize = 1234 - /** - * The `nextPageToken` value returned from a previous list request, if any. If - * not set, defaults to an empty string. - */ - // const pageToken = 'abc123' - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callListDataPolicies() { - // Construct request - const request = { - parent, - }; - - // Run request - const iterable = await datapoliciesClient.listDataPoliciesAsync(request); - for await (const response of iterable) { - console.log(response); - } - } - - callListDataPolicies(); - // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_ListDataPolicies_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.set_iam_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.set_iam_policy.js deleted file mode 100644 index 08643b6765f..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.set_iam_policy.js +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(resource, policy) { - // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_SetIamPolicy_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * REQUIRED: The resource for which the policy is being specified. - * See the operation documentation for the appropriate value for this field. - */ - // const resource = 'abc123' - /** - * REQUIRED: The complete policy to be applied to the `resource`. The size of - * the policy is limited to a few 10s of KB. An empty policy is a - * valid policy but certain Cloud Platform services (such as Projects) - * might reject them. - */ - // const policy = {} - /** - * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only - * the fields in the mask will be modified. If no mask is provided, the - * following default mask is used: - * `paths: "bindings, etag"` - */ - // const updateMask = {} - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callSetIamPolicy() { - // Construct request - const request = { - resource, - policy, - }; - - // Run request - const response = await datapoliciesClient.setIamPolicy(request); - console.log(response); - } - - callSetIamPolicy(); - // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_SetIamPolicy_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.test_iam_permissions.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.test_iam_permissions.js deleted file mode 100644 index c8f52327442..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.test_iam_permissions.js +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(resource, permissions) { - // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_TestIamPermissions_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * REQUIRED: The resource for which the policy detail is being requested. - * See the operation documentation for the appropriate value for this field. - */ - // const resource = 'abc123' - /** - * The set of permissions to check for the `resource`. Permissions with - * wildcards (such as '*' or 'storage.*') are not allowed. For more - * information see - * IAM Overview (https://cloud.google.com/iam/docs/overview#permissions). - */ - // const permissions = 'abc123' - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callTestIamPermissions() { - // Construct request - const request = { - resource, - permissions, - }; - - // Run request - const response = await datapoliciesClient.testIamPermissions(request); - console.log(response); - } - - callTestIamPermissions(); - // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_TestIamPermissions_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.update_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.update_data_policy.js deleted file mode 100644 index 61c136e0dcd..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.update_data_policy.js +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(dataPolicy) { - // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_UpdateDataPolicy_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. Update the data policy's metadata. - * The target data policy is determined by the `name` field. - * Other fields are updated to the specified values based on the field masks. - */ - // const dataPolicy = {} - /** - * The update mask applies to the resource. For the `FieldMask` definition, - * see - * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask - * If not set, defaults to all of the fields that are allowed to update. - * Updates to the `name` and `dataPolicyId` fields are not allowed. - */ - // const updateMask = {} - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callUpdateDataPolicy() { - // Construct request - const request = { - dataPolicy, - }; - - // Run request - const response = await datapoliciesClient.updateDataPolicy(request); - console.log(response); - } - - callUpdateDataPolicy(); - // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_UpdateDataPolicy_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json deleted file mode 100644 index da351e6ec62..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json +++ /dev/null @@ -1,367 +0,0 @@ -{ - "clientLibrary": { - "name": "nodejs-datapolicies", - "version": "0.1.0", - "language": "TYPESCRIPT", - "apis": [ - { - "id": "google.cloud.bigquery.datapolicies.v1beta1", - "version": "v1beta1" - } - ] - }, - "snippets": [ - { - "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_CreateDataPolicy_async", - "title": "DataPolicyService createDataPolicy Sample", - "origin": "API_DEFINITION", - "description": " Creates a new data policy under a project with the given `dataPolicyId` (used as the display name), policy tag, and data policy type.", - "canonical": true, - "file": "data_policy_service.create_data_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 60, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "CreateDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.CreateDataPolicy", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "data_policy", - "type": ".google.cloud.bigquery.datapolicies.v1beta1.DataPolicy" - } - ], - "resultType": ".google.cloud.bigquery.datapolicies.v1beta1.DataPolicy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" - }, - "method": { - "shortName": "CreateDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.CreateDataPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_UpdateDataPolicy_async", - "title": "DataPolicyService updateDataPolicy Sample", - "origin": "API_DEFINITION", - "description": " Updates the metadata for an existing data policy. The target data policy can be specified by the resource name.", - "canonical": true, - "file": "data_policy_service.update_data_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 63, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "UpdateDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.UpdateDataPolicy", - "async": true, - "parameters": [ - { - "name": "data_policy", - "type": ".google.cloud.bigquery.datapolicies.v1beta1.DataPolicy" - }, - { - "name": "update_mask", - "type": ".google.protobuf.FieldMask" - } - ], - "resultType": ".google.cloud.bigquery.datapolicies.v1beta1.DataPolicy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" - }, - "method": { - "shortName": "UpdateDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.UpdateDataPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_DeleteDataPolicy_async", - "title": "DataPolicyService deleteDataPolicy Sample", - "origin": "API_DEFINITION", - "description": " Deletes the data policy specified by its resource name.", - "canonical": true, - "file": "data_policy_service.delete_data_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 54, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "DeleteDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.DeleteDataPolicy", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" - }, - "method": { - "shortName": "DeleteDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.DeleteDataPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetDataPolicy_async", - "title": "DataPolicyService getDataPolicy Sample", - "origin": "API_DEFINITION", - "description": " Gets the data policy specified by its resource name.", - "canonical": true, - "file": "data_policy_service.get_data_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 54, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.GetDataPolicy", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.bigquery.datapolicies.v1beta1.DataPolicy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" - }, - "method": { - "shortName": "GetDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.GetDataPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_ListDataPolicies_async", - "title": "DataPolicyService listDataPolicies Sample", - "origin": "API_DEFINITION", - "description": " List all of the data policies in the specified parent project.", - "canonical": true, - "file": "data_policy_service.list_data_policies.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 67, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListDataPolicies", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.ListDataPolicies", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesResponse", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" - }, - "method": { - "shortName": "ListDataPolicies", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.ListDataPolicies", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetIamPolicy_async", - "title": "DataPolicyService getIamPolicy Sample", - "origin": "API_DEFINITION", - "description": " Gets the IAM policy for the specified data policy.", - "canonical": true, - "file": "data_policy_service.get_iam_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 59, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetIamPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.GetIamPolicy", - "async": true, - "parameters": [ - { - "name": "resource", - "type": "TYPE_STRING" - }, - { - "name": "options", - "type": ".google.iam.v1.GetPolicyOptions" - } - ], - "resultType": ".google.iam.v1.Policy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" - }, - "method": { - "shortName": "GetIamPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.GetIamPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_SetIamPolicy_async", - "title": "DataPolicyService setIamPolicy Sample", - "origin": "API_DEFINITION", - "description": " Sets the IAM policy for the specified data policy.", - "canonical": true, - "file": "data_policy_service.set_iam_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 69, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "SetIamPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.SetIamPolicy", - "async": true, - "parameters": [ - { - "name": "resource", - "type": "TYPE_STRING" - }, - { - "name": "policy", - "type": ".google.iam.v1.Policy" - }, - { - "name": "update_mask", - "type": ".google.protobuf.FieldMask" - } - ], - "resultType": ".google.iam.v1.Policy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" - }, - "method": { - "shortName": "SetIamPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.SetIamPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_TestIamPermissions_async", - "title": "DataPolicyService testIamPermissions Sample", - "origin": "API_DEFINITION", - "description": " Returns the caller's permission on the specified data policy resource.", - "canonical": true, - "file": "data_policy_service.test_iam_permissions.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 62, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "TestIamPermissions", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.TestIamPermissions", - "async": true, - "parameters": [ - { - "name": "resource", - "type": "TYPE_STRING" - }, - { - "name": "permissions", - "type": "TYPE_STRING[]" - } - ], - "resultType": ".google.iam.v1.TestIamPermissionsResponse", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" - }, - "method": { - "shortName": "TestIamPermissions", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.TestIamPermissions", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" - } - } - } - } - ] -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/index.ts deleted file mode 100644 index 58dbc1f7d69..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import * as v1beta1 from './v1beta1'; -const DataPolicyServiceClient = v1beta1.DataPolicyServiceClient; -type DataPolicyServiceClient = v1beta1.DataPolicyServiceClient; -export {v1beta1, DataPolicyServiceClient}; -export default {v1beta1, DataPolicyServiceClient}; -import * as protos from '../protos/protos'; -export {protos} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client.ts deleted file mode 100644 index 6afd2ab45ef..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client.ts +++ /dev/null @@ -1,1163 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -/* global window */ -import type * as gax from 'google-gax'; -import type {Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback, GaxCall} from 'google-gax'; -import {Transform} from 'stream'; -import * as protos from '../../protos/protos'; -import jsonProtos = require('../../protos/protos.json'); -/** - * Client JSON configuration object, loaded from - * `src/v1beta1/data_policy_service_client_config.json`. - * This file defines retry strategy and timeouts for all API methods in this library. - */ -import * as gapicConfig from './data_policy_service_client_config.json'; -const version = require('../../../package.json').version; - -/** - * Data Policy Service provides APIs for managing the label-policy bindings. - * @class - * @memberof v1beta1 - */ -export class DataPolicyServiceClient { - private _terminated = false; - private _opts: ClientOptions; - private _providedCustomServicePath: boolean; - private _gaxModule: typeof gax | typeof gax.fallback; - private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; - private _protos: {}; - private _defaults: {[method: string]: gax.CallSettings}; - auth: gax.GoogleAuth; - descriptors: Descriptors = { - page: {}, - stream: {}, - longrunning: {}, - batching: {}, - }; - warn: (code: string, message: string, warnType?: string) => void; - innerApiCalls: {[name: string]: Function}; - pathTemplates: {[name: string]: gax.PathTemplate}; - dataPolicyServiceStub?: Promise<{[name: string]: Function}>; - - /** - * Construct an instance of DataPolicyServiceClient. - * - * @param {object} [options] - The configuration object. - * The options accepted by the constructor are described in detail - * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). - * The common options are: - * @param {object} [options.credentials] - Credentials object. - * @param {string} [options.credentials.client_email] - * @param {string} [options.credentials.private_key] - * @param {string} [options.email] - Account email address. Required when - * using a .pem or .p12 keyFilename. - * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or - * .p12 key downloaded from the Google Developers Console. If you provide - * a path to a JSON file, the projectId option below is not necessary. - * NOTE: .pem and .p12 require you to specify options.email as well. - * @param {number} [options.port] - The port on which to connect to - * the remote host. - * @param {string} [options.projectId] - The project ID from the Google - * Developer's Console, e.g. 'grape-spaceship-123'. We will also check - * the environment variable GCLOUD_PROJECT for your project ID. If your - * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, - * your project ID will be detected automatically. - * @param {string} [options.apiEndpoint] - The domain name of the - * API remote host. - * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. - * Follows the structure of {@link gapicConfig}. - * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. - * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. - * For more information, please check the - * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. - * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you - * need to avoid loading the default gRPC version and want to use the fallback - * HTTP implementation. Load only fallback version and pass it to the constructor: - * ``` - * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC - * const client = new DataPolicyServiceClient({fallback: 'rest'}, gax); - * ``` - */ - constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { - // Ensure that options include all the required fields. - const staticMembers = this.constructor as typeof DataPolicyServiceClient; - const servicePath = opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; - this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); - const port = opts?.port || staticMembers.port; - const clientConfig = opts?.clientConfig ?? {}; - const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function'); - opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); - - // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. - if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { - opts['scopes'] = staticMembers.scopes; - } - - // Load google-gax module synchronously if needed - if (!gaxInstance) { - gaxInstance = require('google-gax') as typeof gax; - } - - // Choose either gRPC or proto-over-HTTP implementation of google-gax. - this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; - - // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. - this._gaxGrpc = new this._gaxModule.GrpcClient(opts); - - // Save options to use in initialize() method. - this._opts = opts; - - // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); - - // Set useJWTAccessWithScope on the auth object. - this.auth.useJWTAccessWithScope = true; - - // Set defaultServicePath on the auth object. - this.auth.defaultServicePath = staticMembers.servicePath; - - // Set the default scopes in auth client if needed. - if (servicePath === staticMembers.servicePath) { - this.auth.defaultScopes = staticMembers.scopes; - } - - // Determine the client header string. - const clientHeader = [ - `gax/${this._gaxModule.version}`, - `gapic/${version}`, - ]; - if (typeof process !== 'undefined' && 'versions' in process) { - clientHeader.push(`gl-node/${process.versions.node}`); - } else { - clientHeader.push(`gl-web/${this._gaxModule.version}`); - } - if (!opts.fallback) { - clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); - } else if (opts.fallback === 'rest' ) { - clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); - } - if (opts.libName && opts.libVersion) { - clientHeader.push(`${opts.libName}/${opts.libVersion}`); - } - // Load the applicable protos. - this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); - - // This API contains "path templates"; forward-slash-separated - // identifiers to uniquely identify resources within the API. - // Create useful helper objects for these. - this.pathTemplates = { - dataPolicyPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/dataPolicies/{data_policy}' - ), - locationPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}' - ), - projectPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}' - ), - }; - - // Some of the methods on this service return "paged" results, - // (e.g. 50 results at a time, with tokens to get subsequent - // pages). Denote the keys used for pagination and results. - this.descriptors.page = { - listDataPolicies: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'dataPolicies') - }; - - // Put together the default options sent with requests. - this._defaults = this._gaxGrpc.constructSettings( - 'google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); - - // Set up a dictionary of "inner API calls"; the core implementation - // of calling the API is handled in `google-gax`, with this code - // merely providing the destination and request information. - this.innerApiCalls = {}; - - // Add a warn function to the client constructor so it can be easily tested. - this.warn = this._gaxModule.warn; - } - - /** - * Initialize the client. - * Performs asynchronous operations (such as authentication) and prepares the client. - * This function will be called automatically when any class method is called for the - * first time, but if you need to initialize it before calling an actual method, - * feel free to call initialize() directly. - * - * You can await on this method if you want to make sure the client is initialized. - * - * @returns {Promise} A promise that resolves to an authenticated service stub. - */ - initialize() { - // If the client stub promise is already initialized, return immediately. - if (this.dataPolicyServiceStub) { - return this.dataPolicyServiceStub; - } - - // Put together the "service stub" for - // google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService. - this.dataPolicyServiceStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService') : - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (this._protos as any).google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService, - this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; - - // Iterate over each of the methods that the service provides - // and create an API call method for each. - const dataPolicyServiceStubMethods = - ['createDataPolicy', 'updateDataPolicy', 'deleteDataPolicy', 'getDataPolicy', 'listDataPolicies', 'getIamPolicy', 'setIamPolicy', 'testIamPermissions']; - for (const methodName of dataPolicyServiceStubMethods) { - const callPromise = this.dataPolicyServiceStub.then( - stub => (...args: Array<{}>) => { - if (this._terminated) { - return Promise.reject('The client has already been closed.'); - } - const func = stub[methodName]; - return func.apply(stub, args); - }, - (err: Error|null|undefined) => () => { - throw err; - }); - - const descriptor = - this.descriptors.page[methodName] || - undefined; - const apiCall = this._gaxModule.createApiCall( - callPromise, - this._defaults[methodName], - descriptor, - this._opts.fallback - ); - - this.innerApiCalls[methodName] = apiCall; - } - - return this.dataPolicyServiceStub; - } - - /** - * The DNS address for this API service. - * @returns {string} The DNS address for this service. - */ - static get servicePath() { - return 'bigquerydatapolicy.googleapis.com'; - } - - /** - * The DNS address for this API service - same as servicePath(), - * exists for compatibility reasons. - * @returns {string} The DNS address for this service. - */ - static get apiEndpoint() { - return 'bigquerydatapolicy.googleapis.com'; - } - - /** - * The port for this API service. - * @returns {number} The default port for this service. - */ - static get port() { - return 443; - } - - /** - * The scopes needed to make gRPC calls for every method defined - * in this service. - * @returns {string[]} List of default scopes. - */ - static get scopes() { - return [ - 'https://www.googleapis.com/auth/bigquery', - 'https://www.googleapis.com/auth/cloud-platform' - ]; - } - - getProjectId(): Promise; - getProjectId(callback: Callback): void; - /** - * Return the project ID used by this class. - * @returns {Promise} A promise that resolves to string containing the project ID. - */ - getProjectId(callback?: Callback): - Promise|void { - if (callback) { - this.auth.getProjectId(callback); - return; - } - return this.auth.getProjectId(); - } - - // ------------------- - // -- Service calls -- - // ------------------- -/** - * Creates a new data policy under a project with the given `dataPolicyId` - * (used as the display name), policy tag, and data policy type. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the project that the data policy will belong to. The - * format is `projects/{project_number}/locations/{location_id}`. - * @param {google.cloud.bigquery.datapolicies.v1beta1.DataPolicy} request.dataPolicy - * Required. The data policy to create. The `name` field does not need to be - * provided for the data policy creation. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1beta1/data_policy_service.create_data_policy.js - * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_CreateDataPolicy_async - */ - createDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|undefined, {}|undefined - ]>; - createDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - createDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - createDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); - this.initialize(); - return this.innerApiCalls.createDataPolicy(request, options, callback); - } -/** - * Updates the metadata for an existing data policy. The target data policy - * can be specified by the resource name. - * - * @param {Object} request - * The request object that will be sent. - * @param {google.cloud.bigquery.datapolicies.v1beta1.DataPolicy} request.dataPolicy - * Required. Update the data policy's metadata. - * - * The target data policy is determined by the `name` field. - * Other fields are updated to the specified values based on the field masks. - * @param {google.protobuf.FieldMask} request.updateMask - * The update mask applies to the resource. For the `FieldMask` definition, - * see - * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask - * If not set, defaults to all of the fields that are allowed to update. - * - * Updates to the `name` and `dataPolicyId` fields are not allowed. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1beta1/data_policy_service.update_data_policy.js - * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_UpdateDataPolicy_async - */ - updateDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|undefined, {}|undefined - ]>; - updateDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - updateDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - updateDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'data_policy.name': request.dataPolicy!.name ?? '', - }); - this.initialize(); - return this.innerApiCalls.updateDataPolicy(request, options, callback); - } -/** - * Deletes the data policy specified by its resource name. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the data policy to delete. Format is - * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1beta1/data_policy_service.delete_data_policy.js - * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_DeleteDataPolicy_async - */ - deleteDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|undefined, {}|undefined - ]>; - deleteDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - deleteDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - deleteDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', - }); - this.initialize(); - return this.innerApiCalls.deleteDataPolicy(request, options, callback); - } -/** - * Gets the data policy specified by its resource name. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the requested data policy. Format is - * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1beta1/data_policy_service.get_data_policy.js - * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetDataPolicy_async - */ - getDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|undefined, {}|undefined - ]>; - getDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - getDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - getDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', - }); - this.initialize(); - return this.innerApiCalls.getDataPolicy(request, options, callback); - } -/** - * Gets the IAM policy for the specified data policy. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.resource - * REQUIRED: The resource for which the policy is being requested. - * See the operation documentation for the appropriate value for this field. - * @param {google.iam.v1.GetPolicyOptions} request.options - * OPTIONAL: A `GetPolicyOptions` object for specifying options to - * `GetIamPolicy`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Policy]{@link google.iam.v1.Policy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1beta1/data_policy_service.get_iam_policy.js - * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetIamPolicy_async - */ - getIamPolicy( - request?: protos.google.iam.v1.IGetIamPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|undefined, {}|undefined - ]>; - getIamPolicy( - request: protos.google.iam.v1.IGetIamPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; - getIamPolicy( - request: protos.google.iam.v1.IGetIamPolicyRequest, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; - getIamPolicy( - request?: protos.google.iam.v1.IGetIamPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'resource': request.resource ?? '', - }); - this.initialize(); - return this.innerApiCalls.getIamPolicy(request, options, callback); - } -/** - * Sets the IAM policy for the specified data policy. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.resource - * REQUIRED: The resource for which the policy is being specified. - * See the operation documentation for the appropriate value for this field. - * @param {google.iam.v1.Policy} request.policy - * REQUIRED: The complete policy to be applied to the `resource`. The size of - * the policy is limited to a few 10s of KB. An empty policy is a - * valid policy but certain Cloud Platform services (such as Projects) - * might reject them. - * @param {google.protobuf.FieldMask} request.updateMask - * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only - * the fields in the mask will be modified. If no mask is provided, the - * following default mask is used: - * - * `paths: "bindings, etag"` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Policy]{@link google.iam.v1.Policy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1beta1/data_policy_service.set_iam_policy.js - * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_SetIamPolicy_async - */ - setIamPolicy( - request?: protos.google.iam.v1.ISetIamPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|undefined, {}|undefined - ]>; - setIamPolicy( - request: protos.google.iam.v1.ISetIamPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; - setIamPolicy( - request: protos.google.iam.v1.ISetIamPolicyRequest, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; - setIamPolicy( - request?: protos.google.iam.v1.ISetIamPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'resource': request.resource ?? '', - }); - this.initialize(); - return this.innerApiCalls.setIamPolicy(request, options, callback); - } -/** - * Returns the caller's permission on the specified data policy resource. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.resource - * REQUIRED: The resource for which the policy detail is being requested. - * See the operation documentation for the appropriate value for this field. - * @param {string[]} request.permissions - * The set of permissions to check for the `resource`. Permissions with - * wildcards (such as '*' or 'storage.*') are not allowed. For more - * information see - * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [TestIamPermissionsResponse]{@link google.iam.v1.TestIamPermissionsResponse}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1beta1/data_policy_service.test_iam_permissions.js - * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_TestIamPermissions_async - */ - testIamPermissions( - request?: protos.google.iam.v1.ITestIamPermissionsRequest, - options?: CallOptions): - Promise<[ - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|undefined, {}|undefined - ]>; - testIamPermissions( - request: protos.google.iam.v1.ITestIamPermissionsRequest, - options: CallOptions, - callback: Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>): void; - testIamPermissions( - request: protos.google.iam.v1.ITestIamPermissionsRequest, - callback: Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>): void; - testIamPermissions( - request?: protos.google.iam.v1.ITestIamPermissionsRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'resource': request.resource ?? '', - }); - this.initialize(); - return this.innerApiCalls.testIamPermissions(request, options, callback); - } - - /** - * List all of the data policies in the specified parent project. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the project for which to list data policies. Format is - * `projects/{project_number}/locations/{location_id}`. - * @param {number} request.pageSize - * The maximum number of data policies to return. Must be a value between 1 - * and 1000. - * If not set, defaults to 50. - * @param {string} request.pageToken - * The `nextPageToken` value returned from a previous list request, if any. If - * not set, defaults to an empty string. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy}. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed and will merge results from all the pages into this array. - * Note that it can affect your quota. - * We recommend using `listDataPoliciesAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) - * for more details and examples. - */ - listDataPolicies( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy[], - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest|null, - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse - ]>; - listDataPolicies( - request: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse|null|undefined, - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy>): void; - listDataPolicies( - request: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, - callback: PaginationCallback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse|null|undefined, - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy>): void; - listDataPolicies( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, - optionsOrCallback?: CallOptions|PaginationCallback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse|null|undefined, - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy>, - callback?: PaginationCallback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse|null|undefined, - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy>): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy[], - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest|null, - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); - this.initialize(); - return this.innerApiCalls.listDataPolicies(request, options, callback); - } - -/** - * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the project for which to list data policies. Format is - * `projects/{project_number}/locations/{location_id}`. - * @param {number} request.pageSize - * The maximum number of data policies to return. Must be a value between 1 - * and 1000. - * If not set, defaults to 50. - * @param {string} request.pageToken - * The `nextPageToken` value returned from a previous list request, if any. If - * not set, defaults to an empty string. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Stream} - * An object stream which emits an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy} on 'data' event. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed. Note that it can affect your quota. - * We recommend using `listDataPoliciesAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) - * for more details and examples. - */ - listDataPoliciesStream( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, - options?: CallOptions): - Transform{ - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); - const defaultCallSettings = this._defaults['listDataPolicies']; - const callSettings = defaultCallSettings.merge(options); - this.initialize(); - return this.descriptors.page.listDataPolicies.createStream( - this.innerApiCalls.listDataPolicies as GaxCall, - request, - callSettings - ); - } - -/** - * Equivalent to `listDataPolicies`, but returns an iterable object. - * - * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the project for which to list data policies. Format is - * `projects/{project_number}/locations/{location_id}`. - * @param {number} request.pageSize - * The maximum number of data policies to return. Must be a value between 1 - * and 1000. - * If not set, defaults to 50. - * @param {string} request.pageToken - * The `nextPageToken` value returned from a previous list request, if any. If - * not set, defaults to an empty string. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Object} - * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). - * When you iterate the returned iterable, each element will be an object representing - * [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy}. The API will be called under the hood as needed, once per the page, - * so you can stop the iteration when you don't need more results. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) - * for more details and examples. - * @example include:samples/generated/v1beta1/data_policy_service.list_data_policies.js - * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_ListDataPolicies_async - */ - listDataPoliciesAsync( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, - options?: CallOptions): - AsyncIterable{ - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); - const defaultCallSettings = this._defaults['listDataPolicies']; - const callSettings = defaultCallSettings.merge(options); - this.initialize(); - return this.descriptors.page.listDataPolicies.asyncIterate( - this.innerApiCalls['listDataPolicies'] as GaxCall, - request as {}, - callSettings - ) as AsyncIterable; - } - // -------------------- - // -- Path templates -- - // -------------------- - - /** - * Return a fully-qualified dataPolicy resource name string. - * - * @param {string} project - * @param {string} location - * @param {string} data_policy - * @returns {string} Resource name string. - */ - dataPolicyPath(project:string,location:string,dataPolicy:string) { - return this.pathTemplates.dataPolicyPathTemplate.render({ - project: project, - location: location, - data_policy: dataPolicy, - }); - } - - /** - * Parse the project from DataPolicy resource. - * - * @param {string} dataPolicyName - * A fully-qualified path representing DataPolicy resource. - * @returns {string} A string representing the project. - */ - matchProjectFromDataPolicyName(dataPolicyName: string) { - return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).project; - } - - /** - * Parse the location from DataPolicy resource. - * - * @param {string} dataPolicyName - * A fully-qualified path representing DataPolicy resource. - * @returns {string} A string representing the location. - */ - matchLocationFromDataPolicyName(dataPolicyName: string) { - return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).location; - } - - /** - * Parse the data_policy from DataPolicy resource. - * - * @param {string} dataPolicyName - * A fully-qualified path representing DataPolicy resource. - * @returns {string} A string representing the data_policy. - */ - matchDataPolicyFromDataPolicyName(dataPolicyName: string) { - return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).data_policy; - } - - /** - * Return a fully-qualified location resource name string. - * - * @param {string} project - * @param {string} location - * @returns {string} Resource name string. - */ - locationPath(project:string,location:string) { - return this.pathTemplates.locationPathTemplate.render({ - project: project, - location: location, - }); - } - - /** - * Parse the project from Location resource. - * - * @param {string} locationName - * A fully-qualified path representing Location resource. - * @returns {string} A string representing the project. - */ - matchProjectFromLocationName(locationName: string) { - return this.pathTemplates.locationPathTemplate.match(locationName).project; - } - - /** - * Parse the location from Location resource. - * - * @param {string} locationName - * A fully-qualified path representing Location resource. - * @returns {string} A string representing the location. - */ - matchLocationFromLocationName(locationName: string) { - return this.pathTemplates.locationPathTemplate.match(locationName).location; - } - - /** - * Return a fully-qualified project resource name string. - * - * @param {string} project - * @returns {string} Resource name string. - */ - projectPath(project:string) { - return this.pathTemplates.projectPathTemplate.render({ - project: project, - }); - } - - /** - * Parse the project from Project resource. - * - * @param {string} projectName - * A fully-qualified path representing Project resource. - * @returns {string} A string representing the project. - */ - matchProjectFromProjectName(projectName: string) { - return this.pathTemplates.projectPathTemplate.match(projectName).project; - } - - /** - * Terminate the gRPC channel and close the client. - * - * The client will no longer be usable and all future behavior is undefined. - * @returns {Promise} A promise that resolves when the client is closed. - */ - close(): Promise { - if (this.dataPolicyServiceStub && !this._terminated) { - return this.dataPolicyServiceStub.then(stub => { - this._terminated = true; - stub.close(); - }); - } - return Promise.resolve(); - } -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client_config.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client_config.json deleted file mode 100644 index 426ab638d19..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client_config.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "interfaces": { - "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService": { - "retry_codes": { - "non_idempotent": [], - "idempotent": [ - "DEADLINE_EXCEEDED", - "UNAVAILABLE" - ], - "unavailable": [ - "UNAVAILABLE" - ] - }, - "retry_params": { - "default": { - "initial_retry_delay_millis": 100, - "retry_delay_multiplier": 1.3, - "max_retry_delay_millis": 60000, - "initial_rpc_timeout_millis": 60000, - "rpc_timeout_multiplier": 1, - "max_rpc_timeout_millis": 60000, - "total_timeout_millis": 600000 - }, - "ce5b960a6ed052e690863808e4f0deff3dc7d49f": { - "initial_retry_delay_millis": 1000, - "retry_delay_multiplier": 1.3, - "max_retry_delay_millis": 10000, - "initial_rpc_timeout_millis": 60000, - "rpc_timeout_multiplier": 1, - "max_rpc_timeout_millis": 60000, - "total_timeout_millis": 600000 - } - }, - "methods": { - "CreateDataPolicy": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "UpdateDataPolicy": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "DeleteDataPolicy": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "GetDataPolicy": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "ListDataPolicies": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "GetIamPolicy": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "SetIamPolicy": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "TestIamPermissions": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - } - } - } - } -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_proto_list.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_proto_list.json deleted file mode 100644 index 6e26fa8caca..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_proto_list.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - "../../protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicy.proto" -] diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/gapic_metadata.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/gapic_metadata.json deleted file mode 100644 index 18fb9ed02a5..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/gapic_metadata.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "schema": "1.0", - "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", - "language": "typescript", - "protoPackage": "google.cloud.bigquery.datapolicies.v1beta1", - "libraryPackage": "@google-cloud/bigquery-datapolicies", - "services": { - "DataPolicyService": { - "clients": { - "grpc": { - "libraryClient": "DataPolicyServiceClient", - "rpcs": { - "CreateDataPolicy": { - "methods": [ - "createDataPolicy" - ] - }, - "UpdateDataPolicy": { - "methods": [ - "updateDataPolicy" - ] - }, - "DeleteDataPolicy": { - "methods": [ - "deleteDataPolicy" - ] - }, - "GetDataPolicy": { - "methods": [ - "getDataPolicy" - ] - }, - "GetIamPolicy": { - "methods": [ - "getIamPolicy" - ] - }, - "SetIamPolicy": { - "methods": [ - "setIamPolicy" - ] - }, - "TestIamPermissions": { - "methods": [ - "testIamPermissions" - ] - }, - "ListDataPolicies": { - "methods": [ - "listDataPolicies", - "listDataPoliciesStream", - "listDataPoliciesAsync" - ] - } - } - }, - "grpc-fallback": { - "libraryClient": "DataPolicyServiceClient", - "rpcs": { - "CreateDataPolicy": { - "methods": [ - "createDataPolicy" - ] - }, - "UpdateDataPolicy": { - "methods": [ - "updateDataPolicy" - ] - }, - "DeleteDataPolicy": { - "methods": [ - "deleteDataPolicy" - ] - }, - "GetDataPolicy": { - "methods": [ - "getDataPolicy" - ] - }, - "GetIamPolicy": { - "methods": [ - "getIamPolicy" - ] - }, - "SetIamPolicy": { - "methods": [ - "setIamPolicy" - ] - }, - "TestIamPermissions": { - "methods": [ - "testIamPermissions" - ] - }, - "ListDataPolicies": { - "methods": [ - "listDataPolicies", - "listDataPoliciesStream", - "listDataPoliciesAsync" - ] - } - } - } - } - } - } -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/index.ts deleted file mode 100644 index 81030a61690..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/index.ts +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -export {DataPolicyServiceClient} from './data_policy_service_client'; diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.js deleted file mode 100644 index b26197444a3..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.js +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - -/* eslint-disable node/no-missing-require, no-unused-vars */ -const datapolicies = require('@google-cloud/bigquery-datapolicies'); - -function main() { - const dataPolicyServiceClient = new datapolicies.DataPolicyServiceClient(); -} - -main(); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.ts deleted file mode 100644 index 760641ee949..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.ts +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import {DataPolicyServiceClient} from '@google-cloud/bigquery-datapolicies'; - -// check that the client class type name can be used -function doStuffWithDataPolicyServiceClient(client: DataPolicyServiceClient) { - client.close(); -} - -function main() { - // check that the client instance can be created - const dataPolicyServiceClient = new DataPolicyServiceClient(); - doStuffWithDataPolicyServiceClient(dataPolicyServiceClient); -} - -main(); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/install.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/install.ts deleted file mode 100644 index 557a57558e1..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/install.ts +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import {packNTest} from 'pack-n-play'; -import {readFileSync} from 'fs'; -import {describe, it} from 'mocha'; - -describe('📦 pack-n-play test', () => { - - it('TypeScript code', async function() { - this.timeout(300000); - const options = { - packageDir: process.cwd(), - sample: { - description: 'TypeScript user can use the type definitions', - ts: readFileSync('./system-test/fixtures/sample/src/index.ts').toString() - } - }; - await packNTest(options); - }); - - it('JavaScript code', async function() { - this.timeout(300000); - const options = { - packageDir: process.cwd(), - sample: { - description: 'JavaScript user can use the library', - ts: readFileSync('./system-test/fixtures/sample/src/index.js').toString() - } - }; - await packNTest(options); - }); - -}); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/test/gapic_data_policy_service_v1beta1.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/test/gapic_data_policy_service_v1beta1.ts deleted file mode 100644 index 1b61cf2fbef..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/test/gapic_data_policy_service_v1beta1.ts +++ /dev/null @@ -1,1319 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import * as protos from '../protos/protos'; -import * as assert from 'assert'; -import * as sinon from 'sinon'; -import {SinonStub} from 'sinon'; -import {describe, it} from 'mocha'; -import * as datapolicyserviceModule from '../src'; - -import {PassThrough} from 'stream'; - -import {protobuf} from 'google-gax'; - -// Dynamically loaded proto JSON is needed to get the type information -// to fill in default values for request objects -const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll(); - -// eslint-disable-next-line @typescript-eslint/no-unused-vars -function getTypeDefaultValue(typeName: string, fields: string[]) { - let type = root.lookupType(typeName) as protobuf.Type; - for (const field of fields.slice(0, -1)) { - type = type.fields[field]?.resolvedType as protobuf.Type; - } - return type.fields[fields[fields.length - 1]]?.defaultValue; -} - -function generateSampleMessage(instance: T) { - const filledObject = (instance.constructor as typeof protobuf.Message) - .toObject(instance as protobuf.Message, {defaults: true}); - return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T; -} - -function stubSimpleCall(response?: ResponseType, error?: Error) { - return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]); -} - -function stubSimpleCallWithCallback(response?: ResponseType, error?: Error) { - return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response); -} - -function stubPageStreamingCall(responses?: ResponseType[], error?: Error) { - const pagingStub = sinon.stub(); - if (responses) { - for (let i = 0; i < responses.length; ++i) { - pagingStub.onCall(i).callsArgWith(2, null, responses[i]); - } - } - const transformStub = error ? sinon.stub().callsArgWith(2, error) : pagingStub; - const mockStream = new PassThrough({ - objectMode: true, - transform: transformStub, - }); - // trigger as many responses as needed - if (responses) { - for (let i = 0; i < responses.length; ++i) { - setImmediate(() => { mockStream.write({}); }); - } - setImmediate(() => { mockStream.end(); }); - } else { - setImmediate(() => { mockStream.write({}); }); - setImmediate(() => { mockStream.end(); }); - } - return sinon.stub().returns(mockStream); -} - -function stubAsyncIterationCall(responses?: ResponseType[], error?: Error) { - let counter = 0; - const asyncIterable = { - [Symbol.asyncIterator]() { - return { - async next() { - if (error) { - return Promise.reject(error); - } - if (counter >= responses!.length) { - return Promise.resolve({done: true, value: undefined}); - } - return Promise.resolve({done: false, value: responses![counter++]}); - } - }; - } - }; - return sinon.stub().returns(asyncIterable); -} - -describe('v1beta1.DataPolicyServiceClient', () => { - describe('Common methods', () => { - it('has servicePath', () => { - const servicePath = datapolicyserviceModule.v1beta1.DataPolicyServiceClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = datapolicyserviceModule.v1beta1.DataPolicyServiceClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = datapolicyserviceModule.v1beta1.DataPolicyServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no option', () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - fallback: true, - }); - assert(client); - }); - - it('has initialize method and supports deferred initialization', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.dataPolicyServiceStub, undefined); - await client.initialize(); - assert(client.dataPolicyServiceStub); - }); - - it('has close method for the initialized client', done => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - assert(client.dataPolicyServiceStub); - client.close().then(() => { - done(); - }); - }); - - it('has close method for the non-initialized client', done => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.dataPolicyServiceStub, undefined); - client.close().then(() => { - done(); - }); - }); - - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); - }); - - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error|null, projectId?: string|null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } - }); - }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); - }); - }); - - describe('createDataPolicy', () => { - it('invokes createDataPolicy without error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() - ); - client.innerApiCalls.createDataPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.createDataPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createDataPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() - ); - client.innerApiCalls.createDataPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.createDataPolicy( - request, - (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createDataPolicy with error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.createDataPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.createDataPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createDataPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest', ['parent']); - request.parent = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.createDataPolicy(request), expectedError); - }); - }); - - describe('updateDataPolicy', () => { - it('invokes updateDataPolicy without error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest() - ); - request.dataPolicy ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); - request.dataPolicy.name = defaultValue1; - const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() - ); - client.innerApiCalls.updateDataPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.updateDataPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateDataPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest() - ); - request.dataPolicy ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); - request.dataPolicy.name = defaultValue1; - const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() - ); - client.innerApiCalls.updateDataPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.updateDataPolicy( - request, - (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateDataPolicy with error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest() - ); - request.dataPolicy ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); - request.dataPolicy.name = defaultValue1; - const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateDataPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.updateDataPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateDataPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest() - ); - request.dataPolicy ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); - request.dataPolicy.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.updateDataPolicy(request), expectedError); - }); - }); - - describe('deleteDataPolicy', () => { - it('invokes deleteDataPolicy without error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteDataPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.deleteDataPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteDataPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteDataPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteDataPolicy( - request, - (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteDataPolicy with error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteDataPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.deleteDataPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteDataPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.deleteDataPolicy(request), expectedError); - }); - }); - - describe('getDataPolicy', () => { - it('invokes getDataPolicy without error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() - ); - client.innerApiCalls.getDataPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.getDataPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getDataPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() - ); - client.innerApiCalls.getDataPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getDataPolicy( - request, - (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getDataPolicy with error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.getDataPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getDataPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getDataPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.getDataPolicy(request), expectedError); - }); - }); - - describe('getIamPolicy', () => { - it('invokes getIamPolicy without error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.getIamPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.getIamPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getIamPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.getIamPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getIamPolicy( - request, - (err?: Error|null, result?: protos.google.iam.v1.IPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getIamPolicy with error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.getIamPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getIamPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getIamPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.getIamPolicy(request), expectedError); - }); - }); - - describe('setIamPolicy', () => { - it('invokes setIamPolicy without error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.setIamPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.setIamPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes setIamPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.setIamPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.setIamPolicy( - request, - (err?: Error|null, result?: protos.google.iam.v1.IPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes setIamPolicy with error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.setIamPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.setIamPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes setIamPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.setIamPolicy(request), expectedError); - }); - }); - - describe('testIamPermissions', () => { - it('invokes testIamPermissions without error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsResponse() - ); - client.innerApiCalls.testIamPermissions = stubSimpleCall(expectedResponse); - const [response] = await client.testIamPermissions(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes testIamPermissions without error using callback', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsResponse() - ); - client.innerApiCalls.testIamPermissions = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.testIamPermissions( - request, - (err?: Error|null, result?: protos.google.iam.v1.ITestIamPermissionsResponse|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes testIamPermissions with error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.testIamPermissions = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.testIamPermissions(request), expectedError); - const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes testIamPermissions with closed client', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.testIamPermissions(request), expectedError); - }); - }); - - describe('listDataPolicies', () => { - it('invokes listDataPolicies without error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - ]; - client.innerApiCalls.listDataPolicies = stubSimpleCall(expectedResponse); - const [response] = await client.listDataPolicies(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listDataPolicies without error using callback', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - ]; - client.innerApiCalls.listDataPolicies = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listDataPolicies( - request, - (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listDataPolicies with error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.listDataPolicies = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listDataPolicies(request), expectedError); - const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listDataPoliciesStream without error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - ]; - client.descriptors.page.listDataPolicies.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listDataPoliciesStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy[] = []; - stream.on('data', (response: protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - const responses = await promise; - assert.deepStrictEqual(responses, expectedResponse); - assert((client.descriptors.page.listDataPolicies.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listDataPolicies, request)); - assert( - (client.descriptors.page.listDataPolicies.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('invokes listDataPoliciesStream with error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.descriptors.page.listDataPolicies.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listDataPoliciesStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy[] = []; - stream.on('data', (response: protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listDataPolicies.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listDataPolicies, request)); - assert( - (client.descriptors.page.listDataPolicies.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listDataPolicies without error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - ]; - client.descriptors.page.listDataPolicies.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy[] = []; - const iterable = client.listDataPoliciesAsync(request); - for await (const resource of iterable) { - responses.push(resource!); - } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listDataPolicies with error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.descriptors.page.listDataPolicies.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listDataPoliciesAsync(request); - await assert.rejects(async () => { - const responses: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - }); - - describe('Path templates', () => { - - describe('dataPolicy', () => { - const fakePath = "/rendered/path/dataPolicy"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - data_policy: "dataPolicyValue", - }; - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.dataPolicyPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.dataPolicyPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('dataPolicyPath', () => { - const result = client.dataPolicyPath("projectValue", "locationValue", "dataPolicyValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.dataPolicyPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromDataPolicyName', () => { - const result = client.matchProjectFromDataPolicyName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromDataPolicyName', () => { - const result = client.matchLocationFromDataPolicyName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchDataPolicyFromDataPolicyName', () => { - const result = client.matchDataPolicyFromDataPolicyName(fakePath); - assert.strictEqual(result, "dataPolicyValue"); - assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('location', () => { - const fakePath = "/rendered/path/location"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - }; - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.locationPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.locationPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('locationPath', () => { - const result = client.locationPath("projectValue", "locationValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.locationPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromLocationName', () => { - const result = client.matchProjectFromLocationName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.locationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromLocationName', () => { - const result = client.matchLocationFromLocationName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.locationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('project', () => { - const fakePath = "/rendered/path/project"; - const expectedParameters = { - project: "projectValue", - }; - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.projectPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.projectPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('projectPath', () => { - const result = client.projectPath("projectValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.projectPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromProjectName', () => { - const result = client.matchProjectFromProjectName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.projectPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - }); -}); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/tsconfig.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/tsconfig.json deleted file mode 100644 index c78f1c884ef..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": "./node_modules/gts/tsconfig-google.json", - "compilerOptions": { - "rootDir": ".", - "outDir": "build", - "resolveJsonModule": true, - "lib": [ - "es2018", - "dom" - ] - }, - "include": [ - "src/*.ts", - "src/**/*.ts", - "test/*.ts", - "test/**/*.ts", - "system-test/*.ts" - ] -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/webpack.config.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/webpack.config.js deleted file mode 100644 index 032cd610597..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/webpack.config.js +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -const path = require('path'); - -module.exports = { - entry: './src/index.ts', - output: { - library: 'DataPolicyService', - filename: './data-policy-service.js', - }, - node: { - child_process: 'empty', - fs: 'empty', - crypto: 'empty', - }, - resolve: { - alias: { - '../../../package.json': path.resolve(__dirname, 'package.json'), - }, - extensions: ['.js', '.json', '.ts'], - }, - module: { - rules: [ - { - test: /\.tsx?$/, - use: 'ts-loader', - exclude: /node_modules/ - }, - { - test: /node_modules[\\/]@grpc[\\/]grpc-js/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]grpc/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]retry-request/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]https?-proxy-agent/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]gtoken/, - use: 'null-loader' - }, - ], - }, - mode: 'production', -}; diff --git a/packages/google-cloud-bigquery-datapolicies/README.md b/packages/google-cloud-bigquery-datapolicies/README.md index e3d86b52051..7842fd00d4a 100644 --- a/packages/google-cloud-bigquery-datapolicies/README.md +++ b/packages/google-cloud-bigquery-datapolicies/README.md @@ -112,6 +112,15 @@ Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/ | Sample | Source Code | Try it | | --------------------------- | --------------------------------- | ------ | +| Data_policy_service.create_data_policy | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.create_data_policy.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.create_data_policy.js,samples/README.md) | +| Data_policy_service.delete_data_policy | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.delete_data_policy.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.delete_data_policy.js,samples/README.md) | +| Data_policy_service.get_data_policy | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.get_data_policy.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.get_data_policy.js,samples/README.md) | +| Data_policy_service.get_iam_policy | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.get_iam_policy.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.get_iam_policy.js,samples/README.md) | +| Data_policy_service.list_data_policies | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.list_data_policies.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.list_data_policies.js,samples/README.md) | +| Data_policy_service.rename_data_policy | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.rename_data_policy.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.rename_data_policy.js,samples/README.md) | +| Data_policy_service.set_iam_policy | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.set_iam_policy.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.set_iam_policy.js,samples/README.md) | +| Data_policy_service.test_iam_permissions | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.test_iam_permissions.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.test_iam_permissions.js,samples/README.md) | +| Data_policy_service.update_data_policy | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.update_data_policy.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.update_data_policy.js,samples/README.md) | | Data_policy_service.create_data_policy | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1beta1/data_policy_service.create_data_policy.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-bigquery-datapolicies/samples/generated/v1beta1/data_policy_service.create_data_policy.js,samples/README.md) | | Data_policy_service.delete_data_policy | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1beta1/data_policy_service.delete_data_policy.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-bigquery-datapolicies/samples/generated/v1beta1/data_policy_service.delete_data_policy.js,samples/README.md) | | Data_policy_service.get_data_policy | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1beta1/data_policy_service.get_data_policy.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-bigquery-datapolicies/samples/generated/v1beta1/data_policy_service.get_data_policy.js,samples/README.md) | diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto b/packages/google-cloud-bigquery-datapolicies/protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto similarity index 100% rename from owl-bot-staging/google-cloud-bigquery-datapolicies/v1/protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto rename to packages/google-cloud-bigquery-datapolicies/protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto diff --git a/packages/google-cloud-bigquery-datapolicies/protos/protos.d.ts b/packages/google-cloud-bigquery-datapolicies/protos/protos.d.ts index e17249c1cc5..c4508f17a70 100644 --- a/packages/google-cloud-bigquery-datapolicies/protos/protos.d.ts +++ b/packages/google-cloud-bigquery-datapolicies/protos/protos.d.ts @@ -26,6 +26,1192 @@ export namespace google { /** Namespace datapolicies. */ namespace datapolicies { + /** Namespace v1. */ + namespace v1 { + + /** Represents a DataPolicyService */ + class DataPolicyService extends $protobuf.rpc.Service { + + /** + * Constructs a new DataPolicyService service. + * @param rpcImpl RPC implementation + * @param [requestDelimited=false] Whether requests are length-delimited + * @param [responseDelimited=false] Whether responses are length-delimited + */ + constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean); + + /** + * Creates new DataPolicyService service using the specified rpc implementation. + * @param rpcImpl RPC implementation + * @param [requestDelimited=false] Whether requests are length-delimited + * @param [responseDelimited=false] Whether responses are length-delimited + * @returns RPC service. Useful where requests and/or responses are streamed. + */ + public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): DataPolicyService; + + /** + * Calls CreateDataPolicy. + * @param request CreateDataPolicyRequest message or plain object + * @param callback Node-style callback called with the error, if any, and DataPolicy + */ + public createDataPolicy(request: google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, callback: google.cloud.bigquery.datapolicies.v1.DataPolicyService.CreateDataPolicyCallback): void; + + /** + * Calls CreateDataPolicy. + * @param request CreateDataPolicyRequest message or plain object + * @returns Promise + */ + public createDataPolicy(request: google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest): Promise; + + /** + * Calls UpdateDataPolicy. + * @param request UpdateDataPolicyRequest message or plain object + * @param callback Node-style callback called with the error, if any, and DataPolicy + */ + public updateDataPolicy(request: google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, callback: google.cloud.bigquery.datapolicies.v1.DataPolicyService.UpdateDataPolicyCallback): void; + + /** + * Calls UpdateDataPolicy. + * @param request UpdateDataPolicyRequest message or plain object + * @returns Promise + */ + public updateDataPolicy(request: google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest): Promise; + + /** + * Calls RenameDataPolicy. + * @param request RenameDataPolicyRequest message or plain object + * @param callback Node-style callback called with the error, if any, and DataPolicy + */ + public renameDataPolicy(request: google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, callback: google.cloud.bigquery.datapolicies.v1.DataPolicyService.RenameDataPolicyCallback): void; + + /** + * Calls RenameDataPolicy. + * @param request RenameDataPolicyRequest message or plain object + * @returns Promise + */ + public renameDataPolicy(request: google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest): Promise; + + /** + * Calls DeleteDataPolicy. + * @param request DeleteDataPolicyRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public deleteDataPolicy(request: google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, callback: google.cloud.bigquery.datapolicies.v1.DataPolicyService.DeleteDataPolicyCallback): void; + + /** + * Calls DeleteDataPolicy. + * @param request DeleteDataPolicyRequest message or plain object + * @returns Promise + */ + public deleteDataPolicy(request: google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest): Promise; + + /** + * Calls GetDataPolicy. + * @param request GetDataPolicyRequest message or plain object + * @param callback Node-style callback called with the error, if any, and DataPolicy + */ + public getDataPolicy(request: google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, callback: google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetDataPolicyCallback): void; + + /** + * Calls GetDataPolicy. + * @param request GetDataPolicyRequest message or plain object + * @returns Promise + */ + public getDataPolicy(request: google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest): Promise; + + /** + * Calls ListDataPolicies. + * @param request ListDataPoliciesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListDataPoliciesResponse + */ + public listDataPolicies(request: google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, callback: google.cloud.bigquery.datapolicies.v1.DataPolicyService.ListDataPoliciesCallback): void; + + /** + * Calls ListDataPolicies. + * @param request ListDataPoliciesRequest message or plain object + * @returns Promise + */ + public listDataPolicies(request: google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest): Promise; + + /** + * Calls GetIamPolicy. + * @param request GetIamPolicyRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Policy + */ + public getIamPolicy(request: google.iam.v1.IGetIamPolicyRequest, callback: google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetIamPolicyCallback): void; + + /** + * Calls GetIamPolicy. + * @param request GetIamPolicyRequest message or plain object + * @returns Promise + */ + public getIamPolicy(request: google.iam.v1.IGetIamPolicyRequest): Promise; + + /** + * Calls SetIamPolicy. + * @param request SetIamPolicyRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Policy + */ + public setIamPolicy(request: google.iam.v1.ISetIamPolicyRequest, callback: google.cloud.bigquery.datapolicies.v1.DataPolicyService.SetIamPolicyCallback): void; + + /** + * Calls SetIamPolicy. + * @param request SetIamPolicyRequest message or plain object + * @returns Promise + */ + public setIamPolicy(request: google.iam.v1.ISetIamPolicyRequest): Promise; + + /** + * Calls TestIamPermissions. + * @param request TestIamPermissionsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and TestIamPermissionsResponse + */ + public testIamPermissions(request: google.iam.v1.ITestIamPermissionsRequest, callback: google.cloud.bigquery.datapolicies.v1.DataPolicyService.TestIamPermissionsCallback): void; + + /** + * Calls TestIamPermissions. + * @param request TestIamPermissionsRequest message or plain object + * @returns Promise + */ + public testIamPermissions(request: google.iam.v1.ITestIamPermissionsRequest): Promise; + } + + namespace DataPolicyService { + + /** + * Callback as used by {@link google.cloud.bigquery.datapolicies.v1.DataPolicyService|createDataPolicy}. + * @param error Error, if any + * @param [response] DataPolicy + */ + type CreateDataPolicyCallback = (error: (Error|null), response?: google.cloud.bigquery.datapolicies.v1.DataPolicy) => void; + + /** + * Callback as used by {@link google.cloud.bigquery.datapolicies.v1.DataPolicyService|updateDataPolicy}. + * @param error Error, if any + * @param [response] DataPolicy + */ + type UpdateDataPolicyCallback = (error: (Error|null), response?: google.cloud.bigquery.datapolicies.v1.DataPolicy) => void; + + /** + * Callback as used by {@link google.cloud.bigquery.datapolicies.v1.DataPolicyService|renameDataPolicy}. + * @param error Error, if any + * @param [response] DataPolicy + */ + type RenameDataPolicyCallback = (error: (Error|null), response?: google.cloud.bigquery.datapolicies.v1.DataPolicy) => void; + + /** + * Callback as used by {@link google.cloud.bigquery.datapolicies.v1.DataPolicyService|deleteDataPolicy}. + * @param error Error, if any + * @param [response] Empty + */ + type DeleteDataPolicyCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + + /** + * Callback as used by {@link google.cloud.bigquery.datapolicies.v1.DataPolicyService|getDataPolicy}. + * @param error Error, if any + * @param [response] DataPolicy + */ + type GetDataPolicyCallback = (error: (Error|null), response?: google.cloud.bigquery.datapolicies.v1.DataPolicy) => void; + + /** + * Callback as used by {@link google.cloud.bigquery.datapolicies.v1.DataPolicyService|listDataPolicies}. + * @param error Error, if any + * @param [response] ListDataPoliciesResponse + */ + type ListDataPoliciesCallback = (error: (Error|null), response?: google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse) => void; + + /** + * Callback as used by {@link google.cloud.bigquery.datapolicies.v1.DataPolicyService|getIamPolicy}. + * @param error Error, if any + * @param [response] Policy + */ + type GetIamPolicyCallback = (error: (Error|null), response?: google.iam.v1.Policy) => void; + + /** + * Callback as used by {@link google.cloud.bigquery.datapolicies.v1.DataPolicyService|setIamPolicy}. + * @param error Error, if any + * @param [response] Policy + */ + type SetIamPolicyCallback = (error: (Error|null), response?: google.iam.v1.Policy) => void; + + /** + * Callback as used by {@link google.cloud.bigquery.datapolicies.v1.DataPolicyService|testIamPermissions}. + * @param error Error, if any + * @param [response] TestIamPermissionsResponse + */ + type TestIamPermissionsCallback = (error: (Error|null), response?: google.iam.v1.TestIamPermissionsResponse) => void; + } + + /** Properties of a CreateDataPolicyRequest. */ + interface ICreateDataPolicyRequest { + + /** CreateDataPolicyRequest parent */ + parent?: (string|null); + + /** CreateDataPolicyRequest dataPolicy */ + dataPolicy?: (google.cloud.bigquery.datapolicies.v1.IDataPolicy|null); + } + + /** Represents a CreateDataPolicyRequest. */ + class CreateDataPolicyRequest implements ICreateDataPolicyRequest { + + /** + * Constructs a new CreateDataPolicyRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest); + + /** CreateDataPolicyRequest parent. */ + public parent: string; + + /** CreateDataPolicyRequest dataPolicy. */ + public dataPolicy?: (google.cloud.bigquery.datapolicies.v1.IDataPolicy|null); + + /** + * Creates a new CreateDataPolicyRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns CreateDataPolicyRequest instance + */ + public static create(properties?: google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest): google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest; + + /** + * Encodes the specified CreateDataPolicyRequest message. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest.verify|verify} messages. + * @param message CreateDataPolicyRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CreateDataPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest.verify|verify} messages. + * @param message CreateDataPolicyRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CreateDataPolicyRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CreateDataPolicyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest; + + /** + * Decodes a CreateDataPolicyRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CreateDataPolicyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest; + + /** + * Verifies a CreateDataPolicyRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CreateDataPolicyRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CreateDataPolicyRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest; + + /** + * Creates a plain object from a CreateDataPolicyRequest message. Also converts values to other types if specified. + * @param message CreateDataPolicyRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CreateDataPolicyRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CreateDataPolicyRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an UpdateDataPolicyRequest. */ + interface IUpdateDataPolicyRequest { + + /** UpdateDataPolicyRequest dataPolicy */ + dataPolicy?: (google.cloud.bigquery.datapolicies.v1.IDataPolicy|null); + + /** UpdateDataPolicyRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + } + + /** Represents an UpdateDataPolicyRequest. */ + class UpdateDataPolicyRequest implements IUpdateDataPolicyRequest { + + /** + * Constructs a new UpdateDataPolicyRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest); + + /** UpdateDataPolicyRequest dataPolicy. */ + public dataPolicy?: (google.cloud.bigquery.datapolicies.v1.IDataPolicy|null); + + /** UpdateDataPolicyRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** + * Creates a new UpdateDataPolicyRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns UpdateDataPolicyRequest instance + */ + public static create(properties?: google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest): google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest; + + /** + * Encodes the specified UpdateDataPolicyRequest message. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest.verify|verify} messages. + * @param message UpdateDataPolicyRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UpdateDataPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest.verify|verify} messages. + * @param message UpdateDataPolicyRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UpdateDataPolicyRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UpdateDataPolicyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest; + + /** + * Decodes an UpdateDataPolicyRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UpdateDataPolicyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest; + + /** + * Verifies an UpdateDataPolicyRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an UpdateDataPolicyRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UpdateDataPolicyRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest; + + /** + * Creates a plain object from an UpdateDataPolicyRequest message. Also converts values to other types if specified. + * @param message UpdateDataPolicyRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UpdateDataPolicyRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UpdateDataPolicyRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RenameDataPolicyRequest. */ + interface IRenameDataPolicyRequest { + + /** RenameDataPolicyRequest name */ + name?: (string|null); + + /** RenameDataPolicyRequest newDataPolicyId */ + newDataPolicyId?: (string|null); + } + + /** Represents a RenameDataPolicyRequest. */ + class RenameDataPolicyRequest implements IRenameDataPolicyRequest { + + /** + * Constructs a new RenameDataPolicyRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest); + + /** RenameDataPolicyRequest name. */ + public name: string; + + /** RenameDataPolicyRequest newDataPolicyId. */ + public newDataPolicyId: string; + + /** + * Creates a new RenameDataPolicyRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns RenameDataPolicyRequest instance + */ + public static create(properties?: google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest): google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest; + + /** + * Encodes the specified RenameDataPolicyRequest message. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest.verify|verify} messages. + * @param message RenameDataPolicyRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RenameDataPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest.verify|verify} messages. + * @param message RenameDataPolicyRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RenameDataPolicyRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RenameDataPolicyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest; + + /** + * Decodes a RenameDataPolicyRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RenameDataPolicyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest; + + /** + * Verifies a RenameDataPolicyRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RenameDataPolicyRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RenameDataPolicyRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest; + + /** + * Creates a plain object from a RenameDataPolicyRequest message. Also converts values to other types if specified. + * @param message RenameDataPolicyRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RenameDataPolicyRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RenameDataPolicyRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DeleteDataPolicyRequest. */ + interface IDeleteDataPolicyRequest { + + /** DeleteDataPolicyRequest name */ + name?: (string|null); + } + + /** Represents a DeleteDataPolicyRequest. */ + class DeleteDataPolicyRequest implements IDeleteDataPolicyRequest { + + /** + * Constructs a new DeleteDataPolicyRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest); + + /** DeleteDataPolicyRequest name. */ + public name: string; + + /** + * Creates a new DeleteDataPolicyRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DeleteDataPolicyRequest instance + */ + public static create(properties?: google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest): google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest; + + /** + * Encodes the specified DeleteDataPolicyRequest message. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest.verify|verify} messages. + * @param message DeleteDataPolicyRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DeleteDataPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest.verify|verify} messages. + * @param message DeleteDataPolicyRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DeleteDataPolicyRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DeleteDataPolicyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest; + + /** + * Decodes a DeleteDataPolicyRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DeleteDataPolicyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest; + + /** + * Verifies a DeleteDataPolicyRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DeleteDataPolicyRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DeleteDataPolicyRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest; + + /** + * Creates a plain object from a DeleteDataPolicyRequest message. Also converts values to other types if specified. + * @param message DeleteDataPolicyRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DeleteDataPolicyRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DeleteDataPolicyRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a GetDataPolicyRequest. */ + interface IGetDataPolicyRequest { + + /** GetDataPolicyRequest name */ + name?: (string|null); + } + + /** Represents a GetDataPolicyRequest. */ + class GetDataPolicyRequest implements IGetDataPolicyRequest { + + /** + * Constructs a new GetDataPolicyRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest); + + /** GetDataPolicyRequest name. */ + public name: string; + + /** + * Creates a new GetDataPolicyRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetDataPolicyRequest instance + */ + public static create(properties?: google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest): google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest; + + /** + * Encodes the specified GetDataPolicyRequest message. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest.verify|verify} messages. + * @param message GetDataPolicyRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetDataPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest.verify|verify} messages. + * @param message GetDataPolicyRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetDataPolicyRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetDataPolicyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest; + + /** + * Decodes a GetDataPolicyRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetDataPolicyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest; + + /** + * Verifies a GetDataPolicyRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetDataPolicyRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetDataPolicyRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest; + + /** + * Creates a plain object from a GetDataPolicyRequest message. Also converts values to other types if specified. + * @param message GetDataPolicyRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetDataPolicyRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetDataPolicyRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListDataPoliciesRequest. */ + interface IListDataPoliciesRequest { + + /** ListDataPoliciesRequest parent */ + parent?: (string|null); + + /** ListDataPoliciesRequest pageSize */ + pageSize?: (number|null); + + /** ListDataPoliciesRequest pageToken */ + pageToken?: (string|null); + + /** ListDataPoliciesRequest filter */ + filter?: (string|null); + } + + /** Represents a ListDataPoliciesRequest. */ + class ListDataPoliciesRequest implements IListDataPoliciesRequest { + + /** + * Constructs a new ListDataPoliciesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest); + + /** ListDataPoliciesRequest parent. */ + public parent: string; + + /** ListDataPoliciesRequest pageSize. */ + public pageSize: number; + + /** ListDataPoliciesRequest pageToken. */ + public pageToken: string; + + /** ListDataPoliciesRequest filter. */ + public filter: string; + + /** + * Creates a new ListDataPoliciesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListDataPoliciesRequest instance + */ + public static create(properties?: google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest): google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest; + + /** + * Encodes the specified ListDataPoliciesRequest message. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest.verify|verify} messages. + * @param message ListDataPoliciesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListDataPoliciesRequest message, length delimited. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest.verify|verify} messages. + * @param message ListDataPoliciesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListDataPoliciesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListDataPoliciesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest; + + /** + * Decodes a ListDataPoliciesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListDataPoliciesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest; + + /** + * Verifies a ListDataPoliciesRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListDataPoliciesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListDataPoliciesRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest; + + /** + * Creates a plain object from a ListDataPoliciesRequest message. Also converts values to other types if specified. + * @param message ListDataPoliciesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListDataPoliciesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListDataPoliciesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListDataPoliciesResponse. */ + interface IListDataPoliciesResponse { + + /** ListDataPoliciesResponse dataPolicies */ + dataPolicies?: (google.cloud.bigquery.datapolicies.v1.IDataPolicy[]|null); + + /** ListDataPoliciesResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListDataPoliciesResponse. */ + class ListDataPoliciesResponse implements IListDataPoliciesResponse { + + /** + * Constructs a new ListDataPoliciesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse); + + /** ListDataPoliciesResponse dataPolicies. */ + public dataPolicies: google.cloud.bigquery.datapolicies.v1.IDataPolicy[]; + + /** ListDataPoliciesResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListDataPoliciesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListDataPoliciesResponse instance + */ + public static create(properties?: google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse): google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse; + + /** + * Encodes the specified ListDataPoliciesResponse message. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse.verify|verify} messages. + * @param message ListDataPoliciesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListDataPoliciesResponse message, length delimited. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse.verify|verify} messages. + * @param message ListDataPoliciesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListDataPoliciesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListDataPoliciesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse; + + /** + * Decodes a ListDataPoliciesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListDataPoliciesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse; + + /** + * Verifies a ListDataPoliciesResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListDataPoliciesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListDataPoliciesResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse; + + /** + * Creates a plain object from a ListDataPoliciesResponse message. Also converts values to other types if specified. + * @param message ListDataPoliciesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListDataPoliciesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListDataPoliciesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DataPolicy. */ + interface IDataPolicy { + + /** DataPolicy policyTag */ + policyTag?: (string|null); + + /** DataPolicy dataMaskingPolicy */ + dataMaskingPolicy?: (google.cloud.bigquery.datapolicies.v1.IDataMaskingPolicy|null); + + /** DataPolicy name */ + name?: (string|null); + + /** DataPolicy dataPolicyType */ + dataPolicyType?: (google.cloud.bigquery.datapolicies.v1.DataPolicy.DataPolicyType|keyof typeof google.cloud.bigquery.datapolicies.v1.DataPolicy.DataPolicyType|null); + + /** DataPolicy dataPolicyId */ + dataPolicyId?: (string|null); + } + + /** Represents a DataPolicy. */ + class DataPolicy implements IDataPolicy { + + /** + * Constructs a new DataPolicy. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.bigquery.datapolicies.v1.IDataPolicy); + + /** DataPolicy policyTag. */ + public policyTag?: (string|null); + + /** DataPolicy dataMaskingPolicy. */ + public dataMaskingPolicy?: (google.cloud.bigquery.datapolicies.v1.IDataMaskingPolicy|null); + + /** DataPolicy name. */ + public name: string; + + /** DataPolicy dataPolicyType. */ + public dataPolicyType: (google.cloud.bigquery.datapolicies.v1.DataPolicy.DataPolicyType|keyof typeof google.cloud.bigquery.datapolicies.v1.DataPolicy.DataPolicyType); + + /** DataPolicy dataPolicyId. */ + public dataPolicyId: string; + + /** DataPolicy matchingLabel. */ + public matchingLabel?: "policyTag"; + + /** DataPolicy policy. */ + public policy?: "dataMaskingPolicy"; + + /** + * Creates a new DataPolicy instance using the specified properties. + * @param [properties] Properties to set + * @returns DataPolicy instance + */ + public static create(properties?: google.cloud.bigquery.datapolicies.v1.IDataPolicy): google.cloud.bigquery.datapolicies.v1.DataPolicy; + + /** + * Encodes the specified DataPolicy message. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.DataPolicy.verify|verify} messages. + * @param message DataPolicy message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.bigquery.datapolicies.v1.IDataPolicy, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DataPolicy message, length delimited. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.DataPolicy.verify|verify} messages. + * @param message DataPolicy message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.bigquery.datapolicies.v1.IDataPolicy, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DataPolicy message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DataPolicy + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.bigquery.datapolicies.v1.DataPolicy; + + /** + * Decodes a DataPolicy message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DataPolicy + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.bigquery.datapolicies.v1.DataPolicy; + + /** + * Verifies a DataPolicy message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DataPolicy message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DataPolicy + */ + public static fromObject(object: { [k: string]: any }): google.cloud.bigquery.datapolicies.v1.DataPolicy; + + /** + * Creates a plain object from a DataPolicy message. Also converts values to other types if specified. + * @param message DataPolicy + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.bigquery.datapolicies.v1.DataPolicy, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DataPolicy to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DataPolicy + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace DataPolicy { + + /** DataPolicyType enum. */ + enum DataPolicyType { + DATA_POLICY_TYPE_UNSPECIFIED = 0, + COLUMN_LEVEL_SECURITY_POLICY = 3, + DATA_MASKING_POLICY = 2 + } + } + + /** Properties of a DataMaskingPolicy. */ + interface IDataMaskingPolicy { + + /** DataMaskingPolicy predefinedExpression */ + predefinedExpression?: (google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy.PredefinedExpression|keyof typeof google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy.PredefinedExpression|null); + } + + /** Represents a DataMaskingPolicy. */ + class DataMaskingPolicy implements IDataMaskingPolicy { + + /** + * Constructs a new DataMaskingPolicy. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.bigquery.datapolicies.v1.IDataMaskingPolicy); + + /** DataMaskingPolicy predefinedExpression. */ + public predefinedExpression?: (google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy.PredefinedExpression|keyof typeof google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy.PredefinedExpression|null); + + /** DataMaskingPolicy maskingExpression. */ + public maskingExpression?: "predefinedExpression"; + + /** + * Creates a new DataMaskingPolicy instance using the specified properties. + * @param [properties] Properties to set + * @returns DataMaskingPolicy instance + */ + public static create(properties?: google.cloud.bigquery.datapolicies.v1.IDataMaskingPolicy): google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy; + + /** + * Encodes the specified DataMaskingPolicy message. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy.verify|verify} messages. + * @param message DataMaskingPolicy message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.bigquery.datapolicies.v1.IDataMaskingPolicy, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DataMaskingPolicy message, length delimited. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy.verify|verify} messages. + * @param message DataMaskingPolicy message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.bigquery.datapolicies.v1.IDataMaskingPolicy, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DataMaskingPolicy message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DataMaskingPolicy + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy; + + /** + * Decodes a DataMaskingPolicy message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DataMaskingPolicy + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy; + + /** + * Verifies a DataMaskingPolicy message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DataMaskingPolicy message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DataMaskingPolicy + */ + public static fromObject(object: { [k: string]: any }): google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy; + + /** + * Creates a plain object from a DataMaskingPolicy message. Also converts values to other types if specified. + * @param message DataMaskingPolicy + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DataMaskingPolicy to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DataMaskingPolicy + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace DataMaskingPolicy { + + /** PredefinedExpression enum. */ + enum PredefinedExpression { + PREDEFINED_EXPRESSION_UNSPECIFIED = 0, + SHA256 = 3, + ALWAYS_NULL = 5, + DEFAULT_MASKING_VALUE = 7 + } + } + } + /** Namespace v1beta1. */ namespace v1beta1 { diff --git a/packages/google-cloud-bigquery-datapolicies/protos/protos.js b/packages/google-cloud-bigquery-datapolicies/protos/protos.js index 4730bddaa14..9d27b5d61c1 100644 --- a/packages/google-cloud-bigquery-datapolicies/protos/protos.js +++ b/packages/google-cloud-bigquery-datapolicies/protos/protos.js @@ -66,6 +66,2617 @@ */ var datapolicies = {}; + datapolicies.v1 = (function() { + + /** + * Namespace v1. + * @memberof google.cloud.bigquery.datapolicies + * @namespace + */ + var v1 = {}; + + v1.DataPolicyService = (function() { + + /** + * Constructs a new DataPolicyService service. + * @memberof google.cloud.bigquery.datapolicies.v1 + * @classdesc Represents a DataPolicyService + * @extends $protobuf.rpc.Service + * @constructor + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + */ + function DataPolicyService(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (DataPolicyService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = DataPolicyService; + + /** + * Creates new DataPolicyService service using the specified rpc implementation. + * @function create + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @static + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + * @returns {DataPolicyService} RPC service. Useful where requests and/or responses are streamed. + */ + DataPolicyService.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.bigquery.datapolicies.v1.DataPolicyService|createDataPolicy}. + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @typedef CreateDataPolicyCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.bigquery.datapolicies.v1.DataPolicy} [response] DataPolicy + */ + + /** + * Calls CreateDataPolicy. + * @function createDataPolicy + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @instance + * @param {google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest} request CreateDataPolicyRequest message or plain object + * @param {google.cloud.bigquery.datapolicies.v1.DataPolicyService.CreateDataPolicyCallback} callback Node-style callback called with the error, if any, and DataPolicy + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(DataPolicyService.prototype.createDataPolicy = function createDataPolicy(request, callback) { + return this.rpcCall(createDataPolicy, $root.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest, $root.google.cloud.bigquery.datapolicies.v1.DataPolicy, request, callback); + }, "name", { value: "CreateDataPolicy" }); + + /** + * Calls CreateDataPolicy. + * @function createDataPolicy + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @instance + * @param {google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest} request CreateDataPolicyRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.bigquery.datapolicies.v1.DataPolicyService|updateDataPolicy}. + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @typedef UpdateDataPolicyCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.bigquery.datapolicies.v1.DataPolicy} [response] DataPolicy + */ + + /** + * Calls UpdateDataPolicy. + * @function updateDataPolicy + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @instance + * @param {google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest} request UpdateDataPolicyRequest message or plain object + * @param {google.cloud.bigquery.datapolicies.v1.DataPolicyService.UpdateDataPolicyCallback} callback Node-style callback called with the error, if any, and DataPolicy + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(DataPolicyService.prototype.updateDataPolicy = function updateDataPolicy(request, callback) { + return this.rpcCall(updateDataPolicy, $root.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest, $root.google.cloud.bigquery.datapolicies.v1.DataPolicy, request, callback); + }, "name", { value: "UpdateDataPolicy" }); + + /** + * Calls UpdateDataPolicy. + * @function updateDataPolicy + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @instance + * @param {google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest} request UpdateDataPolicyRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.bigquery.datapolicies.v1.DataPolicyService|renameDataPolicy}. + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @typedef RenameDataPolicyCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.bigquery.datapolicies.v1.DataPolicy} [response] DataPolicy + */ + + /** + * Calls RenameDataPolicy. + * @function renameDataPolicy + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @instance + * @param {google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest} request RenameDataPolicyRequest message or plain object + * @param {google.cloud.bigquery.datapolicies.v1.DataPolicyService.RenameDataPolicyCallback} callback Node-style callback called with the error, if any, and DataPolicy + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(DataPolicyService.prototype.renameDataPolicy = function renameDataPolicy(request, callback) { + return this.rpcCall(renameDataPolicy, $root.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest, $root.google.cloud.bigquery.datapolicies.v1.DataPolicy, request, callback); + }, "name", { value: "RenameDataPolicy" }); + + /** + * Calls RenameDataPolicy. + * @function renameDataPolicy + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @instance + * @param {google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest} request RenameDataPolicyRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.bigquery.datapolicies.v1.DataPolicyService|deleteDataPolicy}. + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @typedef DeleteDataPolicyCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls DeleteDataPolicy. + * @function deleteDataPolicy + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @instance + * @param {google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest} request DeleteDataPolicyRequest message or plain object + * @param {google.cloud.bigquery.datapolicies.v1.DataPolicyService.DeleteDataPolicyCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(DataPolicyService.prototype.deleteDataPolicy = function deleteDataPolicy(request, callback) { + return this.rpcCall(deleteDataPolicy, $root.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "DeleteDataPolicy" }); + + /** + * Calls DeleteDataPolicy. + * @function deleteDataPolicy + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @instance + * @param {google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest} request DeleteDataPolicyRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.bigquery.datapolicies.v1.DataPolicyService|getDataPolicy}. + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @typedef GetDataPolicyCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.bigquery.datapolicies.v1.DataPolicy} [response] DataPolicy + */ + + /** + * Calls GetDataPolicy. + * @function getDataPolicy + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @instance + * @param {google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest} request GetDataPolicyRequest message or plain object + * @param {google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetDataPolicyCallback} callback Node-style callback called with the error, if any, and DataPolicy + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(DataPolicyService.prototype.getDataPolicy = function getDataPolicy(request, callback) { + return this.rpcCall(getDataPolicy, $root.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest, $root.google.cloud.bigquery.datapolicies.v1.DataPolicy, request, callback); + }, "name", { value: "GetDataPolicy" }); + + /** + * Calls GetDataPolicy. + * @function getDataPolicy + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @instance + * @param {google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest} request GetDataPolicyRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.bigquery.datapolicies.v1.DataPolicyService|listDataPolicies}. + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @typedef ListDataPoliciesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse} [response] ListDataPoliciesResponse + */ + + /** + * Calls ListDataPolicies. + * @function listDataPolicies + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @instance + * @param {google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest} request ListDataPoliciesRequest message or plain object + * @param {google.cloud.bigquery.datapolicies.v1.DataPolicyService.ListDataPoliciesCallback} callback Node-style callback called with the error, if any, and ListDataPoliciesResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(DataPolicyService.prototype.listDataPolicies = function listDataPolicies(request, callback) { + return this.rpcCall(listDataPolicies, $root.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest, $root.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse, request, callback); + }, "name", { value: "ListDataPolicies" }); + + /** + * Calls ListDataPolicies. + * @function listDataPolicies + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @instance + * @param {google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest} request ListDataPoliciesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.bigquery.datapolicies.v1.DataPolicyService|getIamPolicy}. + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @typedef GetIamPolicyCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.iam.v1.Policy} [response] Policy + */ + + /** + * Calls GetIamPolicy. + * @function getIamPolicy + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @instance + * @param {google.iam.v1.IGetIamPolicyRequest} request GetIamPolicyRequest message or plain object + * @param {google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetIamPolicyCallback} callback Node-style callback called with the error, if any, and Policy + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(DataPolicyService.prototype.getIamPolicy = function getIamPolicy(request, callback) { + return this.rpcCall(getIamPolicy, $root.google.iam.v1.GetIamPolicyRequest, $root.google.iam.v1.Policy, request, callback); + }, "name", { value: "GetIamPolicy" }); + + /** + * Calls GetIamPolicy. + * @function getIamPolicy + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @instance + * @param {google.iam.v1.IGetIamPolicyRequest} request GetIamPolicyRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.bigquery.datapolicies.v1.DataPolicyService|setIamPolicy}. + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @typedef SetIamPolicyCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.iam.v1.Policy} [response] Policy + */ + + /** + * Calls SetIamPolicy. + * @function setIamPolicy + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @instance + * @param {google.iam.v1.ISetIamPolicyRequest} request SetIamPolicyRequest message or plain object + * @param {google.cloud.bigquery.datapolicies.v1.DataPolicyService.SetIamPolicyCallback} callback Node-style callback called with the error, if any, and Policy + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(DataPolicyService.prototype.setIamPolicy = function setIamPolicy(request, callback) { + return this.rpcCall(setIamPolicy, $root.google.iam.v1.SetIamPolicyRequest, $root.google.iam.v1.Policy, request, callback); + }, "name", { value: "SetIamPolicy" }); + + /** + * Calls SetIamPolicy. + * @function setIamPolicy + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @instance + * @param {google.iam.v1.ISetIamPolicyRequest} request SetIamPolicyRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.bigquery.datapolicies.v1.DataPolicyService|testIamPermissions}. + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @typedef TestIamPermissionsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.iam.v1.TestIamPermissionsResponse} [response] TestIamPermissionsResponse + */ + + /** + * Calls TestIamPermissions. + * @function testIamPermissions + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @instance + * @param {google.iam.v1.ITestIamPermissionsRequest} request TestIamPermissionsRequest message or plain object + * @param {google.cloud.bigquery.datapolicies.v1.DataPolicyService.TestIamPermissionsCallback} callback Node-style callback called with the error, if any, and TestIamPermissionsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(DataPolicyService.prototype.testIamPermissions = function testIamPermissions(request, callback) { + return this.rpcCall(testIamPermissions, $root.google.iam.v1.TestIamPermissionsRequest, $root.google.iam.v1.TestIamPermissionsResponse, request, callback); + }, "name", { value: "TestIamPermissions" }); + + /** + * Calls TestIamPermissions. + * @function testIamPermissions + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicyService + * @instance + * @param {google.iam.v1.ITestIamPermissionsRequest} request TestIamPermissionsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return DataPolicyService; + })(); + + v1.CreateDataPolicyRequest = (function() { + + /** + * Properties of a CreateDataPolicyRequest. + * @memberof google.cloud.bigquery.datapolicies.v1 + * @interface ICreateDataPolicyRequest + * @property {string|null} [parent] CreateDataPolicyRequest parent + * @property {google.cloud.bigquery.datapolicies.v1.IDataPolicy|null} [dataPolicy] CreateDataPolicyRequest dataPolicy + */ + + /** + * Constructs a new CreateDataPolicyRequest. + * @memberof google.cloud.bigquery.datapolicies.v1 + * @classdesc Represents a CreateDataPolicyRequest. + * @implements ICreateDataPolicyRequest + * @constructor + * @param {google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest=} [properties] Properties to set + */ + function CreateDataPolicyRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CreateDataPolicyRequest parent. + * @member {string} parent + * @memberof google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest + * @instance + */ + CreateDataPolicyRequest.prototype.parent = ""; + + /** + * CreateDataPolicyRequest dataPolicy. + * @member {google.cloud.bigquery.datapolicies.v1.IDataPolicy|null|undefined} dataPolicy + * @memberof google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest + * @instance + */ + CreateDataPolicyRequest.prototype.dataPolicy = null; + + /** + * Creates a new CreateDataPolicyRequest instance using the specified properties. + * @function create + * @memberof google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest=} [properties] Properties to set + * @returns {google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest} CreateDataPolicyRequest instance + */ + CreateDataPolicyRequest.create = function create(properties) { + return new CreateDataPolicyRequest(properties); + }; + + /** + * Encodes the specified CreateDataPolicyRequest message. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest} message CreateDataPolicyRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateDataPolicyRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.dataPolicy != null && Object.hasOwnProperty.call(message, "dataPolicy")) + $root.google.cloud.bigquery.datapolicies.v1.DataPolicy.encode(message.dataPolicy, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CreateDataPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest} message CreateDataPolicyRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateDataPolicyRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CreateDataPolicyRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest} CreateDataPolicyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateDataPolicyRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.dataPolicy = $root.google.cloud.bigquery.datapolicies.v1.DataPolicy.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CreateDataPolicyRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest} CreateDataPolicyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateDataPolicyRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CreateDataPolicyRequest message. + * @function verify + * @memberof google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CreateDataPolicyRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.dataPolicy != null && message.hasOwnProperty("dataPolicy")) { + var error = $root.google.cloud.bigquery.datapolicies.v1.DataPolicy.verify(message.dataPolicy); + if (error) + return "dataPolicy." + error; + } + return null; + }; + + /** + * Creates a CreateDataPolicyRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest} CreateDataPolicyRequest + */ + CreateDataPolicyRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest) + return object; + var message = new $root.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.dataPolicy != null) { + if (typeof object.dataPolicy !== "object") + throw TypeError(".google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest.dataPolicy: object expected"); + message.dataPolicy = $root.google.cloud.bigquery.datapolicies.v1.DataPolicy.fromObject(object.dataPolicy); + } + return message; + }; + + /** + * Creates a plain object from a CreateDataPolicyRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest} message CreateDataPolicyRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CreateDataPolicyRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.dataPolicy = null; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.dataPolicy != null && message.hasOwnProperty("dataPolicy")) + object.dataPolicy = $root.google.cloud.bigquery.datapolicies.v1.DataPolicy.toObject(message.dataPolicy, options); + return object; + }; + + /** + * Converts this CreateDataPolicyRequest to JSON. + * @function toJSON + * @memberof google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest + * @instance + * @returns {Object.} JSON object + */ + CreateDataPolicyRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CreateDataPolicyRequest + * @function getTypeUrl + * @memberof google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CreateDataPolicyRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest"; + }; + + return CreateDataPolicyRequest; + })(); + + v1.UpdateDataPolicyRequest = (function() { + + /** + * Properties of an UpdateDataPolicyRequest. + * @memberof google.cloud.bigquery.datapolicies.v1 + * @interface IUpdateDataPolicyRequest + * @property {google.cloud.bigquery.datapolicies.v1.IDataPolicy|null} [dataPolicy] UpdateDataPolicyRequest dataPolicy + * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateDataPolicyRequest updateMask + */ + + /** + * Constructs a new UpdateDataPolicyRequest. + * @memberof google.cloud.bigquery.datapolicies.v1 + * @classdesc Represents an UpdateDataPolicyRequest. + * @implements IUpdateDataPolicyRequest + * @constructor + * @param {google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest=} [properties] Properties to set + */ + function UpdateDataPolicyRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * UpdateDataPolicyRequest dataPolicy. + * @member {google.cloud.bigquery.datapolicies.v1.IDataPolicy|null|undefined} dataPolicy + * @memberof google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest + * @instance + */ + UpdateDataPolicyRequest.prototype.dataPolicy = null; + + /** + * UpdateDataPolicyRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest + * @instance + */ + UpdateDataPolicyRequest.prototype.updateMask = null; + + /** + * Creates a new UpdateDataPolicyRequest instance using the specified properties. + * @function create + * @memberof google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest=} [properties] Properties to set + * @returns {google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest} UpdateDataPolicyRequest instance + */ + UpdateDataPolicyRequest.create = function create(properties) { + return new UpdateDataPolicyRequest(properties); + }; + + /** + * Encodes the specified UpdateDataPolicyRequest message. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest} message UpdateDataPolicyRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateDataPolicyRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.dataPolicy != null && Object.hasOwnProperty.call(message, "dataPolicy")) + $root.google.cloud.bigquery.datapolicies.v1.DataPolicy.encode(message.dataPolicy, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified UpdateDataPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest} message UpdateDataPolicyRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateDataPolicyRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UpdateDataPolicyRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest} UpdateDataPolicyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateDataPolicyRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.dataPolicy = $root.google.cloud.bigquery.datapolicies.v1.DataPolicy.decode(reader, reader.uint32()); + break; + } + case 2: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UpdateDataPolicyRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest} UpdateDataPolicyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateDataPolicyRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UpdateDataPolicyRequest message. + * @function verify + * @memberof google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UpdateDataPolicyRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.dataPolicy != null && message.hasOwnProperty("dataPolicy")) { + var error = $root.google.cloud.bigquery.datapolicies.v1.DataPolicy.verify(message.dataPolicy); + if (error) + return "dataPolicy." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + return null; + }; + + /** + * Creates an UpdateDataPolicyRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest} UpdateDataPolicyRequest + */ + UpdateDataPolicyRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest) + return object; + var message = new $root.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest(); + if (object.dataPolicy != null) { + if (typeof object.dataPolicy !== "object") + throw TypeError(".google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest.dataPolicy: object expected"); + message.dataPolicy = $root.google.cloud.bigquery.datapolicies.v1.DataPolicy.fromObject(object.dataPolicy); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + return message; + }; + + /** + * Creates a plain object from an UpdateDataPolicyRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest} message UpdateDataPolicyRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UpdateDataPolicyRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.dataPolicy = null; + object.updateMask = null; + } + if (message.dataPolicy != null && message.hasOwnProperty("dataPolicy")) + object.dataPolicy = $root.google.cloud.bigquery.datapolicies.v1.DataPolicy.toObject(message.dataPolicy, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + return object; + }; + + /** + * Converts this UpdateDataPolicyRequest to JSON. + * @function toJSON + * @memberof google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest + * @instance + * @returns {Object.} JSON object + */ + UpdateDataPolicyRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for UpdateDataPolicyRequest + * @function getTypeUrl + * @memberof google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UpdateDataPolicyRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest"; + }; + + return UpdateDataPolicyRequest; + })(); + + v1.RenameDataPolicyRequest = (function() { + + /** + * Properties of a RenameDataPolicyRequest. + * @memberof google.cloud.bigquery.datapolicies.v1 + * @interface IRenameDataPolicyRequest + * @property {string|null} [name] RenameDataPolicyRequest name + * @property {string|null} [newDataPolicyId] RenameDataPolicyRequest newDataPolicyId + */ + + /** + * Constructs a new RenameDataPolicyRequest. + * @memberof google.cloud.bigquery.datapolicies.v1 + * @classdesc Represents a RenameDataPolicyRequest. + * @implements IRenameDataPolicyRequest + * @constructor + * @param {google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest=} [properties] Properties to set + */ + function RenameDataPolicyRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * RenameDataPolicyRequest name. + * @member {string} name + * @memberof google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest + * @instance + */ + RenameDataPolicyRequest.prototype.name = ""; + + /** + * RenameDataPolicyRequest newDataPolicyId. + * @member {string} newDataPolicyId + * @memberof google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest + * @instance + */ + RenameDataPolicyRequest.prototype.newDataPolicyId = ""; + + /** + * Creates a new RenameDataPolicyRequest instance using the specified properties. + * @function create + * @memberof google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest=} [properties] Properties to set + * @returns {google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest} RenameDataPolicyRequest instance + */ + RenameDataPolicyRequest.create = function create(properties) { + return new RenameDataPolicyRequest(properties); + }; + + /** + * Encodes the specified RenameDataPolicyRequest message. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest} message RenameDataPolicyRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RenameDataPolicyRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.newDataPolicyId != null && Object.hasOwnProperty.call(message, "newDataPolicyId")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.newDataPolicyId); + return writer; + }; + + /** + * Encodes the specified RenameDataPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest} message RenameDataPolicyRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RenameDataPolicyRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RenameDataPolicyRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest} RenameDataPolicyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RenameDataPolicyRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.newDataPolicyId = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RenameDataPolicyRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest} RenameDataPolicyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RenameDataPolicyRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RenameDataPolicyRequest message. + * @function verify + * @memberof google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RenameDataPolicyRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.newDataPolicyId != null && message.hasOwnProperty("newDataPolicyId")) + if (!$util.isString(message.newDataPolicyId)) + return "newDataPolicyId: string expected"; + return null; + }; + + /** + * Creates a RenameDataPolicyRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest} RenameDataPolicyRequest + */ + RenameDataPolicyRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest) + return object; + var message = new $root.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.newDataPolicyId != null) + message.newDataPolicyId = String(object.newDataPolicyId); + return message; + }; + + /** + * Creates a plain object from a RenameDataPolicyRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest} message RenameDataPolicyRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RenameDataPolicyRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.newDataPolicyId = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.newDataPolicyId != null && message.hasOwnProperty("newDataPolicyId")) + object.newDataPolicyId = message.newDataPolicyId; + return object; + }; + + /** + * Converts this RenameDataPolicyRequest to JSON. + * @function toJSON + * @memberof google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest + * @instance + * @returns {Object.} JSON object + */ + RenameDataPolicyRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RenameDataPolicyRequest + * @function getTypeUrl + * @memberof google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RenameDataPolicyRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest"; + }; + + return RenameDataPolicyRequest; + })(); + + v1.DeleteDataPolicyRequest = (function() { + + /** + * Properties of a DeleteDataPolicyRequest. + * @memberof google.cloud.bigquery.datapolicies.v1 + * @interface IDeleteDataPolicyRequest + * @property {string|null} [name] DeleteDataPolicyRequest name + */ + + /** + * Constructs a new DeleteDataPolicyRequest. + * @memberof google.cloud.bigquery.datapolicies.v1 + * @classdesc Represents a DeleteDataPolicyRequest. + * @implements IDeleteDataPolicyRequest + * @constructor + * @param {google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest=} [properties] Properties to set + */ + function DeleteDataPolicyRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DeleteDataPolicyRequest name. + * @member {string} name + * @memberof google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest + * @instance + */ + DeleteDataPolicyRequest.prototype.name = ""; + + /** + * Creates a new DeleteDataPolicyRequest instance using the specified properties. + * @function create + * @memberof google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest=} [properties] Properties to set + * @returns {google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest} DeleteDataPolicyRequest instance + */ + DeleteDataPolicyRequest.create = function create(properties) { + return new DeleteDataPolicyRequest(properties); + }; + + /** + * Encodes the specified DeleteDataPolicyRequest message. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest} message DeleteDataPolicyRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteDataPolicyRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified DeleteDataPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest} message DeleteDataPolicyRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteDataPolicyRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteDataPolicyRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest} DeleteDataPolicyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteDataPolicyRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DeleteDataPolicyRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest} DeleteDataPolicyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteDataPolicyRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteDataPolicyRequest message. + * @function verify + * @memberof google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteDataPolicyRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + return null; + }; + + /** + * Creates a DeleteDataPolicyRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest} DeleteDataPolicyRequest + */ + DeleteDataPolicyRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest) + return object; + var message = new $root.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a DeleteDataPolicyRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest} message DeleteDataPolicyRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteDataPolicyRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.name = ""; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + return object; + }; + + /** + * Converts this DeleteDataPolicyRequest to JSON. + * @function toJSON + * @memberof google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest + * @instance + * @returns {Object.} JSON object + */ + DeleteDataPolicyRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DeleteDataPolicyRequest + * @function getTypeUrl + * @memberof google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteDataPolicyRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest"; + }; + + return DeleteDataPolicyRequest; + })(); + + v1.GetDataPolicyRequest = (function() { + + /** + * Properties of a GetDataPolicyRequest. + * @memberof google.cloud.bigquery.datapolicies.v1 + * @interface IGetDataPolicyRequest + * @property {string|null} [name] GetDataPolicyRequest name + */ + + /** + * Constructs a new GetDataPolicyRequest. + * @memberof google.cloud.bigquery.datapolicies.v1 + * @classdesc Represents a GetDataPolicyRequest. + * @implements IGetDataPolicyRequest + * @constructor + * @param {google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest=} [properties] Properties to set + */ + function GetDataPolicyRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetDataPolicyRequest name. + * @member {string} name + * @memberof google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest + * @instance + */ + GetDataPolicyRequest.prototype.name = ""; + + /** + * Creates a new GetDataPolicyRequest instance using the specified properties. + * @function create + * @memberof google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest=} [properties] Properties to set + * @returns {google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest} GetDataPolicyRequest instance + */ + GetDataPolicyRequest.create = function create(properties) { + return new GetDataPolicyRequest(properties); + }; + + /** + * Encodes the specified GetDataPolicyRequest message. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest} message GetDataPolicyRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataPolicyRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified GetDataPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest} message GetDataPolicyRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetDataPolicyRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetDataPolicyRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest} GetDataPolicyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataPolicyRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetDataPolicyRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest} GetDataPolicyRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetDataPolicyRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetDataPolicyRequest message. + * @function verify + * @memberof google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetDataPolicyRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + return null; + }; + + /** + * Creates a GetDataPolicyRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest} GetDataPolicyRequest + */ + GetDataPolicyRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest) + return object; + var message = new $root.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a GetDataPolicyRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest} message GetDataPolicyRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetDataPolicyRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.name = ""; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + return object; + }; + + /** + * Converts this GetDataPolicyRequest to JSON. + * @function toJSON + * @memberof google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest + * @instance + * @returns {Object.} JSON object + */ + GetDataPolicyRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GetDataPolicyRequest + * @function getTypeUrl + * @memberof google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetDataPolicyRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest"; + }; + + return GetDataPolicyRequest; + })(); + + v1.ListDataPoliciesRequest = (function() { + + /** + * Properties of a ListDataPoliciesRequest. + * @memberof google.cloud.bigquery.datapolicies.v1 + * @interface IListDataPoliciesRequest + * @property {string|null} [parent] ListDataPoliciesRequest parent + * @property {number|null} [pageSize] ListDataPoliciesRequest pageSize + * @property {string|null} [pageToken] ListDataPoliciesRequest pageToken + * @property {string|null} [filter] ListDataPoliciesRequest filter + */ + + /** + * Constructs a new ListDataPoliciesRequest. + * @memberof google.cloud.bigquery.datapolicies.v1 + * @classdesc Represents a ListDataPoliciesRequest. + * @implements IListDataPoliciesRequest + * @constructor + * @param {google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest=} [properties] Properties to set + */ + function ListDataPoliciesRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListDataPoliciesRequest parent. + * @member {string} parent + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest + * @instance + */ + ListDataPoliciesRequest.prototype.parent = ""; + + /** + * ListDataPoliciesRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest + * @instance + */ + ListDataPoliciesRequest.prototype.pageSize = 0; + + /** + * ListDataPoliciesRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest + * @instance + */ + ListDataPoliciesRequest.prototype.pageToken = ""; + + /** + * ListDataPoliciesRequest filter. + * @member {string} filter + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest + * @instance + */ + ListDataPoliciesRequest.prototype.filter = ""; + + /** + * Creates a new ListDataPoliciesRequest instance using the specified properties. + * @function create + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest=} [properties] Properties to set + * @returns {google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest} ListDataPoliciesRequest instance + */ + ListDataPoliciesRequest.create = function create(properties) { + return new ListDataPoliciesRequest(properties); + }; + + /** + * Encodes the specified ListDataPoliciesRequest message. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest} message ListDataPoliciesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListDataPoliciesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + if (message.filter != null && Object.hasOwnProperty.call(message, "filter")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.filter); + return writer; + }; + + /** + * Encodes the specified ListDataPoliciesRequest message, length delimited. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest} message ListDataPoliciesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListDataPoliciesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListDataPoliciesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest} ListDataPoliciesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListDataPoliciesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.pageSize = reader.int32(); + break; + } + case 3: { + message.pageToken = reader.string(); + break; + } + case 4: { + message.filter = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListDataPoliciesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest} ListDataPoliciesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListDataPoliciesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListDataPoliciesRequest message. + * @function verify + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListDataPoliciesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (!$util.isInteger(message.pageSize)) + return "pageSize: integer expected"; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (!$util.isString(message.pageToken)) + return "pageToken: string expected"; + if (message.filter != null && message.hasOwnProperty("filter")) + if (!$util.isString(message.filter)) + return "filter: string expected"; + return null; + }; + + /** + * Creates a ListDataPoliciesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest} ListDataPoliciesRequest + */ + ListDataPoliciesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest) + return object; + var message = new $root.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.pageSize != null) + message.pageSize = object.pageSize | 0; + if (object.pageToken != null) + message.pageToken = String(object.pageToken); + if (object.filter != null) + message.filter = String(object.filter); + return message; + }; + + /** + * Creates a plain object from a ListDataPoliciesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest + * @static + * @param {google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest} message ListDataPoliciesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListDataPoliciesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.pageSize = 0; + object.pageToken = ""; + object.filter = ""; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + object.pageSize = message.pageSize; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + object.pageToken = message.pageToken; + if (message.filter != null && message.hasOwnProperty("filter")) + object.filter = message.filter; + return object; + }; + + /** + * Converts this ListDataPoliciesRequest to JSON. + * @function toJSON + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest + * @instance + * @returns {Object.} JSON object + */ + ListDataPoliciesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListDataPoliciesRequest + * @function getTypeUrl + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListDataPoliciesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest"; + }; + + return ListDataPoliciesRequest; + })(); + + v1.ListDataPoliciesResponse = (function() { + + /** + * Properties of a ListDataPoliciesResponse. + * @memberof google.cloud.bigquery.datapolicies.v1 + * @interface IListDataPoliciesResponse + * @property {Array.|null} [dataPolicies] ListDataPoliciesResponse dataPolicies + * @property {string|null} [nextPageToken] ListDataPoliciesResponse nextPageToken + */ + + /** + * Constructs a new ListDataPoliciesResponse. + * @memberof google.cloud.bigquery.datapolicies.v1 + * @classdesc Represents a ListDataPoliciesResponse. + * @implements IListDataPoliciesResponse + * @constructor + * @param {google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse=} [properties] Properties to set + */ + function ListDataPoliciesResponse(properties) { + this.dataPolicies = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListDataPoliciesResponse dataPolicies. + * @member {Array.} dataPolicies + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse + * @instance + */ + ListDataPoliciesResponse.prototype.dataPolicies = $util.emptyArray; + + /** + * ListDataPoliciesResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse + * @instance + */ + ListDataPoliciesResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListDataPoliciesResponse instance using the specified properties. + * @function create + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse=} [properties] Properties to set + * @returns {google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse} ListDataPoliciesResponse instance + */ + ListDataPoliciesResponse.create = function create(properties) { + return new ListDataPoliciesResponse(properties); + }; + + /** + * Encodes the specified ListDataPoliciesResponse message. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse} message ListDataPoliciesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListDataPoliciesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.dataPolicies != null && message.dataPolicies.length) + for (var i = 0; i < message.dataPolicies.length; ++i) + $root.google.cloud.bigquery.datapolicies.v1.DataPolicy.encode(message.dataPolicies[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListDataPoliciesResponse message, length delimited. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse} message ListDataPoliciesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListDataPoliciesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListDataPoliciesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse} ListDataPoliciesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListDataPoliciesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.dataPolicies && message.dataPolicies.length)) + message.dataPolicies = []; + message.dataPolicies.push($root.google.cloud.bigquery.datapolicies.v1.DataPolicy.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListDataPoliciesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse} ListDataPoliciesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListDataPoliciesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListDataPoliciesResponse message. + * @function verify + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListDataPoliciesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.dataPolicies != null && message.hasOwnProperty("dataPolicies")) { + if (!Array.isArray(message.dataPolicies)) + return "dataPolicies: array expected"; + for (var i = 0; i < message.dataPolicies.length; ++i) { + var error = $root.google.cloud.bigquery.datapolicies.v1.DataPolicy.verify(message.dataPolicies[i]); + if (error) + return "dataPolicies." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListDataPoliciesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse} ListDataPoliciesResponse + */ + ListDataPoliciesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse) + return object; + var message = new $root.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse(); + if (object.dataPolicies) { + if (!Array.isArray(object.dataPolicies)) + throw TypeError(".google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse.dataPolicies: array expected"); + message.dataPolicies = []; + for (var i = 0; i < object.dataPolicies.length; ++i) { + if (typeof object.dataPolicies[i] !== "object") + throw TypeError(".google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse.dataPolicies: object expected"); + message.dataPolicies[i] = $root.google.cloud.bigquery.datapolicies.v1.DataPolicy.fromObject(object.dataPolicies[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListDataPoliciesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse + * @static + * @param {google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse} message ListDataPoliciesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListDataPoliciesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.dataPolicies = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.dataPolicies && message.dataPolicies.length) { + object.dataPolicies = []; + for (var j = 0; j < message.dataPolicies.length; ++j) + object.dataPolicies[j] = $root.google.cloud.bigquery.datapolicies.v1.DataPolicy.toObject(message.dataPolicies[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListDataPoliciesResponse to JSON. + * @function toJSON + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse + * @instance + * @returns {Object.} JSON object + */ + ListDataPoliciesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListDataPoliciesResponse + * @function getTypeUrl + * @memberof google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListDataPoliciesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse"; + }; + + return ListDataPoliciesResponse; + })(); + + v1.DataPolicy = (function() { + + /** + * Properties of a DataPolicy. + * @memberof google.cloud.bigquery.datapolicies.v1 + * @interface IDataPolicy + * @property {string|null} [policyTag] DataPolicy policyTag + * @property {google.cloud.bigquery.datapolicies.v1.IDataMaskingPolicy|null} [dataMaskingPolicy] DataPolicy dataMaskingPolicy + * @property {string|null} [name] DataPolicy name + * @property {google.cloud.bigquery.datapolicies.v1.DataPolicy.DataPolicyType|null} [dataPolicyType] DataPolicy dataPolicyType + * @property {string|null} [dataPolicyId] DataPolicy dataPolicyId + */ + + /** + * Constructs a new DataPolicy. + * @memberof google.cloud.bigquery.datapolicies.v1 + * @classdesc Represents a DataPolicy. + * @implements IDataPolicy + * @constructor + * @param {google.cloud.bigquery.datapolicies.v1.IDataPolicy=} [properties] Properties to set + */ + function DataPolicy(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DataPolicy policyTag. + * @member {string|null|undefined} policyTag + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicy + * @instance + */ + DataPolicy.prototype.policyTag = null; + + /** + * DataPolicy dataMaskingPolicy. + * @member {google.cloud.bigquery.datapolicies.v1.IDataMaskingPolicy|null|undefined} dataMaskingPolicy + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicy + * @instance + */ + DataPolicy.prototype.dataMaskingPolicy = null; + + /** + * DataPolicy name. + * @member {string} name + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicy + * @instance + */ + DataPolicy.prototype.name = ""; + + /** + * DataPolicy dataPolicyType. + * @member {google.cloud.bigquery.datapolicies.v1.DataPolicy.DataPolicyType} dataPolicyType + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicy + * @instance + */ + DataPolicy.prototype.dataPolicyType = 0; + + /** + * DataPolicy dataPolicyId. + * @member {string} dataPolicyId + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicy + * @instance + */ + DataPolicy.prototype.dataPolicyId = ""; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * DataPolicy matchingLabel. + * @member {"policyTag"|undefined} matchingLabel + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicy + * @instance + */ + Object.defineProperty(DataPolicy.prototype, "matchingLabel", { + get: $util.oneOfGetter($oneOfFields = ["policyTag"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * DataPolicy policy. + * @member {"dataMaskingPolicy"|undefined} policy + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicy + * @instance + */ + Object.defineProperty(DataPolicy.prototype, "policy", { + get: $util.oneOfGetter($oneOfFields = ["dataMaskingPolicy"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new DataPolicy instance using the specified properties. + * @function create + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicy + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IDataPolicy=} [properties] Properties to set + * @returns {google.cloud.bigquery.datapolicies.v1.DataPolicy} DataPolicy instance + */ + DataPolicy.create = function create(properties) { + return new DataPolicy(properties); + }; + + /** + * Encodes the specified DataPolicy message. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.DataPolicy.verify|verify} messages. + * @function encode + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicy + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IDataPolicy} message DataPolicy message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DataPolicy.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.dataPolicyType != null && Object.hasOwnProperty.call(message, "dataPolicyType")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.dataPolicyType); + if (message.dataPolicyId != null && Object.hasOwnProperty.call(message, "dataPolicyId")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.dataPolicyId); + if (message.policyTag != null && Object.hasOwnProperty.call(message, "policyTag")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.policyTag); + if (message.dataMaskingPolicy != null && Object.hasOwnProperty.call(message, "dataMaskingPolicy")) + $root.google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy.encode(message.dataMaskingPolicy, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified DataPolicy message, length delimited. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.DataPolicy.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicy + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IDataPolicy} message DataPolicy message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DataPolicy.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DataPolicy message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicy + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.bigquery.datapolicies.v1.DataPolicy} DataPolicy + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DataPolicy.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.bigquery.datapolicies.v1.DataPolicy(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 4: { + message.policyTag = reader.string(); + break; + } + case 5: { + message.dataMaskingPolicy = $root.google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy.decode(reader, reader.uint32()); + break; + } + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.dataPolicyType = reader.int32(); + break; + } + case 3: { + message.dataPolicyId = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DataPolicy message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicy + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.bigquery.datapolicies.v1.DataPolicy} DataPolicy + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DataPolicy.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DataPolicy message. + * @function verify + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicy + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DataPolicy.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.policyTag != null && message.hasOwnProperty("policyTag")) { + properties.matchingLabel = 1; + if (!$util.isString(message.policyTag)) + return "policyTag: string expected"; + } + if (message.dataMaskingPolicy != null && message.hasOwnProperty("dataMaskingPolicy")) { + properties.policy = 1; + { + var error = $root.google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy.verify(message.dataMaskingPolicy); + if (error) + return "dataMaskingPolicy." + error; + } + } + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.dataPolicyType != null && message.hasOwnProperty("dataPolicyType")) + switch (message.dataPolicyType) { + default: + return "dataPolicyType: enum value expected"; + case 0: + case 3: + case 2: + break; + } + if (message.dataPolicyId != null && message.hasOwnProperty("dataPolicyId")) + if (!$util.isString(message.dataPolicyId)) + return "dataPolicyId: string expected"; + return null; + }; + + /** + * Creates a DataPolicy message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicy + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.bigquery.datapolicies.v1.DataPolicy} DataPolicy + */ + DataPolicy.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.bigquery.datapolicies.v1.DataPolicy) + return object; + var message = new $root.google.cloud.bigquery.datapolicies.v1.DataPolicy(); + if (object.policyTag != null) + message.policyTag = String(object.policyTag); + if (object.dataMaskingPolicy != null) { + if (typeof object.dataMaskingPolicy !== "object") + throw TypeError(".google.cloud.bigquery.datapolicies.v1.DataPolicy.dataMaskingPolicy: object expected"); + message.dataMaskingPolicy = $root.google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy.fromObject(object.dataMaskingPolicy); + } + if (object.name != null) + message.name = String(object.name); + switch (object.dataPolicyType) { + default: + if (typeof object.dataPolicyType === "number") { + message.dataPolicyType = object.dataPolicyType; + break; + } + break; + case "DATA_POLICY_TYPE_UNSPECIFIED": + case 0: + message.dataPolicyType = 0; + break; + case "COLUMN_LEVEL_SECURITY_POLICY": + case 3: + message.dataPolicyType = 3; + break; + case "DATA_MASKING_POLICY": + case 2: + message.dataPolicyType = 2; + break; + } + if (object.dataPolicyId != null) + message.dataPolicyId = String(object.dataPolicyId); + return message; + }; + + /** + * Creates a plain object from a DataPolicy message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicy + * @static + * @param {google.cloud.bigquery.datapolicies.v1.DataPolicy} message DataPolicy + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DataPolicy.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.dataPolicyType = options.enums === String ? "DATA_POLICY_TYPE_UNSPECIFIED" : 0; + object.dataPolicyId = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.dataPolicyType != null && message.hasOwnProperty("dataPolicyType")) + object.dataPolicyType = options.enums === String ? $root.google.cloud.bigquery.datapolicies.v1.DataPolicy.DataPolicyType[message.dataPolicyType] === undefined ? message.dataPolicyType : $root.google.cloud.bigquery.datapolicies.v1.DataPolicy.DataPolicyType[message.dataPolicyType] : message.dataPolicyType; + if (message.dataPolicyId != null && message.hasOwnProperty("dataPolicyId")) + object.dataPolicyId = message.dataPolicyId; + if (message.policyTag != null && message.hasOwnProperty("policyTag")) { + object.policyTag = message.policyTag; + if (options.oneofs) + object.matchingLabel = "policyTag"; + } + if (message.dataMaskingPolicy != null && message.hasOwnProperty("dataMaskingPolicy")) { + object.dataMaskingPolicy = $root.google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy.toObject(message.dataMaskingPolicy, options); + if (options.oneofs) + object.policy = "dataMaskingPolicy"; + } + return object; + }; + + /** + * Converts this DataPolicy to JSON. + * @function toJSON + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicy + * @instance + * @returns {Object.} JSON object + */ + DataPolicy.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DataPolicy + * @function getTypeUrl + * @memberof google.cloud.bigquery.datapolicies.v1.DataPolicy + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DataPolicy.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.bigquery.datapolicies.v1.DataPolicy"; + }; + + /** + * DataPolicyType enum. + * @name google.cloud.bigquery.datapolicies.v1.DataPolicy.DataPolicyType + * @enum {number} + * @property {number} DATA_POLICY_TYPE_UNSPECIFIED=0 DATA_POLICY_TYPE_UNSPECIFIED value + * @property {number} COLUMN_LEVEL_SECURITY_POLICY=3 COLUMN_LEVEL_SECURITY_POLICY value + * @property {number} DATA_MASKING_POLICY=2 DATA_MASKING_POLICY value + */ + DataPolicy.DataPolicyType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "DATA_POLICY_TYPE_UNSPECIFIED"] = 0; + values[valuesById[3] = "COLUMN_LEVEL_SECURITY_POLICY"] = 3; + values[valuesById[2] = "DATA_MASKING_POLICY"] = 2; + return values; + })(); + + return DataPolicy; + })(); + + v1.DataMaskingPolicy = (function() { + + /** + * Properties of a DataMaskingPolicy. + * @memberof google.cloud.bigquery.datapolicies.v1 + * @interface IDataMaskingPolicy + * @property {google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy.PredefinedExpression|null} [predefinedExpression] DataMaskingPolicy predefinedExpression + */ + + /** + * Constructs a new DataMaskingPolicy. + * @memberof google.cloud.bigquery.datapolicies.v1 + * @classdesc Represents a DataMaskingPolicy. + * @implements IDataMaskingPolicy + * @constructor + * @param {google.cloud.bigquery.datapolicies.v1.IDataMaskingPolicy=} [properties] Properties to set + */ + function DataMaskingPolicy(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DataMaskingPolicy predefinedExpression. + * @member {google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy.PredefinedExpression|null|undefined} predefinedExpression + * @memberof google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy + * @instance + */ + DataMaskingPolicy.prototype.predefinedExpression = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * DataMaskingPolicy maskingExpression. + * @member {"predefinedExpression"|undefined} maskingExpression + * @memberof google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy + * @instance + */ + Object.defineProperty(DataMaskingPolicy.prototype, "maskingExpression", { + get: $util.oneOfGetter($oneOfFields = ["predefinedExpression"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new DataMaskingPolicy instance using the specified properties. + * @function create + * @memberof google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IDataMaskingPolicy=} [properties] Properties to set + * @returns {google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy} DataMaskingPolicy instance + */ + DataMaskingPolicy.create = function create(properties) { + return new DataMaskingPolicy(properties); + }; + + /** + * Encodes the specified DataMaskingPolicy message. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy.verify|verify} messages. + * @function encode + * @memberof google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IDataMaskingPolicy} message DataMaskingPolicy message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DataMaskingPolicy.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.predefinedExpression != null && Object.hasOwnProperty.call(message, "predefinedExpression")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.predefinedExpression); + return writer; + }; + + /** + * Encodes the specified DataMaskingPolicy message, length delimited. Does not implicitly {@link google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy + * @static + * @param {google.cloud.bigquery.datapolicies.v1.IDataMaskingPolicy} message DataMaskingPolicy message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DataMaskingPolicy.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DataMaskingPolicy message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy} DataMaskingPolicy + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DataMaskingPolicy.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.predefinedExpression = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DataMaskingPolicy message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy} DataMaskingPolicy + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DataMaskingPolicy.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DataMaskingPolicy message. + * @function verify + * @memberof google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DataMaskingPolicy.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.predefinedExpression != null && message.hasOwnProperty("predefinedExpression")) { + properties.maskingExpression = 1; + switch (message.predefinedExpression) { + default: + return "predefinedExpression: enum value expected"; + case 0: + case 3: + case 5: + case 7: + break; + } + } + return null; + }; + + /** + * Creates a DataMaskingPolicy message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy} DataMaskingPolicy + */ + DataMaskingPolicy.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy) + return object; + var message = new $root.google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy(); + switch (object.predefinedExpression) { + default: + if (typeof object.predefinedExpression === "number") { + message.predefinedExpression = object.predefinedExpression; + break; + } + break; + case "PREDEFINED_EXPRESSION_UNSPECIFIED": + case 0: + message.predefinedExpression = 0; + break; + case "SHA256": + case 3: + message.predefinedExpression = 3; + break; + case "ALWAYS_NULL": + case 5: + message.predefinedExpression = 5; + break; + case "DEFAULT_MASKING_VALUE": + case 7: + message.predefinedExpression = 7; + break; + } + return message; + }; + + /** + * Creates a plain object from a DataMaskingPolicy message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy + * @static + * @param {google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy} message DataMaskingPolicy + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DataMaskingPolicy.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.predefinedExpression != null && message.hasOwnProperty("predefinedExpression")) { + object.predefinedExpression = options.enums === String ? $root.google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy.PredefinedExpression[message.predefinedExpression] === undefined ? message.predefinedExpression : $root.google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy.PredefinedExpression[message.predefinedExpression] : message.predefinedExpression; + if (options.oneofs) + object.maskingExpression = "predefinedExpression"; + } + return object; + }; + + /** + * Converts this DataMaskingPolicy to JSON. + * @function toJSON + * @memberof google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy + * @instance + * @returns {Object.} JSON object + */ + DataMaskingPolicy.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DataMaskingPolicy + * @function getTypeUrl + * @memberof google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DataMaskingPolicy.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy"; + }; + + /** + * PredefinedExpression enum. + * @name google.cloud.bigquery.datapolicies.v1.DataMaskingPolicy.PredefinedExpression + * @enum {number} + * @property {number} PREDEFINED_EXPRESSION_UNSPECIFIED=0 PREDEFINED_EXPRESSION_UNSPECIFIED value + * @property {number} SHA256=3 SHA256 value + * @property {number} ALWAYS_NULL=5 ALWAYS_NULL value + * @property {number} DEFAULT_MASKING_VALUE=7 DEFAULT_MASKING_VALUE value + */ + DataMaskingPolicy.PredefinedExpression = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "PREDEFINED_EXPRESSION_UNSPECIFIED"] = 0; + values[valuesById[3] = "SHA256"] = 3; + values[valuesById[5] = "ALWAYS_NULL"] = 5; + values[valuesById[7] = "DEFAULT_MASKING_VALUE"] = 7; + return values; + })(); + + return DataMaskingPolicy; + })(); + + return v1; + })(); + datapolicies.v1beta1 = (function() { /** diff --git a/packages/google-cloud-bigquery-datapolicies/protos/protos.json b/packages/google-cloud-bigquery-datapolicies/protos/protos.json index d946eec2d46..e36f69c175e 100644 --- a/packages/google-cloud-bigquery-datapolicies/protos/protos.json +++ b/packages/google-cloud-bigquery-datapolicies/protos/protos.json @@ -8,6 +8,379 @@ "nested": { "datapolicies": { "nested": { + "v1": { + "options": { + "csharp_namespace": "Google.Cloud.BigQuery.DataPolicies.V1", + "go_package": "google.golang.org/genproto/googleapis/cloud/bigquery/datapolicies/v1;datapolicies", + "java_multiple_files": true, + "java_outer_classname": "DataPolicyProto", + "java_package": "com.google.cloud.bigquery.datapolicies.v1", + "php_namespace": "Google\\Cloud\\BigQuery\\DataPolicies\\V1", + "ruby_package": "Google::Cloud::Bigquery::DataPolicies::V1" + }, + "nested": { + "DataPolicyService": { + "options": { + "(google.api.default_host)": "bigquerydatapolicy.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/bigquery,https://www.googleapis.com/auth/cloud-platform" + }, + "methods": { + "CreateDataPolicy": { + "requestType": "CreateDataPolicyRequest", + "responseType": "DataPolicy", + "options": { + "(google.api.http).post": "/v1/{parent=projects/*/locations/*}/dataPolicies", + "(google.api.http).body": "data_policy", + "(google.api.method_signature)": "parent,data_policy" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{parent=projects/*/locations/*}/dataPolicies", + "body": "data_policy" + } + }, + { + "(google.api.method_signature)": "parent,data_policy" + } + ] + }, + "UpdateDataPolicy": { + "requestType": "UpdateDataPolicyRequest", + "responseType": "DataPolicy", + "options": { + "(google.api.http).patch": "/v1/{data_policy.name=projects/*/locations/*/dataPolicies/*}", + "(google.api.http).body": "data_policy", + "(google.api.method_signature)": "data_policy,update_mask" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "patch": "/v1/{data_policy.name=projects/*/locations/*/dataPolicies/*}", + "body": "data_policy" + } + }, + { + "(google.api.method_signature)": "data_policy,update_mask" + } + ] + }, + "RenameDataPolicy": { + "requestType": "RenameDataPolicyRequest", + "responseType": "DataPolicy", + "options": { + "(google.api.http).post": "/v1/{name=projects/*/locations/*/dataPolicies/*}:rename", + "(google.api.http).body": "*", + "(google.api.method_signature)": "name,new_data_policy_id" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{name=projects/*/locations/*/dataPolicies/*}:rename", + "body": "*" + } + }, + { + "(google.api.method_signature)": "name,new_data_policy_id" + } + ] + }, + "DeleteDataPolicy": { + "requestType": "DeleteDataPolicyRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).delete": "/v1/{name=projects/*/locations/*/dataPolicies/*}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1/{name=projects/*/locations/*/dataPolicies/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "GetDataPolicy": { + "requestType": "GetDataPolicyRequest", + "responseType": "DataPolicy", + "options": { + "(google.api.http).get": "/v1/{name=projects/*/locations/*/dataPolicies/*}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{name=projects/*/locations/*/dataPolicies/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "ListDataPolicies": { + "requestType": "ListDataPoliciesRequest", + "responseType": "ListDataPoliciesResponse", + "options": { + "(google.api.http).get": "/v1/{parent=projects/*/locations/*}/dataPolicies", + "(google.api.method_signature)": "parent" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{parent=projects/*/locations/*}/dataPolicies" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] + }, + "GetIamPolicy": { + "requestType": "google.iam.v1.GetIamPolicyRequest", + "responseType": "google.iam.v1.Policy", + "options": { + "(google.api.http).post": "/v1/{resource=projects/*/locations/*/dataPolicies/*}:getIamPolicy", + "(google.api.http).body": "*" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{resource=projects/*/locations/*/dataPolicies/*}:getIamPolicy", + "body": "*" + } + } + ] + }, + "SetIamPolicy": { + "requestType": "google.iam.v1.SetIamPolicyRequest", + "responseType": "google.iam.v1.Policy", + "options": { + "(google.api.http).post": "/v1/{resource=projects/*/locations/*/dataPolicies/*}:setIamPolicy", + "(google.api.http).body": "*" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{resource=projects/*/locations/*/dataPolicies/*}:setIamPolicy", + "body": "*" + } + } + ] + }, + "TestIamPermissions": { + "requestType": "google.iam.v1.TestIamPermissionsRequest", + "responseType": "google.iam.v1.TestIamPermissionsResponse", + "options": { + "(google.api.http).post": "/v1/{resource=projects/*/locations/*/dataPolicies/*}:testIamPermissions", + "(google.api.http).body": "*" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{resource=projects/*/locations/*/dataPolicies/*}:testIamPermissions", + "body": "*" + } + } + ] + } + } + }, + "CreateDataPolicyRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).child_type": "bigquerydatapolicy.googleapis.com/DataPolicy" + } + }, + "dataPolicy": { + "type": "DataPolicy", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, + "UpdateDataPolicyRequest": { + "fields": { + "dataPolicy": { + "type": "DataPolicy", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 2 + } + } + }, + "RenameDataPolicyRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "newDataPolicyId": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, + "DeleteDataPolicyRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "bigquerydatapolicy.googleapis.com/DataPolicy" + } + } + } + }, + "GetDataPolicyRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "bigquerydatapolicy.googleapis.com/DataPolicy" + } + } + } + }, + "ListDataPoliciesRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).child_type": "bigquerydatapolicy.googleapis.com/DataPolicy" + } + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + }, + "filter": { + "type": "string", + "id": 4 + } + } + }, + "ListDataPoliciesResponse": { + "fields": { + "dataPolicies": { + "rule": "repeated", + "type": "DataPolicy", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "DataPolicy": { + "options": { + "(google.api.resource).type": "bigquerydatapolicy.googleapis.com/DataPolicy", + "(google.api.resource).pattern": "projects/{project}/locations/{location}/dataPolicies/{data_policy}" + }, + "oneofs": { + "matchingLabel": { + "oneof": [ + "policyTag" + ] + }, + "policy": { + "oneof": [ + "dataMaskingPolicy" + ] + } + }, + "fields": { + "policyTag": { + "type": "string", + "id": 4 + }, + "dataMaskingPolicy": { + "type": "DataMaskingPolicy", + "id": 5 + }, + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "dataPolicyType": { + "type": "DataPolicyType", + "id": 2 + }, + "dataPolicyId": { + "type": "string", + "id": 3 + } + }, + "nested": { + "DataPolicyType": { + "values": { + "DATA_POLICY_TYPE_UNSPECIFIED": 0, + "COLUMN_LEVEL_SECURITY_POLICY": 3, + "DATA_MASKING_POLICY": 2 + } + } + } + }, + "DataMaskingPolicy": { + "oneofs": { + "maskingExpression": { + "oneof": [ + "predefinedExpression" + ] + } + }, + "fields": { + "predefinedExpression": { + "type": "PredefinedExpression", + "id": 1 + } + }, + "nested": { + "PredefinedExpression": { + "values": { + "PREDEFINED_EXPRESSION_UNSPECIFIED": 0, + "SHA256": 3, + "ALWAYS_NULL": 5, + "DEFAULT_MASKING_VALUE": 7 + } + } + } + } + } + }, "v1beta1": { "options": { "csharp_namespace": "Google.Cloud.BigQuery.DataPolicies.V1Beta1", diff --git a/packages/google-cloud-bigquery-datapolicies/samples/README.md b/packages/google-cloud-bigquery-datapolicies/samples/README.md index 723ffa5c7c6..7567e0c6d69 100644 --- a/packages/google-cloud-bigquery-datapolicies/samples/README.md +++ b/packages/google-cloud-bigquery-datapolicies/samples/README.md @@ -12,6 +12,15 @@ * [Before you begin](#before-you-begin) * [Samples](#samples) + * [Data_policy_service.create_data_policy](#data_policy_service.create_data_policy) + * [Data_policy_service.delete_data_policy](#data_policy_service.delete_data_policy) + * [Data_policy_service.get_data_policy](#data_policy_service.get_data_policy) + * [Data_policy_service.get_iam_policy](#data_policy_service.get_iam_policy) + * [Data_policy_service.list_data_policies](#data_policy_service.list_data_policies) + * [Data_policy_service.rename_data_policy](#data_policy_service.rename_data_policy) + * [Data_policy_service.set_iam_policy](#data_policy_service.set_iam_policy) + * [Data_policy_service.test_iam_permissions](#data_policy_service.test_iam_permissions) + * [Data_policy_service.update_data_policy](#data_policy_service.update_data_policy) * [Data_policy_service.create_data_policy](#data_policy_service.create_data_policy) * [Data_policy_service.delete_data_policy](#data_policy_service.delete_data_policy) * [Data_policy_service.get_data_policy](#data_policy_service.get_data_policy) @@ -38,6 +47,159 @@ Before running the samples, make sure you've followed the steps outlined in +### Data_policy_service.create_data_policy + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.create_data_policy.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.create_data_policy.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.create_data_policy.js` + + +----- + + + + +### Data_policy_service.delete_data_policy + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.delete_data_policy.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.delete_data_policy.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.delete_data_policy.js` + + +----- + + + + +### Data_policy_service.get_data_policy + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.get_data_policy.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.get_data_policy.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.get_data_policy.js` + + +----- + + + + +### Data_policy_service.get_iam_policy + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.get_iam_policy.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.get_iam_policy.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.get_iam_policy.js` + + +----- + + + + +### Data_policy_service.list_data_policies + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.list_data_policies.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.list_data_policies.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.list_data_policies.js` + + +----- + + + + +### Data_policy_service.rename_data_policy + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.rename_data_policy.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.rename_data_policy.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.rename_data_policy.js` + + +----- + + + + +### Data_policy_service.set_iam_policy + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.set_iam_policy.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.set_iam_policy.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.set_iam_policy.js` + + +----- + + + + +### Data_policy_service.test_iam_permissions + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.test_iam_permissions.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.test_iam_permissions.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.test_iam_permissions.js` + + +----- + + + + +### Data_policy_service.update_data_policy + +View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.update_data_policy.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.update_data_policy.js,samples/README.md) + +__Usage:__ + + +`node packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.update_data_policy.js` + + +----- + + + + ### Data_policy_service.create_data_policy View the [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-bigquery-datapolicies/samples/generated/v1beta1/data_policy_service.create_data_policy.js). diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.create_data_policy.js b/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.create_data_policy.js similarity index 100% rename from owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.create_data_policy.js rename to packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.create_data_policy.js diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.delete_data_policy.js b/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.delete_data_policy.js similarity index 100% rename from owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.delete_data_policy.js rename to packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.delete_data_policy.js diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_data_policy.js b/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.get_data_policy.js similarity index 100% rename from owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_data_policy.js rename to packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.get_data_policy.js diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_iam_policy.js b/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.get_iam_policy.js similarity index 100% rename from owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_iam_policy.js rename to packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.get_iam_policy.js diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.list_data_policies.js b/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.list_data_policies.js similarity index 100% rename from owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.list_data_policies.js rename to packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.list_data_policies.js diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.rename_data_policy.js b/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.rename_data_policy.js similarity index 100% rename from owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.rename_data_policy.js rename to packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.rename_data_policy.js diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.set_iam_policy.js b/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.set_iam_policy.js similarity index 100% rename from owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.set_iam_policy.js rename to packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.set_iam_policy.js diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.test_iam_permissions.js b/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.test_iam_permissions.js similarity index 100% rename from owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.test_iam_permissions.js rename to packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.test_iam_permissions.js diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.update_data_policy.js b/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.update_data_policy.js similarity index 100% rename from owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.update_data_policy.js rename to packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.update_data_policy.js diff --git a/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json b/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json new file mode 100644 index 00000000000..1ebb10a73c9 --- /dev/null +++ b/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json @@ -0,0 +1,415 @@ +{ + "clientLibrary": { + "name": "nodejs-datapolicies", + "version": "0.1.2", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.bigquery.datapolicies.v1", + "version": "v1" + } + ] + }, + "snippets": [ + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_CreateDataPolicy_async", + "title": "DataPolicyService createDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Creates a new data policy under a project with the given `dataPolicyId` (used as the display name), policy tag, and data policy type.", + "canonical": true, + "file": "data_policy_service.create_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 60, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.CreateDataPolicy", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "data_policy", + "type": ".google.cloud.bigquery.datapolicies.v1.DataPolicy" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1.DataPolicy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "CreateDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.CreateDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_UpdateDataPolicy_async", + "title": "DataPolicyService updateDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Updates the metadata for an existing data policy. The target data policy can be specified by the resource name.", + "canonical": true, + "file": "data_policy_service.update_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 63, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.UpdateDataPolicy", + "async": true, + "parameters": [ + { + "name": "data_policy", + "type": ".google.cloud.bigquery.datapolicies.v1.DataPolicy" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1.DataPolicy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "UpdateDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.UpdateDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_RenameDataPolicy_async", + "title": "DataPolicyService renameDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Renames the id (display name) of the specified data policy.", + "canonical": true, + "file": "data_policy_service.rename_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "RenameDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.RenameDataPolicy", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "new_data_policy_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1.DataPolicy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "RenameDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.RenameDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_DeleteDataPolicy_async", + "title": "DataPolicyService deleteDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Deletes the data policy specified by its resource name.", + "canonical": true, + "file": "data_policy_service.delete_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.DeleteDataPolicy", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "DeleteDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.DeleteDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_GetDataPolicy_async", + "title": "DataPolicyService getDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Gets the data policy specified by its resource name.", + "canonical": true, + "file": "data_policy_service.get_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetDataPolicy", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1.DataPolicy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "GetDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_ListDataPolicies_async", + "title": "DataPolicyService listDataPolicies Sample", + "origin": "API_DEFINITION", + "description": " List all of the data policies in the specified parent project.", + "canonical": true, + "file": "data_policy_service.list_data_policies.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 77, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListDataPolicies", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.ListDataPolicies", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + }, + { + "name": "filter", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "ListDataPolicies", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.ListDataPolicies", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_GetIamPolicy_async", + "title": "DataPolicyService getIamPolicy Sample", + "origin": "API_DEFINITION", + "description": " Gets the IAM policy for the specified data policy.", + "canonical": true, + "file": "data_policy_service.get_iam_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetIamPolicy", + "async": true, + "parameters": [ + { + "name": "resource", + "type": "TYPE_STRING" + }, + { + "name": "options", + "type": ".google.iam.v1.GetPolicyOptions" + } + ], + "resultType": ".google.iam.v1.Policy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetIamPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_SetIamPolicy_async", + "title": "DataPolicyService setIamPolicy Sample", + "origin": "API_DEFINITION", + "description": " Sets the IAM policy for the specified data policy.", + "canonical": true, + "file": "data_policy_service.set_iam_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 69, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "SetIamPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.SetIamPolicy", + "async": true, + "parameters": [ + { + "name": "resource", + "type": "TYPE_STRING" + }, + { + "name": "policy", + "type": ".google.iam.v1.Policy" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.iam.v1.Policy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "SetIamPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.SetIamPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_TestIamPermissions_async", + "title": "DataPolicyService testIamPermissions Sample", + "origin": "API_DEFINITION", + "description": " Returns the caller's permission on the specified data policy resource.", + "canonical": true, + "file": "data_policy_service.test_iam_permissions.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 62, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "TestIamPermissions", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.TestIamPermissions", + "async": true, + "parameters": [ + { + "name": "resource", + "type": "TYPE_STRING" + }, + { + "name": "permissions", + "type": "TYPE_STRING[]" + } + ], + "resultType": ".google.iam.v1.TestIamPermissionsResponse", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "TestIamPermissions", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.TestIamPermissions", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + } + ] +} \ No newline at end of file diff --git a/packages/google-cloud-bigquery-datapolicies/src/index.ts b/packages/google-cloud-bigquery-datapolicies/src/index.ts index f169154e1d0..b99d8b6433e 100644 --- a/packages/google-cloud-bigquery-datapolicies/src/index.ts +++ b/packages/google-cloud-bigquery-datapolicies/src/index.ts @@ -16,12 +16,13 @@ // ** https://github.com/googleapis/synthtool ** // ** All changes to this file may be overwritten. ** +import * as v1 from './v1'; import * as v1beta1 from './v1beta1'; const DataPolicyServiceClient = v1beta1.DataPolicyServiceClient; type DataPolicyServiceClient = v1beta1.DataPolicyServiceClient; -export {v1beta1, DataPolicyServiceClient}; -export default {v1beta1, DataPolicyServiceClient}; +export {v1, v1beta1, DataPolicyServiceClient}; +export default {v1, v1beta1, DataPolicyServiceClient}; import * as protos from '../protos/protos'; export {protos}; diff --git a/packages/google-cloud-bigquery-datapolicies/src/v1/data_policy_service_client.ts b/packages/google-cloud-bigquery-datapolicies/src/v1/data_policy_service_client.ts new file mode 100644 index 00000000000..80a391d9723 --- /dev/null +++ b/packages/google-cloud-bigquery-datapolicies/src/v1/data_policy_service_client.ts @@ -0,0 +1,1482 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +/* global window */ +import type * as gax from 'google-gax'; +import type { + Callback, + CallOptions, + Descriptors, + ClientOptions, + PaginationCallback, + GaxCall, +} from 'google-gax'; +import {Transform} from 'stream'; +import * as protos from '../../protos/protos'; +import jsonProtos = require('../../protos/protos.json'); +/** + * Client JSON configuration object, loaded from + * `src/v1/data_policy_service_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ +import * as gapicConfig from './data_policy_service_client_config.json'; +const version = require('../../../package.json').version; + +/** + * Data Policy Service provides APIs for managing the label-policy bindings. + * @class + * @memberof v1 + */ +export class DataPolicyServiceClient { + private _terminated = false; + private _opts: ClientOptions; + private _providedCustomServicePath: boolean; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; + auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + warn: (code: string, message: string, warnType?: string) => void; + innerApiCalls: {[name: string]: Function}; + pathTemplates: {[name: string]: gax.PathTemplate}; + dataPolicyServiceStub?: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of DataPolicyServiceClient. + * + * @param {object} [options] - The configuration object. + * The options accepted by the constructor are described in detail + * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). + * The common options are: + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {string} [options.apiEndpoint] - The domain name of the + * API remote host. + * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. + * Follows the structure of {@link gapicConfig}. + * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. + * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. + * For more information, please check the + * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. + * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you + * need to avoid loading the default gRPC version and want to use the fallback + * HTTP implementation. Load only fallback version and pass it to the constructor: + * ``` + * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC + * const client = new DataPolicyServiceClient({fallback: 'rest'}, gax); + * ``` + */ + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback + ) { + // Ensure that options include all the required fields. + const staticMembers = this.constructor as typeof DataPolicyServiceClient; + const servicePath = + opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + this._providedCustomServicePath = !!( + opts?.servicePath || opts?.apiEndpoint + ); + const port = opts?.port || staticMembers.port; + const clientConfig = opts?.clientConfig ?? {}; + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + + // Request numeric enum values if REST transport is used. + opts.numericEnums = true; + + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. + if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { + opts['scopes'] = staticMembers.scopes; + } + + // Load google-gax module synchronously if needed + if (!gaxInstance) { + gaxInstance = require('google-gax') as typeof gax; + } + + // Choose either gRPC or proto-over-HTTP implementation of google-gax. + this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; + + // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. + this._gaxGrpc = new this._gaxModule.GrpcClient(opts); + + // Save options to use in initialize() method. + this._opts = opts; + + // Save the auth object to the client, for use by other methods. + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + + // Set useJWTAccessWithScope on the auth object. + this.auth.useJWTAccessWithScope = true; + + // Set defaultServicePath on the auth object. + this.auth.defaultServicePath = staticMembers.servicePath; + + // Set the default scopes in auth client if needed. + if (servicePath === staticMembers.servicePath) { + this.auth.defaultScopes = staticMembers.scopes; + } + + // Determine the client header string. + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } else { + clientHeader.push(`gl-web/${this._gaxModule.version}`); + } + if (!opts.fallback) { + clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); + } else if (opts.fallback === 'rest') { + clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); + } + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + // Load the applicable protos. + this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this.pathTemplates = { + dataPolicyPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/dataPolicies/{data_policy}' + ), + locationPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}' + ), + projectPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}' + ), + }; + + // Some of the methods on this service return "paged" results, + // (e.g. 50 results at a time, with tokens to get subsequent + // pages). Denote the keys used for pagination and results. + this.descriptors.page = { + listDataPolicies: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'dataPolicies' + ), + }; + + // Put together the default options sent with requests. + this._defaults = this._gaxGrpc.constructSettings( + 'google.cloud.bigquery.datapolicies.v1.DataPolicyService', + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, + {'x-goog-api-client': clientHeader.join(' ')} + ); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this.innerApiCalls = {}; + + // Add a warn function to the client constructor so it can be easily tested. + this.warn = this._gaxModule.warn; + } + + /** + * Initialize the client. + * Performs asynchronous operations (such as authentication) and prepares the client. + * This function will be called automatically when any class method is called for the + * first time, but if you need to initialize it before calling an actual method, + * feel free to call initialize() directly. + * + * You can await on this method if you want to make sure the client is initialized. + * + * @returns {Promise} A promise that resolves to an authenticated service stub. + */ + initialize() { + // If the client stub promise is already initialized, return immediately. + if (this.dataPolicyServiceStub) { + return this.dataPolicyServiceStub; + } + + // Put together the "service stub" for + // google.cloud.bigquery.datapolicies.v1.DataPolicyService. + this.dataPolicyServiceStub = this._gaxGrpc.createStub( + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.bigquery.datapolicies.v1.DataPolicyService' + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.bigquery.datapolicies.v1 + .DataPolicyService, + this._opts, + this._providedCustomServicePath + ) as Promise<{[method: string]: Function}>; + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const dataPolicyServiceStubMethods = [ + 'createDataPolicy', + 'updateDataPolicy', + 'renameDataPolicy', + 'deleteDataPolicy', + 'getDataPolicy', + 'listDataPolicies', + 'getIamPolicy', + 'setIamPolicy', + 'testIamPermissions', + ]; + for (const methodName of dataPolicyServiceStubMethods) { + const callPromise = this.dataPolicyServiceStub.then( + stub => + (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, + (err: Error | null | undefined) => () => { + throw err; + } + ); + + const descriptor = this.descriptors.page[methodName] || undefined; + const apiCall = this._gaxModule.createApiCall( + callPromise, + this._defaults[methodName], + descriptor, + this._opts.fallback + ); + + this.innerApiCalls[methodName] = apiCall; + } + + return this.dataPolicyServiceStub; + } + + /** + * The DNS address for this API service. + * @returns {string} The DNS address for this service. + */ + static get servicePath() { + return 'bigquerydatapolicy.googleapis.com'; + } + + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + * @returns {string} The DNS address for this service. + */ + static get apiEndpoint() { + return 'bigquerydatapolicy.googleapis.com'; + } + + /** + * The port for this API service. + * @returns {number} The default port for this service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + * @returns {string[]} List of default scopes. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/bigquery', + 'https://www.googleapis.com/auth/cloud-platform', + ]; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @returns {Promise} A promise that resolves to string containing the project ID. + */ + getProjectId( + callback?: Callback + ): Promise | void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- + /** + * Creates a new data policy under a project with the given `dataPolicyId` + * (used as the display name), policy tag, and data policy type. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the project that the data policy will belong to. The + * format is `projects/{project_number}/locations/{location_id}`. + * @param {google.cloud.bigquery.datapolicies.v1.DataPolicy} request.dataPolicy + * Required. The data policy to create. The `name` field does not need to be + * provided for the data policy creation. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.create_data_policy.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_CreateDataPolicy_async + */ + createDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + ( + | protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest + | undefined + ), + {} | undefined + ] + >; + createDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + | protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest + | null + | undefined, + {} | null | undefined + > + ): void; + createDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + | protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest + | null + | undefined, + {} | null | undefined + > + ): void; + createDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + | protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + | protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + ( + | protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.createDataPolicy(request, options, callback); + } + /** + * Updates the metadata for an existing data policy. The target data policy + * can be specified by the resource name. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.bigquery.datapolicies.v1.DataPolicy} request.dataPolicy + * Required. Update the data policy's metadata. + * + * The target data policy is determined by the `name` field. + * Other fields are updated to the specified values based on the field masks. + * @param {google.protobuf.FieldMask} request.updateMask + * The update mask applies to the resource. For the `FieldMask` definition, + * see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + * If not set, defaults to all of the fields that are allowed to update. + * + * Updates to the `name` and `dataPolicyId` fields are not allowed. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.update_data_policy.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_UpdateDataPolicy_async + */ + updateDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + ( + | protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest + | undefined + ), + {} | undefined + ] + >; + updateDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + | protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest + | null + | undefined, + {} | null | undefined + > + ): void; + updateDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + | protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest + | null + | undefined, + {} | null | undefined + > + ): void; + updateDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + | protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + | protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + ( + | protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + 'data_policy.name': request.dataPolicy!.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.updateDataPolicy(request, options, callback); + } + /** + * Renames the id (display name) of the specified data policy. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the data policy to rename. The format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}` + * @param {string} request.newDataPolicyId + * Required. The new data policy id. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.rename_data_policy.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_RenameDataPolicy_async + */ + renameDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + ( + | protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest + | undefined + ), + {} | undefined + ] + >; + renameDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + | protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest + | null + | undefined, + {} | null | undefined + > + ): void; + renameDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + | protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest + | null + | undefined, + {} | null | undefined + > + ): void; + renameDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + | protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + | protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + ( + | protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.renameDataPolicy(request, options, callback); + } + /** + * Deletes the data policy specified by its resource name. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the data policy to delete. Format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.delete_data_policy.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_DeleteDataPolicy_async + */ + deleteDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, + options?: CallOptions + ): Promise< + [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest + | undefined + ), + {} | undefined + ] + >; + deleteDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest + | null + | undefined, + {} | null | undefined + > + ): void; + deleteDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest + | null + | undefined, + {} | null | undefined + > + ): void; + deleteDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.protobuf.IEmpty, + | protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.protobuf.IEmpty, + ( + | protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.deleteDataPolicy(request, options, callback); + } + /** + * Gets the data policy specified by its resource name. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the requested data policy. Format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.get_data_policy.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_GetDataPolicy_async + */ + getDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + ( + | protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest + | undefined + ), + {} | undefined + ] + >; + getDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + | protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest + | null + | undefined, + {} | null | undefined + > + ): void; + getDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + | protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest + | null + | undefined, + {} | null | undefined + > + ): void; + getDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + | protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + | protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + ( + | protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.getDataPolicy(request, options, callback); + } + /** + * Gets the IAM policy for the specified data policy. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource + * REQUIRED: The resource for which the policy is being requested. + * See the operation documentation for the appropriate value for this field. + * @param {google.iam.v1.GetPolicyOptions} request.options + * OPTIONAL: A `GetPolicyOptions` object for specifying options to + * `GetIamPolicy`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Policy]{@link google.iam.v1.Policy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.get_iam_policy.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_GetIamPolicy_async + */ + getIamPolicy( + request?: protos.google.iam.v1.IGetIamPolicyRequest, + options?: CallOptions + ): Promise< + [ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest | undefined, + {} | undefined + ] + >; + getIamPolicy( + request: protos.google.iam.v1.IGetIamPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, + {} | null | undefined + > + ): void; + getIamPolicy( + request: protos.google.iam.v1.IGetIamPolicyRequest, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, + {} | null | undefined + > + ): void; + getIamPolicy( + request?: protos.google.iam.v1.IGetIamPolicyRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + resource: request.resource ?? '', + }); + this.initialize(); + return this.innerApiCalls.getIamPolicy(request, options, callback); + } + /** + * Sets the IAM policy for the specified data policy. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource + * REQUIRED: The resource for which the policy is being specified. + * See the operation documentation for the appropriate value for this field. + * @param {google.iam.v1.Policy} request.policy + * REQUIRED: The complete policy to be applied to the `resource`. The size of + * the policy is limited to a few 10s of KB. An empty policy is a + * valid policy but certain Cloud Platform services (such as Projects) + * might reject them. + * @param {google.protobuf.FieldMask} request.updateMask + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only + * the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: + * + * `paths: "bindings, etag"` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Policy]{@link google.iam.v1.Policy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.set_iam_policy.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_SetIamPolicy_async + */ + setIamPolicy( + request?: protos.google.iam.v1.ISetIamPolicyRequest, + options?: CallOptions + ): Promise< + [ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest | undefined, + {} | undefined + ] + >; + setIamPolicy( + request: protos.google.iam.v1.ISetIamPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, + {} | null | undefined + > + ): void; + setIamPolicy( + request: protos.google.iam.v1.ISetIamPolicyRequest, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, + {} | null | undefined + > + ): void; + setIamPolicy( + request?: protos.google.iam.v1.ISetIamPolicyRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + resource: request.resource ?? '', + }); + this.initialize(); + return this.innerApiCalls.setIamPolicy(request, options, callback); + } + /** + * Returns the caller's permission on the specified data policy resource. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + * @param {string[]} request.permissions + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. For more + * information see + * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [TestIamPermissionsResponse]{@link google.iam.v1.TestIamPermissionsResponse}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.test_iam_permissions.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_TestIamPermissions_async + */ + testIamPermissions( + request?: protos.google.iam.v1.ITestIamPermissionsRequest, + options?: CallOptions + ): Promise< + [ + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest | undefined, + {} | undefined + ] + >; + testIamPermissions( + request: protos.google.iam.v1.ITestIamPermissionsRequest, + options: CallOptions, + callback: Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, + {} | null | undefined + > + ): void; + testIamPermissions( + request: protos.google.iam.v1.ITestIamPermissionsRequest, + callback: Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, + {} | null | undefined + > + ): void; + testIamPermissions( + request?: protos.google.iam.v1.ITestIamPermissionsRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + resource: request.resource ?? '', + }); + this.initialize(); + return this.innerApiCalls.testIamPermissions(request, options, callback); + } + + /** + * List all of the data policies in the specified parent project. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the project for which to list data policies. Format is + * `projects/{project_number}/locations/{location_id}`. + * @param {number} request.pageSize + * The maximum number of data policies to return. Must be a value between 1 + * and 1000. + * If not set, defaults to 50. + * @param {string} request.pageToken + * The `nextPageToken` value returned from a previous list request, if any. If + * not set, defaults to an empty string. + * @param {string} request.filter + * Filters the data policies by policy tags that they + * are associated with. Currently filter only supports + * "policy_tag" based filtering and OR based predicates. Sample + * filter can be "policy_tag: + * 'projects/1/locations/us/taxonomies/2/policyTags/3'". You may use wildcard + * such as "policy_tag: + * 'projects/1/locations/us/taxonomies/2/*'". + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listDataPoliciesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listDataPolicies( + request?: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[], + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest | null, + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse + ] + >; + listDataPolicies( + request: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + | protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse + | null + | undefined, + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy + > + ): void; + listDataPolicies( + request: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + callback: PaginationCallback< + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + | protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse + | null + | undefined, + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy + > + ): void; + listDataPolicies( + request?: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + | protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse + | null + | undefined, + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy + >, + callback?: PaginationCallback< + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + | protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse + | null + | undefined, + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy + > + ): Promise< + [ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[], + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest | null, + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.listDataPolicies(request, options, callback); + } + + /** + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the project for which to list data policies. Format is + * `projects/{project_number}/locations/{location_id}`. + * @param {number} request.pageSize + * The maximum number of data policies to return. Must be a value between 1 + * and 1000. + * If not set, defaults to 50. + * @param {string} request.pageToken + * The `nextPageToken` value returned from a previous list request, if any. If + * not set, defaults to an empty string. + * @param {string} request.filter + * Filters the data policies by policy tags that they + * are associated with. Currently filter only supports + * "policy_tag" based filtering and OR based predicates. Sample + * filter can be "policy_tag: + * 'projects/1/locations/us/taxonomies/2/policyTags/3'". You may use wildcard + * such as "policy_tag: + * 'projects/1/locations/us/taxonomies/2/*'". + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listDataPoliciesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listDataPoliciesStream( + request?: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + options?: CallOptions + ): Transform { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + const defaultCallSettings = this._defaults['listDataPolicies']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listDataPolicies.createStream( + this.innerApiCalls.listDataPolicies as GaxCall, + request, + callSettings + ); + } + + /** + * Equivalent to `listDataPolicies`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the project for which to list data policies. Format is + * `projects/{project_number}/locations/{location_id}`. + * @param {number} request.pageSize + * The maximum number of data policies to return. Must be a value between 1 + * and 1000. + * If not set, defaults to 50. + * @param {string} request.pageToken + * The `nextPageToken` value returned from a previous list request, if any. If + * not set, defaults to an empty string. + * @param {string} request.filter + * Filters the data policies by policy tags that they + * are associated with. Currently filter only supports + * "policy_tag" based filtering and OR based predicates. Sample + * filter can be "policy_tag: + * 'projects/1/locations/us/taxonomies/2/policyTags/3'". You may use wildcard + * such as "policy_tag: + * 'projects/1/locations/us/taxonomies/2/*'". + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.list_data_policies.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_ListDataPolicies_async + */ + listDataPoliciesAsync( + request?: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + options?: CallOptions + ): AsyncIterable { + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + const defaultCallSettings = this._defaults['listDataPolicies']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listDataPolicies.asyncIterate( + this.innerApiCalls['listDataPolicies'] as GaxCall, + request as {}, + callSettings + ) as AsyncIterable; + } + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified dataPolicy resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} data_policy + * @returns {string} Resource name string. + */ + dataPolicyPath(project: string, location: string, dataPolicy: string) { + return this.pathTemplates.dataPolicyPathTemplate.render({ + project: project, + location: location, + data_policy: dataPolicy, + }); + } + + /** + * Parse the project from DataPolicy resource. + * + * @param {string} dataPolicyName + * A fully-qualified path representing DataPolicy resource. + * @returns {string} A string representing the project. + */ + matchProjectFromDataPolicyName(dataPolicyName: string) { + return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName) + .project; + } + + /** + * Parse the location from DataPolicy resource. + * + * @param {string} dataPolicyName + * A fully-qualified path representing DataPolicy resource. + * @returns {string} A string representing the location. + */ + matchLocationFromDataPolicyName(dataPolicyName: string) { + return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName) + .location; + } + + /** + * Parse the data_policy from DataPolicy resource. + * + * @param {string} dataPolicyName + * A fully-qualified path representing DataPolicy resource. + * @returns {string} A string representing the data_policy. + */ + matchDataPolicyFromDataPolicyName(dataPolicyName: string) { + return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName) + .data_policy; + } + + /** + * Return a fully-qualified location resource name string. + * + * @param {string} project + * @param {string} location + * @returns {string} Resource name string. + */ + locationPath(project: string, location: string) { + return this.pathTemplates.locationPathTemplate.render({ + project: project, + location: location, + }); + } + + /** + * Parse the project from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the project. + */ + matchProjectFromLocationName(locationName: string) { + return this.pathTemplates.locationPathTemplate.match(locationName).project; + } + + /** + * Parse the location from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the location. + */ + matchLocationFromLocationName(locationName: string) { + return this.pathTemplates.locationPathTemplate.match(locationName).location; + } + + /** + * Return a fully-qualified project resource name string. + * + * @param {string} project + * @returns {string} Resource name string. + */ + projectPath(project: string) { + return this.pathTemplates.projectPathTemplate.render({ + project: project, + }); + } + + /** + * Parse the project from Project resource. + * + * @param {string} projectName + * A fully-qualified path representing Project resource. + * @returns {string} A string representing the project. + */ + matchProjectFromProjectName(projectName: string) { + return this.pathTemplates.projectPathTemplate.match(projectName).project; + } + + /** + * Terminate the gRPC channel and close the client. + * + * The client will no longer be usable and all future behavior is undefined. + * @returns {Promise} A promise that resolves when the client is closed. + */ + close(): Promise { + if (this.dataPolicyServiceStub && !this._terminated) { + return this.dataPolicyServiceStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client_config.json b/packages/google-cloud-bigquery-datapolicies/src/v1/data_policy_service_client_config.json similarity index 100% rename from owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client_config.json rename to packages/google-cloud-bigquery-datapolicies/src/v1/data_policy_service_client_config.json diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_proto_list.json b/packages/google-cloud-bigquery-datapolicies/src/v1/data_policy_service_proto_list.json similarity index 100% rename from owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_proto_list.json rename to packages/google-cloud-bigquery-datapolicies/src/v1/data_policy_service_proto_list.json diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/gapic_metadata.json b/packages/google-cloud-bigquery-datapolicies/src/v1/gapic_metadata.json similarity index 100% rename from owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/gapic_metadata.json rename to packages/google-cloud-bigquery-datapolicies/src/v1/gapic_metadata.json diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/index.ts b/packages/google-cloud-bigquery-datapolicies/src/v1/index.ts similarity index 100% rename from owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/index.ts rename to packages/google-cloud-bigquery-datapolicies/src/v1/index.ts diff --git a/packages/google-cloud-bigquery-datapolicies/test/gapic_data_policy_service_v1.ts b/packages/google-cloud-bigquery-datapolicies/test/gapic_data_policy_service_v1.ts new file mode 100644 index 00000000000..6be92dd3740 --- /dev/null +++ b/packages/google-cloud-bigquery-datapolicies/test/gapic_data_policy_service_v1.ts @@ -0,0 +1,1762 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protos from '../protos/protos'; +import * as assert from 'assert'; +import * as sinon from 'sinon'; +import {SinonStub} from 'sinon'; +import {describe, it} from 'mocha'; +import * as datapolicyserviceModule from '../src'; + +import {PassThrough} from 'stream'; + +import {protobuf} from 'google-gax'; + +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON( + require('../protos/protos.json') +).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + +function generateSampleMessage(instance: T) { + const filledObject = ( + instance.constructor as typeof protobuf.Message + ).toObject(instance as protobuf.Message, {defaults: true}); + return (instance.constructor as typeof protobuf.Message).fromObject( + filledObject + ) as T; +} + +function stubSimpleCall(response?: ResponseType, error?: Error) { + return error + ? sinon.stub().rejects(error) + : sinon.stub().resolves([response]); +} + +function stubSimpleCallWithCallback( + response?: ResponseType, + error?: Error +) { + return error + ? sinon.stub().callsArgWith(2, error) + : sinon.stub().callsArgWith(2, null, response); +} + +function stubPageStreamingCall( + responses?: ResponseType[], + error?: Error +) { + const pagingStub = sinon.stub(); + if (responses) { + for (let i = 0; i < responses.length; ++i) { + pagingStub.onCall(i).callsArgWith(2, null, responses[i]); + } + } + const transformStub = error + ? sinon.stub().callsArgWith(2, error) + : pagingStub; + const mockStream = new PassThrough({ + objectMode: true, + transform: transformStub, + }); + // trigger as many responses as needed + if (responses) { + for (let i = 0; i < responses.length; ++i) { + setImmediate(() => { + mockStream.write({}); + }); + } + setImmediate(() => { + mockStream.end(); + }); + } else { + setImmediate(() => { + mockStream.write({}); + }); + setImmediate(() => { + mockStream.end(); + }); + } + return sinon.stub().returns(mockStream); +} + +function stubAsyncIterationCall( + responses?: ResponseType[], + error?: Error +) { + let counter = 0; + const asyncIterable = { + [Symbol.asyncIterator]() { + return { + async next() { + if (error) { + return Promise.reject(error); + } + if (counter >= responses!.length) { + return Promise.resolve({done: true, value: undefined}); + } + return Promise.resolve({done: false, value: responses![counter++]}); + }, + }; + }, + }; + return sinon.stub().returns(asyncIterable); +} + +describe('v1.DataPolicyServiceClient', () => { + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = + datapolicyserviceModule.v1.DataPolicyServiceClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + datapolicyserviceModule.v1.DataPolicyServiceClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = datapolicyserviceModule.v1.DataPolicyServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.dataPolicyServiceStub, undefined); + await client.initialize(); + assert(client.dataPolicyServiceStub); + }); + + it('has close method for the initialized client', done => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.dataPolicyServiceStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.dataPolicyServiceStub, undefined); + client.close().then(() => { + done(); + }); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + }); + + describe('createDataPolicy', () => { + it('invokes createDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.createDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.createDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createDataPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createDataPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.createDataPolicy = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createDataPolicy( + request, + ( + err?: Error | null, + result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createDataPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createDataPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createDataPolicy = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.createDataPolicy(request), expectedError); + const actualRequest = ( + client.innerApiCalls.createDataPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createDataPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.createDataPolicy(request), expectedError); + }); + }); + + describe('updateDataPolicy', () => { + it('invokes updateDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest() + ); + request.dataPolicy ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest', + ['dataPolicy', 'name'] + ); + request.dataPolicy.name = defaultValue1; + const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.updateDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.updateDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateDataPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateDataPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest() + ); + request.dataPolicy ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest', + ['dataPolicy', 'name'] + ); + request.dataPolicy.name = defaultValue1; + const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.updateDataPolicy = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateDataPolicy( + request, + ( + err?: Error | null, + result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateDataPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateDataPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest() + ); + request.dataPolicy ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest', + ['dataPolicy', 'name'] + ); + request.dataPolicy.name = defaultValue1; + const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateDataPolicy = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.updateDataPolicy(request), expectedError); + const actualRequest = ( + client.innerApiCalls.updateDataPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateDataPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest() + ); + request.dataPolicy ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest', + ['dataPolicy', 'name'] + ); + request.dataPolicy.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.updateDataPolicy(request), expectedError); + }); + }); + + describe('renameDataPolicy', () => { + it('invokes renameDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.renameDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.renameDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.renameDataPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.renameDataPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes renameDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.renameDataPolicy = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.renameDataPolicy( + request, + ( + err?: Error | null, + result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.renameDataPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.renameDataPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes renameDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.renameDataPolicy = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.renameDataPolicy(request), expectedError); + const actualRequest = ( + client.innerApiCalls.renameDataPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.renameDataPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes renameDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.renameDataPolicy(request), expectedError); + }); + }); + + describe('deleteDataPolicy', () => { + it('invokes deleteDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.deleteDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteDataPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteDataPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteDataPolicy = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteDataPolicy( + request, + ( + err?: Error | null, + result?: protos.google.protobuf.IEmpty | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteDataPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteDataPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteDataPolicy = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.deleteDataPolicy(request), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteDataPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteDataPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.deleteDataPolicy(request), expectedError); + }); + }); + + describe('getDataPolicy', () => { + it('invokes getDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.getDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.getDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getDataPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getDataPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.getDataPolicy = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getDataPolicy( + request, + ( + err?: Error | null, + result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getDataPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getDataPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getDataPolicy = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.getDataPolicy(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getDataPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getDataPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getDataPolicy(request), expectedError); + }); + }); + + describe('getIamPolicy', () => { + it('invokes getIamPolicy without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.GetIamPolicyRequest', + ['resource'] + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy() + ); + client.innerApiCalls.getIamPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.getIamPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getIamPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.GetIamPolicyRequest', + ['resource'] + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy() + ); + client.innerApiCalls.getIamPolicy = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getIamPolicy( + request, + ( + err?: Error | null, + result?: protos.google.iam.v1.IPolicy | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getIamPolicy with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.GetIamPolicyRequest', + ['resource'] + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getIamPolicy = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.getIamPolicy(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getIamPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.GetIamPolicyRequest', + ['resource'] + ); + request.resource = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getIamPolicy(request), expectedError); + }); + }); + + describe('setIamPolicy', () => { + it('invokes setIamPolicy without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.SetIamPolicyRequest', + ['resource'] + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy() + ); + client.innerApiCalls.setIamPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.setIamPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes setIamPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.SetIamPolicyRequest', + ['resource'] + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy() + ); + client.innerApiCalls.setIamPolicy = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.setIamPolicy( + request, + ( + err?: Error | null, + result?: protos.google.iam.v1.IPolicy | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes setIamPolicy with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.SetIamPolicyRequest', + ['resource'] + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.setIamPolicy = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.setIamPolicy(request), expectedError); + const actualRequest = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.setIamPolicy as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes setIamPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.SetIamPolicyRequest', + ['resource'] + ); + request.resource = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.setIamPolicy(request), expectedError); + }); + }); + + describe('testIamPermissions', () => { + it('invokes testIamPermissions without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.TestIamPermissionsRequest', + ['resource'] + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsResponse() + ); + client.innerApiCalls.testIamPermissions = + stubSimpleCall(expectedResponse); + const [response] = await client.testIamPermissions(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes testIamPermissions without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.TestIamPermissionsRequest', + ['resource'] + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsResponse() + ); + client.innerApiCalls.testIamPermissions = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.testIamPermissions( + request, + ( + err?: Error | null, + result?: protos.google.iam.v1.ITestIamPermissionsResponse | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes testIamPermissions with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.TestIamPermissionsRequest', + ['resource'] + ); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.testIamPermissions = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.testIamPermissions(request), expectedError); + const actualRequest = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.testIamPermissions as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes testIamPermissions with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.TestIamPermissionsRequest', + ['resource'] + ); + request.resource = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.testIamPermissions(request), expectedError); + }); + }); + + describe('listDataPolicies', () => { + it('invokes listDataPolicies without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ), + generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ), + generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ), + ]; + client.innerApiCalls.listDataPolicies = stubSimpleCall(expectedResponse); + const [response] = await client.listDataPolicies(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listDataPolicies as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listDataPolicies as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listDataPolicies without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ), + generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ), + generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ), + ]; + client.innerApiCalls.listDataPolicies = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listDataPolicies( + request, + ( + err?: Error | null, + result?: + | protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[] + | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listDataPolicies as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listDataPolicies as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listDataPolicies with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listDataPolicies = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.listDataPolicies(request), expectedError); + const actualRequest = ( + client.innerApiCalls.listDataPolicies as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listDataPolicies as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listDataPoliciesStream without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ), + generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ), + generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ), + ]; + client.descriptors.page.listDataPolicies.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listDataPoliciesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.bigquery.datapolicies.v1.DataPolicy[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.bigquery.datapolicies.v1.DataPolicy + ) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert( + (client.descriptors.page.listDataPolicies.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listDataPolicies, request) + ); + assert( + (client.descriptors.page.listDataPolicies.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('invokes listDataPoliciesStream with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listDataPolicies.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listDataPoliciesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.bigquery.datapolicies.v1.DataPolicy[] = + []; + stream.on( + 'data', + ( + response: protos.google.cloud.bigquery.datapolicies.v1.DataPolicy + ) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listDataPolicies.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listDataPolicies, request) + ); + assert( + (client.descriptors.page.listDataPolicies.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listDataPolicies without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ), + generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ), + generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ), + ]; + client.descriptors.page.listDataPolicies.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[] = + []; + const iterable = client.listDataPoliciesAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listDataPolicies.asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert( + (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listDataPolicies with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listDataPolicies.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listDataPoliciesAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listDataPolicies.asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert( + (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + }); + + describe('Path templates', () => { + describe('dataPolicy', () => { + const fakePath = '/rendered/path/dataPolicy'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + data_policy: 'dataPolicyValue', + }; + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.dataPolicyPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.dataPolicyPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('dataPolicyPath', () => { + const result = client.dataPolicyPath( + 'projectValue', + 'locationValue', + 'dataPolicyValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.dataPolicyPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromDataPolicyName', () => { + const result = client.matchProjectFromDataPolicyName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromDataPolicyName', () => { + const result = client.matchLocationFromDataPolicyName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchDataPolicyFromDataPolicyName', () => { + const result = client.matchDataPolicyFromDataPolicyName(fakePath); + assert.strictEqual(result, 'dataPolicyValue'); + assert( + (client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('location', () => { + const fakePath = '/rendered/path/location'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + }; + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.locationPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.locationPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('locationPath', () => { + const result = client.locationPath('projectValue', 'locationValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.locationPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromLocationName', () => { + const result = client.matchProjectFromLocationName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromLocationName', () => { + const result = client.matchLocationFromLocationName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('project', () => { + const fakePath = '/rendered/path/project'; + const expectedParameters = { + project: 'projectValue', + }; + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.projectPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.projectPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('projectPath', () => { + const result = client.projectPath('projectValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.projectPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromProjectName', () => { + const result = client.matchProjectFromProjectName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.projectPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + }); +}); diff --git a/packages/google-cloud-bigquery-datapolicies/test/gapic_data_policy_service_v1beta1.ts b/packages/google-cloud-bigquery-datapolicies/test/gapic_data_policy_service_v1beta1.ts index 7e89fb41497..866d5ed75b6 100644 --- a/packages/google-cloud-bigquery-datapolicies/test/gapic_data_policy_service_v1beta1.ts +++ b/packages/google-cloud-bigquery-datapolicies/test/gapic_data_policy_service_v1beta1.ts @@ -245,9 +245,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest() ); - const defaultValue1 = getTypeDefaultValue('CreateDataPolicyRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -276,9 +277,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest() ); - const defaultValue1 = getTypeDefaultValue('CreateDataPolicyRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -323,9 +325,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest() ); - const defaultValue1 = getTypeDefaultValue('CreateDataPolicyRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); @@ -354,9 +357,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest() ); - const defaultValue1 = getTypeDefaultValue('CreateDataPolicyRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); @@ -376,10 +380,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { new protos.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest() ); request.dataPolicy ??= {}; - const defaultValue1 = getTypeDefaultValue('UpdateDataPolicyRequest', [ - 'dataPolicy', - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest', + ['dataPolicy', 'name'] + ); request.dataPolicy.name = defaultValue1; const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -409,10 +413,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { new protos.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest() ); request.dataPolicy ??= {}; - const defaultValue1 = getTypeDefaultValue('UpdateDataPolicyRequest', [ - 'dataPolicy', - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest', + ['dataPolicy', 'name'] + ); request.dataPolicy.name = defaultValue1; const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -458,10 +462,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { new protos.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest() ); request.dataPolicy ??= {}; - const defaultValue1 = getTypeDefaultValue('UpdateDataPolicyRequest', [ - 'dataPolicy', - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest', + ['dataPolicy', 'name'] + ); request.dataPolicy.name = defaultValue1; const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -491,10 +495,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { new protos.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest() ); request.dataPolicy ??= {}; - const defaultValue1 = getTypeDefaultValue('UpdateDataPolicyRequest', [ - 'dataPolicy', - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest', + ['dataPolicy', 'name'] + ); request.dataPolicy.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); @@ -513,9 +517,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest() ); - const defaultValue1 = getTypeDefaultValue('DeleteDataPolicyRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -544,9 +549,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest() ); - const defaultValue1 = getTypeDefaultValue('DeleteDataPolicyRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -591,9 +597,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest() ); - const defaultValue1 = getTypeDefaultValue('DeleteDataPolicyRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -622,9 +629,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest() ); - const defaultValue1 = getTypeDefaultValue('DeleteDataPolicyRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest', + ['name'] + ); request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); @@ -643,9 +651,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest() ); - const defaultValue1 = getTypeDefaultValue('GetDataPolicyRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -674,9 +683,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest() ); - const defaultValue1 = getTypeDefaultValue('GetDataPolicyRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -721,9 +731,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest() ); - const defaultValue1 = getTypeDefaultValue('GetDataPolicyRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest', + ['name'] + ); request.name = defaultValue1; const expectedHeaderRequestParams = `name=${defaultValue1}`; const expectedError = new Error('expected'); @@ -752,9 +763,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest() ); - const defaultValue1 = getTypeDefaultValue('GetDataPolicyRequest', [ - 'name', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest', + ['name'] + ); request.name = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); @@ -773,9 +785,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.GetIamPolicyRequest() ); - const defaultValue1 = getTypeDefaultValue('GetIamPolicyRequest', [ - 'resource', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.GetIamPolicyRequest', + ['resource'] + ); request.resource = defaultValue1; const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -804,9 +817,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.GetIamPolicyRequest() ); - const defaultValue1 = getTypeDefaultValue('GetIamPolicyRequest', [ - 'resource', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.GetIamPolicyRequest', + ['resource'] + ); request.resource = defaultValue1; const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -851,9 +865,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.GetIamPolicyRequest() ); - const defaultValue1 = getTypeDefaultValue('GetIamPolicyRequest', [ - 'resource', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.GetIamPolicyRequest', + ['resource'] + ); request.resource = defaultValue1; const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedError = new Error('expected'); @@ -882,9 +897,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.GetIamPolicyRequest() ); - const defaultValue1 = getTypeDefaultValue('GetIamPolicyRequest', [ - 'resource', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.GetIamPolicyRequest', + ['resource'] + ); request.resource = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); @@ -903,9 +919,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.SetIamPolicyRequest() ); - const defaultValue1 = getTypeDefaultValue('SetIamPolicyRequest', [ - 'resource', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.SetIamPolicyRequest', + ['resource'] + ); request.resource = defaultValue1; const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -934,9 +951,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.SetIamPolicyRequest() ); - const defaultValue1 = getTypeDefaultValue('SetIamPolicyRequest', [ - 'resource', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.SetIamPolicyRequest', + ['resource'] + ); request.resource = defaultValue1; const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -981,9 +999,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.SetIamPolicyRequest() ); - const defaultValue1 = getTypeDefaultValue('SetIamPolicyRequest', [ - 'resource', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.SetIamPolicyRequest', + ['resource'] + ); request.resource = defaultValue1; const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1012,9 +1031,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.SetIamPolicyRequest() ); - const defaultValue1 = getTypeDefaultValue('SetIamPolicyRequest', [ - 'resource', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.SetIamPolicyRequest', + ['resource'] + ); request.resource = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); @@ -1033,9 +1053,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.TestIamPermissionsRequest() ); - const defaultValue1 = getTypeDefaultValue('TestIamPermissionsRequest', [ - 'resource', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.TestIamPermissionsRequest', + ['resource'] + ); request.resource = defaultValue1; const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -1065,9 +1086,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.TestIamPermissionsRequest() ); - const defaultValue1 = getTypeDefaultValue('TestIamPermissionsRequest', [ - 'resource', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.TestIamPermissionsRequest', + ['resource'] + ); request.resource = defaultValue1; const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedResponse = generateSampleMessage( @@ -1112,9 +1134,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.TestIamPermissionsRequest() ); - const defaultValue1 = getTypeDefaultValue('TestIamPermissionsRequest', [ - 'resource', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.TestIamPermissionsRequest', + ['resource'] + ); request.resource = defaultValue1; const expectedHeaderRequestParams = `resource=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1143,9 +1166,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.iam.v1.TestIamPermissionsRequest() ); - const defaultValue1 = getTypeDefaultValue('TestIamPermissionsRequest', [ - 'resource', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.iam.v1.TestIamPermissionsRequest', + ['resource'] + ); request.resource = defaultValue1; const expectedError = new Error('The client has already been closed.'); client.close(); @@ -1164,9 +1188,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListDataPoliciesRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -1203,9 +1228,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListDataPoliciesRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -1260,9 +1286,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListDataPoliciesRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1291,9 +1318,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListDataPoliciesRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -1354,9 +1382,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListDataPoliciesRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); @@ -1406,9 +1435,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListDataPoliciesRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedResponse = [ @@ -1456,9 +1486,10 @@ describe('v1beta1.DataPolicyServiceClient', () => { const request = generateSampleMessage( new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() ); - const defaultValue1 = getTypeDefaultValue('ListDataPoliciesRequest', [ - 'parent', - ]); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', + ['parent'] + ); request.parent = defaultValue1; const expectedHeaderRequestParams = `parent=${defaultValue1}`; const expectedError = new Error('expected'); From 68b56defbc00ba3a88653f2b6e2dd0da9c2ae44a Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Fri, 2 Dec 2022 20:52:06 +0000 Subject: [PATCH 3/4] docs: fix minor docstring formatting PiperOrigin-RevId: 492509862 Source-Link: https://github.com/googleapis/googleapis/commit/83c3605afb5a39952bf0a0809875d41cf2a558ca Source-Link: https://github.com/googleapis/googleapis-gen/commit/2fd72ef9869db602937a1075ae91d0b14693eccf Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWJpZ3F1ZXJ5LWRhdGFwb2xpY2llcy8uT3dsQm90LnlhbWwiLCJoIjoiMmZkNzJlZjk4NjlkYjYwMjkzN2ExMDc1YWU5MWQwYjE0NjkzZWNjZiJ9 --- .../v1/.eslintignore | 7 + .../v1/.eslintrc.json | 3 + .../v1/.gitignore | 14 + .../v1/.jsdoc.js | 55 + .../v1/.mocharc.js | 33 + .../v1/.prettierrc.js | 22 + .../v1/README.md | 1 + .../v1/linkinator.config.json | 16 + .../v1/package.json | 64 + .../bigquery/datapolicies/v1/datapolicy.proto | 320 ++++ .../data_policy_service.create_data_policy.js | 68 + .../data_policy_service.delete_data_policy.js | 62 + .../v1/data_policy_service.get_data_policy.js | 62 + .../v1/data_policy_service.get_iam_policy.js | 67 + .../data_policy_service.list_data_policies.js | 85 + .../data_policy_service.rename_data_policy.js | 67 + .../v1/data_policy_service.set_iam_policy.js | 77 + ...ata_policy_service.test_iam_permissions.js | 70 + .../data_policy_service.update_data_policy.js | 71 + ...google.cloud.bigquery.datapolicies.v1.json | 415 +++++ .../v1/src/index.ts | 25 + .../v1/src/v1/data_policy_service_client.ts | 1264 +++++++++++++++ .../v1/data_policy_service_client_config.json | 83 + .../v1/data_policy_service_proto_list.json | 3 + .../v1/src/v1/gapic_metadata.json | 117 ++ .../v1/src/v1/index.ts | 19 + .../system-test/fixtures/sample/src/index.js | 27 + .../system-test/fixtures/sample/src/index.ts | 32 + .../v1/system-test/install.ts | 49 + .../v1/test/gapic_data_policy_service_v1.ts | 1427 +++++++++++++++++ .../v1/tsconfig.json | 19 + .../v1/webpack.config.js | 64 + .../v1beta1/.eslintignore | 7 + .../v1beta1/.eslintrc.json | 3 + .../v1beta1/.gitignore | 14 + .../v1beta1/.jsdoc.js | 55 + .../v1beta1/.mocharc.js | 33 + .../v1beta1/.prettierrc.js | 22 + .../v1beta1/README.md | 1 + .../v1beta1/linkinator.config.json | 16 + .../v1beta1/package.json | 64 + .../datapolicies/v1beta1/datapolicy.proto | 287 ++++ .../data_policy_service.create_data_policy.js | 68 + .../data_policy_service.delete_data_policy.js | 62 + .../data_policy_service.get_data_policy.js | 62 + .../data_policy_service.get_iam_policy.js | 67 + .../data_policy_service.list_data_policies.js | 75 + .../data_policy_service.set_iam_policy.js | 77 + ...ata_policy_service.test_iam_permissions.js | 70 + .../data_policy_service.update_data_policy.js | 71 + ...e.cloud.bigquery.datapolicies.v1beta1.json | 367 +++++ .../v1beta1/src/index.ts | 25 + .../src/v1beta1/data_policy_service_client.ts | 1163 ++++++++++++++ .../data_policy_service_client_config.json | 78 + .../data_policy_service_proto_list.json | 3 + .../v1beta1/src/v1beta1/gapic_metadata.json | 107 ++ .../v1beta1/src/v1beta1/index.ts | 19 + .../system-test/fixtures/sample/src/index.js | 27 + .../system-test/fixtures/sample/src/index.ts | 32 + .../v1beta1/system-test/install.ts | 49 + .../test/gapic_data_policy_service_v1beta1.ts | 1319 +++++++++++++++ .../v1beta1/tsconfig.json | 19 + .../v1beta1/webpack.config.js | 64 + 63 files changed, 9034 insertions(+) create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintignore create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintrc.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.gitignore create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.jsdoc.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.mocharc.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.prettierrc.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/README.md create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/linkinator.config.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/package.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.create_data_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.delete_data_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_data_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_iam_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.list_data_policies.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.rename_data_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.set_iam_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.test_iam_permissions.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.update_data_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/index.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client_config.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_proto_list.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/gapic_metadata.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/index.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/install.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/test/gapic_data_policy_service_v1.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/tsconfig.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/webpack.config.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintignore create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintrc.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.gitignore create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.jsdoc.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.mocharc.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.prettierrc.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/README.md create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/linkinator.config.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/package.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicy.proto create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.create_data_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.delete_data_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_data_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_iam_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.list_data_policies.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.set_iam_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.test_iam_permissions.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.update_data_policy.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/index.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client_config.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_proto_list.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/gapic_metadata.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/index.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.js create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/install.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/test/gapic_data_policy_service_v1beta1.ts create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/tsconfig.json create mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/webpack.config.js diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintignore b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintignore new file mode 100644 index 00000000000..cfc348ec4d1 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintignore @@ -0,0 +1,7 @@ +**/node_modules +**/.coverage +build/ +docs/ +protos/ +system-test/ +samples/generated/ diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintrc.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintrc.json new file mode 100644 index 00000000000..78215349546 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/gts" +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.gitignore b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.gitignore new file mode 100644 index 00000000000..5d32b23782f --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.gitignore @@ -0,0 +1,14 @@ +**/*.log +**/node_modules +.coverage +coverage +.nyc_output +docs/ +out/ +build/ +system-test/secrets.js +system-test/*key.json +*.lock +.DS_Store +package-lock.json +__pycache__ diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.jsdoc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.jsdoc.js new file mode 100644 index 00000000000..68361d6c419 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.jsdoc.js @@ -0,0 +1,55 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +'use strict'; + +module.exports = { + opts: { + readme: './README.md', + package: './package.json', + template: './node_modules/jsdoc-fresh', + recurse: true, + verbose: true, + destination: './docs/' + }, + plugins: [ + 'plugins/markdown', + 'jsdoc-region-tag' + ], + source: { + excludePattern: '(^|\\/|\\\\)[._]', + include: [ + 'build/src', + 'protos' + ], + includePattern: '\\.js$' + }, + templates: { + copyright: 'Copyright 2022 Google LLC', + includeDate: false, + sourceFiles: false, + systemName: '@google-cloud/datapolicies', + theme: 'lumen', + default: { + outputSourceFiles: false + } + }, + markdown: { + idInHeadings: true + } +}; diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.mocharc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.mocharc.js new file mode 100644 index 00000000000..481c522b00f --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.mocharc.js @@ -0,0 +1,33 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +const config = { + "enable-source-maps": true, + "throw-deprecation": true, + "timeout": 10000 +} +if (process.env.MOCHA_THROW_DEPRECATION === 'false') { + delete config['throw-deprecation']; +} +if (process.env.MOCHA_REPORTER) { + config.reporter = process.env.MOCHA_REPORTER; +} +if (process.env.MOCHA_REPORTER_OUTPUT) { + config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`; +} +module.exports = config diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.prettierrc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.prettierrc.js new file mode 100644 index 00000000000..494e147865d --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.prettierrc.js @@ -0,0 +1,22 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + +module.exports = { + ...require('gts/.prettierrc.json') +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/README.md b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/README.md new file mode 100644 index 00000000000..46950ef3a37 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/README.md @@ -0,0 +1 @@ +Datapolicies: Nodejs Client diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/linkinator.config.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/linkinator.config.json new file mode 100644 index 00000000000..befd23c8633 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/linkinator.config.json @@ -0,0 +1,16 @@ +{ + "recurse": true, + "skip": [ + "https://codecov.io/gh/googleapis/", + "www.googleapis.com", + "img.shields.io", + "https://console.cloud.google.com/cloudshell", + "https://support.google.com" + ], + "silent": true, + "concurrency": 5, + "retry": true, + "retryErrors": true, + "retryErrorsCount": 5, + "retryErrorsJitter": 3000 +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/package.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/package.json new file mode 100644 index 00000000000..79e1b6b2a35 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/package.json @@ -0,0 +1,64 @@ +{ + "name": "@google-cloud/datapolicies", + "version": "0.1.0", + "description": "Datapolicies client for Node.js", + "repository": "googleapis/nodejs-datapolicies", + "license": "Apache-2.0", + "author": "Google LLC", + "main": "build/src/index.js", + "files": [ + "build/src", + "build/protos" + ], + "keywords": [ + "google apis client", + "google api client", + "google apis", + "google api", + "google", + "google cloud platform", + "google cloud", + "cloud", + "google datapolicies", + "datapolicies", + "data policy service" + ], + "scripts": { + "clean": "gts clean", + "compile": "tsc -p . && cp -r protos build/ && minifyProtoJson", + "compile-protos": "compileProtos src", + "docs": "jsdoc -c .jsdoc.js", + "predocs-test": "npm run docs", + "docs-test": "linkinator docs", + "fix": "gts fix", + "lint": "gts check", + "prepare": "npm run compile-protos && npm run compile", + "system-test": "c8 mocha build/system-test", + "test": "c8 mocha build/test" + }, + "dependencies": { + "google-gax": "^3.5.2" + }, + "devDependencies": { + "@types/mocha": "^9.1.1", + "@types/node": "^16.11.62", + "@types/sinon": "^10.0.13", + "c8": "^7.12.0", + "gts": "^3.1.1", + "jsdoc": "^3.6.11", + "jsdoc-fresh": "^2.0.1", + "jsdoc-region-tag": "^2.0.1", + "linkinator": "^4.0.3", + "mocha": "^10.0.0", + "null-loader": "^4.0.1", + "pack-n-play": "^1.0.0-2", + "sinon": "^14.0.0", + "ts-loader": "^8.4.0", + "typescript": "^4.8.3", + "webpack": "^4.46.0", + "webpack-cli": "^4.10.0" + }, + "engines": { + "node": ">=v12" + } +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto new file mode 100644 index 00000000000..cd79acfba30 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto @@ -0,0 +1,320 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.bigquery.datapolicies.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/iam/v1/iam_policy.proto"; +import "google/iam/v1/policy.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.BigQuery.DataPolicies.V1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/bigquery/datapolicies/v1;datapolicies"; +option java_multiple_files = true; +option java_outer_classname = "DataPolicyProto"; +option java_package = "com.google.cloud.bigquery.datapolicies.v1"; +option php_namespace = "Google\\Cloud\\BigQuery\\DataPolicies\\V1"; +option ruby_package = "Google::Cloud::Bigquery::DataPolicies::V1"; + +// Data Policy Service provides APIs for managing the label-policy bindings. +service DataPolicyService { + option (google.api.default_host) = "bigquerydatapolicy.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/bigquery," + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a new data policy under a project with the given `dataPolicyId` + // (used as the display name), policy tag, and data policy type. + rpc CreateDataPolicy(CreateDataPolicyRequest) returns (DataPolicy) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/dataPolicies" + body: "data_policy" + }; + option (google.api.method_signature) = "parent,data_policy"; + } + + // Updates the metadata for an existing data policy. The target data policy + // can be specified by the resource name. + rpc UpdateDataPolicy(UpdateDataPolicyRequest) returns (DataPolicy) { + option (google.api.http) = { + patch: "/v1/{data_policy.name=projects/*/locations/*/dataPolicies/*}" + body: "data_policy" + }; + option (google.api.method_signature) = "data_policy,update_mask"; + } + + // Renames the id (display name) of the specified data policy. + rpc RenameDataPolicy(RenameDataPolicyRequest) returns (DataPolicy) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/dataPolicies/*}:rename" + body: "*" + }; + option (google.api.method_signature) = "name,new_data_policy_id"; + } + + // Deletes the data policy specified by its resource name. + rpc DeleteDataPolicy(DeleteDataPolicyRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/dataPolicies/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Gets the data policy specified by its resource name. + rpc GetDataPolicy(GetDataPolicyRequest) returns (DataPolicy) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/dataPolicies/*}" + }; + option (google.api.method_signature) = "name"; + } + + // List all of the data policies in the specified parent project. + rpc ListDataPolicies(ListDataPoliciesRequest) + returns (ListDataPoliciesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/dataPolicies" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets the IAM policy for the specified data policy. + rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) + returns (google.iam.v1.Policy) { + option (google.api.http) = { + post: "/v1/{resource=projects/*/locations/*/dataPolicies/*}:getIamPolicy" + body: "*" + }; + } + + // Sets the IAM policy for the specified data policy. + rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) + returns (google.iam.v1.Policy) { + option (google.api.http) = { + post: "/v1/{resource=projects/*/locations/*/dataPolicies/*}:setIamPolicy" + body: "*" + }; + } + + // Returns the caller's permission on the specified data policy resource. + rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) + returns (google.iam.v1.TestIamPermissionsResponse) { + option (google.api.http) = { + post: "/v1/{resource=projects/*/locations/*/dataPolicies/*}:testIamPermissions" + body: "*" + }; + } +} + +// Request message for the CreateDataPolicy method. +message CreateDataPolicyRequest { + // Required. Resource name of the project that the data policy will belong to. + // The format is `projects/{project_number}/locations/{location_id}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "bigquerydatapolicy.googleapis.com/DataPolicy" + } + ]; + + // Required. The data policy to create. The `name` field does not need to be + // provided for the data policy creation. + DataPolicy data_policy = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for the UpdateDataPolicy method. +message UpdateDataPolicyRequest { + // Required. Update the data policy's metadata. + // + // The target data policy is determined by the `name` field. + // Other fields are updated to the specified values based on the field masks. + DataPolicy data_policy = 1 [(google.api.field_behavior) = REQUIRED]; + + // The update mask applies to the resource. For the `FieldMask` definition, + // see + // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + // If not set, defaults to all of the fields that are allowed to update. + // + // Updates to the `name` and `dataPolicyId` fields are not allowed. + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for the RenameDataPolicy method. +message RenameDataPolicyRequest { + // Required. Resource name of the data policy to rename. The format is + // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}` + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The new data policy id. + string new_data_policy_id = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request message for the DeleteDataPolicy method. +message DeleteDataPolicyRequest { + // Required. Resource name of the data policy to delete. Format is + // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigquerydatapolicy.googleapis.com/DataPolicy" + } + ]; +} + +// Request message for the GetDataPolicy method. +message GetDataPolicyRequest { + // Required. Resource name of the requested data policy. Format is + // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigquerydatapolicy.googleapis.com/DataPolicy" + } + ]; +} + +// Request message for the ListDataPolicies method. +message ListDataPoliciesRequest { + // Required. Resource name of the project for which to list data policies. + // Format is `projects/{project_number}/locations/{location_id}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "bigquerydatapolicy.googleapis.com/DataPolicy" + } + ]; + + // The maximum number of data policies to return. Must be a value between 1 + // and 1000. + // If not set, defaults to 50. + int32 page_size = 2; + + // The `nextPageToken` value returned from a previous list request, if any. If + // not set, defaults to an empty string. + string page_token = 3; + + // Filters the data policies by policy tags that they + // are associated with. Currently filter only supports + // "policy_tag" based filtering and OR based predicates. Sample + // filter can be "policy_tag: + // `'projects/1/locations/us/taxonomies/2/policyTags/3'`". You may use + // wildcard such as "policy_tag: + // `'projects/1/locations/us/taxonomies/2/*'`". + string filter = 4; +} + +// Response message for the ListDataPolicies method. +message ListDataPoliciesResponse { + // Data policies that belong to the requested project. + repeated DataPolicy data_policies = 1; + + // Token used to retrieve the next page of results, or empty if there are no + // more results. + string next_page_token = 2; +} + +// Represents the label-policy binding. +message DataPolicy { + option (google.api.resource) = { + type: "bigquerydatapolicy.googleapis.com/DataPolicy" + pattern: "projects/{project}/locations/{location}/dataPolicies/{data_policy}" + }; + + // A list of supported data policy types. + enum DataPolicyType { + // Default value for the data policy type. This should not be used. + DATA_POLICY_TYPE_UNSPECIFIED = 0; + + // Used to create a data policy for column-level security, without data + // masking. + COLUMN_LEVEL_SECURITY_POLICY = 3; + + // Used to create a data policy for data masking. + DATA_MASKING_POLICY = 2; + } + + // Label that is bound to this data policy. + oneof matching_label { + // Policy tag resource name, in the format of + // `projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{policyTag_id}`. + string policy_tag = 4; + } + + // The policy that is bound to this data policy. + oneof policy { + // The data masking policy that specifies the data masking rule to use. + DataMaskingPolicy data_masking_policy = 5; + } + + // Output only. Resource name of this data policy, in the format of + // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Type of data policy. + DataPolicyType data_policy_type = 2; + + // User-assigned (human readable) ID of the data policy that needs to be + // unique within a project. Used as {data_policy_id} in part of the resource + // name. + string data_policy_id = 3; +} + +// The data masking policy that is used to specify data masking rule. +message DataMaskingPolicy { + // The available masking rules. Learn more here: + // https://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options. + enum PredefinedExpression { + // Default, unspecified predefined expression. No masking will take place + // since no expression is specified. + PREDEFINED_EXPRESSION_UNSPECIFIED = 0; + + // Masking expression to replace data with SHA-256 hash. + SHA256 = 3; + + // Masking expression to replace data with NULLs. + ALWAYS_NULL = 5; + + // Masking expression to replace data with their default masking values. + // The default masking values for each type listed as below: + // + // * STRING: "" + // * BYTES: b'' + // * INTEGER: 0 + // * FLOAT: 0.0 + // * NUMERIC: 0 + // * BOOLEAN: FALSE + // * TIMESTAMP: 0001-01-01 00:00:00 UTC + // * DATE: 0001-01-01 + // * TIME: 00:00:00 + // * DATETIME: 0001-01-01T00:00:00 + // * GEOGRAPHY: POINT(0 0) + // * BIGNUMERIC: 0 + // * ARRAY: [] + // * STRUCT: NOT_APPLICABLE + // * JSON: NULL + DEFAULT_MASKING_VALUE = 7; + } + + // A masking expression to bind to the data masking rule. + oneof masking_expression { + // A predefined masking expression. + PredefinedExpression predefined_expression = 1; + } +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.create_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.create_data_policy.js new file mode 100644 index 00000000000..1e8300ae4f1 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.create_data_policy.js @@ -0,0 +1,68 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(parent, dataPolicy) { + // [START bigquerydatapolicy_v1_generated_DataPolicyService_CreateDataPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the project that the data policy will belong to. + * The format is `projects/{project_number}/locations/{location_id}`. + */ + // const parent = 'abc123' + /** + * Required. The data policy to create. The `name` field does not need to be + * provided for the data policy creation. + */ + // const dataPolicy = {} + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callCreateDataPolicy() { + // Construct request + const request = { + parent, + dataPolicy, + }; + + // Run request + const response = await datapoliciesClient.createDataPolicy(request); + console.log(response); + } + + callCreateDataPolicy(); + // [END bigquerydatapolicy_v1_generated_DataPolicyService_CreateDataPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.delete_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.delete_data_policy.js new file mode 100644 index 00000000000..bfae7b78a07 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.delete_data_policy.js @@ -0,0 +1,62 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(name) { + // [START bigquerydatapolicy_v1_generated_DataPolicyService_DeleteDataPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the data policy to delete. Format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + */ + // const name = 'abc123' + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callDeleteDataPolicy() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await datapoliciesClient.deleteDataPolicy(request); + console.log(response); + } + + callDeleteDataPolicy(); + // [END bigquerydatapolicy_v1_generated_DataPolicyService_DeleteDataPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_data_policy.js new file mode 100644 index 00000000000..3460963686e --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_data_policy.js @@ -0,0 +1,62 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(name) { + // [START bigquerydatapolicy_v1_generated_DataPolicyService_GetDataPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the requested data policy. Format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + */ + // const name = 'abc123' + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callGetDataPolicy() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await datapoliciesClient.getDataPolicy(request); + console.log(response); + } + + callGetDataPolicy(); + // [END bigquerydatapolicy_v1_generated_DataPolicyService_GetDataPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_iam_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_iam_policy.js new file mode 100644 index 00000000000..84533025be7 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_iam_policy.js @@ -0,0 +1,67 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(resource) { + // [START bigquerydatapolicy_v1_generated_DataPolicyService_GetIamPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * REQUIRED: The resource for which the policy is being requested. + * See the operation documentation for the appropriate value for this field. + */ + // const resource = 'abc123' + /** + * OPTIONAL: A `GetPolicyOptions` object for specifying options to + * `GetIamPolicy`. + */ + // const options = {} + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callGetIamPolicy() { + // Construct request + const request = { + resource, + }; + + // Run request + const response = await datapoliciesClient.getIamPolicy(request); + console.log(response); + } + + callGetIamPolicy(); + // [END bigquerydatapolicy_v1_generated_DataPolicyService_GetIamPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.list_data_policies.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.list_data_policies.js new file mode 100644 index 00000000000..f96591c6b47 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.list_data_policies.js @@ -0,0 +1,85 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(parent) { + // [START bigquerydatapolicy_v1_generated_DataPolicyService_ListDataPolicies_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the project for which to list data policies. + * Format is `projects/{project_number}/locations/{location_id}`. + */ + // const parent = 'abc123' + /** + * The maximum number of data policies to return. Must be a value between 1 + * and 1000. + * If not set, defaults to 50. + */ + // const pageSize = 1234 + /** + * The `nextPageToken` value returned from a previous list request, if any. If + * not set, defaults to an empty string. + */ + // const pageToken = 'abc123' + /** + * Filters the data policies by policy tags that they + * are associated with. Currently filter only supports + * "policy_tag" based filtering and OR based predicates. Sample + * filter can be "policy_tag: + * `'projects/1/locations/us/taxonomies/2/policyTags/3'`". You may use + * wildcard such as "policy_tag: + * `'projects/1/locations/us/taxonomies/2/*'`". + */ + // const filter = 'abc123' + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callListDataPolicies() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await datapoliciesClient.listDataPoliciesAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListDataPolicies(); + // [END bigquerydatapolicy_v1_generated_DataPolicyService_ListDataPolicies_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.rename_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.rename_data_policy.js new file mode 100644 index 00000000000..af2892b048a --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.rename_data_policy.js @@ -0,0 +1,67 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(name, newDataPolicyId) { + // [START bigquerydatapolicy_v1_generated_DataPolicyService_RenameDataPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the data policy to rename. The format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}` + */ + // const name = 'abc123' + /** + * Required. The new data policy id. + */ + // const newDataPolicyId = 'abc123' + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callRenameDataPolicy() { + // Construct request + const request = { + name, + newDataPolicyId, + }; + + // Run request + const response = await datapoliciesClient.renameDataPolicy(request); + console.log(response); + } + + callRenameDataPolicy(); + // [END bigquerydatapolicy_v1_generated_DataPolicyService_RenameDataPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.set_iam_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.set_iam_policy.js new file mode 100644 index 00000000000..7cfda4aa49b --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.set_iam_policy.js @@ -0,0 +1,77 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(resource, policy) { + // [START bigquerydatapolicy_v1_generated_DataPolicyService_SetIamPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * REQUIRED: The resource for which the policy is being specified. + * See the operation documentation for the appropriate value for this field. + */ + // const resource = 'abc123' + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size of + * the policy is limited to a few 10s of KB. An empty policy is a + * valid policy but certain Cloud Platform services (such as Projects) + * might reject them. + */ + // const policy = {} + /** + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only + * the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: + * `paths: "bindings, etag"` + */ + // const updateMask = {} + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callSetIamPolicy() { + // Construct request + const request = { + resource, + policy, + }; + + // Run request + const response = await datapoliciesClient.setIamPolicy(request); + console.log(response); + } + + callSetIamPolicy(); + // [END bigquerydatapolicy_v1_generated_DataPolicyService_SetIamPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.test_iam_permissions.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.test_iam_permissions.js new file mode 100644 index 00000000000..49d6f841c1d --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.test_iam_permissions.js @@ -0,0 +1,70 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(resource, permissions) { + // [START bigquerydatapolicy_v1_generated_DataPolicyService_TestIamPermissions_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + // const resource = 'abc123' + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. For more + * information see + * IAM Overview (https://cloud.google.com/iam/docs/overview#permissions). + */ + // const permissions = 'abc123' + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callTestIamPermissions() { + // Construct request + const request = { + resource, + permissions, + }; + + // Run request + const response = await datapoliciesClient.testIamPermissions(request); + console.log(response); + } + + callTestIamPermissions(); + // [END bigquerydatapolicy_v1_generated_DataPolicyService_TestIamPermissions_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.update_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.update_data_policy.js new file mode 100644 index 00000000000..a459efd1583 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.update_data_policy.js @@ -0,0 +1,71 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(dataPolicy) { + // [START bigquerydatapolicy_v1_generated_DataPolicyService_UpdateDataPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Update the data policy's metadata. + * The target data policy is determined by the `name` field. + * Other fields are updated to the specified values based on the field masks. + */ + // const dataPolicy = {} + /** + * The update mask applies to the resource. For the `FieldMask` definition, + * see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + * If not set, defaults to all of the fields that are allowed to update. + * Updates to the `name` and `dataPolicyId` fields are not allowed. + */ + // const updateMask = {} + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callUpdateDataPolicy() { + // Construct request + const request = { + dataPolicy, + }; + + // Run request + const response = await datapoliciesClient.updateDataPolicy(request); + console.log(response); + } + + callUpdateDataPolicy(); + // [END bigquerydatapolicy_v1_generated_DataPolicyService_UpdateDataPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json new file mode 100644 index 00000000000..9cc2d6c6627 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json @@ -0,0 +1,415 @@ +{ + "clientLibrary": { + "name": "nodejs-datapolicies", + "version": "0.1.0", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.bigquery.datapolicies.v1", + "version": "v1" + } + ] + }, + "snippets": [ + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_CreateDataPolicy_async", + "title": "DataPolicyService createDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Creates a new data policy under a project with the given `dataPolicyId` (used as the display name), policy tag, and data policy type.", + "canonical": true, + "file": "data_policy_service.create_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 60, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.CreateDataPolicy", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "data_policy", + "type": ".google.cloud.bigquery.datapolicies.v1.DataPolicy" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1.DataPolicy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "CreateDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.CreateDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_UpdateDataPolicy_async", + "title": "DataPolicyService updateDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Updates the metadata for an existing data policy. The target data policy can be specified by the resource name.", + "canonical": true, + "file": "data_policy_service.update_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 63, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.UpdateDataPolicy", + "async": true, + "parameters": [ + { + "name": "data_policy", + "type": ".google.cloud.bigquery.datapolicies.v1.DataPolicy" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1.DataPolicy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "UpdateDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.UpdateDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_RenameDataPolicy_async", + "title": "DataPolicyService renameDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Renames the id (display name) of the specified data policy.", + "canonical": true, + "file": "data_policy_service.rename_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "RenameDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.RenameDataPolicy", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "new_data_policy_id", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1.DataPolicy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "RenameDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.RenameDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_DeleteDataPolicy_async", + "title": "DataPolicyService deleteDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Deletes the data policy specified by its resource name.", + "canonical": true, + "file": "data_policy_service.delete_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.DeleteDataPolicy", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "DeleteDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.DeleteDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_GetDataPolicy_async", + "title": "DataPolicyService getDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Gets the data policy specified by its resource name.", + "canonical": true, + "file": "data_policy_service.get_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetDataPolicy", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1.DataPolicy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "GetDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_ListDataPolicies_async", + "title": "DataPolicyService listDataPolicies Sample", + "origin": "API_DEFINITION", + "description": " List all of the data policies in the specified parent project.", + "canonical": true, + "file": "data_policy_service.list_data_policies.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 77, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListDataPolicies", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.ListDataPolicies", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + }, + { + "name": "filter", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "ListDataPolicies", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.ListDataPolicies", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_GetIamPolicy_async", + "title": "DataPolicyService getIamPolicy Sample", + "origin": "API_DEFINITION", + "description": " Gets the IAM policy for the specified data policy.", + "canonical": true, + "file": "data_policy_service.get_iam_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetIamPolicy", + "async": true, + "parameters": [ + { + "name": "resource", + "type": "TYPE_STRING" + }, + { + "name": "options", + "type": ".google.iam.v1.GetPolicyOptions" + } + ], + "resultType": ".google.iam.v1.Policy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetIamPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_SetIamPolicy_async", + "title": "DataPolicyService setIamPolicy Sample", + "origin": "API_DEFINITION", + "description": " Sets the IAM policy for the specified data policy.", + "canonical": true, + "file": "data_policy_service.set_iam_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 69, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "SetIamPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.SetIamPolicy", + "async": true, + "parameters": [ + { + "name": "resource", + "type": "TYPE_STRING" + }, + { + "name": "policy", + "type": ".google.iam.v1.Policy" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.iam.v1.Policy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "SetIamPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.SetIamPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_TestIamPermissions_async", + "title": "DataPolicyService testIamPermissions Sample", + "origin": "API_DEFINITION", + "description": " Returns the caller's permission on the specified data policy resource.", + "canonical": true, + "file": "data_policy_service.test_iam_permissions.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 62, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "TestIamPermissions", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.TestIamPermissions", + "async": true, + "parameters": [ + { + "name": "resource", + "type": "TYPE_STRING" + }, + { + "name": "permissions", + "type": "TYPE_STRING[]" + } + ], + "resultType": ".google.iam.v1.TestIamPermissionsResponse", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" + }, + "method": { + "shortName": "TestIamPermissions", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.TestIamPermissions", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" + } + } + } + } + ] +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/index.ts new file mode 100644 index 00000000000..6916fa3a44f --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/index.ts @@ -0,0 +1,25 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as v1 from './v1'; +const DataPolicyServiceClient = v1.DataPolicyServiceClient; +type DataPolicyServiceClient = v1.DataPolicyServiceClient; +export {v1, DataPolicyServiceClient}; +export default {v1, DataPolicyServiceClient}; +import * as protos from '../protos/protos'; +export {protos} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client.ts new file mode 100644 index 00000000000..05cbe55d87d --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client.ts @@ -0,0 +1,1264 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +/* global window */ +import type * as gax from 'google-gax'; +import type {Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback, GaxCall} from 'google-gax'; +import {Transform} from 'stream'; +import * as protos from '../../protos/protos'; +import jsonProtos = require('../../protos/protos.json'); +/** + * Client JSON configuration object, loaded from + * `src/v1/data_policy_service_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ +import * as gapicConfig from './data_policy_service_client_config.json'; +const version = require('../../../package.json').version; + +/** + * Data Policy Service provides APIs for managing the label-policy bindings. + * @class + * @memberof v1 + */ +export class DataPolicyServiceClient { + private _terminated = false; + private _opts: ClientOptions; + private _providedCustomServicePath: boolean; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; + auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + warn: (code: string, message: string, warnType?: string) => void; + innerApiCalls: {[name: string]: Function}; + pathTemplates: {[name: string]: gax.PathTemplate}; + dataPolicyServiceStub?: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of DataPolicyServiceClient. + * + * @param {object} [options] - The configuration object. + * The options accepted by the constructor are described in detail + * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). + * The common options are: + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {string} [options.apiEndpoint] - The domain name of the + * API remote host. + * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. + * Follows the structure of {@link gapicConfig}. + * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. + * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. + * For more information, please check the + * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. + * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you + * need to avoid loading the default gRPC version and want to use the fallback + * HTTP implementation. Load only fallback version and pass it to the constructor: + * ``` + * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC + * const client = new DataPolicyServiceClient({fallback: 'rest'}, gax); + * ``` + */ + constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { + // Ensure that options include all the required fields. + const staticMembers = this.constructor as typeof DataPolicyServiceClient; + const servicePath = opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); + const port = opts?.port || staticMembers.port; + const clientConfig = opts?.clientConfig ?? {}; + const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + + // Request numeric enum values if REST transport is used. + opts.numericEnums = true; + + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. + if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { + opts['scopes'] = staticMembers.scopes; + } + + // Load google-gax module synchronously if needed + if (!gaxInstance) { + gaxInstance = require('google-gax') as typeof gax; + } + + // Choose either gRPC or proto-over-HTTP implementation of google-gax. + this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; + + // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. + this._gaxGrpc = new this._gaxModule.GrpcClient(opts); + + // Save options to use in initialize() method. + this._opts = opts; + + // Save the auth object to the client, for use by other methods. + this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + + // Set useJWTAccessWithScope on the auth object. + this.auth.useJWTAccessWithScope = true; + + // Set defaultServicePath on the auth object. + this.auth.defaultServicePath = staticMembers.servicePath; + + // Set the default scopes in auth client if needed. + if (servicePath === staticMembers.servicePath) { + this.auth.defaultScopes = staticMembers.scopes; + } + + // Determine the client header string. + const clientHeader = [ + `gax/${this._gaxModule.version}`, + `gapic/${version}`, + ]; + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } else { + clientHeader.push(`gl-web/${this._gaxModule.version}`); + } + if (!opts.fallback) { + clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); + } else if (opts.fallback === 'rest' ) { + clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); + } + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + // Load the applicable protos. + this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this.pathTemplates = { + dataPolicyPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/dataPolicies/{data_policy}' + ), + locationPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}' + ), + projectPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}' + ), + }; + + // Some of the methods on this service return "paged" results, + // (e.g. 50 results at a time, with tokens to get subsequent + // pages). Denote the keys used for pagination and results. + this.descriptors.page = { + listDataPolicies: + new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'dataPolicies') + }; + + // Put together the default options sent with requests. + this._defaults = this._gaxGrpc.constructSettings( + 'google.cloud.bigquery.datapolicies.v1.DataPolicyService', gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this.innerApiCalls = {}; + + // Add a warn function to the client constructor so it can be easily tested. + this.warn = this._gaxModule.warn; + } + + /** + * Initialize the client. + * Performs asynchronous operations (such as authentication) and prepares the client. + * This function will be called automatically when any class method is called for the + * first time, but if you need to initialize it before calling an actual method, + * feel free to call initialize() directly. + * + * You can await on this method if you want to make sure the client is initialized. + * + * @returns {Promise} A promise that resolves to an authenticated service stub. + */ + initialize() { + // If the client stub promise is already initialized, return immediately. + if (this.dataPolicyServiceStub) { + return this.dataPolicyServiceStub; + } + + // Put together the "service stub" for + // google.cloud.bigquery.datapolicies.v1.DataPolicyService. + this.dataPolicyServiceStub = this._gaxGrpc.createStub( + this._opts.fallback ? + (this._protos as protobuf.Root).lookupService('google.cloud.bigquery.datapolicies.v1.DataPolicyService') : + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.bigquery.datapolicies.v1.DataPolicyService, + this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const dataPolicyServiceStubMethods = + ['createDataPolicy', 'updateDataPolicy', 'renameDataPolicy', 'deleteDataPolicy', 'getDataPolicy', 'listDataPolicies', 'getIamPolicy', 'setIamPolicy', 'testIamPermissions']; + for (const methodName of dataPolicyServiceStubMethods) { + const callPromise = this.dataPolicyServiceStub.then( + stub => (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, + (err: Error|null|undefined) => () => { + throw err; + }); + + const descriptor = + this.descriptors.page[methodName] || + undefined; + const apiCall = this._gaxModule.createApiCall( + callPromise, + this._defaults[methodName], + descriptor, + this._opts.fallback + ); + + this.innerApiCalls[methodName] = apiCall; + } + + return this.dataPolicyServiceStub; + } + + /** + * The DNS address for this API service. + * @returns {string} The DNS address for this service. + */ + static get servicePath() { + return 'bigquerydatapolicy.googleapis.com'; + } + + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + * @returns {string} The DNS address for this service. + */ + static get apiEndpoint() { + return 'bigquerydatapolicy.googleapis.com'; + } + + /** + * The port for this API service. + * @returns {number} The default port for this service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + * @returns {string[]} List of default scopes. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/bigquery', + 'https://www.googleapis.com/auth/cloud-platform' + ]; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @returns {Promise} A promise that resolves to string containing the project ID. + */ + getProjectId(callback?: Callback): + Promise|void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- +/** + * Creates a new data policy under a project with the given `dataPolicyId` + * (used as the display name), policy tag, and data policy type. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the project that the data policy will belong to. + * The format is `projects/{project_number}/locations/{location_id}`. + * @param {google.cloud.bigquery.datapolicies.v1.DataPolicy} request.dataPolicy + * Required. The data policy to create. The `name` field does not need to be + * provided for the data policy creation. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.create_data_policy.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_CreateDataPolicy_async + */ + createDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|undefined, {}|undefined + ]>; + createDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + createDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + createDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'parent': request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.createDataPolicy(request, options, callback); + } +/** + * Updates the metadata for an existing data policy. The target data policy + * can be specified by the resource name. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.bigquery.datapolicies.v1.DataPolicy} request.dataPolicy + * Required. Update the data policy's metadata. + * + * The target data policy is determined by the `name` field. + * Other fields are updated to the specified values based on the field masks. + * @param {google.protobuf.FieldMask} request.updateMask + * The update mask applies to the resource. For the `FieldMask` definition, + * see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + * If not set, defaults to all of the fields that are allowed to update. + * + * Updates to the `name` and `dataPolicyId` fields are not allowed. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.update_data_policy.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_UpdateDataPolicy_async + */ + updateDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|undefined, {}|undefined + ]>; + updateDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + updateDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + updateDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'data_policy.name': request.dataPolicy!.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.updateDataPolicy(request, options, callback); + } +/** + * Renames the id (display name) of the specified data policy. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the data policy to rename. The format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}` + * @param {string} request.newDataPolicyId + * Required. The new data policy id. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.rename_data_policy.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_RenameDataPolicy_async + */ + renameDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|undefined, {}|undefined + ]>; + renameDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + renameDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + renameDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'name': request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.renameDataPolicy(request, options, callback); + } +/** + * Deletes the data policy specified by its resource name. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the data policy to delete. Format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.delete_data_policy.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_DeleteDataPolicy_async + */ + deleteDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|undefined, {}|undefined + ]>; + deleteDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + deleteDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + deleteDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'name': request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.deleteDataPolicy(request, options, callback); + } +/** + * Gets the data policy specified by its resource name. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the requested data policy. Format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.get_data_policy.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_GetDataPolicy_async + */ + getDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|undefined, {}|undefined + ]>; + getDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + getDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + getDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'name': request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.getDataPolicy(request, options, callback); + } +/** + * Gets the IAM policy for the specified data policy. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource + * REQUIRED: The resource for which the policy is being requested. + * See the operation documentation for the appropriate value for this field. + * @param {google.iam.v1.GetPolicyOptions} request.options + * OPTIONAL: A `GetPolicyOptions` object for specifying options to + * `GetIamPolicy`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Policy]{@link google.iam.v1.Policy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.get_iam_policy.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_GetIamPolicy_async + */ + getIamPolicy( + request?: protos.google.iam.v1.IGetIamPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|undefined, {}|undefined + ]>; + getIamPolicy( + request: protos.google.iam.v1.IGetIamPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, + {}|null|undefined>): void; + getIamPolicy( + request: protos.google.iam.v1.IGetIamPolicyRequest, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, + {}|null|undefined>): void; + getIamPolicy( + request?: protos.google.iam.v1.IGetIamPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'resource': request.resource ?? '', + }); + this.initialize(); + return this.innerApiCalls.getIamPolicy(request, options, callback); + } +/** + * Sets the IAM policy for the specified data policy. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource + * REQUIRED: The resource for which the policy is being specified. + * See the operation documentation for the appropriate value for this field. + * @param {google.iam.v1.Policy} request.policy + * REQUIRED: The complete policy to be applied to the `resource`. The size of + * the policy is limited to a few 10s of KB. An empty policy is a + * valid policy but certain Cloud Platform services (such as Projects) + * might reject them. + * @param {google.protobuf.FieldMask} request.updateMask + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only + * the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: + * + * `paths: "bindings, etag"` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Policy]{@link google.iam.v1.Policy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.set_iam_policy.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_SetIamPolicy_async + */ + setIamPolicy( + request?: protos.google.iam.v1.ISetIamPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|undefined, {}|undefined + ]>; + setIamPolicy( + request: protos.google.iam.v1.ISetIamPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, + {}|null|undefined>): void; + setIamPolicy( + request: protos.google.iam.v1.ISetIamPolicyRequest, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, + {}|null|undefined>): void; + setIamPolicy( + request?: protos.google.iam.v1.ISetIamPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'resource': request.resource ?? '', + }); + this.initialize(); + return this.innerApiCalls.setIamPolicy(request, options, callback); + } +/** + * Returns the caller's permission on the specified data policy resource. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + * @param {string[]} request.permissions + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. For more + * information see + * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [TestIamPermissionsResponse]{@link google.iam.v1.TestIamPermissionsResponse}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.test_iam_permissions.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_TestIamPermissions_async + */ + testIamPermissions( + request?: protos.google.iam.v1.ITestIamPermissionsRequest, + options?: CallOptions): + Promise<[ + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|undefined, {}|undefined + ]>; + testIamPermissions( + request: protos.google.iam.v1.ITestIamPermissionsRequest, + options: CallOptions, + callback: Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, + {}|null|undefined>): void; + testIamPermissions( + request: protos.google.iam.v1.ITestIamPermissionsRequest, + callback: Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, + {}|null|undefined>): void; + testIamPermissions( + request?: protos.google.iam.v1.ITestIamPermissionsRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'resource': request.resource ?? '', + }); + this.initialize(); + return this.innerApiCalls.testIamPermissions(request, options, callback); + } + + /** + * List all of the data policies in the specified parent project. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the project for which to list data policies. + * Format is `projects/{project_number}/locations/{location_id}`. + * @param {number} request.pageSize + * The maximum number of data policies to return. Must be a value between 1 + * and 1000. + * If not set, defaults to 50. + * @param {string} request.pageToken + * The `nextPageToken` value returned from a previous list request, if any. If + * not set, defaults to an empty string. + * @param {string} request.filter + * Filters the data policies by policy tags that they + * are associated with. Currently filter only supports + * "policy_tag" based filtering and OR based predicates. Sample + * filter can be "policy_tag: + * `'projects/1/locations/us/taxonomies/2/policyTags/3'`". You may use + * wildcard such as "policy_tag: + * `'projects/1/locations/us/taxonomies/2/*'`". + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listDataPoliciesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listDataPolicies( + request?: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + options?: CallOptions): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[], + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest|null, + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse + ]>; + listDataPolicies( + request: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse|null|undefined, + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy>): void; + listDataPolicies( + request: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + callback: PaginationCallback< + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse|null|undefined, + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy>): void; + listDataPolicies( + request?: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + optionsOrCallback?: CallOptions|PaginationCallback< + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse|null|undefined, + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy>, + callback?: PaginationCallback< + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse|null|undefined, + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy>): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[], + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest|null, + protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'parent': request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.listDataPolicies(request, options, callback); + } + +/** + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the project for which to list data policies. + * Format is `projects/{project_number}/locations/{location_id}`. + * @param {number} request.pageSize + * The maximum number of data policies to return. Must be a value between 1 + * and 1000. + * If not set, defaults to 50. + * @param {string} request.pageToken + * The `nextPageToken` value returned from a previous list request, if any. If + * not set, defaults to an empty string. + * @param {string} request.filter + * Filters the data policies by policy tags that they + * are associated with. Currently filter only supports + * "policy_tag" based filtering and OR based predicates. Sample + * filter can be "policy_tag: + * `'projects/1/locations/us/taxonomies/2/policyTags/3'`". You may use + * wildcard such as "policy_tag: + * `'projects/1/locations/us/taxonomies/2/*'`". + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listDataPoliciesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listDataPoliciesStream( + request?: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + options?: CallOptions): + Transform{ + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'parent': request.parent ?? '', + }); + const defaultCallSettings = this._defaults['listDataPolicies']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listDataPolicies.createStream( + this.innerApiCalls.listDataPolicies as GaxCall, + request, + callSettings + ); + } + +/** + * Equivalent to `listDataPolicies`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the project for which to list data policies. + * Format is `projects/{project_number}/locations/{location_id}`. + * @param {number} request.pageSize + * The maximum number of data policies to return. Must be a value between 1 + * and 1000. + * If not set, defaults to 50. + * @param {string} request.pageToken + * The `nextPageToken` value returned from a previous list request, if any. If + * not set, defaults to an empty string. + * @param {string} request.filter + * Filters the data policies by policy tags that they + * are associated with. Currently filter only supports + * "policy_tag" based filtering and OR based predicates. Sample + * filter can be "policy_tag: + * `'projects/1/locations/us/taxonomies/2/policyTags/3'`". You may use + * wildcard such as "policy_tag: + * `'projects/1/locations/us/taxonomies/2/*'`". + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example include:samples/generated/v1/data_policy_service.list_data_policies.js + * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_ListDataPolicies_async + */ + listDataPoliciesAsync( + request?: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, + options?: CallOptions): + AsyncIterable{ + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'parent': request.parent ?? '', + }); + const defaultCallSettings = this._defaults['listDataPolicies']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listDataPolicies.asyncIterate( + this.innerApiCalls['listDataPolicies'] as GaxCall, + request as {}, + callSettings + ) as AsyncIterable; + } + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified dataPolicy resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} data_policy + * @returns {string} Resource name string. + */ + dataPolicyPath(project:string,location:string,dataPolicy:string) { + return this.pathTemplates.dataPolicyPathTemplate.render({ + project: project, + location: location, + data_policy: dataPolicy, + }); + } + + /** + * Parse the project from DataPolicy resource. + * + * @param {string} dataPolicyName + * A fully-qualified path representing DataPolicy resource. + * @returns {string} A string representing the project. + */ + matchProjectFromDataPolicyName(dataPolicyName: string) { + return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).project; + } + + /** + * Parse the location from DataPolicy resource. + * + * @param {string} dataPolicyName + * A fully-qualified path representing DataPolicy resource. + * @returns {string} A string representing the location. + */ + matchLocationFromDataPolicyName(dataPolicyName: string) { + return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).location; + } + + /** + * Parse the data_policy from DataPolicy resource. + * + * @param {string} dataPolicyName + * A fully-qualified path representing DataPolicy resource. + * @returns {string} A string representing the data_policy. + */ + matchDataPolicyFromDataPolicyName(dataPolicyName: string) { + return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).data_policy; + } + + /** + * Return a fully-qualified location resource name string. + * + * @param {string} project + * @param {string} location + * @returns {string} Resource name string. + */ + locationPath(project:string,location:string) { + return this.pathTemplates.locationPathTemplate.render({ + project: project, + location: location, + }); + } + + /** + * Parse the project from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the project. + */ + matchProjectFromLocationName(locationName: string) { + return this.pathTemplates.locationPathTemplate.match(locationName).project; + } + + /** + * Parse the location from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the location. + */ + matchLocationFromLocationName(locationName: string) { + return this.pathTemplates.locationPathTemplate.match(locationName).location; + } + + /** + * Return a fully-qualified project resource name string. + * + * @param {string} project + * @returns {string} Resource name string. + */ + projectPath(project:string) { + return this.pathTemplates.projectPathTemplate.render({ + project: project, + }); + } + + /** + * Parse the project from Project resource. + * + * @param {string} projectName + * A fully-qualified path representing Project resource. + * @returns {string} A string representing the project. + */ + matchProjectFromProjectName(projectName: string) { + return this.pathTemplates.projectPathTemplate.match(projectName).project; + } + + /** + * Terminate the gRPC channel and close the client. + * + * The client will no longer be usable and all future behavior is undefined. + * @returns {Promise} A promise that resolves when the client is closed. + */ + close(): Promise { + if (this.dataPolicyServiceStub && !this._terminated) { + return this.dataPolicyServiceStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client_config.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client_config.json new file mode 100644 index 00000000000..a9942095e60 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client_config.json @@ -0,0 +1,83 @@ +{ + "interfaces": { + "google.cloud.bigquery.datapolicies.v1.DataPolicyService": { + "retry_codes": { + "non_idempotent": [], + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "unavailable": [ + "UNAVAILABLE" + ] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + }, + "ce5b960a6ed052e690863808e4f0deff3dc7d49f": { + "initial_retry_delay_millis": 1000, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 10000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "CreateDataPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "UpdateDataPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "RenameDataPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "DeleteDataPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "GetDataPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "ListDataPolicies": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "GetIamPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "SetIamPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "TestIamPermissions": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + } + } + } + } +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_proto_list.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_proto_list.json new file mode 100644 index 00000000000..3a4a27a5092 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto" +] diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/gapic_metadata.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/gapic_metadata.json new file mode 100644 index 00000000000..957e44d2537 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/gapic_metadata.json @@ -0,0 +1,117 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.cloud.bigquery.datapolicies.v1", + "libraryPackage": "@google-cloud/datapolicies", + "services": { + "DataPolicyService": { + "clients": { + "grpc": { + "libraryClient": "DataPolicyServiceClient", + "rpcs": { + "CreateDataPolicy": { + "methods": [ + "createDataPolicy" + ] + }, + "UpdateDataPolicy": { + "methods": [ + "updateDataPolicy" + ] + }, + "RenameDataPolicy": { + "methods": [ + "renameDataPolicy" + ] + }, + "DeleteDataPolicy": { + "methods": [ + "deleteDataPolicy" + ] + }, + "GetDataPolicy": { + "methods": [ + "getDataPolicy" + ] + }, + "GetIamPolicy": { + "methods": [ + "getIamPolicy" + ] + }, + "SetIamPolicy": { + "methods": [ + "setIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "testIamPermissions" + ] + }, + "ListDataPolicies": { + "methods": [ + "listDataPolicies", + "listDataPoliciesStream", + "listDataPoliciesAsync" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "DataPolicyServiceClient", + "rpcs": { + "CreateDataPolicy": { + "methods": [ + "createDataPolicy" + ] + }, + "UpdateDataPolicy": { + "methods": [ + "updateDataPolicy" + ] + }, + "RenameDataPolicy": { + "methods": [ + "renameDataPolicy" + ] + }, + "DeleteDataPolicy": { + "methods": [ + "deleteDataPolicy" + ] + }, + "GetDataPolicy": { + "methods": [ + "getDataPolicy" + ] + }, + "GetIamPolicy": { + "methods": [ + "getIamPolicy" + ] + }, + "SetIamPolicy": { + "methods": [ + "setIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "testIamPermissions" + ] + }, + "ListDataPolicies": { + "methods": [ + "listDataPolicies", + "listDataPoliciesStream", + "listDataPoliciesAsync" + ] + } + } + } + } + } + } +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/index.ts new file mode 100644 index 00000000000..81030a61690 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/index.ts @@ -0,0 +1,19 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +export {DataPolicyServiceClient} from './data_policy_service_client'; diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.js new file mode 100644 index 00000000000..c64d8408835 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.js @@ -0,0 +1,27 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + +/* eslint-disable node/no-missing-require, no-unused-vars */ +const datapolicies = require('@google-cloud/datapolicies'); + +function main() { + const dataPolicyServiceClient = new datapolicies.DataPolicyServiceClient(); +} + +main(); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.ts new file mode 100644 index 00000000000..7222450a15f --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.ts @@ -0,0 +1,32 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import {DataPolicyServiceClient} from '@google-cloud/datapolicies'; + +// check that the client class type name can be used +function doStuffWithDataPolicyServiceClient(client: DataPolicyServiceClient) { + client.close(); +} + +function main() { + // check that the client instance can be created + const dataPolicyServiceClient = new DataPolicyServiceClient(); + doStuffWithDataPolicyServiceClient(dataPolicyServiceClient); +} + +main(); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/install.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/install.ts new file mode 100644 index 00000000000..557a57558e1 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/install.ts @@ -0,0 +1,49 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import {packNTest} from 'pack-n-play'; +import {readFileSync} from 'fs'; +import {describe, it} from 'mocha'; + +describe('📦 pack-n-play test', () => { + + it('TypeScript code', async function() { + this.timeout(300000); + const options = { + packageDir: process.cwd(), + sample: { + description: 'TypeScript user can use the type definitions', + ts: readFileSync('./system-test/fixtures/sample/src/index.ts').toString() + } + }; + await packNTest(options); + }); + + it('JavaScript code', async function() { + this.timeout(300000); + const options = { + packageDir: process.cwd(), + sample: { + description: 'JavaScript user can use the library', + ts: readFileSync('./system-test/fixtures/sample/src/index.js').toString() + } + }; + await packNTest(options); + }); + +}); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/test/gapic_data_policy_service_v1.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/test/gapic_data_policy_service_v1.ts new file mode 100644 index 00000000000..6e91dbb6628 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/test/gapic_data_policy_service_v1.ts @@ -0,0 +1,1427 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protos from '../protos/protos'; +import * as assert from 'assert'; +import * as sinon from 'sinon'; +import {SinonStub} from 'sinon'; +import {describe, it} from 'mocha'; +import * as datapolicyserviceModule from '../src'; + +import {PassThrough} from 'stream'; + +import {protobuf} from 'google-gax'; + +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + +function generateSampleMessage(instance: T) { + const filledObject = (instance.constructor as typeof protobuf.Message) + .toObject(instance as protobuf.Message, {defaults: true}); + return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T; +} + +function stubSimpleCall(response?: ResponseType, error?: Error) { + return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]); +} + +function stubSimpleCallWithCallback(response?: ResponseType, error?: Error) { + return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response); +} + +function stubPageStreamingCall(responses?: ResponseType[], error?: Error) { + const pagingStub = sinon.stub(); + if (responses) { + for (let i = 0; i < responses.length; ++i) { + pagingStub.onCall(i).callsArgWith(2, null, responses[i]); + } + } + const transformStub = error ? sinon.stub().callsArgWith(2, error) : pagingStub; + const mockStream = new PassThrough({ + objectMode: true, + transform: transformStub, + }); + // trigger as many responses as needed + if (responses) { + for (let i = 0; i < responses.length; ++i) { + setImmediate(() => { mockStream.write({}); }); + } + setImmediate(() => { mockStream.end(); }); + } else { + setImmediate(() => { mockStream.write({}); }); + setImmediate(() => { mockStream.end(); }); + } + return sinon.stub().returns(mockStream); +} + +function stubAsyncIterationCall(responses?: ResponseType[], error?: Error) { + let counter = 0; + const asyncIterable = { + [Symbol.asyncIterator]() { + return { + async next() { + if (error) { + return Promise.reject(error); + } + if (counter >= responses!.length) { + return Promise.resolve({done: true, value: undefined}); + } + return Promise.resolve({done: false, value: responses![counter++]}); + } + }; + } + }; + return sinon.stub().returns(asyncIterable); +} + +describe('v1.DataPolicyServiceClient', () => { + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = datapolicyserviceModule.v1.DataPolicyServiceClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = datapolicyserviceModule.v1.DataPolicyServiceClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = datapolicyserviceModule.v1.DataPolicyServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.dataPolicyServiceStub, undefined); + await client.initialize(); + assert(client.dataPolicyServiceStub); + }); + + it('has close method for the initialized client', done => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.dataPolicyServiceStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.dataPolicyServiceStub, undefined); + client.close().then(() => { + done(); + }); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error|null, projectId?: string|null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + }); + + describe('createDataPolicy', () => { + it('invokes createDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.createDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.createDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.createDataPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createDataPolicy( + request, + (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createDataPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.createDataPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest', ['parent']); + request.parent = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.createDataPolicy(request), expectedError); + }); + }); + + describe('updateDataPolicy', () => { + it('invokes updateDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest() + ); + request.dataPolicy ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); + request.dataPolicy.name = defaultValue1; + const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.updateDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.updateDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest() + ); + request.dataPolicy ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); + request.dataPolicy.name = defaultValue1; + const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.updateDataPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateDataPolicy( + request, + (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest() + ); + request.dataPolicy ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); + request.dataPolicy.name = defaultValue1; + const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateDataPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.updateDataPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest() + ); + request.dataPolicy ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); + request.dataPolicy.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.updateDataPolicy(request), expectedError); + }); + }); + + describe('renameDataPolicy', () => { + it('invokes renameDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.renameDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.renameDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.renameDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.renameDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes renameDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.renameDataPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.renameDataPolicy( + request, + (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.renameDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.renameDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes renameDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.renameDataPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.renameDataPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.renameDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.renameDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes renameDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.renameDataPolicy(request), expectedError); + }); + }); + + describe('deleteDataPolicy', () => { + it('invokes deleteDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.deleteDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteDataPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteDataPolicy( + request, + (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteDataPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.deleteDataPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.deleteDataPolicy(request), expectedError); + }); + }); + + describe('getDataPolicy', () => { + it('invokes getDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.getDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.getDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() + ); + client.innerApiCalls.getDataPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getDataPolicy( + request, + (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getDataPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.getDataPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getDataPolicy(request), expectedError); + }); + }); + + describe('getIamPolicy', () => { + it('invokes getIamPolicy without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy() + ); + client.innerApiCalls.getIamPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.getIamPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getIamPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy() + ); + client.innerApiCalls.getIamPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getIamPolicy( + request, + (err?: Error|null, result?: protos.google.iam.v1.IPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getIamPolicy with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getIamPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.getIamPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getIamPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getIamPolicy(request), expectedError); + }); + }); + + describe('setIamPolicy', () => { + it('invokes setIamPolicy without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy() + ); + client.innerApiCalls.setIamPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.setIamPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes setIamPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy() + ); + client.innerApiCalls.setIamPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.setIamPolicy( + request, + (err?: Error|null, result?: protos.google.iam.v1.IPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes setIamPolicy with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.setIamPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.setIamPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes setIamPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.setIamPolicy(request), expectedError); + }); + }); + + describe('testIamPermissions', () => { + it('invokes testIamPermissions without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsResponse() + ); + client.innerApiCalls.testIamPermissions = stubSimpleCall(expectedResponse); + const [response] = await client.testIamPermissions(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes testIamPermissions without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsResponse() + ); + client.innerApiCalls.testIamPermissions = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.testIamPermissions( + request, + (err?: Error|null, result?: protos.google.iam.v1.ITestIamPermissionsResponse|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes testIamPermissions with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.testIamPermissions = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.testIamPermissions(request), expectedError); + const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes testIamPermissions with closed client', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); + request.resource = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.testIamPermissions(request), expectedError); + }); + }); + + describe('listDataPolicies', () => { + it('invokes listDataPolicies without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + ]; + client.innerApiCalls.listDataPolicies = stubSimpleCall(expectedResponse); + const [response] = await client.listDataPolicies(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listDataPolicies without error using callback', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + ]; + client.innerApiCalls.listDataPolicies = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listDataPolicies( + request, + (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[]|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listDataPolicies with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listDataPolicies = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.listDataPolicies(request), expectedError); + const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listDataPoliciesStream without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + ]; + client.descriptors.page.listDataPolicies.createStream = stubPageStreamingCall(expectedResponse); + const stream = client.listDataPoliciesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.bigquery.datapolicies.v1.DataPolicy[] = []; + stream.on('data', (response: protos.google.cloud.bigquery.datapolicies.v1.DataPolicy) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert((client.descriptors.page.listDataPolicies.createStream as SinonStub) + .getCall(0).calledWith(client.innerApiCalls.listDataPolicies, request)); + assert( + (client.descriptors.page.listDataPolicies.createStream as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('invokes listDataPoliciesStream with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listDataPolicies.createStream = stubPageStreamingCall(undefined, expectedError); + const stream = client.listDataPoliciesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.bigquery.datapolicies.v1.DataPolicy[] = []; + stream.on('data', (response: protos.google.cloud.bigquery.datapolicies.v1.DataPolicy) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert((client.descriptors.page.listDataPolicies.createStream as SinonStub) + .getCall(0).calledWith(client.innerApiCalls.listDataPolicies, request)); + assert( + (client.descriptors.page.listDataPolicies.createStream as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listDataPolicies without error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), + ]; + client.descriptors.page.listDataPolicies.asyncIterate = stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[] = []; + const iterable = client.listDataPoliciesAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) + .getCall(0).args[1], request); + assert( + (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listDataPolicies with error', async () => { + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listDataPolicies.asyncIterate = stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listDataPoliciesAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) + .getCall(0).args[1], request); + assert( + (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + }); + + describe('Path templates', () => { + + describe('dataPolicy', () => { + const fakePath = "/rendered/path/dataPolicy"; + const expectedParameters = { + project: "projectValue", + location: "locationValue", + data_policy: "dataPolicyValue", + }; + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.dataPolicyPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.dataPolicyPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('dataPolicyPath', () => { + const result = client.dataPolicyPath("projectValue", "locationValue", "dataPolicyValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.dataPolicyPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchProjectFromDataPolicyName', () => { + const result = client.matchProjectFromDataPolicyName(fakePath); + assert.strictEqual(result, "projectValue"); + assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchLocationFromDataPolicyName', () => { + const result = client.matchLocationFromDataPolicyName(fakePath); + assert.strictEqual(result, "locationValue"); + assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchDataPolicyFromDataPolicyName', () => { + const result = client.matchDataPolicyFromDataPolicyName(fakePath); + assert.strictEqual(result, "dataPolicyValue"); + assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + + describe('location', () => { + const fakePath = "/rendered/path/location"; + const expectedParameters = { + project: "projectValue", + location: "locationValue", + }; + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.locationPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.locationPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('locationPath', () => { + const result = client.locationPath("projectValue", "locationValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.locationPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchProjectFromLocationName', () => { + const result = client.matchProjectFromLocationName(fakePath); + assert.strictEqual(result, "projectValue"); + assert((client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchLocationFromLocationName', () => { + const result = client.matchLocationFromLocationName(fakePath); + assert.strictEqual(result, "locationValue"); + assert((client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + + describe('project', () => { + const fakePath = "/rendered/path/project"; + const expectedParameters = { + project: "projectValue", + }; + const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.projectPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.projectPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('projectPath', () => { + const result = client.projectPath("projectValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.projectPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchProjectFromProjectName', () => { + const result = client.matchProjectFromProjectName(fakePath); + assert.strictEqual(result, "projectValue"); + assert((client.pathTemplates.projectPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + }); +}); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/tsconfig.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/tsconfig.json new file mode 100644 index 00000000000..c78f1c884ef --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build", + "resolveJsonModule": true, + "lib": [ + "es2018", + "dom" + ] + }, + "include": [ + "src/*.ts", + "src/**/*.ts", + "test/*.ts", + "test/**/*.ts", + "system-test/*.ts" + ] +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/webpack.config.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/webpack.config.js new file mode 100644 index 00000000000..032cd610597 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/webpack.config.js @@ -0,0 +1,64 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +const path = require('path'); + +module.exports = { + entry: './src/index.ts', + output: { + library: 'DataPolicyService', + filename: './data-policy-service.js', + }, + node: { + child_process: 'empty', + fs: 'empty', + crypto: 'empty', + }, + resolve: { + alias: { + '../../../package.json': path.resolve(__dirname, 'package.json'), + }, + extensions: ['.js', '.json', '.ts'], + }, + module: { + rules: [ + { + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/ + }, + { + test: /node_modules[\\/]@grpc[\\/]grpc-js/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]grpc/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]retry-request/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]https?-proxy-agent/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]gtoken/, + use: 'null-loader' + }, + ], + }, + mode: 'production', +}; diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintignore b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintignore new file mode 100644 index 00000000000..cfc348ec4d1 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintignore @@ -0,0 +1,7 @@ +**/node_modules +**/.coverage +build/ +docs/ +protos/ +system-test/ +samples/generated/ diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintrc.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintrc.json new file mode 100644 index 00000000000..78215349546 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/gts" +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.gitignore b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.gitignore new file mode 100644 index 00000000000..5d32b23782f --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.gitignore @@ -0,0 +1,14 @@ +**/*.log +**/node_modules +.coverage +coverage +.nyc_output +docs/ +out/ +build/ +system-test/secrets.js +system-test/*key.json +*.lock +.DS_Store +package-lock.json +__pycache__ diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.jsdoc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.jsdoc.js new file mode 100644 index 00000000000..ae9e5b7afcd --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.jsdoc.js @@ -0,0 +1,55 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +'use strict'; + +module.exports = { + opts: { + readme: './README.md', + package: './package.json', + template: './node_modules/jsdoc-fresh', + recurse: true, + verbose: true, + destination: './docs/' + }, + plugins: [ + 'plugins/markdown', + 'jsdoc-region-tag' + ], + source: { + excludePattern: '(^|\\/|\\\\)[._]', + include: [ + 'build/src', + 'protos' + ], + includePattern: '\\.js$' + }, + templates: { + copyright: 'Copyright 2022 Google LLC', + includeDate: false, + sourceFiles: false, + systemName: '@google-cloud/bigquery-datapolicies', + theme: 'lumen', + default: { + outputSourceFiles: false + } + }, + markdown: { + idInHeadings: true + } +}; diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.mocharc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.mocharc.js new file mode 100644 index 00000000000..481c522b00f --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.mocharc.js @@ -0,0 +1,33 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +const config = { + "enable-source-maps": true, + "throw-deprecation": true, + "timeout": 10000 +} +if (process.env.MOCHA_THROW_DEPRECATION === 'false') { + delete config['throw-deprecation']; +} +if (process.env.MOCHA_REPORTER) { + config.reporter = process.env.MOCHA_REPORTER; +} +if (process.env.MOCHA_REPORTER_OUTPUT) { + config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`; +} +module.exports = config diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.prettierrc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.prettierrc.js new file mode 100644 index 00000000000..494e147865d --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.prettierrc.js @@ -0,0 +1,22 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + +module.exports = { + ...require('gts/.prettierrc.json') +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/README.md b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/README.md new file mode 100644 index 00000000000..46950ef3a37 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/README.md @@ -0,0 +1 @@ +Datapolicies: Nodejs Client diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/linkinator.config.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/linkinator.config.json new file mode 100644 index 00000000000..befd23c8633 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/linkinator.config.json @@ -0,0 +1,16 @@ +{ + "recurse": true, + "skip": [ + "https://codecov.io/gh/googleapis/", + "www.googleapis.com", + "img.shields.io", + "https://console.cloud.google.com/cloudshell", + "https://support.google.com" + ], + "silent": true, + "concurrency": 5, + "retry": true, + "retryErrors": true, + "retryErrorsCount": 5, + "retryErrorsJitter": 3000 +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/package.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/package.json new file mode 100644 index 00000000000..b5baa3d2753 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/package.json @@ -0,0 +1,64 @@ +{ + "name": "@google-cloud/bigquery-datapolicies", + "version": "0.1.0", + "description": "Datapolicies client for Node.js", + "repository": "googleapis/nodejs-datapolicies", + "license": "Apache-2.0", + "author": "Google LLC", + "main": "build/src/index.js", + "files": [ + "build/src", + "build/protos" + ], + "keywords": [ + "google apis client", + "google api client", + "google apis", + "google api", + "google", + "google cloud platform", + "google cloud", + "cloud", + "google datapolicies", + "datapolicies", + "data policy service" + ], + "scripts": { + "clean": "gts clean", + "compile": "tsc -p . && cp -r protos build/ && minifyProtoJson", + "compile-protos": "compileProtos src", + "docs": "jsdoc -c .jsdoc.js", + "predocs-test": "npm run docs", + "docs-test": "linkinator docs", + "fix": "gts fix", + "lint": "gts check", + "prepare": "npm run compile-protos && npm run compile", + "system-test": "c8 mocha build/system-test", + "test": "c8 mocha build/test" + }, + "dependencies": { + "google-gax": "^3.5.2" + }, + "devDependencies": { + "@types/mocha": "^9.1.1", + "@types/node": "^16.11.62", + "@types/sinon": "^10.0.13", + "c8": "^7.12.0", + "gts": "^3.1.1", + "jsdoc": "^3.6.11", + "jsdoc-fresh": "^2.0.1", + "jsdoc-region-tag": "^2.0.1", + "linkinator": "^4.0.3", + "mocha": "^10.0.0", + "null-loader": "^4.0.1", + "pack-n-play": "^1.0.0-2", + "sinon": "^14.0.0", + "ts-loader": "^8.4.0", + "typescript": "^4.8.3", + "webpack": "^4.46.0", + "webpack-cli": "^4.10.0" + }, + "engines": { + "node": ">=v12" + } +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicy.proto b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicy.proto new file mode 100644 index 00000000000..363f15c5ce9 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicy.proto @@ -0,0 +1,287 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.bigquery.datapolicies.v1beta1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/iam/v1/iam_policy.proto"; +import "google/iam/v1/policy.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Cloud.BigQuery.DataPolicies.V1Beta1"; +option go_package = "google.golang.org/genproto/googleapis/cloud/bigquery/datapolicies/v1beta1;datapolicies"; +option java_multiple_files = true; +option java_outer_classname = "DataPolicyProto"; +option java_package = "com.google.cloud.bigquery.datapolicies.v1beta1"; +option php_namespace = "Google\\Cloud\\BigQuery\\DataPolicies\\V1beta1"; +option ruby_package = "Google::Cloud::Bigquery::DataPolicies::V1beta1"; + +// Data Policy Service provides APIs for managing the label-policy bindings. +service DataPolicyService { + option (google.api.default_host) = "bigquerydatapolicy.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/bigquery," + "https://www.googleapis.com/auth/cloud-platform"; + + // Creates a new data policy under a project with the given `dataPolicyId` + // (used as the display name), policy tag, and data policy type. + rpc CreateDataPolicy(CreateDataPolicyRequest) returns (DataPolicy) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*}/dataPolicies" + body: "data_policy" + }; + option (google.api.method_signature) = "parent,data_policy"; + } + + // Updates the metadata for an existing data policy. The target data policy + // can be specified by the resource name. + rpc UpdateDataPolicy(UpdateDataPolicyRequest) returns (DataPolicy) { + option (google.api.http) = { + patch: "/v1beta1/{data_policy.name=projects/*/locations/*/dataPolicies/*}" + body: "data_policy" + }; + option (google.api.method_signature) = "data_policy,update_mask"; + } + + // Deletes the data policy specified by its resource name. + rpc DeleteDataPolicy(DeleteDataPolicyRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/locations/*/dataPolicies/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Gets the data policy specified by its resource name. + rpc GetDataPolicy(GetDataPolicyRequest) returns (DataPolicy) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/locations/*/dataPolicies/*}" + }; + option (google.api.method_signature) = "name"; + } + + // List all of the data policies in the specified parent project. + rpc ListDataPolicies(ListDataPoliciesRequest) returns (ListDataPoliciesResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=projects/*/locations/*}/dataPolicies" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets the IAM policy for the specified data policy. + rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) { + option (google.api.http) = { + post: "/v1beta1/{resource=projects/*/locations/*/dataPolicies/*}:getIamPolicy" + body: "*" + }; + } + + // Sets the IAM policy for the specified data policy. + rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) { + option (google.api.http) = { + post: "/v1beta1/{resource=projects/*/locations/*/dataPolicies/*}:setIamPolicy" + body: "*" + }; + } + + // Returns the caller's permission on the specified data policy resource. + rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) { + option (google.api.http) = { + post: "/v1beta1/{resource=projects/*/locations/*/dataPolicies/*}:testIamPermissions" + body: "*" + }; + } +} + +// Request message for the CreateDataPolicy method. +message CreateDataPolicyRequest { + // Required. Resource name of the project that the data policy will belong to. The + // format is `projects/{project_number}/locations/{location_id}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "bigquerydatapolicy.googleapis.com/DataPolicy" + } + ]; + + // Required. The data policy to create. The `name` field does not need to be + // provided for the data policy creation. + DataPolicy data_policy = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Response message for the UpdateDataPolicy method. +message UpdateDataPolicyRequest { + // Required. Update the data policy's metadata. + // + // The target data policy is determined by the `name` field. + // Other fields are updated to the specified values based on the field masks. + DataPolicy data_policy = 1 [(google.api.field_behavior) = REQUIRED]; + + // The update mask applies to the resource. For the `FieldMask` definition, + // see + // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + // If not set, defaults to all of the fields that are allowed to update. + // + // Updates to the `name` and `dataPolicyId` fields are not allowed. + google.protobuf.FieldMask update_mask = 2; +} + +// Request message for the DeleteDataPolicy method. +message DeleteDataPolicyRequest { + // Required. Resource name of the data policy to delete. Format is + // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigquerydatapolicy.googleapis.com/DataPolicy" + } + ]; +} + +// Request message for the GetDataPolicy method. +message GetDataPolicyRequest { + // Required. Resource name of the requested data policy. Format is + // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "bigquerydatapolicy.googleapis.com/DataPolicy" + } + ]; +} + +// Request message for the ListDataPolicies method. +message ListDataPoliciesRequest { + // Required. Resource name of the project for which to list data policies. Format is + // `projects/{project_number}/locations/{location_id}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "bigquerydatapolicy.googleapis.com/DataPolicy" + } + ]; + + // The maximum number of data policies to return. Must be a value between 1 + // and 1000. + // If not set, defaults to 50. + int32 page_size = 2; + + // The `nextPageToken` value returned from a previous list request, if any. If + // not set, defaults to an empty string. + string page_token = 3; +} + +// Response message for the ListDataPolicies method. +message ListDataPoliciesResponse { + // Data policies that belong to the requested project. + repeated DataPolicy data_policies = 1; + + // Token used to retrieve the next page of results, or empty if there are no + // more results. + string next_page_token = 2; +} + +// Represents the label-policy binding. +message DataPolicy { + option (google.api.resource) = { + type: "bigquerydatapolicy.googleapis.com/DataPolicy" + pattern: "projects/{project}/locations/{location}/dataPolicies/{data_policy}" + }; + + // A list of supported data policy types. + enum DataPolicyType { + // Default value for the data policy type. This should not be used. + DATA_POLICY_TYPE_UNSPECIFIED = 0; + + // Used to create a data policy for column-level security, without data + // masking. + COLUMN_LEVEL_SECURITY_POLICY = 3; + + // Used to create a data policy for data masking. + DATA_MASKING_POLICY = 2; + } + + // Label that is bound to this data policy. + oneof matching_label { + // Policy tag resource name, in the format of + // `projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{policyTag_id}`. + string policy_tag = 4; + } + + // The policy that is bound to this data policy. + oneof policy { + // The data masking policy that specifies the data masking rule to use. + DataMaskingPolicy data_masking_policy = 5; + } + + // Output only. Resource name of this data policy, in the format of + // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Type of data policy. + DataPolicyType data_policy_type = 2; + + // User-assigned (human readable) ID of the data policy that needs to be + // unique within a project. Used as {data_policy_id} in part of the resource + // name. + string data_policy_id = 3; +} + +// The data masking policy that is used to specify data masking rule. +message DataMaskingPolicy { + // The available masking rules. Learn more here: + // https://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options. + enum PredefinedExpression { + // Default, unspecified predefined expression. No masking will take place + // since no expression is specified. + PREDEFINED_EXPRESSION_UNSPECIFIED = 0; + + // Masking expression to replace data with SHA-256 hash. + SHA256 = 3; + + // Masking expression to replace data with NULLs. + ALWAYS_NULL = 5; + + // Masking expression to replace data with their default masking values. + // The default masking values for each type listed as below: + // + // * STRING: "" + // * BYTES: b'' + // * INTEGER: 0 + // * FLOAT: 0.0 + // * NUMERIC: 0 + // * BOOLEAN: FALSE + // * TIMESTAMP: 0001-01-01 00:00:00 UTC + // * DATE: 0001-01-01 + // * TIME: 00:00:00 + // * DATETIME: 0001-01-01T00:00:00 + // * GEOGRAPHY: POINT(0 0) + // * BIGNUMERIC: 0 + // * ARRAY: [] + // * STRUCT: NOT_APPLICABLE + // * JSON: NULL + DEFAULT_MASKING_VALUE = 7; + } + + // A masking expression to bind to the data masking rule. + oneof masking_expression { + // A predefined masking expression. + PredefinedExpression predefined_expression = 1; + } +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.create_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.create_data_policy.js new file mode 100644 index 00000000000..1395d4d52ad --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.create_data_policy.js @@ -0,0 +1,68 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(parent, dataPolicy) { + // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_CreateDataPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the project that the data policy will belong to. The + * format is `projects/{project_number}/locations/{location_id}`. + */ + // const parent = 'abc123' + /** + * Required. The data policy to create. The `name` field does not need to be + * provided for the data policy creation. + */ + // const dataPolicy = {} + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callCreateDataPolicy() { + // Construct request + const request = { + parent, + dataPolicy, + }; + + // Run request + const response = await datapoliciesClient.createDataPolicy(request); + console.log(response); + } + + callCreateDataPolicy(); + // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_CreateDataPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.delete_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.delete_data_policy.js new file mode 100644 index 00000000000..725fc48db76 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.delete_data_policy.js @@ -0,0 +1,62 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(name) { + // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_DeleteDataPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the data policy to delete. Format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + */ + // const name = 'abc123' + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callDeleteDataPolicy() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await datapoliciesClient.deleteDataPolicy(request); + console.log(response); + } + + callDeleteDataPolicy(); + // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_DeleteDataPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_data_policy.js new file mode 100644 index 00000000000..bb0937a2785 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_data_policy.js @@ -0,0 +1,62 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(name) { + // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetDataPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the requested data policy. Format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + */ + // const name = 'abc123' + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callGetDataPolicy() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await datapoliciesClient.getDataPolicy(request); + console.log(response); + } + + callGetDataPolicy(); + // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetDataPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_iam_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_iam_policy.js new file mode 100644 index 00000000000..b79008c0854 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_iam_policy.js @@ -0,0 +1,67 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(resource) { + // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetIamPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * REQUIRED: The resource for which the policy is being requested. + * See the operation documentation for the appropriate value for this field. + */ + // const resource = 'abc123' + /** + * OPTIONAL: A `GetPolicyOptions` object for specifying options to + * `GetIamPolicy`. + */ + // const options = {} + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callGetIamPolicy() { + // Construct request + const request = { + resource, + }; + + // Run request + const response = await datapoliciesClient.getIamPolicy(request); + console.log(response); + } + + callGetIamPolicy(); + // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetIamPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.list_data_policies.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.list_data_policies.js new file mode 100644 index 00000000000..d801a990835 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.list_data_policies.js @@ -0,0 +1,75 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(parent) { + // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_ListDataPolicies_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Resource name of the project for which to list data policies. Format is + * `projects/{project_number}/locations/{location_id}`. + */ + // const parent = 'abc123' + /** + * The maximum number of data policies to return. Must be a value between 1 + * and 1000. + * If not set, defaults to 50. + */ + // const pageSize = 1234 + /** + * The `nextPageToken` value returned from a previous list request, if any. If + * not set, defaults to an empty string. + */ + // const pageToken = 'abc123' + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callListDataPolicies() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await datapoliciesClient.listDataPoliciesAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListDataPolicies(); + // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_ListDataPolicies_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.set_iam_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.set_iam_policy.js new file mode 100644 index 00000000000..08643b6765f --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.set_iam_policy.js @@ -0,0 +1,77 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(resource, policy) { + // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_SetIamPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * REQUIRED: The resource for which the policy is being specified. + * See the operation documentation for the appropriate value for this field. + */ + // const resource = 'abc123' + /** + * REQUIRED: The complete policy to be applied to the `resource`. The size of + * the policy is limited to a few 10s of KB. An empty policy is a + * valid policy but certain Cloud Platform services (such as Projects) + * might reject them. + */ + // const policy = {} + /** + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only + * the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: + * `paths: "bindings, etag"` + */ + // const updateMask = {} + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callSetIamPolicy() { + // Construct request + const request = { + resource, + policy, + }; + + // Run request + const response = await datapoliciesClient.setIamPolicy(request); + console.log(response); + } + + callSetIamPolicy(); + // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_SetIamPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.test_iam_permissions.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.test_iam_permissions.js new file mode 100644 index 00000000000..c8f52327442 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.test_iam_permissions.js @@ -0,0 +1,70 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(resource, permissions) { + // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_TestIamPermissions_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + */ + // const resource = 'abc123' + /** + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. For more + * information see + * IAM Overview (https://cloud.google.com/iam/docs/overview#permissions). + */ + // const permissions = 'abc123' + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callTestIamPermissions() { + // Construct request + const request = { + resource, + permissions, + }; + + // Run request + const response = await datapoliciesClient.testIamPermissions(request); + console.log(response); + } + + callTestIamPermissions(); + // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_TestIamPermissions_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.update_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.update_data_policy.js new file mode 100644 index 00000000000..61c136e0dcd --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.update_data_policy.js @@ -0,0 +1,71 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(dataPolicy) { + // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_UpdateDataPolicy_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Required. Update the data policy's metadata. + * The target data policy is determined by the `name` field. + * Other fields are updated to the specified values based on the field masks. + */ + // const dataPolicy = {} + /** + * The update mask applies to the resource. For the `FieldMask` definition, + * see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + * If not set, defaults to all of the fields that are allowed to update. + * Updates to the `name` and `dataPolicyId` fields are not allowed. + */ + // const updateMask = {} + + // Imports the Datapolicies library + const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; + + // Instantiates a client + const datapoliciesClient = new DataPolicyServiceClient(); + + async function callUpdateDataPolicy() { + // Construct request + const request = { + dataPolicy, + }; + + // Run request + const response = await datapoliciesClient.updateDataPolicy(request); + console.log(response); + } + + callUpdateDataPolicy(); + // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_UpdateDataPolicy_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json new file mode 100644 index 00000000000..da351e6ec62 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json @@ -0,0 +1,367 @@ +{ + "clientLibrary": { + "name": "nodejs-datapolicies", + "version": "0.1.0", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.bigquery.datapolicies.v1beta1", + "version": "v1beta1" + } + ] + }, + "snippets": [ + { + "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_CreateDataPolicy_async", + "title": "DataPolicyService createDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Creates a new data policy under a project with the given `dataPolicyId` (used as the display name), policy tag, and data policy type.", + "canonical": true, + "file": "data_policy_service.create_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 60, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.CreateDataPolicy", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "data_policy", + "type": ".google.cloud.bigquery.datapolicies.v1beta1.DataPolicy" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1beta1.DataPolicy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" + }, + "method": { + "shortName": "CreateDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.CreateDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_UpdateDataPolicy_async", + "title": "DataPolicyService updateDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Updates the metadata for an existing data policy. The target data policy can be specified by the resource name.", + "canonical": true, + "file": "data_policy_service.update_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 63, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.UpdateDataPolicy", + "async": true, + "parameters": [ + { + "name": "data_policy", + "type": ".google.cloud.bigquery.datapolicies.v1beta1.DataPolicy" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1beta1.DataPolicy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" + }, + "method": { + "shortName": "UpdateDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.UpdateDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_DeleteDataPolicy_async", + "title": "DataPolicyService deleteDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Deletes the data policy specified by its resource name.", + "canonical": true, + "file": "data_policy_service.delete_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.DeleteDataPolicy", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.protobuf.Empty", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" + }, + "method": { + "shortName": "DeleteDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.DeleteDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetDataPolicy_async", + "title": "DataPolicyService getDataPolicy Sample", + "origin": "API_DEFINITION", + "description": " Gets the data policy specified by its resource name.", + "canonical": true, + "file": "data_policy_service.get_data_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.GetDataPolicy", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1beta1.DataPolicy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" + }, + "method": { + "shortName": "GetDataPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.GetDataPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_ListDataPolicies_async", + "title": "DataPolicyService listDataPolicies Sample", + "origin": "API_DEFINITION", + "description": " List all of the data policies in the specified parent project.", + "canonical": true, + "file": "data_policy_service.list_data_policies.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 67, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListDataPolicies", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.ListDataPolicies", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesResponse", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" + }, + "method": { + "shortName": "ListDataPolicies", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.ListDataPolicies", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetIamPolicy_async", + "title": "DataPolicyService getIamPolicy Sample", + "origin": "API_DEFINITION", + "description": " Gets the IAM policy for the specified data policy.", + "canonical": true, + "file": "data_policy_service.get_iam_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 59, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.GetIamPolicy", + "async": true, + "parameters": [ + { + "name": "resource", + "type": "TYPE_STRING" + }, + { + "name": "options", + "type": ".google.iam.v1.GetPolicyOptions" + } + ], + "resultType": ".google.iam.v1.Policy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" + }, + "method": { + "shortName": "GetIamPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.GetIamPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_SetIamPolicy_async", + "title": "DataPolicyService setIamPolicy Sample", + "origin": "API_DEFINITION", + "description": " Sets the IAM policy for the specified data policy.", + "canonical": true, + "file": "data_policy_service.set_iam_policy.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 69, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "SetIamPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.SetIamPolicy", + "async": true, + "parameters": [ + { + "name": "resource", + "type": "TYPE_STRING" + }, + { + "name": "policy", + "type": ".google.iam.v1.Policy" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.iam.v1.Policy", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" + }, + "method": { + "shortName": "SetIamPolicy", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.SetIamPolicy", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" + } + } + } + }, + { + "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_TestIamPermissions_async", + "title": "DataPolicyService testIamPermissions Sample", + "origin": "API_DEFINITION", + "description": " Returns the caller's permission on the specified data policy resource.", + "canonical": true, + "file": "data_policy_service.test_iam_permissions.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 62, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "TestIamPermissions", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.TestIamPermissions", + "async": true, + "parameters": [ + { + "name": "resource", + "type": "TYPE_STRING" + }, + { + "name": "permissions", + "type": "TYPE_STRING[]" + } + ], + "resultType": ".google.iam.v1.TestIamPermissionsResponse", + "client": { + "shortName": "DataPolicyServiceClient", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" + }, + "method": { + "shortName": "TestIamPermissions", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.TestIamPermissions", + "service": { + "shortName": "DataPolicyService", + "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" + } + } + } + } + ] +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/index.ts new file mode 100644 index 00000000000..58dbc1f7d69 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/index.ts @@ -0,0 +1,25 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as v1beta1 from './v1beta1'; +const DataPolicyServiceClient = v1beta1.DataPolicyServiceClient; +type DataPolicyServiceClient = v1beta1.DataPolicyServiceClient; +export {v1beta1, DataPolicyServiceClient}; +export default {v1beta1, DataPolicyServiceClient}; +import * as protos from '../protos/protos'; +export {protos} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client.ts new file mode 100644 index 00000000000..6afd2ab45ef --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client.ts @@ -0,0 +1,1163 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +/* global window */ +import type * as gax from 'google-gax'; +import type {Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback, GaxCall} from 'google-gax'; +import {Transform} from 'stream'; +import * as protos from '../../protos/protos'; +import jsonProtos = require('../../protos/protos.json'); +/** + * Client JSON configuration object, loaded from + * `src/v1beta1/data_policy_service_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ +import * as gapicConfig from './data_policy_service_client_config.json'; +const version = require('../../../package.json').version; + +/** + * Data Policy Service provides APIs for managing the label-policy bindings. + * @class + * @memberof v1beta1 + */ +export class DataPolicyServiceClient { + private _terminated = false; + private _opts: ClientOptions; + private _providedCustomServicePath: boolean; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; + auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + warn: (code: string, message: string, warnType?: string) => void; + innerApiCalls: {[name: string]: Function}; + pathTemplates: {[name: string]: gax.PathTemplate}; + dataPolicyServiceStub?: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of DataPolicyServiceClient. + * + * @param {object} [options] - The configuration object. + * The options accepted by the constructor are described in detail + * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). + * The common options are: + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {string} [options.apiEndpoint] - The domain name of the + * API remote host. + * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. + * Follows the structure of {@link gapicConfig}. + * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. + * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. + * For more information, please check the + * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. + * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you + * need to avoid loading the default gRPC version and want to use the fallback + * HTTP implementation. Load only fallback version and pass it to the constructor: + * ``` + * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC + * const client = new DataPolicyServiceClient({fallback: 'rest'}, gax); + * ``` + */ + constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { + // Ensure that options include all the required fields. + const staticMembers = this.constructor as typeof DataPolicyServiceClient; + const servicePath = opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); + const port = opts?.port || staticMembers.port; + const clientConfig = opts?.clientConfig ?? {}; + const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. + if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { + opts['scopes'] = staticMembers.scopes; + } + + // Load google-gax module synchronously if needed + if (!gaxInstance) { + gaxInstance = require('google-gax') as typeof gax; + } + + // Choose either gRPC or proto-over-HTTP implementation of google-gax. + this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; + + // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. + this._gaxGrpc = new this._gaxModule.GrpcClient(opts); + + // Save options to use in initialize() method. + this._opts = opts; + + // Save the auth object to the client, for use by other methods. + this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); + + // Set useJWTAccessWithScope on the auth object. + this.auth.useJWTAccessWithScope = true; + + // Set defaultServicePath on the auth object. + this.auth.defaultServicePath = staticMembers.servicePath; + + // Set the default scopes in auth client if needed. + if (servicePath === staticMembers.servicePath) { + this.auth.defaultScopes = staticMembers.scopes; + } + + // Determine the client header string. + const clientHeader = [ + `gax/${this._gaxModule.version}`, + `gapic/${version}`, + ]; + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } else { + clientHeader.push(`gl-web/${this._gaxModule.version}`); + } + if (!opts.fallback) { + clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); + } else if (opts.fallback === 'rest' ) { + clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); + } + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + // Load the applicable protos. + this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this.pathTemplates = { + dataPolicyPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/dataPolicies/{data_policy}' + ), + locationPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}' + ), + projectPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}' + ), + }; + + // Some of the methods on this service return "paged" results, + // (e.g. 50 results at a time, with tokens to get subsequent + // pages). Denote the keys used for pagination and results. + this.descriptors.page = { + listDataPolicies: + new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'dataPolicies') + }; + + // Put together the default options sent with requests. + this._defaults = this._gaxGrpc.constructSettings( + 'google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService', gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this.innerApiCalls = {}; + + // Add a warn function to the client constructor so it can be easily tested. + this.warn = this._gaxModule.warn; + } + + /** + * Initialize the client. + * Performs asynchronous operations (such as authentication) and prepares the client. + * This function will be called automatically when any class method is called for the + * first time, but if you need to initialize it before calling an actual method, + * feel free to call initialize() directly. + * + * You can await on this method if you want to make sure the client is initialized. + * + * @returns {Promise} A promise that resolves to an authenticated service stub. + */ + initialize() { + // If the client stub promise is already initialized, return immediately. + if (this.dataPolicyServiceStub) { + return this.dataPolicyServiceStub; + } + + // Put together the "service stub" for + // google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService. + this.dataPolicyServiceStub = this._gaxGrpc.createStub( + this._opts.fallback ? + (this._protos as protobuf.Root).lookupService('google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService') : + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService, + this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const dataPolicyServiceStubMethods = + ['createDataPolicy', 'updateDataPolicy', 'deleteDataPolicy', 'getDataPolicy', 'listDataPolicies', 'getIamPolicy', 'setIamPolicy', 'testIamPermissions']; + for (const methodName of dataPolicyServiceStubMethods) { + const callPromise = this.dataPolicyServiceStub.then( + stub => (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, + (err: Error|null|undefined) => () => { + throw err; + }); + + const descriptor = + this.descriptors.page[methodName] || + undefined; + const apiCall = this._gaxModule.createApiCall( + callPromise, + this._defaults[methodName], + descriptor, + this._opts.fallback + ); + + this.innerApiCalls[methodName] = apiCall; + } + + return this.dataPolicyServiceStub; + } + + /** + * The DNS address for this API service. + * @returns {string} The DNS address for this service. + */ + static get servicePath() { + return 'bigquerydatapolicy.googleapis.com'; + } + + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + * @returns {string} The DNS address for this service. + */ + static get apiEndpoint() { + return 'bigquerydatapolicy.googleapis.com'; + } + + /** + * The port for this API service. + * @returns {number} The default port for this service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + * @returns {string[]} List of default scopes. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/bigquery', + 'https://www.googleapis.com/auth/cloud-platform' + ]; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @returns {Promise} A promise that resolves to string containing the project ID. + */ + getProjectId(callback?: Callback): + Promise|void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- +/** + * Creates a new data policy under a project with the given `dataPolicyId` + * (used as the display name), policy tag, and data policy type. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the project that the data policy will belong to. The + * format is `projects/{project_number}/locations/{location_id}`. + * @param {google.cloud.bigquery.datapolicies.v1beta1.DataPolicy} request.dataPolicy + * Required. The data policy to create. The `name` field does not need to be + * provided for the data policy creation. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1beta1/data_policy_service.create_data_policy.js + * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_CreateDataPolicy_async + */ + createDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|undefined, {}|undefined + ]>; + createDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + createDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + createDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'parent': request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.createDataPolicy(request, options, callback); + } +/** + * Updates the metadata for an existing data policy. The target data policy + * can be specified by the resource name. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.bigquery.datapolicies.v1beta1.DataPolicy} request.dataPolicy + * Required. Update the data policy's metadata. + * + * The target data policy is determined by the `name` field. + * Other fields are updated to the specified values based on the field masks. + * @param {google.protobuf.FieldMask} request.updateMask + * The update mask applies to the resource. For the `FieldMask` definition, + * see + * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + * If not set, defaults to all of the fields that are allowed to update. + * + * Updates to the `name` and `dataPolicyId` fields are not allowed. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1beta1/data_policy_service.update_data_policy.js + * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_UpdateDataPolicy_async + */ + updateDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|undefined, {}|undefined + ]>; + updateDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + updateDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + updateDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'data_policy.name': request.dataPolicy!.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.updateDataPolicy(request, options, callback); + } +/** + * Deletes the data policy specified by its resource name. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the data policy to delete. Format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1beta1/data_policy_service.delete_data_policy.js + * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_DeleteDataPolicy_async + */ + deleteDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|undefined, {}|undefined + ]>; + deleteDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + deleteDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest, + callback: Callback< + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + deleteDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.protobuf.IEmpty, + protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'name': request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.deleteDataPolicy(request, options, callback); + } +/** + * Gets the data policy specified by its resource name. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. Resource name of the requested data policy. Format is + * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1beta1/data_policy_service.get_data_policy.js + * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetDataPolicy_async + */ + getDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|undefined, {}|undefined + ]>; + getDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + getDataPolicy( + request: protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest, + callback: Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|null|undefined, + {}|null|undefined>): void; + getDataPolicy( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, + protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'name': request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.getDataPolicy(request, options, callback); + } +/** + * Gets the IAM policy for the specified data policy. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource + * REQUIRED: The resource for which the policy is being requested. + * See the operation documentation for the appropriate value for this field. + * @param {google.iam.v1.GetPolicyOptions} request.options + * OPTIONAL: A `GetPolicyOptions` object for specifying options to + * `GetIamPolicy`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Policy]{@link google.iam.v1.Policy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1beta1/data_policy_service.get_iam_policy.js + * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetIamPolicy_async + */ + getIamPolicy( + request?: protos.google.iam.v1.IGetIamPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|undefined, {}|undefined + ]>; + getIamPolicy( + request: protos.google.iam.v1.IGetIamPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, + {}|null|undefined>): void; + getIamPolicy( + request: protos.google.iam.v1.IGetIamPolicyRequest, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, + {}|null|undefined>): void; + getIamPolicy( + request?: protos.google.iam.v1.IGetIamPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.IGetIamPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'resource': request.resource ?? '', + }); + this.initialize(); + return this.innerApiCalls.getIamPolicy(request, options, callback); + } +/** + * Sets the IAM policy for the specified data policy. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource + * REQUIRED: The resource for which the policy is being specified. + * See the operation documentation for the appropriate value for this field. + * @param {google.iam.v1.Policy} request.policy + * REQUIRED: The complete policy to be applied to the `resource`. The size of + * the policy is limited to a few 10s of KB. An empty policy is a + * valid policy but certain Cloud Platform services (such as Projects) + * might reject them. + * @param {google.protobuf.FieldMask} request.updateMask + * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only + * the fields in the mask will be modified. If no mask is provided, the + * following default mask is used: + * + * `paths: "bindings, etag"` + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [Policy]{@link google.iam.v1.Policy}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1beta1/data_policy_service.set_iam_policy.js + * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_SetIamPolicy_async + */ + setIamPolicy( + request?: protos.google.iam.v1.ISetIamPolicyRequest, + options?: CallOptions): + Promise<[ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|undefined, {}|undefined + ]>; + setIamPolicy( + request: protos.google.iam.v1.ISetIamPolicyRequest, + options: CallOptions, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, + {}|null|undefined>): void; + setIamPolicy( + request: protos.google.iam.v1.ISetIamPolicyRequest, + callback: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, + {}|null|undefined>): void; + setIamPolicy( + request?: protos.google.iam.v1.ISetIamPolicyRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.iam.v1.IPolicy, + protos.google.iam.v1.ISetIamPolicyRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'resource': request.resource ?? '', + }); + this.initialize(); + return this.innerApiCalls.setIamPolicy(request, options, callback); + } +/** + * Returns the caller's permission on the specified data policy resource. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.resource + * REQUIRED: The resource for which the policy detail is being requested. + * See the operation documentation for the appropriate value for this field. + * @param {string[]} request.permissions + * The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. For more + * information see + * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing [TestIamPermissionsResponse]{@link google.iam.v1.TestIamPermissionsResponse}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1beta1/data_policy_service.test_iam_permissions.js + * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_TestIamPermissions_async + */ + testIamPermissions( + request?: protos.google.iam.v1.ITestIamPermissionsRequest, + options?: CallOptions): + Promise<[ + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|undefined, {}|undefined + ]>; + testIamPermissions( + request: protos.google.iam.v1.ITestIamPermissionsRequest, + options: CallOptions, + callback: Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, + {}|null|undefined>): void; + testIamPermissions( + request: protos.google.iam.v1.ITestIamPermissionsRequest, + callback: Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, + {}|null|undefined>): void; + testIamPermissions( + request?: protos.google.iam.v1.ITestIamPermissionsRequest, + optionsOrCallback?: CallOptions|Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, + {}|null|undefined>, + callback?: Callback< + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, + {}|null|undefined>): + Promise<[ + protos.google.iam.v1.ITestIamPermissionsResponse, + protos.google.iam.v1.ITestIamPermissionsRequest|undefined, {}|undefined + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'resource': request.resource ?? '', + }); + this.initialize(); + return this.innerApiCalls.testIamPermissions(request, options, callback); + } + + /** + * List all of the data policies in the specified parent project. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the project for which to list data policies. Format is + * `projects/{project_number}/locations/{location_id}`. + * @param {number} request.pageSize + * The maximum number of data policies to return. Must be a value between 1 + * and 1000. + * If not set, defaults to 50. + * @param {string} request.pageToken + * The `nextPageToken` value returned from a previous list request, if any. If + * not set, defaults to an empty string. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is Array of [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy}. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed and will merge results from all the pages into this array. + * Note that it can affect your quota. + * We recommend using `listDataPoliciesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listDataPolicies( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, + options?: CallOptions): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy[], + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest|null, + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse + ]>; + listDataPolicies( + request: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse|null|undefined, + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy>): void; + listDataPolicies( + request: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, + callback: PaginationCallback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse|null|undefined, + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy>): void; + listDataPolicies( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, + optionsOrCallback?: CallOptions|PaginationCallback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse|null|undefined, + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy>, + callback?: PaginationCallback< + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse|null|undefined, + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy>): + Promise<[ + protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy[], + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest|null, + protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse + ]>|void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } + else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'parent': request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.listDataPolicies(request, options, callback); + } + +/** + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the project for which to list data policies. Format is + * `projects/{project_number}/locations/{location_id}`. + * @param {number} request.pageSize + * The maximum number of data policies to return. Must be a value between 1 + * and 1000. + * If not set, defaults to 50. + * @param {string} request.pageToken + * The `nextPageToken` value returned from a previous list request, if any. If + * not set, defaults to an empty string. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Stream} + * An object stream which emits an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy} on 'data' event. + * The client library will perform auto-pagination by default: it will call the API as many + * times as needed. Note that it can affect your quota. + * We recommend using `listDataPoliciesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listDataPoliciesStream( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, + options?: CallOptions): + Transform{ + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'parent': request.parent ?? '', + }); + const defaultCallSettings = this._defaults['listDataPolicies']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listDataPolicies.createStream( + this.innerApiCalls.listDataPolicies as GaxCall, + request, + callSettings + ); + } + +/** + * Equivalent to `listDataPolicies`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. Resource name of the project for which to list data policies. Format is + * `projects/{project_number}/locations/{location_id}`. + * @param {number} request.pageSize + * The maximum number of data policies to return. Must be a value between 1 + * and 1000. + * If not set, defaults to 50. + * @param {string} request.pageToken + * The `nextPageToken` value returned from a previous list request, if any. If + * not set, defaults to an empty string. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example include:samples/generated/v1beta1/data_policy_service.list_data_policies.js + * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_ListDataPolicies_async + */ + listDataPoliciesAsync( + request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, + options?: CallOptions): + AsyncIterable{ + request = request || {}; + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers[ + 'x-goog-request-params' + ] = this._gaxModule.routingHeader.fromParams({ + 'parent': request.parent ?? '', + }); + const defaultCallSettings = this._defaults['listDataPolicies']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listDataPolicies.asyncIterate( + this.innerApiCalls['listDataPolicies'] as GaxCall, + request as {}, + callSettings + ) as AsyncIterable; + } + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified dataPolicy resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} data_policy + * @returns {string} Resource name string. + */ + dataPolicyPath(project:string,location:string,dataPolicy:string) { + return this.pathTemplates.dataPolicyPathTemplate.render({ + project: project, + location: location, + data_policy: dataPolicy, + }); + } + + /** + * Parse the project from DataPolicy resource. + * + * @param {string} dataPolicyName + * A fully-qualified path representing DataPolicy resource. + * @returns {string} A string representing the project. + */ + matchProjectFromDataPolicyName(dataPolicyName: string) { + return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).project; + } + + /** + * Parse the location from DataPolicy resource. + * + * @param {string} dataPolicyName + * A fully-qualified path representing DataPolicy resource. + * @returns {string} A string representing the location. + */ + matchLocationFromDataPolicyName(dataPolicyName: string) { + return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).location; + } + + /** + * Parse the data_policy from DataPolicy resource. + * + * @param {string} dataPolicyName + * A fully-qualified path representing DataPolicy resource. + * @returns {string} A string representing the data_policy. + */ + matchDataPolicyFromDataPolicyName(dataPolicyName: string) { + return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).data_policy; + } + + /** + * Return a fully-qualified location resource name string. + * + * @param {string} project + * @param {string} location + * @returns {string} Resource name string. + */ + locationPath(project:string,location:string) { + return this.pathTemplates.locationPathTemplate.render({ + project: project, + location: location, + }); + } + + /** + * Parse the project from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the project. + */ + matchProjectFromLocationName(locationName: string) { + return this.pathTemplates.locationPathTemplate.match(locationName).project; + } + + /** + * Parse the location from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the location. + */ + matchLocationFromLocationName(locationName: string) { + return this.pathTemplates.locationPathTemplate.match(locationName).location; + } + + /** + * Return a fully-qualified project resource name string. + * + * @param {string} project + * @returns {string} Resource name string. + */ + projectPath(project:string) { + return this.pathTemplates.projectPathTemplate.render({ + project: project, + }); + } + + /** + * Parse the project from Project resource. + * + * @param {string} projectName + * A fully-qualified path representing Project resource. + * @returns {string} A string representing the project. + */ + matchProjectFromProjectName(projectName: string) { + return this.pathTemplates.projectPathTemplate.match(projectName).project; + } + + /** + * Terminate the gRPC channel and close the client. + * + * The client will no longer be usable and all future behavior is undefined. + * @returns {Promise} A promise that resolves when the client is closed. + */ + close(): Promise { + if (this.dataPolicyServiceStub && !this._terminated) { + return this.dataPolicyServiceStub.then(stub => { + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client_config.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client_config.json new file mode 100644 index 00000000000..426ab638d19 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client_config.json @@ -0,0 +1,78 @@ +{ + "interfaces": { + "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService": { + "retry_codes": { + "non_idempotent": [], + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "unavailable": [ + "UNAVAILABLE" + ] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + }, + "ce5b960a6ed052e690863808e4f0deff3dc7d49f": { + "initial_retry_delay_millis": 1000, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 10000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "CreateDataPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "UpdateDataPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "DeleteDataPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "GetDataPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "ListDataPolicies": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "GetIamPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "SetIamPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + }, + "TestIamPermissions": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + } + } + } + } +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_proto_list.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_proto_list.json new file mode 100644 index 00000000000..6e26fa8caca --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicy.proto" +] diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/gapic_metadata.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/gapic_metadata.json new file mode 100644 index 00000000000..18fb9ed02a5 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/gapic_metadata.json @@ -0,0 +1,107 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.cloud.bigquery.datapolicies.v1beta1", + "libraryPackage": "@google-cloud/bigquery-datapolicies", + "services": { + "DataPolicyService": { + "clients": { + "grpc": { + "libraryClient": "DataPolicyServiceClient", + "rpcs": { + "CreateDataPolicy": { + "methods": [ + "createDataPolicy" + ] + }, + "UpdateDataPolicy": { + "methods": [ + "updateDataPolicy" + ] + }, + "DeleteDataPolicy": { + "methods": [ + "deleteDataPolicy" + ] + }, + "GetDataPolicy": { + "methods": [ + "getDataPolicy" + ] + }, + "GetIamPolicy": { + "methods": [ + "getIamPolicy" + ] + }, + "SetIamPolicy": { + "methods": [ + "setIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "testIamPermissions" + ] + }, + "ListDataPolicies": { + "methods": [ + "listDataPolicies", + "listDataPoliciesStream", + "listDataPoliciesAsync" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "DataPolicyServiceClient", + "rpcs": { + "CreateDataPolicy": { + "methods": [ + "createDataPolicy" + ] + }, + "UpdateDataPolicy": { + "methods": [ + "updateDataPolicy" + ] + }, + "DeleteDataPolicy": { + "methods": [ + "deleteDataPolicy" + ] + }, + "GetDataPolicy": { + "methods": [ + "getDataPolicy" + ] + }, + "GetIamPolicy": { + "methods": [ + "getIamPolicy" + ] + }, + "SetIamPolicy": { + "methods": [ + "setIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "testIamPermissions" + ] + }, + "ListDataPolicies": { + "methods": [ + "listDataPolicies", + "listDataPoliciesStream", + "listDataPoliciesAsync" + ] + } + } + } + } + } + } +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/index.ts new file mode 100644 index 00000000000..81030a61690 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/index.ts @@ -0,0 +1,19 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +export {DataPolicyServiceClient} from './data_policy_service_client'; diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.js new file mode 100644 index 00000000000..b26197444a3 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.js @@ -0,0 +1,27 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + +/* eslint-disable node/no-missing-require, no-unused-vars */ +const datapolicies = require('@google-cloud/bigquery-datapolicies'); + +function main() { + const dataPolicyServiceClient = new datapolicies.DataPolicyServiceClient(); +} + +main(); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.ts new file mode 100644 index 00000000000..760641ee949 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.ts @@ -0,0 +1,32 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import {DataPolicyServiceClient} from '@google-cloud/bigquery-datapolicies'; + +// check that the client class type name can be used +function doStuffWithDataPolicyServiceClient(client: DataPolicyServiceClient) { + client.close(); +} + +function main() { + // check that the client instance can be created + const dataPolicyServiceClient = new DataPolicyServiceClient(); + doStuffWithDataPolicyServiceClient(dataPolicyServiceClient); +} + +main(); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/install.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/install.ts new file mode 100644 index 00000000000..557a57558e1 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/install.ts @@ -0,0 +1,49 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import {packNTest} from 'pack-n-play'; +import {readFileSync} from 'fs'; +import {describe, it} from 'mocha'; + +describe('📦 pack-n-play test', () => { + + it('TypeScript code', async function() { + this.timeout(300000); + const options = { + packageDir: process.cwd(), + sample: { + description: 'TypeScript user can use the type definitions', + ts: readFileSync('./system-test/fixtures/sample/src/index.ts').toString() + } + }; + await packNTest(options); + }); + + it('JavaScript code', async function() { + this.timeout(300000); + const options = { + packageDir: process.cwd(), + sample: { + description: 'JavaScript user can use the library', + ts: readFileSync('./system-test/fixtures/sample/src/index.js').toString() + } + }; + await packNTest(options); + }); + +}); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/test/gapic_data_policy_service_v1beta1.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/test/gapic_data_policy_service_v1beta1.ts new file mode 100644 index 00000000000..1b61cf2fbef --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/test/gapic_data_policy_service_v1beta1.ts @@ -0,0 +1,1319 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protos from '../protos/protos'; +import * as assert from 'assert'; +import * as sinon from 'sinon'; +import {SinonStub} from 'sinon'; +import {describe, it} from 'mocha'; +import * as datapolicyserviceModule from '../src'; + +import {PassThrough} from 'stream'; + +import {protobuf} from 'google-gax'; + +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + +function generateSampleMessage(instance: T) { + const filledObject = (instance.constructor as typeof protobuf.Message) + .toObject(instance as protobuf.Message, {defaults: true}); + return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T; +} + +function stubSimpleCall(response?: ResponseType, error?: Error) { + return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]); +} + +function stubSimpleCallWithCallback(response?: ResponseType, error?: Error) { + return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response); +} + +function stubPageStreamingCall(responses?: ResponseType[], error?: Error) { + const pagingStub = sinon.stub(); + if (responses) { + for (let i = 0; i < responses.length; ++i) { + pagingStub.onCall(i).callsArgWith(2, null, responses[i]); + } + } + const transformStub = error ? sinon.stub().callsArgWith(2, error) : pagingStub; + const mockStream = new PassThrough({ + objectMode: true, + transform: transformStub, + }); + // trigger as many responses as needed + if (responses) { + for (let i = 0; i < responses.length; ++i) { + setImmediate(() => { mockStream.write({}); }); + } + setImmediate(() => { mockStream.end(); }); + } else { + setImmediate(() => { mockStream.write({}); }); + setImmediate(() => { mockStream.end(); }); + } + return sinon.stub().returns(mockStream); +} + +function stubAsyncIterationCall(responses?: ResponseType[], error?: Error) { + let counter = 0; + const asyncIterable = { + [Symbol.asyncIterator]() { + return { + async next() { + if (error) { + return Promise.reject(error); + } + if (counter >= responses!.length) { + return Promise.resolve({done: true, value: undefined}); + } + return Promise.resolve({done: false, value: responses![counter++]}); + } + }; + } + }; + return sinon.stub().returns(asyncIterable); +} + +describe('v1beta1.DataPolicyServiceClient', () => { + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = datapolicyserviceModule.v1beta1.DataPolicyServiceClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = datapolicyserviceModule.v1beta1.DataPolicyServiceClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = datapolicyserviceModule.v1beta1.DataPolicyServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.dataPolicyServiceStub, undefined); + await client.initialize(); + assert(client.dataPolicyServiceStub); + }); + + it('has close method for the initialized client', done => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.dataPolicyServiceStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.dataPolicyServiceStub, undefined); + client.close().then(() => { + done(); + }); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error|null, projectId?: string|null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + }); + + describe('createDataPolicy', () => { + it('invokes createDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() + ); + client.innerApiCalls.createDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.createDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() + ); + client.innerApiCalls.createDataPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createDataPolicy( + request, + (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createDataPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.createDataPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest', ['parent']); + request.parent = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.createDataPolicy(request), expectedError); + }); + }); + + describe('updateDataPolicy', () => { + it('invokes updateDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest() + ); + request.dataPolicy ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); + request.dataPolicy.name = defaultValue1; + const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() + ); + client.innerApiCalls.updateDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.updateDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest() + ); + request.dataPolicy ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); + request.dataPolicy.name = defaultValue1; + const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() + ); + client.innerApiCalls.updateDataPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateDataPolicy( + request, + (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest() + ); + request.dataPolicy ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); + request.dataPolicy.name = defaultValue1; + const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateDataPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.updateDataPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest() + ); + request.dataPolicy ??= {}; + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); + request.dataPolicy.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.updateDataPolicy(request), expectedError); + }); + }); + + describe('deleteDataPolicy', () => { + it('invokes deleteDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.deleteDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.protobuf.Empty() + ); + client.innerApiCalls.deleteDataPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteDataPolicy( + request, + (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteDataPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.deleteDataPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.deleteDataPolicy(request), expectedError); + }); + }); + + describe('getDataPolicy', () => { + it('invokes getDataPolicy without error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() + ); + client.innerApiCalls.getDataPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.getDataPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getDataPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() + ); + client.innerApiCalls.getDataPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getDataPolicy( + request, + (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getDataPolicy with error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getDataPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.getDataPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getDataPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest', ['name']); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getDataPolicy(request), expectedError); + }); + }); + + describe('getIamPolicy', () => { + it('invokes getIamPolicy without error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy() + ); + client.innerApiCalls.getIamPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.getIamPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getIamPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy() + ); + client.innerApiCalls.getIamPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getIamPolicy( + request, + (err?: Error|null, result?: protos.google.iam.v1.IPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getIamPolicy with error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getIamPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.getIamPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getIamPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.GetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getIamPolicy(request), expectedError); + }); + }); + + describe('setIamPolicy', () => { + it('invokes setIamPolicy without error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy() + ); + client.innerApiCalls.setIamPolicy = stubSimpleCall(expectedResponse); + const [response] = await client.setIamPolicy(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes setIamPolicy without error using callback', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.Policy() + ); + client.innerApiCalls.setIamPolicy = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.setIamPolicy( + request, + (err?: Error|null, result?: protos.google.iam.v1.IPolicy|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes setIamPolicy with error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.setIamPolicy = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.setIamPolicy(request), expectedError); + const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes setIamPolicy with closed client', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.SetIamPolicyRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); + request.resource = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.setIamPolicy(request), expectedError); + }); + }); + + describe('testIamPermissions', () => { + it('invokes testIamPermissions without error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsResponse() + ); + client.innerApiCalls.testIamPermissions = stubSimpleCall(expectedResponse); + const [response] = await client.testIamPermissions(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes testIamPermissions without error using callback', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsResponse() + ); + client.innerApiCalls.testIamPermissions = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.testIamPermissions( + request, + (err?: Error|null, result?: protos.google.iam.v1.ITestIamPermissionsResponse|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes testIamPermissions with error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); + request.resource = defaultValue1; + const expectedHeaderRequestParams = `resource=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.testIamPermissions = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.testIamPermissions(request), expectedError); + const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes testIamPermissions with closed client', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.iam.v1.TestIamPermissionsRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); + request.resource = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.testIamPermissions(request), expectedError); + }); + }); + + describe('listDataPolicies', () => { + it('invokes listDataPolicies without error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + ]; + client.innerApiCalls.listDataPolicies = stubSimpleCall(expectedResponse); + const [response] = await client.listDataPolicies(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listDataPolicies without error using callback', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + ]; + client.innerApiCalls.listDataPolicies = stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listDataPolicies( + request, + (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy[]|null) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listDataPolicies with error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listDataPolicies = stubSimpleCall(undefined, expectedError); + await assert.rejects(client.listDataPolicies(request), expectedError); + const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) + .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listDataPoliciesStream without error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + ]; + client.descriptors.page.listDataPolicies.createStream = stubPageStreamingCall(expectedResponse); + const stream = client.listDataPoliciesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy[] = []; + stream.on('data', (response: protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const responses = await promise; + assert.deepStrictEqual(responses, expectedResponse); + assert((client.descriptors.page.listDataPolicies.createStream as SinonStub) + .getCall(0).calledWith(client.innerApiCalls.listDataPolicies, request)); + assert( + (client.descriptors.page.listDataPolicies.createStream as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('invokes listDataPoliciesStream with error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listDataPolicies.createStream = stubPageStreamingCall(undefined, expectedError); + const stream = client.listDataPoliciesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy[] = []; + stream.on('data', (response: protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy) => { + responses.push(response); + }); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert((client.descriptors.page.listDataPolicies.createStream as SinonStub) + .getCall(0).calledWith(client.innerApiCalls.listDataPolicies, request)); + assert( + (client.descriptors.page.listDataPolicies.createStream as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listDataPolicies without error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), + ]; + client.descriptors.page.listDataPolicies.asyncIterate = stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy[] = []; + const iterable = client.listDataPoliciesAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) + .getCall(0).args[1], request); + assert( + (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listDataPolicies with error', async () => { + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() + ); + const defaultValue1 = + getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listDataPolicies.asyncIterate = stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listDataPoliciesAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) + .getCall(0).args[1], request); + assert( + (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) + .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + }); + + describe('Path templates', () => { + + describe('dataPolicy', () => { + const fakePath = "/rendered/path/dataPolicy"; + const expectedParameters = { + project: "projectValue", + location: "locationValue", + data_policy: "dataPolicyValue", + }; + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.dataPolicyPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.dataPolicyPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('dataPolicyPath', () => { + const result = client.dataPolicyPath("projectValue", "locationValue", "dataPolicyValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.dataPolicyPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchProjectFromDataPolicyName', () => { + const result = client.matchProjectFromDataPolicyName(fakePath); + assert.strictEqual(result, "projectValue"); + assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchLocationFromDataPolicyName', () => { + const result = client.matchLocationFromDataPolicyName(fakePath); + assert.strictEqual(result, "locationValue"); + assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchDataPolicyFromDataPolicyName', () => { + const result = client.matchDataPolicyFromDataPolicyName(fakePath); + assert.strictEqual(result, "dataPolicyValue"); + assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + + describe('location', () => { + const fakePath = "/rendered/path/location"; + const expectedParameters = { + project: "projectValue", + location: "locationValue", + }; + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.locationPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.locationPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('locationPath', () => { + const result = client.locationPath("projectValue", "locationValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.locationPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchProjectFromLocationName', () => { + const result = client.matchProjectFromLocationName(fakePath); + assert.strictEqual(result, "projectValue"); + assert((client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + + it('matchLocationFromLocationName', () => { + const result = client.matchLocationFromLocationName(fakePath); + assert.strictEqual(result, "locationValue"); + assert((client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + + describe('project', () => { + const fakePath = "/rendered/path/project"; + const expectedParameters = { + project: "projectValue", + }; + const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.projectPathTemplate.render = + sinon.stub().returns(fakePath); + client.pathTemplates.projectPathTemplate.match = + sinon.stub().returns(expectedParameters); + + it('projectPath', () => { + const result = client.projectPath("projectValue"); + assert.strictEqual(result, fakePath); + assert((client.pathTemplates.projectPathTemplate.render as SinonStub) + .getCall(-1).calledWith(expectedParameters)); + }); + + it('matchProjectFromProjectName', () => { + const result = client.matchProjectFromProjectName(fakePath); + assert.strictEqual(result, "projectValue"); + assert((client.pathTemplates.projectPathTemplate.match as SinonStub) + .getCall(-1).calledWith(fakePath)); + }); + }); + }); +}); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/tsconfig.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/tsconfig.json new file mode 100644 index 00000000000..c78f1c884ef --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build", + "resolveJsonModule": true, + "lib": [ + "es2018", + "dom" + ] + }, + "include": [ + "src/*.ts", + "src/**/*.ts", + "test/*.ts", + "test/**/*.ts", + "system-test/*.ts" + ] +} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/webpack.config.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/webpack.config.js new file mode 100644 index 00000000000..032cd610597 --- /dev/null +++ b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/webpack.config.js @@ -0,0 +1,64 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +const path = require('path'); + +module.exports = { + entry: './src/index.ts', + output: { + library: 'DataPolicyService', + filename: './data-policy-service.js', + }, + node: { + child_process: 'empty', + fs: 'empty', + crypto: 'empty', + }, + resolve: { + alias: { + '../../../package.json': path.resolve(__dirname, 'package.json'), + }, + extensions: ['.js', '.json', '.ts'], + }, + module: { + rules: [ + { + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/ + }, + { + test: /node_modules[\\/]@grpc[\\/]grpc-js/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]grpc/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]retry-request/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]https?-proxy-agent/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]gtoken/, + use: 'null-loader' + }, + ], + }, + mode: 'production', +}; From 62bcbac4946d93cc5a45c69458b14ee0e4156a14 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Fri, 2 Dec 2022 20:55:47 +0000 Subject: [PATCH 4/4] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot=20po?= =?UTF-8?q?st-processor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- .../v1/.eslintignore | 7 - .../v1/.eslintrc.json | 3 - .../v1/.gitignore | 14 - .../v1/.jsdoc.js | 55 - .../v1/.mocharc.js | 33 - .../v1/.prettierrc.js | 22 - .../v1/README.md | 1 - .../v1/linkinator.config.json | 16 - .../v1/package.json | 64 - .../bigquery/datapolicies/v1/datapolicy.proto | 320 ---- .../data_policy_service.create_data_policy.js | 68 - .../data_policy_service.delete_data_policy.js | 62 - .../v1/data_policy_service.get_data_policy.js | 62 - .../v1/data_policy_service.get_iam_policy.js | 67 - .../data_policy_service.list_data_policies.js | 85 - .../data_policy_service.rename_data_policy.js | 67 - .../v1/data_policy_service.set_iam_policy.js | 77 - ...ata_policy_service.test_iam_permissions.js | 70 - .../data_policy_service.update_data_policy.js | 71 - ...google.cloud.bigquery.datapolicies.v1.json | 415 ----- .../v1/src/index.ts | 25 - .../v1/src/v1/data_policy_service_client.ts | 1264 --------------- .../v1/data_policy_service_client_config.json | 83 - .../v1/data_policy_service_proto_list.json | 3 - .../v1/src/v1/gapic_metadata.json | 117 -- .../v1/src/v1/index.ts | 19 - .../system-test/fixtures/sample/src/index.js | 27 - .../system-test/fixtures/sample/src/index.ts | 32 - .../v1/system-test/install.ts | 49 - .../v1/test/gapic_data_policy_service_v1.ts | 1427 ----------------- .../v1/tsconfig.json | 19 - .../v1/webpack.config.js | 64 - .../v1beta1/.eslintignore | 7 - .../v1beta1/.eslintrc.json | 3 - .../v1beta1/.gitignore | 14 - .../v1beta1/.jsdoc.js | 55 - .../v1beta1/.mocharc.js | 33 - .../v1beta1/.prettierrc.js | 22 - .../v1beta1/README.md | 1 - .../v1beta1/linkinator.config.json | 16 - .../v1beta1/package.json | 64 - .../datapolicies/v1beta1/datapolicy.proto | 287 ---- .../data_policy_service.create_data_policy.js | 68 - .../data_policy_service.delete_data_policy.js | 62 - .../data_policy_service.get_data_policy.js | 62 - .../data_policy_service.get_iam_policy.js | 67 - .../data_policy_service.list_data_policies.js | 75 - .../data_policy_service.set_iam_policy.js | 77 - ...ata_policy_service.test_iam_permissions.js | 70 - .../data_policy_service.update_data_policy.js | 71 - ...e.cloud.bigquery.datapolicies.v1beta1.json | 367 ----- .../v1beta1/src/index.ts | 25 - .../src/v1beta1/data_policy_service_client.ts | 1163 -------------- .../data_policy_service_client_config.json | 78 - .../data_policy_service_proto_list.json | 3 - .../v1beta1/src/v1beta1/gapic_metadata.json | 107 -- .../v1beta1/src/v1beta1/index.ts | 19 - .../system-test/fixtures/sample/src/index.js | 27 - .../system-test/fixtures/sample/src/index.ts | 32 - .../v1beta1/system-test/install.ts | 49 - .../test/gapic_data_policy_service_v1beta1.ts | 1319 --------------- .../v1beta1/tsconfig.json | 19 - .../v1beta1/webpack.config.js | 64 - .../bigquery/datapolicies/v1/datapolicy.proto | 29 +- .../data_policy_service.create_data_policy.js | 4 +- .../data_policy_service.list_data_policies.js | 10 +- .../src/v1/data_policy_service_client.ts | 34 +- 67 files changed, 41 insertions(+), 9070 deletions(-) delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintignore delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintrc.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.gitignore delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.jsdoc.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.mocharc.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.prettierrc.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/README.md delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/linkinator.config.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/package.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.create_data_policy.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.delete_data_policy.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_data_policy.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_iam_policy.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.list_data_policies.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.rename_data_policy.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.set_iam_policy.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.test_iam_permissions.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.update_data_policy.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/index.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client_config.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_proto_list.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/gapic_metadata.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/index.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/install.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/test/gapic_data_policy_service_v1.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/tsconfig.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1/webpack.config.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintignore delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintrc.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.gitignore delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.jsdoc.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.mocharc.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.prettierrc.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/README.md delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/linkinator.config.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/package.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicy.proto delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.create_data_policy.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.delete_data_policy.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_data_policy.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_iam_policy.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.list_data_policies.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.set_iam_policy.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.test_iam_permissions.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.update_data_policy.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/index.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client_config.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_proto_list.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/gapic_metadata.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/index.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.js delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/install.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/test/gapic_data_policy_service_v1beta1.ts delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/tsconfig.json delete mode 100644 owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/webpack.config.js diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintignore b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintignore deleted file mode 100644 index cfc348ec4d1..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintignore +++ /dev/null @@ -1,7 +0,0 @@ -**/node_modules -**/.coverage -build/ -docs/ -protos/ -system-test/ -samples/generated/ diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintrc.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintrc.json deleted file mode 100644 index 78215349546..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "./node_modules/gts" -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.gitignore b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.gitignore deleted file mode 100644 index 5d32b23782f..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -**/*.log -**/node_modules -.coverage -coverage -.nyc_output -docs/ -out/ -build/ -system-test/secrets.js -system-test/*key.json -*.lock -.DS_Store -package-lock.json -__pycache__ diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.jsdoc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.jsdoc.js deleted file mode 100644 index 68361d6c419..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.jsdoc.js +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -'use strict'; - -module.exports = { - opts: { - readme: './README.md', - package: './package.json', - template: './node_modules/jsdoc-fresh', - recurse: true, - verbose: true, - destination: './docs/' - }, - plugins: [ - 'plugins/markdown', - 'jsdoc-region-tag' - ], - source: { - excludePattern: '(^|\\/|\\\\)[._]', - include: [ - 'build/src', - 'protos' - ], - includePattern: '\\.js$' - }, - templates: { - copyright: 'Copyright 2022 Google LLC', - includeDate: false, - sourceFiles: false, - systemName: '@google-cloud/datapolicies', - theme: 'lumen', - default: { - outputSourceFiles: false - } - }, - markdown: { - idInHeadings: true - } -}; diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.mocharc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.mocharc.js deleted file mode 100644 index 481c522b00f..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.mocharc.js +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -const config = { - "enable-source-maps": true, - "throw-deprecation": true, - "timeout": 10000 -} -if (process.env.MOCHA_THROW_DEPRECATION === 'false') { - delete config['throw-deprecation']; -} -if (process.env.MOCHA_REPORTER) { - config.reporter = process.env.MOCHA_REPORTER; -} -if (process.env.MOCHA_REPORTER_OUTPUT) { - config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`; -} -module.exports = config diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.prettierrc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.prettierrc.js deleted file mode 100644 index 494e147865d..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/.prettierrc.js +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - -module.exports = { - ...require('gts/.prettierrc.json') -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/README.md b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/README.md deleted file mode 100644 index 46950ef3a37..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/README.md +++ /dev/null @@ -1 +0,0 @@ -Datapolicies: Nodejs Client diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/linkinator.config.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/linkinator.config.json deleted file mode 100644 index befd23c8633..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/linkinator.config.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "recurse": true, - "skip": [ - "https://codecov.io/gh/googleapis/", - "www.googleapis.com", - "img.shields.io", - "https://console.cloud.google.com/cloudshell", - "https://support.google.com" - ], - "silent": true, - "concurrency": 5, - "retry": true, - "retryErrors": true, - "retryErrorsCount": 5, - "retryErrorsJitter": 3000 -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/package.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/package.json deleted file mode 100644 index 79e1b6b2a35..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/package.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "name": "@google-cloud/datapolicies", - "version": "0.1.0", - "description": "Datapolicies client for Node.js", - "repository": "googleapis/nodejs-datapolicies", - "license": "Apache-2.0", - "author": "Google LLC", - "main": "build/src/index.js", - "files": [ - "build/src", - "build/protos" - ], - "keywords": [ - "google apis client", - "google api client", - "google apis", - "google api", - "google", - "google cloud platform", - "google cloud", - "cloud", - "google datapolicies", - "datapolicies", - "data policy service" - ], - "scripts": { - "clean": "gts clean", - "compile": "tsc -p . && cp -r protos build/ && minifyProtoJson", - "compile-protos": "compileProtos src", - "docs": "jsdoc -c .jsdoc.js", - "predocs-test": "npm run docs", - "docs-test": "linkinator docs", - "fix": "gts fix", - "lint": "gts check", - "prepare": "npm run compile-protos && npm run compile", - "system-test": "c8 mocha build/system-test", - "test": "c8 mocha build/test" - }, - "dependencies": { - "google-gax": "^3.5.2" - }, - "devDependencies": { - "@types/mocha": "^9.1.1", - "@types/node": "^16.11.62", - "@types/sinon": "^10.0.13", - "c8": "^7.12.0", - "gts": "^3.1.1", - "jsdoc": "^3.6.11", - "jsdoc-fresh": "^2.0.1", - "jsdoc-region-tag": "^2.0.1", - "linkinator": "^4.0.3", - "mocha": "^10.0.0", - "null-loader": "^4.0.1", - "pack-n-play": "^1.0.0-2", - "sinon": "^14.0.0", - "ts-loader": "^8.4.0", - "typescript": "^4.8.3", - "webpack": "^4.46.0", - "webpack-cli": "^4.10.0" - }, - "engines": { - "node": ">=v12" - } -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto deleted file mode 100644 index cd79acfba30..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto +++ /dev/null @@ -1,320 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.cloud.bigquery.datapolicies.v1; - -import "google/api/annotations.proto"; -import "google/api/client.proto"; -import "google/api/field_behavior.proto"; -import "google/api/resource.proto"; -import "google/iam/v1/iam_policy.proto"; -import "google/iam/v1/policy.proto"; -import "google/protobuf/empty.proto"; -import "google/protobuf/field_mask.proto"; - -option csharp_namespace = "Google.Cloud.BigQuery.DataPolicies.V1"; -option go_package = "google.golang.org/genproto/googleapis/cloud/bigquery/datapolicies/v1;datapolicies"; -option java_multiple_files = true; -option java_outer_classname = "DataPolicyProto"; -option java_package = "com.google.cloud.bigquery.datapolicies.v1"; -option php_namespace = "Google\\Cloud\\BigQuery\\DataPolicies\\V1"; -option ruby_package = "Google::Cloud::Bigquery::DataPolicies::V1"; - -// Data Policy Service provides APIs for managing the label-policy bindings. -service DataPolicyService { - option (google.api.default_host) = "bigquerydatapolicy.googleapis.com"; - option (google.api.oauth_scopes) = - "https://www.googleapis.com/auth/bigquery," - "https://www.googleapis.com/auth/cloud-platform"; - - // Creates a new data policy under a project with the given `dataPolicyId` - // (used as the display name), policy tag, and data policy type. - rpc CreateDataPolicy(CreateDataPolicyRequest) returns (DataPolicy) { - option (google.api.http) = { - post: "/v1/{parent=projects/*/locations/*}/dataPolicies" - body: "data_policy" - }; - option (google.api.method_signature) = "parent,data_policy"; - } - - // Updates the metadata for an existing data policy. The target data policy - // can be specified by the resource name. - rpc UpdateDataPolicy(UpdateDataPolicyRequest) returns (DataPolicy) { - option (google.api.http) = { - patch: "/v1/{data_policy.name=projects/*/locations/*/dataPolicies/*}" - body: "data_policy" - }; - option (google.api.method_signature) = "data_policy,update_mask"; - } - - // Renames the id (display name) of the specified data policy. - rpc RenameDataPolicy(RenameDataPolicyRequest) returns (DataPolicy) { - option (google.api.http) = { - post: "/v1/{name=projects/*/locations/*/dataPolicies/*}:rename" - body: "*" - }; - option (google.api.method_signature) = "name,new_data_policy_id"; - } - - // Deletes the data policy specified by its resource name. - rpc DeleteDataPolicy(DeleteDataPolicyRequest) - returns (google.protobuf.Empty) { - option (google.api.http) = { - delete: "/v1/{name=projects/*/locations/*/dataPolicies/*}" - }; - option (google.api.method_signature) = "name"; - } - - // Gets the data policy specified by its resource name. - rpc GetDataPolicy(GetDataPolicyRequest) returns (DataPolicy) { - option (google.api.http) = { - get: "/v1/{name=projects/*/locations/*/dataPolicies/*}" - }; - option (google.api.method_signature) = "name"; - } - - // List all of the data policies in the specified parent project. - rpc ListDataPolicies(ListDataPoliciesRequest) - returns (ListDataPoliciesResponse) { - option (google.api.http) = { - get: "/v1/{parent=projects/*/locations/*}/dataPolicies" - }; - option (google.api.method_signature) = "parent"; - } - - // Gets the IAM policy for the specified data policy. - rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) - returns (google.iam.v1.Policy) { - option (google.api.http) = { - post: "/v1/{resource=projects/*/locations/*/dataPolicies/*}:getIamPolicy" - body: "*" - }; - } - - // Sets the IAM policy for the specified data policy. - rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) - returns (google.iam.v1.Policy) { - option (google.api.http) = { - post: "/v1/{resource=projects/*/locations/*/dataPolicies/*}:setIamPolicy" - body: "*" - }; - } - - // Returns the caller's permission on the specified data policy resource. - rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) - returns (google.iam.v1.TestIamPermissionsResponse) { - option (google.api.http) = { - post: "/v1/{resource=projects/*/locations/*/dataPolicies/*}:testIamPermissions" - body: "*" - }; - } -} - -// Request message for the CreateDataPolicy method. -message CreateDataPolicyRequest { - // Required. Resource name of the project that the data policy will belong to. - // The format is `projects/{project_number}/locations/{location_id}`. - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - child_type: "bigquerydatapolicy.googleapis.com/DataPolicy" - } - ]; - - // Required. The data policy to create. The `name` field does not need to be - // provided for the data policy creation. - DataPolicy data_policy = 2 [(google.api.field_behavior) = REQUIRED]; -} - -// Response message for the UpdateDataPolicy method. -message UpdateDataPolicyRequest { - // Required. Update the data policy's metadata. - // - // The target data policy is determined by the `name` field. - // Other fields are updated to the specified values based on the field masks. - DataPolicy data_policy = 1 [(google.api.field_behavior) = REQUIRED]; - - // The update mask applies to the resource. For the `FieldMask` definition, - // see - // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask - // If not set, defaults to all of the fields that are allowed to update. - // - // Updates to the `name` and `dataPolicyId` fields are not allowed. - google.protobuf.FieldMask update_mask = 2; -} - -// Request message for the RenameDataPolicy method. -message RenameDataPolicyRequest { - // Required. Resource name of the data policy to rename. The format is - // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}` - string name = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The new data policy id. - string new_data_policy_id = 2 [(google.api.field_behavior) = REQUIRED]; -} - -// Request message for the DeleteDataPolicy method. -message DeleteDataPolicyRequest { - // Required. Resource name of the data policy to delete. Format is - // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "bigquerydatapolicy.googleapis.com/DataPolicy" - } - ]; -} - -// Request message for the GetDataPolicy method. -message GetDataPolicyRequest { - // Required. Resource name of the requested data policy. Format is - // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "bigquerydatapolicy.googleapis.com/DataPolicy" - } - ]; -} - -// Request message for the ListDataPolicies method. -message ListDataPoliciesRequest { - // Required. Resource name of the project for which to list data policies. - // Format is `projects/{project_number}/locations/{location_id}`. - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - child_type: "bigquerydatapolicy.googleapis.com/DataPolicy" - } - ]; - - // The maximum number of data policies to return. Must be a value between 1 - // and 1000. - // If not set, defaults to 50. - int32 page_size = 2; - - // The `nextPageToken` value returned from a previous list request, if any. If - // not set, defaults to an empty string. - string page_token = 3; - - // Filters the data policies by policy tags that they - // are associated with. Currently filter only supports - // "policy_tag" based filtering and OR based predicates. Sample - // filter can be "policy_tag: - // `'projects/1/locations/us/taxonomies/2/policyTags/3'`". You may use - // wildcard such as "policy_tag: - // `'projects/1/locations/us/taxonomies/2/*'`". - string filter = 4; -} - -// Response message for the ListDataPolicies method. -message ListDataPoliciesResponse { - // Data policies that belong to the requested project. - repeated DataPolicy data_policies = 1; - - // Token used to retrieve the next page of results, or empty if there are no - // more results. - string next_page_token = 2; -} - -// Represents the label-policy binding. -message DataPolicy { - option (google.api.resource) = { - type: "bigquerydatapolicy.googleapis.com/DataPolicy" - pattern: "projects/{project}/locations/{location}/dataPolicies/{data_policy}" - }; - - // A list of supported data policy types. - enum DataPolicyType { - // Default value for the data policy type. This should not be used. - DATA_POLICY_TYPE_UNSPECIFIED = 0; - - // Used to create a data policy for column-level security, without data - // masking. - COLUMN_LEVEL_SECURITY_POLICY = 3; - - // Used to create a data policy for data masking. - DATA_MASKING_POLICY = 2; - } - - // Label that is bound to this data policy. - oneof matching_label { - // Policy tag resource name, in the format of - // `projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{policyTag_id}`. - string policy_tag = 4; - } - - // The policy that is bound to this data policy. - oneof policy { - // The data masking policy that specifies the data masking rule to use. - DataMaskingPolicy data_masking_policy = 5; - } - - // Output only. Resource name of this data policy, in the format of - // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Type of data policy. - DataPolicyType data_policy_type = 2; - - // User-assigned (human readable) ID of the data policy that needs to be - // unique within a project. Used as {data_policy_id} in part of the resource - // name. - string data_policy_id = 3; -} - -// The data masking policy that is used to specify data masking rule. -message DataMaskingPolicy { - // The available masking rules. Learn more here: - // https://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options. - enum PredefinedExpression { - // Default, unspecified predefined expression. No masking will take place - // since no expression is specified. - PREDEFINED_EXPRESSION_UNSPECIFIED = 0; - - // Masking expression to replace data with SHA-256 hash. - SHA256 = 3; - - // Masking expression to replace data with NULLs. - ALWAYS_NULL = 5; - - // Masking expression to replace data with their default masking values. - // The default masking values for each type listed as below: - // - // * STRING: "" - // * BYTES: b'' - // * INTEGER: 0 - // * FLOAT: 0.0 - // * NUMERIC: 0 - // * BOOLEAN: FALSE - // * TIMESTAMP: 0001-01-01 00:00:00 UTC - // * DATE: 0001-01-01 - // * TIME: 00:00:00 - // * DATETIME: 0001-01-01T00:00:00 - // * GEOGRAPHY: POINT(0 0) - // * BIGNUMERIC: 0 - // * ARRAY: [] - // * STRUCT: NOT_APPLICABLE - // * JSON: NULL - DEFAULT_MASKING_VALUE = 7; - } - - // A masking expression to bind to the data masking rule. - oneof masking_expression { - // A predefined masking expression. - PredefinedExpression predefined_expression = 1; - } -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.create_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.create_data_policy.js deleted file mode 100644 index 1e8300ae4f1..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.create_data_policy.js +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(parent, dataPolicy) { - // [START bigquerydatapolicy_v1_generated_DataPolicyService_CreateDataPolicy_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. Resource name of the project that the data policy will belong to. - * The format is `projects/{project_number}/locations/{location_id}`. - */ - // const parent = 'abc123' - /** - * Required. The data policy to create. The `name` field does not need to be - * provided for the data policy creation. - */ - // const dataPolicy = {} - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callCreateDataPolicy() { - // Construct request - const request = { - parent, - dataPolicy, - }; - - // Run request - const response = await datapoliciesClient.createDataPolicy(request); - console.log(response); - } - - callCreateDataPolicy(); - // [END bigquerydatapolicy_v1_generated_DataPolicyService_CreateDataPolicy_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.delete_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.delete_data_policy.js deleted file mode 100644 index bfae7b78a07..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.delete_data_policy.js +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(name) { - // [START bigquerydatapolicy_v1_generated_DataPolicyService_DeleteDataPolicy_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. Resource name of the data policy to delete. Format is - * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - */ - // const name = 'abc123' - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callDeleteDataPolicy() { - // Construct request - const request = { - name, - }; - - // Run request - const response = await datapoliciesClient.deleteDataPolicy(request); - console.log(response); - } - - callDeleteDataPolicy(); - // [END bigquerydatapolicy_v1_generated_DataPolicyService_DeleteDataPolicy_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_data_policy.js deleted file mode 100644 index 3460963686e..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_data_policy.js +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(name) { - // [START bigquerydatapolicy_v1_generated_DataPolicyService_GetDataPolicy_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. Resource name of the requested data policy. Format is - * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - */ - // const name = 'abc123' - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callGetDataPolicy() { - // Construct request - const request = { - name, - }; - - // Run request - const response = await datapoliciesClient.getDataPolicy(request); - console.log(response); - } - - callGetDataPolicy(); - // [END bigquerydatapolicy_v1_generated_DataPolicyService_GetDataPolicy_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_iam_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_iam_policy.js deleted file mode 100644 index 84533025be7..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.get_iam_policy.js +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(resource) { - // [START bigquerydatapolicy_v1_generated_DataPolicyService_GetIamPolicy_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * REQUIRED: The resource for which the policy is being requested. - * See the operation documentation for the appropriate value for this field. - */ - // const resource = 'abc123' - /** - * OPTIONAL: A `GetPolicyOptions` object for specifying options to - * `GetIamPolicy`. - */ - // const options = {} - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callGetIamPolicy() { - // Construct request - const request = { - resource, - }; - - // Run request - const response = await datapoliciesClient.getIamPolicy(request); - console.log(response); - } - - callGetIamPolicy(); - // [END bigquerydatapolicy_v1_generated_DataPolicyService_GetIamPolicy_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.list_data_policies.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.list_data_policies.js deleted file mode 100644 index f96591c6b47..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.list_data_policies.js +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(parent) { - // [START bigquerydatapolicy_v1_generated_DataPolicyService_ListDataPolicies_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. Resource name of the project for which to list data policies. - * Format is `projects/{project_number}/locations/{location_id}`. - */ - // const parent = 'abc123' - /** - * The maximum number of data policies to return. Must be a value between 1 - * and 1000. - * If not set, defaults to 50. - */ - // const pageSize = 1234 - /** - * The `nextPageToken` value returned from a previous list request, if any. If - * not set, defaults to an empty string. - */ - // const pageToken = 'abc123' - /** - * Filters the data policies by policy tags that they - * are associated with. Currently filter only supports - * "policy_tag" based filtering and OR based predicates. Sample - * filter can be "policy_tag: - * `'projects/1/locations/us/taxonomies/2/policyTags/3'`". You may use - * wildcard such as "policy_tag: - * `'projects/1/locations/us/taxonomies/2/*'`". - */ - // const filter = 'abc123' - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callListDataPolicies() { - // Construct request - const request = { - parent, - }; - - // Run request - const iterable = await datapoliciesClient.listDataPoliciesAsync(request); - for await (const response of iterable) { - console.log(response); - } - } - - callListDataPolicies(); - // [END bigquerydatapolicy_v1_generated_DataPolicyService_ListDataPolicies_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.rename_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.rename_data_policy.js deleted file mode 100644 index af2892b048a..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.rename_data_policy.js +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(name, newDataPolicyId) { - // [START bigquerydatapolicy_v1_generated_DataPolicyService_RenameDataPolicy_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. Resource name of the data policy to rename. The format is - * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}` - */ - // const name = 'abc123' - /** - * Required. The new data policy id. - */ - // const newDataPolicyId = 'abc123' - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callRenameDataPolicy() { - // Construct request - const request = { - name, - newDataPolicyId, - }; - - // Run request - const response = await datapoliciesClient.renameDataPolicy(request); - console.log(response); - } - - callRenameDataPolicy(); - // [END bigquerydatapolicy_v1_generated_DataPolicyService_RenameDataPolicy_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.set_iam_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.set_iam_policy.js deleted file mode 100644 index 7cfda4aa49b..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.set_iam_policy.js +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(resource, policy) { - // [START bigquerydatapolicy_v1_generated_DataPolicyService_SetIamPolicy_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * REQUIRED: The resource for which the policy is being specified. - * See the operation documentation for the appropriate value for this field. - */ - // const resource = 'abc123' - /** - * REQUIRED: The complete policy to be applied to the `resource`. The size of - * the policy is limited to a few 10s of KB. An empty policy is a - * valid policy but certain Cloud Platform services (such as Projects) - * might reject them. - */ - // const policy = {} - /** - * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only - * the fields in the mask will be modified. If no mask is provided, the - * following default mask is used: - * `paths: "bindings, etag"` - */ - // const updateMask = {} - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callSetIamPolicy() { - // Construct request - const request = { - resource, - policy, - }; - - // Run request - const response = await datapoliciesClient.setIamPolicy(request); - console.log(response); - } - - callSetIamPolicy(); - // [END bigquerydatapolicy_v1_generated_DataPolicyService_SetIamPolicy_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.test_iam_permissions.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.test_iam_permissions.js deleted file mode 100644 index 49d6f841c1d..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.test_iam_permissions.js +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(resource, permissions) { - // [START bigquerydatapolicy_v1_generated_DataPolicyService_TestIamPermissions_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * REQUIRED: The resource for which the policy detail is being requested. - * See the operation documentation for the appropriate value for this field. - */ - // const resource = 'abc123' - /** - * The set of permissions to check for the `resource`. Permissions with - * wildcards (such as '*' or 'storage.*') are not allowed. For more - * information see - * IAM Overview (https://cloud.google.com/iam/docs/overview#permissions). - */ - // const permissions = 'abc123' - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callTestIamPermissions() { - // Construct request - const request = { - resource, - permissions, - }; - - // Run request - const response = await datapoliciesClient.testIamPermissions(request); - console.log(response); - } - - callTestIamPermissions(); - // [END bigquerydatapolicy_v1_generated_DataPolicyService_TestIamPermissions_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.update_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.update_data_policy.js deleted file mode 100644 index a459efd1583..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/data_policy_service.update_data_policy.js +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(dataPolicy) { - // [START bigquerydatapolicy_v1_generated_DataPolicyService_UpdateDataPolicy_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. Update the data policy's metadata. - * The target data policy is determined by the `name` field. - * Other fields are updated to the specified values based on the field masks. - */ - // const dataPolicy = {} - /** - * The update mask applies to the resource. For the `FieldMask` definition, - * see - * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask - * If not set, defaults to all of the fields that are allowed to update. - * Updates to the `name` and `dataPolicyId` fields are not allowed. - */ - // const updateMask = {} - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/datapolicies').v1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callUpdateDataPolicy() { - // Construct request - const request = { - dataPolicy, - }; - - // Run request - const response = await datapoliciesClient.updateDataPolicy(request); - console.log(response); - } - - callUpdateDataPolicy(); - // [END bigquerydatapolicy_v1_generated_DataPolicyService_UpdateDataPolicy_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json deleted file mode 100644 index 9cc2d6c6627..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/samples/generated/v1/snippet_metadata.google.cloud.bigquery.datapolicies.v1.json +++ /dev/null @@ -1,415 +0,0 @@ -{ - "clientLibrary": { - "name": "nodejs-datapolicies", - "version": "0.1.0", - "language": "TYPESCRIPT", - "apis": [ - { - "id": "google.cloud.bigquery.datapolicies.v1", - "version": "v1" - } - ] - }, - "snippets": [ - { - "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_CreateDataPolicy_async", - "title": "DataPolicyService createDataPolicy Sample", - "origin": "API_DEFINITION", - "description": " Creates a new data policy under a project with the given `dataPolicyId` (used as the display name), policy tag, and data policy type.", - "canonical": true, - "file": "data_policy_service.create_data_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 60, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "CreateDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.CreateDataPolicy", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "data_policy", - "type": ".google.cloud.bigquery.datapolicies.v1.DataPolicy" - } - ], - "resultType": ".google.cloud.bigquery.datapolicies.v1.DataPolicy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" - }, - "method": { - "shortName": "CreateDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.CreateDataPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_UpdateDataPolicy_async", - "title": "DataPolicyService updateDataPolicy Sample", - "origin": "API_DEFINITION", - "description": " Updates the metadata for an existing data policy. The target data policy can be specified by the resource name.", - "canonical": true, - "file": "data_policy_service.update_data_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 63, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "UpdateDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.UpdateDataPolicy", - "async": true, - "parameters": [ - { - "name": "data_policy", - "type": ".google.cloud.bigquery.datapolicies.v1.DataPolicy" - }, - { - "name": "update_mask", - "type": ".google.protobuf.FieldMask" - } - ], - "resultType": ".google.cloud.bigquery.datapolicies.v1.DataPolicy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" - }, - "method": { - "shortName": "UpdateDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.UpdateDataPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_RenameDataPolicy_async", - "title": "DataPolicyService renameDataPolicy Sample", - "origin": "API_DEFINITION", - "description": " Renames the id (display name) of the specified data policy.", - "canonical": true, - "file": "data_policy_service.rename_data_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 59, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "RenameDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.RenameDataPolicy", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - }, - { - "name": "new_data_policy_id", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.bigquery.datapolicies.v1.DataPolicy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" - }, - "method": { - "shortName": "RenameDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.RenameDataPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_DeleteDataPolicy_async", - "title": "DataPolicyService deleteDataPolicy Sample", - "origin": "API_DEFINITION", - "description": " Deletes the data policy specified by its resource name.", - "canonical": true, - "file": "data_policy_service.delete_data_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 54, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "DeleteDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.DeleteDataPolicy", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" - }, - "method": { - "shortName": "DeleteDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.DeleteDataPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_GetDataPolicy_async", - "title": "DataPolicyService getDataPolicy Sample", - "origin": "API_DEFINITION", - "description": " Gets the data policy specified by its resource name.", - "canonical": true, - "file": "data_policy_service.get_data_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 54, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetDataPolicy", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.bigquery.datapolicies.v1.DataPolicy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" - }, - "method": { - "shortName": "GetDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetDataPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_ListDataPolicies_async", - "title": "DataPolicyService listDataPolicies Sample", - "origin": "API_DEFINITION", - "description": " List all of the data policies in the specified parent project.", - "canonical": true, - "file": "data_policy_service.list_data_policies.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 77, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListDataPolicies", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.ListDataPolicies", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - }, - { - "name": "filter", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.bigquery.datapolicies.v1.ListDataPoliciesResponse", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" - }, - "method": { - "shortName": "ListDataPolicies", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.ListDataPolicies", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_GetIamPolicy_async", - "title": "DataPolicyService getIamPolicy Sample", - "origin": "API_DEFINITION", - "description": " Gets the IAM policy for the specified data policy.", - "canonical": true, - "file": "data_policy_service.get_iam_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 59, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetIamPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetIamPolicy", - "async": true, - "parameters": [ - { - "name": "resource", - "type": "TYPE_STRING" - }, - { - "name": "options", - "type": ".google.iam.v1.GetPolicyOptions" - } - ], - "resultType": ".google.iam.v1.Policy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" - }, - "method": { - "shortName": "GetIamPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.GetIamPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_SetIamPolicy_async", - "title": "DataPolicyService setIamPolicy Sample", - "origin": "API_DEFINITION", - "description": " Sets the IAM policy for the specified data policy.", - "canonical": true, - "file": "data_policy_service.set_iam_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 69, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "SetIamPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.SetIamPolicy", - "async": true, - "parameters": [ - { - "name": "resource", - "type": "TYPE_STRING" - }, - { - "name": "policy", - "type": ".google.iam.v1.Policy" - }, - { - "name": "update_mask", - "type": ".google.protobuf.FieldMask" - } - ], - "resultType": ".google.iam.v1.Policy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" - }, - "method": { - "shortName": "SetIamPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.SetIamPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1_generated_DataPolicyService_TestIamPermissions_async", - "title": "DataPolicyService testIamPermissions Sample", - "origin": "API_DEFINITION", - "description": " Returns the caller's permission on the specified data policy resource.", - "canonical": true, - "file": "data_policy_service.test_iam_permissions.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 62, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "TestIamPermissions", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.TestIamPermissions", - "async": true, - "parameters": [ - { - "name": "resource", - "type": "TYPE_STRING" - }, - { - "name": "permissions", - "type": "TYPE_STRING[]" - } - ], - "resultType": ".google.iam.v1.TestIamPermissionsResponse", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyServiceClient" - }, - "method": { - "shortName": "TestIamPermissions", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService.TestIamPermissions", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1.DataPolicyService" - } - } - } - } - ] -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/index.ts deleted file mode 100644 index 6916fa3a44f..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import * as v1 from './v1'; -const DataPolicyServiceClient = v1.DataPolicyServiceClient; -type DataPolicyServiceClient = v1.DataPolicyServiceClient; -export {v1, DataPolicyServiceClient}; -export default {v1, DataPolicyServiceClient}; -import * as protos from '../protos/protos'; -export {protos} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client.ts deleted file mode 100644 index 05cbe55d87d..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client.ts +++ /dev/null @@ -1,1264 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -/* global window */ -import type * as gax from 'google-gax'; -import type {Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback, GaxCall} from 'google-gax'; -import {Transform} from 'stream'; -import * as protos from '../../protos/protos'; -import jsonProtos = require('../../protos/protos.json'); -/** - * Client JSON configuration object, loaded from - * `src/v1/data_policy_service_client_config.json`. - * This file defines retry strategy and timeouts for all API methods in this library. - */ -import * as gapicConfig from './data_policy_service_client_config.json'; -const version = require('../../../package.json').version; - -/** - * Data Policy Service provides APIs for managing the label-policy bindings. - * @class - * @memberof v1 - */ -export class DataPolicyServiceClient { - private _terminated = false; - private _opts: ClientOptions; - private _providedCustomServicePath: boolean; - private _gaxModule: typeof gax | typeof gax.fallback; - private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; - private _protos: {}; - private _defaults: {[method: string]: gax.CallSettings}; - auth: gax.GoogleAuth; - descriptors: Descriptors = { - page: {}, - stream: {}, - longrunning: {}, - batching: {}, - }; - warn: (code: string, message: string, warnType?: string) => void; - innerApiCalls: {[name: string]: Function}; - pathTemplates: {[name: string]: gax.PathTemplate}; - dataPolicyServiceStub?: Promise<{[name: string]: Function}>; - - /** - * Construct an instance of DataPolicyServiceClient. - * - * @param {object} [options] - The configuration object. - * The options accepted by the constructor are described in detail - * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). - * The common options are: - * @param {object} [options.credentials] - Credentials object. - * @param {string} [options.credentials.client_email] - * @param {string} [options.credentials.private_key] - * @param {string} [options.email] - Account email address. Required when - * using a .pem or .p12 keyFilename. - * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or - * .p12 key downloaded from the Google Developers Console. If you provide - * a path to a JSON file, the projectId option below is not necessary. - * NOTE: .pem and .p12 require you to specify options.email as well. - * @param {number} [options.port] - The port on which to connect to - * the remote host. - * @param {string} [options.projectId] - The project ID from the Google - * Developer's Console, e.g. 'grape-spaceship-123'. We will also check - * the environment variable GCLOUD_PROJECT for your project ID. If your - * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, - * your project ID will be detected automatically. - * @param {string} [options.apiEndpoint] - The domain name of the - * API remote host. - * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. - * Follows the structure of {@link gapicConfig}. - * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. - * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. - * For more information, please check the - * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. - * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you - * need to avoid loading the default gRPC version and want to use the fallback - * HTTP implementation. Load only fallback version and pass it to the constructor: - * ``` - * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC - * const client = new DataPolicyServiceClient({fallback: 'rest'}, gax); - * ``` - */ - constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { - // Ensure that options include all the required fields. - const staticMembers = this.constructor as typeof DataPolicyServiceClient; - const servicePath = opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; - this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); - const port = opts?.port || staticMembers.port; - const clientConfig = opts?.clientConfig ?? {}; - const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function'); - opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); - - // Request numeric enum values if REST transport is used. - opts.numericEnums = true; - - // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. - if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { - opts['scopes'] = staticMembers.scopes; - } - - // Load google-gax module synchronously if needed - if (!gaxInstance) { - gaxInstance = require('google-gax') as typeof gax; - } - - // Choose either gRPC or proto-over-HTTP implementation of google-gax. - this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; - - // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. - this._gaxGrpc = new this._gaxModule.GrpcClient(opts); - - // Save options to use in initialize() method. - this._opts = opts; - - // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); - - // Set useJWTAccessWithScope on the auth object. - this.auth.useJWTAccessWithScope = true; - - // Set defaultServicePath on the auth object. - this.auth.defaultServicePath = staticMembers.servicePath; - - // Set the default scopes in auth client if needed. - if (servicePath === staticMembers.servicePath) { - this.auth.defaultScopes = staticMembers.scopes; - } - - // Determine the client header string. - const clientHeader = [ - `gax/${this._gaxModule.version}`, - `gapic/${version}`, - ]; - if (typeof process !== 'undefined' && 'versions' in process) { - clientHeader.push(`gl-node/${process.versions.node}`); - } else { - clientHeader.push(`gl-web/${this._gaxModule.version}`); - } - if (!opts.fallback) { - clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); - } else if (opts.fallback === 'rest' ) { - clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); - } - if (opts.libName && opts.libVersion) { - clientHeader.push(`${opts.libName}/${opts.libVersion}`); - } - // Load the applicable protos. - this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); - - // This API contains "path templates"; forward-slash-separated - // identifiers to uniquely identify resources within the API. - // Create useful helper objects for these. - this.pathTemplates = { - dataPolicyPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/dataPolicies/{data_policy}' - ), - locationPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}' - ), - projectPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}' - ), - }; - - // Some of the methods on this service return "paged" results, - // (e.g. 50 results at a time, with tokens to get subsequent - // pages). Denote the keys used for pagination and results. - this.descriptors.page = { - listDataPolicies: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'dataPolicies') - }; - - // Put together the default options sent with requests. - this._defaults = this._gaxGrpc.constructSettings( - 'google.cloud.bigquery.datapolicies.v1.DataPolicyService', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); - - // Set up a dictionary of "inner API calls"; the core implementation - // of calling the API is handled in `google-gax`, with this code - // merely providing the destination and request information. - this.innerApiCalls = {}; - - // Add a warn function to the client constructor so it can be easily tested. - this.warn = this._gaxModule.warn; - } - - /** - * Initialize the client. - * Performs asynchronous operations (such as authentication) and prepares the client. - * This function will be called automatically when any class method is called for the - * first time, but if you need to initialize it before calling an actual method, - * feel free to call initialize() directly. - * - * You can await on this method if you want to make sure the client is initialized. - * - * @returns {Promise} A promise that resolves to an authenticated service stub. - */ - initialize() { - // If the client stub promise is already initialized, return immediately. - if (this.dataPolicyServiceStub) { - return this.dataPolicyServiceStub; - } - - // Put together the "service stub" for - // google.cloud.bigquery.datapolicies.v1.DataPolicyService. - this.dataPolicyServiceStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.cloud.bigquery.datapolicies.v1.DataPolicyService') : - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (this._protos as any).google.cloud.bigquery.datapolicies.v1.DataPolicyService, - this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; - - // Iterate over each of the methods that the service provides - // and create an API call method for each. - const dataPolicyServiceStubMethods = - ['createDataPolicy', 'updateDataPolicy', 'renameDataPolicy', 'deleteDataPolicy', 'getDataPolicy', 'listDataPolicies', 'getIamPolicy', 'setIamPolicy', 'testIamPermissions']; - for (const methodName of dataPolicyServiceStubMethods) { - const callPromise = this.dataPolicyServiceStub.then( - stub => (...args: Array<{}>) => { - if (this._terminated) { - return Promise.reject('The client has already been closed.'); - } - const func = stub[methodName]; - return func.apply(stub, args); - }, - (err: Error|null|undefined) => () => { - throw err; - }); - - const descriptor = - this.descriptors.page[methodName] || - undefined; - const apiCall = this._gaxModule.createApiCall( - callPromise, - this._defaults[methodName], - descriptor, - this._opts.fallback - ); - - this.innerApiCalls[methodName] = apiCall; - } - - return this.dataPolicyServiceStub; - } - - /** - * The DNS address for this API service. - * @returns {string} The DNS address for this service. - */ - static get servicePath() { - return 'bigquerydatapolicy.googleapis.com'; - } - - /** - * The DNS address for this API service - same as servicePath(), - * exists for compatibility reasons. - * @returns {string} The DNS address for this service. - */ - static get apiEndpoint() { - return 'bigquerydatapolicy.googleapis.com'; - } - - /** - * The port for this API service. - * @returns {number} The default port for this service. - */ - static get port() { - return 443; - } - - /** - * The scopes needed to make gRPC calls for every method defined - * in this service. - * @returns {string[]} List of default scopes. - */ - static get scopes() { - return [ - 'https://www.googleapis.com/auth/bigquery', - 'https://www.googleapis.com/auth/cloud-platform' - ]; - } - - getProjectId(): Promise; - getProjectId(callback: Callback): void; - /** - * Return the project ID used by this class. - * @returns {Promise} A promise that resolves to string containing the project ID. - */ - getProjectId(callback?: Callback): - Promise|void { - if (callback) { - this.auth.getProjectId(callback); - return; - } - return this.auth.getProjectId(); - } - - // ------------------- - // -- Service calls -- - // ------------------- -/** - * Creates a new data policy under a project with the given `dataPolicyId` - * (used as the display name), policy tag, and data policy type. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the project that the data policy will belong to. - * The format is `projects/{project_number}/locations/{location_id}`. - * @param {google.cloud.bigquery.datapolicies.v1.DataPolicy} request.dataPolicy - * Required. The data policy to create. The `name` field does not need to be - * provided for the data policy creation. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/data_policy_service.create_data_policy.js - * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_CreateDataPolicy_async - */ - createDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|undefined, {}|undefined - ]>; - createDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - createDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - createDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.ICreateDataPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); - this.initialize(); - return this.innerApiCalls.createDataPolicy(request, options, callback); - } -/** - * Updates the metadata for an existing data policy. The target data policy - * can be specified by the resource name. - * - * @param {Object} request - * The request object that will be sent. - * @param {google.cloud.bigquery.datapolicies.v1.DataPolicy} request.dataPolicy - * Required. Update the data policy's metadata. - * - * The target data policy is determined by the `name` field. - * Other fields are updated to the specified values based on the field masks. - * @param {google.protobuf.FieldMask} request.updateMask - * The update mask applies to the resource. For the `FieldMask` definition, - * see - * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask - * If not set, defaults to all of the fields that are allowed to update. - * - * Updates to the `name` and `dataPolicyId` fields are not allowed. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/data_policy_service.update_data_policy.js - * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_UpdateDataPolicy_async - */ - updateDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|undefined, {}|undefined - ]>; - updateDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - updateDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - updateDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IUpdateDataPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'data_policy.name': request.dataPolicy!.name ?? '', - }); - this.initialize(); - return this.innerApiCalls.updateDataPolicy(request, options, callback); - } -/** - * Renames the id (display name) of the specified data policy. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the data policy to rename. The format is - * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}` - * @param {string} request.newDataPolicyId - * Required. The new data policy id. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/data_policy_service.rename_data_policy.js - * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_RenameDataPolicy_async - */ - renameDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|undefined, {}|undefined - ]>; - renameDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - renameDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - renameDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IRenameDataPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', - }); - this.initialize(); - return this.innerApiCalls.renameDataPolicy(request, options, callback); - } -/** - * Deletes the data policy specified by its resource name. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the data policy to delete. Format is - * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/data_policy_service.delete_data_policy.js - * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_DeleteDataPolicy_async - */ - deleteDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|undefined, {}|undefined - ]>; - deleteDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - deleteDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - deleteDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1.IDeleteDataPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', - }); - this.initialize(); - return this.innerApiCalls.deleteDataPolicy(request, options, callback); - } -/** - * Gets the data policy specified by its resource name. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the requested data policy. Format is - * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/data_policy_service.get_data_policy.js - * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_GetDataPolicy_async - */ - getDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|undefined, {}|undefined - ]>; - getDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - getDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - getDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1.IGetDataPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', - }); - this.initialize(); - return this.innerApiCalls.getDataPolicy(request, options, callback); - } -/** - * Gets the IAM policy for the specified data policy. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.resource - * REQUIRED: The resource for which the policy is being requested. - * See the operation documentation for the appropriate value for this field. - * @param {google.iam.v1.GetPolicyOptions} request.options - * OPTIONAL: A `GetPolicyOptions` object for specifying options to - * `GetIamPolicy`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Policy]{@link google.iam.v1.Policy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/data_policy_service.get_iam_policy.js - * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_GetIamPolicy_async - */ - getIamPolicy( - request?: protos.google.iam.v1.IGetIamPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|undefined, {}|undefined - ]>; - getIamPolicy( - request: protos.google.iam.v1.IGetIamPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; - getIamPolicy( - request: protos.google.iam.v1.IGetIamPolicyRequest, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; - getIamPolicy( - request?: protos.google.iam.v1.IGetIamPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'resource': request.resource ?? '', - }); - this.initialize(); - return this.innerApiCalls.getIamPolicy(request, options, callback); - } -/** - * Sets the IAM policy for the specified data policy. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.resource - * REQUIRED: The resource for which the policy is being specified. - * See the operation documentation for the appropriate value for this field. - * @param {google.iam.v1.Policy} request.policy - * REQUIRED: The complete policy to be applied to the `resource`. The size of - * the policy is limited to a few 10s of KB. An empty policy is a - * valid policy but certain Cloud Platform services (such as Projects) - * might reject them. - * @param {google.protobuf.FieldMask} request.updateMask - * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only - * the fields in the mask will be modified. If no mask is provided, the - * following default mask is used: - * - * `paths: "bindings, etag"` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Policy]{@link google.iam.v1.Policy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/data_policy_service.set_iam_policy.js - * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_SetIamPolicy_async - */ - setIamPolicy( - request?: protos.google.iam.v1.ISetIamPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|undefined, {}|undefined - ]>; - setIamPolicy( - request: protos.google.iam.v1.ISetIamPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; - setIamPolicy( - request: protos.google.iam.v1.ISetIamPolicyRequest, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; - setIamPolicy( - request?: protos.google.iam.v1.ISetIamPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'resource': request.resource ?? '', - }); - this.initialize(); - return this.innerApiCalls.setIamPolicy(request, options, callback); - } -/** - * Returns the caller's permission on the specified data policy resource. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.resource - * REQUIRED: The resource for which the policy detail is being requested. - * See the operation documentation for the appropriate value for this field. - * @param {string[]} request.permissions - * The set of permissions to check for the `resource`. Permissions with - * wildcards (such as '*' or 'storage.*') are not allowed. For more - * information see - * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [TestIamPermissionsResponse]{@link google.iam.v1.TestIamPermissionsResponse}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1/data_policy_service.test_iam_permissions.js - * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_TestIamPermissions_async - */ - testIamPermissions( - request?: protos.google.iam.v1.ITestIamPermissionsRequest, - options?: CallOptions): - Promise<[ - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|undefined, {}|undefined - ]>; - testIamPermissions( - request: protos.google.iam.v1.ITestIamPermissionsRequest, - options: CallOptions, - callback: Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>): void; - testIamPermissions( - request: protos.google.iam.v1.ITestIamPermissionsRequest, - callback: Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>): void; - testIamPermissions( - request?: protos.google.iam.v1.ITestIamPermissionsRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'resource': request.resource ?? '', - }); - this.initialize(); - return this.innerApiCalls.testIamPermissions(request, options, callback); - } - - /** - * List all of the data policies in the specified parent project. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the project for which to list data policies. - * Format is `projects/{project_number}/locations/{location_id}`. - * @param {number} request.pageSize - * The maximum number of data policies to return. Must be a value between 1 - * and 1000. - * If not set, defaults to 50. - * @param {string} request.pageToken - * The `nextPageToken` value returned from a previous list request, if any. If - * not set, defaults to an empty string. - * @param {string} request.filter - * Filters the data policies by policy tags that they - * are associated with. Currently filter only supports - * "policy_tag" based filtering and OR based predicates. Sample - * filter can be "policy_tag: - * `'projects/1/locations/us/taxonomies/2/policyTags/3'`". You may use - * wildcard such as "policy_tag: - * `'projects/1/locations/us/taxonomies/2/*'`". - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed and will merge results from all the pages into this array. - * Note that it can affect your quota. - * We recommend using `listDataPoliciesAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) - * for more details and examples. - */ - listDataPolicies( - request?: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[], - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest|null, - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse - ]>; - listDataPolicies( - request: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse|null|undefined, - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy>): void; - listDataPolicies( - request: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, - callback: PaginationCallback< - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse|null|undefined, - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy>): void; - listDataPolicies( - request?: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, - optionsOrCallback?: CallOptions|PaginationCallback< - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse|null|undefined, - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy>, - callback?: PaginationCallback< - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse|null|undefined, - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy>): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[], - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest|null, - protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesResponse - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); - this.initialize(); - return this.innerApiCalls.listDataPolicies(request, options, callback); - } - -/** - * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the project for which to list data policies. - * Format is `projects/{project_number}/locations/{location_id}`. - * @param {number} request.pageSize - * The maximum number of data policies to return. Must be a value between 1 - * and 1000. - * If not set, defaults to 50. - * @param {string} request.pageToken - * The `nextPageToken` value returned from a previous list request, if any. If - * not set, defaults to an empty string. - * @param {string} request.filter - * Filters the data policies by policy tags that they - * are associated with. Currently filter only supports - * "policy_tag" based filtering and OR based predicates. Sample - * filter can be "policy_tag: - * `'projects/1/locations/us/taxonomies/2/policyTags/3'`". You may use - * wildcard such as "policy_tag: - * `'projects/1/locations/us/taxonomies/2/*'`". - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Stream} - * An object stream which emits an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy} on 'data' event. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed. Note that it can affect your quota. - * We recommend using `listDataPoliciesAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) - * for more details and examples. - */ - listDataPoliciesStream( - request?: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, - options?: CallOptions): - Transform{ - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); - const defaultCallSettings = this._defaults['listDataPolicies']; - const callSettings = defaultCallSettings.merge(options); - this.initialize(); - return this.descriptors.page.listDataPolicies.createStream( - this.innerApiCalls.listDataPolicies as GaxCall, - request, - callSettings - ); - } - -/** - * Equivalent to `listDataPolicies`, but returns an iterable object. - * - * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the project for which to list data policies. - * Format is `projects/{project_number}/locations/{location_id}`. - * @param {number} request.pageSize - * The maximum number of data policies to return. Must be a value between 1 - * and 1000. - * If not set, defaults to 50. - * @param {string} request.pageToken - * The `nextPageToken` value returned from a previous list request, if any. If - * not set, defaults to an empty string. - * @param {string} request.filter - * Filters the data policies by policy tags that they - * are associated with. Currently filter only supports - * "policy_tag" based filtering and OR based predicates. Sample - * filter can be "policy_tag: - * `'projects/1/locations/us/taxonomies/2/policyTags/3'`". You may use - * wildcard such as "policy_tag: - * `'projects/1/locations/us/taxonomies/2/*'`". - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Object} - * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). - * When you iterate the returned iterable, each element will be an object representing - * [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1.DataPolicy}. The API will be called under the hood as needed, once per the page, - * so you can stop the iteration when you don't need more results. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) - * for more details and examples. - * @example include:samples/generated/v1/data_policy_service.list_data_policies.js - * region_tag:bigquerydatapolicy_v1_generated_DataPolicyService_ListDataPolicies_async - */ - listDataPoliciesAsync( - request?: protos.google.cloud.bigquery.datapolicies.v1.IListDataPoliciesRequest, - options?: CallOptions): - AsyncIterable{ - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); - const defaultCallSettings = this._defaults['listDataPolicies']; - const callSettings = defaultCallSettings.merge(options); - this.initialize(); - return this.descriptors.page.listDataPolicies.asyncIterate( - this.innerApiCalls['listDataPolicies'] as GaxCall, - request as {}, - callSettings - ) as AsyncIterable; - } - // -------------------- - // -- Path templates -- - // -------------------- - - /** - * Return a fully-qualified dataPolicy resource name string. - * - * @param {string} project - * @param {string} location - * @param {string} data_policy - * @returns {string} Resource name string. - */ - dataPolicyPath(project:string,location:string,dataPolicy:string) { - return this.pathTemplates.dataPolicyPathTemplate.render({ - project: project, - location: location, - data_policy: dataPolicy, - }); - } - - /** - * Parse the project from DataPolicy resource. - * - * @param {string} dataPolicyName - * A fully-qualified path representing DataPolicy resource. - * @returns {string} A string representing the project. - */ - matchProjectFromDataPolicyName(dataPolicyName: string) { - return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).project; - } - - /** - * Parse the location from DataPolicy resource. - * - * @param {string} dataPolicyName - * A fully-qualified path representing DataPolicy resource. - * @returns {string} A string representing the location. - */ - matchLocationFromDataPolicyName(dataPolicyName: string) { - return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).location; - } - - /** - * Parse the data_policy from DataPolicy resource. - * - * @param {string} dataPolicyName - * A fully-qualified path representing DataPolicy resource. - * @returns {string} A string representing the data_policy. - */ - matchDataPolicyFromDataPolicyName(dataPolicyName: string) { - return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).data_policy; - } - - /** - * Return a fully-qualified location resource name string. - * - * @param {string} project - * @param {string} location - * @returns {string} Resource name string. - */ - locationPath(project:string,location:string) { - return this.pathTemplates.locationPathTemplate.render({ - project: project, - location: location, - }); - } - - /** - * Parse the project from Location resource. - * - * @param {string} locationName - * A fully-qualified path representing Location resource. - * @returns {string} A string representing the project. - */ - matchProjectFromLocationName(locationName: string) { - return this.pathTemplates.locationPathTemplate.match(locationName).project; - } - - /** - * Parse the location from Location resource. - * - * @param {string} locationName - * A fully-qualified path representing Location resource. - * @returns {string} A string representing the location. - */ - matchLocationFromLocationName(locationName: string) { - return this.pathTemplates.locationPathTemplate.match(locationName).location; - } - - /** - * Return a fully-qualified project resource name string. - * - * @param {string} project - * @returns {string} Resource name string. - */ - projectPath(project:string) { - return this.pathTemplates.projectPathTemplate.render({ - project: project, - }); - } - - /** - * Parse the project from Project resource. - * - * @param {string} projectName - * A fully-qualified path representing Project resource. - * @returns {string} A string representing the project. - */ - matchProjectFromProjectName(projectName: string) { - return this.pathTemplates.projectPathTemplate.match(projectName).project; - } - - /** - * Terminate the gRPC channel and close the client. - * - * The client will no longer be usable and all future behavior is undefined. - * @returns {Promise} A promise that resolves when the client is closed. - */ - close(): Promise { - if (this.dataPolicyServiceStub && !this._terminated) { - return this.dataPolicyServiceStub.then(stub => { - this._terminated = true; - stub.close(); - }); - } - return Promise.resolve(); - } -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client_config.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client_config.json deleted file mode 100644 index a9942095e60..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_client_config.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "interfaces": { - "google.cloud.bigquery.datapolicies.v1.DataPolicyService": { - "retry_codes": { - "non_idempotent": [], - "idempotent": [ - "DEADLINE_EXCEEDED", - "UNAVAILABLE" - ], - "unavailable": [ - "UNAVAILABLE" - ] - }, - "retry_params": { - "default": { - "initial_retry_delay_millis": 100, - "retry_delay_multiplier": 1.3, - "max_retry_delay_millis": 60000, - "initial_rpc_timeout_millis": 60000, - "rpc_timeout_multiplier": 1, - "max_rpc_timeout_millis": 60000, - "total_timeout_millis": 600000 - }, - "ce5b960a6ed052e690863808e4f0deff3dc7d49f": { - "initial_retry_delay_millis": 1000, - "retry_delay_multiplier": 1.3, - "max_retry_delay_millis": 10000, - "initial_rpc_timeout_millis": 60000, - "rpc_timeout_multiplier": 1, - "max_rpc_timeout_millis": 60000, - "total_timeout_millis": 600000 - } - }, - "methods": { - "CreateDataPolicy": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "UpdateDataPolicy": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "RenameDataPolicy": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "DeleteDataPolicy": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "GetDataPolicy": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "ListDataPolicies": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "GetIamPolicy": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "SetIamPolicy": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "TestIamPermissions": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - } - } - } - } -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_proto_list.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_proto_list.json deleted file mode 100644 index 3a4a27a5092..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/data_policy_service_proto_list.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - "../../protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto" -] diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/gapic_metadata.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/gapic_metadata.json deleted file mode 100644 index 957e44d2537..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/gapic_metadata.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "schema": "1.0", - "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", - "language": "typescript", - "protoPackage": "google.cloud.bigquery.datapolicies.v1", - "libraryPackage": "@google-cloud/datapolicies", - "services": { - "DataPolicyService": { - "clients": { - "grpc": { - "libraryClient": "DataPolicyServiceClient", - "rpcs": { - "CreateDataPolicy": { - "methods": [ - "createDataPolicy" - ] - }, - "UpdateDataPolicy": { - "methods": [ - "updateDataPolicy" - ] - }, - "RenameDataPolicy": { - "methods": [ - "renameDataPolicy" - ] - }, - "DeleteDataPolicy": { - "methods": [ - "deleteDataPolicy" - ] - }, - "GetDataPolicy": { - "methods": [ - "getDataPolicy" - ] - }, - "GetIamPolicy": { - "methods": [ - "getIamPolicy" - ] - }, - "SetIamPolicy": { - "methods": [ - "setIamPolicy" - ] - }, - "TestIamPermissions": { - "methods": [ - "testIamPermissions" - ] - }, - "ListDataPolicies": { - "methods": [ - "listDataPolicies", - "listDataPoliciesStream", - "listDataPoliciesAsync" - ] - } - } - }, - "grpc-fallback": { - "libraryClient": "DataPolicyServiceClient", - "rpcs": { - "CreateDataPolicy": { - "methods": [ - "createDataPolicy" - ] - }, - "UpdateDataPolicy": { - "methods": [ - "updateDataPolicy" - ] - }, - "RenameDataPolicy": { - "methods": [ - "renameDataPolicy" - ] - }, - "DeleteDataPolicy": { - "methods": [ - "deleteDataPolicy" - ] - }, - "GetDataPolicy": { - "methods": [ - "getDataPolicy" - ] - }, - "GetIamPolicy": { - "methods": [ - "getIamPolicy" - ] - }, - "SetIamPolicy": { - "methods": [ - "setIamPolicy" - ] - }, - "TestIamPermissions": { - "methods": [ - "testIamPermissions" - ] - }, - "ListDataPolicies": { - "methods": [ - "listDataPolicies", - "listDataPoliciesStream", - "listDataPoliciesAsync" - ] - } - } - } - } - } - } -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/index.ts deleted file mode 100644 index 81030a61690..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/src/v1/index.ts +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -export {DataPolicyServiceClient} from './data_policy_service_client'; diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.js deleted file mode 100644 index c64d8408835..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.js +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - -/* eslint-disable node/no-missing-require, no-unused-vars */ -const datapolicies = require('@google-cloud/datapolicies'); - -function main() { - const dataPolicyServiceClient = new datapolicies.DataPolicyServiceClient(); -} - -main(); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.ts deleted file mode 100644 index 7222450a15f..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/fixtures/sample/src/index.ts +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import {DataPolicyServiceClient} from '@google-cloud/datapolicies'; - -// check that the client class type name can be used -function doStuffWithDataPolicyServiceClient(client: DataPolicyServiceClient) { - client.close(); -} - -function main() { - // check that the client instance can be created - const dataPolicyServiceClient = new DataPolicyServiceClient(); - doStuffWithDataPolicyServiceClient(dataPolicyServiceClient); -} - -main(); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/install.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/install.ts deleted file mode 100644 index 557a57558e1..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/system-test/install.ts +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import {packNTest} from 'pack-n-play'; -import {readFileSync} from 'fs'; -import {describe, it} from 'mocha'; - -describe('📦 pack-n-play test', () => { - - it('TypeScript code', async function() { - this.timeout(300000); - const options = { - packageDir: process.cwd(), - sample: { - description: 'TypeScript user can use the type definitions', - ts: readFileSync('./system-test/fixtures/sample/src/index.ts').toString() - } - }; - await packNTest(options); - }); - - it('JavaScript code', async function() { - this.timeout(300000); - const options = { - packageDir: process.cwd(), - sample: { - description: 'JavaScript user can use the library', - ts: readFileSync('./system-test/fixtures/sample/src/index.js').toString() - } - }; - await packNTest(options); - }); - -}); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/test/gapic_data_policy_service_v1.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/test/gapic_data_policy_service_v1.ts deleted file mode 100644 index 6e91dbb6628..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/test/gapic_data_policy_service_v1.ts +++ /dev/null @@ -1,1427 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import * as protos from '../protos/protos'; -import * as assert from 'assert'; -import * as sinon from 'sinon'; -import {SinonStub} from 'sinon'; -import {describe, it} from 'mocha'; -import * as datapolicyserviceModule from '../src'; - -import {PassThrough} from 'stream'; - -import {protobuf} from 'google-gax'; - -// Dynamically loaded proto JSON is needed to get the type information -// to fill in default values for request objects -const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll(); - -// eslint-disable-next-line @typescript-eslint/no-unused-vars -function getTypeDefaultValue(typeName: string, fields: string[]) { - let type = root.lookupType(typeName) as protobuf.Type; - for (const field of fields.slice(0, -1)) { - type = type.fields[field]?.resolvedType as protobuf.Type; - } - return type.fields[fields[fields.length - 1]]?.defaultValue; -} - -function generateSampleMessage(instance: T) { - const filledObject = (instance.constructor as typeof protobuf.Message) - .toObject(instance as protobuf.Message, {defaults: true}); - return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T; -} - -function stubSimpleCall(response?: ResponseType, error?: Error) { - return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]); -} - -function stubSimpleCallWithCallback(response?: ResponseType, error?: Error) { - return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response); -} - -function stubPageStreamingCall(responses?: ResponseType[], error?: Error) { - const pagingStub = sinon.stub(); - if (responses) { - for (let i = 0; i < responses.length; ++i) { - pagingStub.onCall(i).callsArgWith(2, null, responses[i]); - } - } - const transformStub = error ? sinon.stub().callsArgWith(2, error) : pagingStub; - const mockStream = new PassThrough({ - objectMode: true, - transform: transformStub, - }); - // trigger as many responses as needed - if (responses) { - for (let i = 0; i < responses.length; ++i) { - setImmediate(() => { mockStream.write({}); }); - } - setImmediate(() => { mockStream.end(); }); - } else { - setImmediate(() => { mockStream.write({}); }); - setImmediate(() => { mockStream.end(); }); - } - return sinon.stub().returns(mockStream); -} - -function stubAsyncIterationCall(responses?: ResponseType[], error?: Error) { - let counter = 0; - const asyncIterable = { - [Symbol.asyncIterator]() { - return { - async next() { - if (error) { - return Promise.reject(error); - } - if (counter >= responses!.length) { - return Promise.resolve({done: true, value: undefined}); - } - return Promise.resolve({done: false, value: responses![counter++]}); - } - }; - } - }; - return sinon.stub().returns(asyncIterable); -} - -describe('v1.DataPolicyServiceClient', () => { - describe('Common methods', () => { - it('has servicePath', () => { - const servicePath = datapolicyserviceModule.v1.DataPolicyServiceClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = datapolicyserviceModule.v1.DataPolicyServiceClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = datapolicyserviceModule.v1.DataPolicyServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no option', () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - fallback: true, - }); - assert(client); - }); - - it('has initialize method and supports deferred initialization', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.dataPolicyServiceStub, undefined); - await client.initialize(); - assert(client.dataPolicyServiceStub); - }); - - it('has close method for the initialized client', done => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - assert(client.dataPolicyServiceStub); - client.close().then(() => { - done(); - }); - }); - - it('has close method for the non-initialized client', done => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.dataPolicyServiceStub, undefined); - client.close().then(() => { - done(); - }); - }); - - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); - }); - - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error|null, projectId?: string|null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } - }); - }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); - }); - }); - - describe('createDataPolicy', () => { - it('invokes createDataPolicy without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() - ); - client.innerApiCalls.createDataPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.createDataPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createDataPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() - ); - client.innerApiCalls.createDataPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.createDataPolicy( - request, - (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createDataPolicy with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.createDataPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.createDataPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createDataPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.CreateDataPolicyRequest', ['parent']); - request.parent = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.createDataPolicy(request), expectedError); - }); - }); - - describe('updateDataPolicy', () => { - it('invokes updateDataPolicy without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest() - ); - request.dataPolicy ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); - request.dataPolicy.name = defaultValue1; - const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() - ); - client.innerApiCalls.updateDataPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.updateDataPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateDataPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest() - ); - request.dataPolicy ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); - request.dataPolicy.name = defaultValue1; - const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() - ); - client.innerApiCalls.updateDataPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.updateDataPolicy( - request, - (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateDataPolicy with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest() - ); - request.dataPolicy ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); - request.dataPolicy.name = defaultValue1; - const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateDataPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.updateDataPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateDataPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest() - ); - request.dataPolicy ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); - request.dataPolicy.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.updateDataPolicy(request), expectedError); - }); - }); - - describe('renameDataPolicy', () => { - it('invokes renameDataPolicy without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() - ); - client.innerApiCalls.renameDataPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.renameDataPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.renameDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.renameDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes renameDataPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() - ); - client.innerApiCalls.renameDataPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.renameDataPolicy( - request, - (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.renameDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.renameDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes renameDataPolicy with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.renameDataPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.renameDataPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.renameDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.renameDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes renameDataPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.RenameDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.renameDataPolicy(request), expectedError); - }); - }); - - describe('deleteDataPolicy', () => { - it('invokes deleteDataPolicy without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteDataPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.deleteDataPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteDataPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteDataPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteDataPolicy( - request, - (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteDataPolicy with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteDataPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.deleteDataPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteDataPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.DeleteDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.deleteDataPolicy(request), expectedError); - }); - }); - - describe('getDataPolicy', () => { - it('invokes getDataPolicy without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() - ); - client.innerApiCalls.getDataPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.getDataPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getDataPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy() - ); - client.innerApiCalls.getDataPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getDataPolicy( - request, - (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getDataPolicy with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.getDataPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getDataPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getDataPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.GetDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.getDataPolicy(request), expectedError); - }); - }); - - describe('getIamPolicy', () => { - it('invokes getIamPolicy without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.getIamPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.getIamPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getIamPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.getIamPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getIamPolicy( - request, - (err?: Error|null, result?: protos.google.iam.v1.IPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getIamPolicy with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.getIamPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getIamPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getIamPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.getIamPolicy(request), expectedError); - }); - }); - - describe('setIamPolicy', () => { - it('invokes setIamPolicy without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.setIamPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.setIamPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes setIamPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.setIamPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.setIamPolicy( - request, - (err?: Error|null, result?: protos.google.iam.v1.IPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes setIamPolicy with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.setIamPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.setIamPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes setIamPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.setIamPolicy(request), expectedError); - }); - }); - - describe('testIamPermissions', () => { - it('invokes testIamPermissions without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsResponse() - ); - client.innerApiCalls.testIamPermissions = stubSimpleCall(expectedResponse); - const [response] = await client.testIamPermissions(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes testIamPermissions without error using callback', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsResponse() - ); - client.innerApiCalls.testIamPermissions = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.testIamPermissions( - request, - (err?: Error|null, result?: protos.google.iam.v1.ITestIamPermissionsResponse|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes testIamPermissions with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.testIamPermissions = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.testIamPermissions(request), expectedError); - const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes testIamPermissions with closed client', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.testIamPermissions(request), expectedError); - }); - }); - - describe('listDataPolicies', () => { - it('invokes listDataPolicies without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - ]; - client.innerApiCalls.listDataPolicies = stubSimpleCall(expectedResponse); - const [response] = await client.listDataPolicies(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listDataPolicies without error using callback', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - ]; - client.innerApiCalls.listDataPolicies = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listDataPolicies( - request, - (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listDataPolicies with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.listDataPolicies = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listDataPolicies(request), expectedError); - const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listDataPoliciesStream without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - ]; - client.descriptors.page.listDataPolicies.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listDataPoliciesStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.bigquery.datapolicies.v1.DataPolicy[] = []; - stream.on('data', (response: protos.google.cloud.bigquery.datapolicies.v1.DataPolicy) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - const responses = await promise; - assert.deepStrictEqual(responses, expectedResponse); - assert((client.descriptors.page.listDataPolicies.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listDataPolicies, request)); - assert( - (client.descriptors.page.listDataPolicies.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('invokes listDataPoliciesStream with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.descriptors.page.listDataPolicies.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listDataPoliciesStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.bigquery.datapolicies.v1.DataPolicy[] = []; - stream.on('data', (response: protos.google.cloud.bigquery.datapolicies.v1.DataPolicy) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listDataPolicies.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listDataPolicies, request)); - assert( - (client.descriptors.page.listDataPolicies.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listDataPolicies without error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1.DataPolicy()), - ]; - client.descriptors.page.listDataPolicies.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[] = []; - const iterable = client.listDataPoliciesAsync(request); - for await (const resource of iterable) { - responses.push(resource!); - } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listDataPolicies with error', async () => { - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.descriptors.page.listDataPolicies.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listDataPoliciesAsync(request); - await assert.rejects(async () => { - const responses: protos.google.cloud.bigquery.datapolicies.v1.IDataPolicy[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - }); - - describe('Path templates', () => { - - describe('dataPolicy', () => { - const fakePath = "/rendered/path/dataPolicy"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - data_policy: "dataPolicyValue", - }; - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.dataPolicyPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.dataPolicyPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('dataPolicyPath', () => { - const result = client.dataPolicyPath("projectValue", "locationValue", "dataPolicyValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.dataPolicyPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromDataPolicyName', () => { - const result = client.matchProjectFromDataPolicyName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromDataPolicyName', () => { - const result = client.matchLocationFromDataPolicyName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchDataPolicyFromDataPolicyName', () => { - const result = client.matchDataPolicyFromDataPolicyName(fakePath); - assert.strictEqual(result, "dataPolicyValue"); - assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('location', () => { - const fakePath = "/rendered/path/location"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - }; - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.locationPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.locationPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('locationPath', () => { - const result = client.locationPath("projectValue", "locationValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.locationPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromLocationName', () => { - const result = client.matchProjectFromLocationName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.locationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromLocationName', () => { - const result = client.matchLocationFromLocationName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.locationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('project', () => { - const fakePath = "/rendered/path/project"; - const expectedParameters = { - project: "projectValue", - }; - const client = new datapolicyserviceModule.v1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.projectPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.projectPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('projectPath', () => { - const result = client.projectPath("projectValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.projectPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromProjectName', () => { - const result = client.matchProjectFromProjectName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.projectPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - }); -}); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/tsconfig.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/tsconfig.json deleted file mode 100644 index c78f1c884ef..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": "./node_modules/gts/tsconfig-google.json", - "compilerOptions": { - "rootDir": ".", - "outDir": "build", - "resolveJsonModule": true, - "lib": [ - "es2018", - "dom" - ] - }, - "include": [ - "src/*.ts", - "src/**/*.ts", - "test/*.ts", - "test/**/*.ts", - "system-test/*.ts" - ] -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/webpack.config.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/webpack.config.js deleted file mode 100644 index 032cd610597..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1/webpack.config.js +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -const path = require('path'); - -module.exports = { - entry: './src/index.ts', - output: { - library: 'DataPolicyService', - filename: './data-policy-service.js', - }, - node: { - child_process: 'empty', - fs: 'empty', - crypto: 'empty', - }, - resolve: { - alias: { - '../../../package.json': path.resolve(__dirname, 'package.json'), - }, - extensions: ['.js', '.json', '.ts'], - }, - module: { - rules: [ - { - test: /\.tsx?$/, - use: 'ts-loader', - exclude: /node_modules/ - }, - { - test: /node_modules[\\/]@grpc[\\/]grpc-js/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]grpc/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]retry-request/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]https?-proxy-agent/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]gtoken/, - use: 'null-loader' - }, - ], - }, - mode: 'production', -}; diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintignore b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintignore deleted file mode 100644 index cfc348ec4d1..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintignore +++ /dev/null @@ -1,7 +0,0 @@ -**/node_modules -**/.coverage -build/ -docs/ -protos/ -system-test/ -samples/generated/ diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintrc.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintrc.json deleted file mode 100644 index 78215349546..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "./node_modules/gts" -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.gitignore b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.gitignore deleted file mode 100644 index 5d32b23782f..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -**/*.log -**/node_modules -.coverage -coverage -.nyc_output -docs/ -out/ -build/ -system-test/secrets.js -system-test/*key.json -*.lock -.DS_Store -package-lock.json -__pycache__ diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.jsdoc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.jsdoc.js deleted file mode 100644 index ae9e5b7afcd..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.jsdoc.js +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -'use strict'; - -module.exports = { - opts: { - readme: './README.md', - package: './package.json', - template: './node_modules/jsdoc-fresh', - recurse: true, - verbose: true, - destination: './docs/' - }, - plugins: [ - 'plugins/markdown', - 'jsdoc-region-tag' - ], - source: { - excludePattern: '(^|\\/|\\\\)[._]', - include: [ - 'build/src', - 'protos' - ], - includePattern: '\\.js$' - }, - templates: { - copyright: 'Copyright 2022 Google LLC', - includeDate: false, - sourceFiles: false, - systemName: '@google-cloud/bigquery-datapolicies', - theme: 'lumen', - default: { - outputSourceFiles: false - } - }, - markdown: { - idInHeadings: true - } -}; diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.mocharc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.mocharc.js deleted file mode 100644 index 481c522b00f..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.mocharc.js +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -const config = { - "enable-source-maps": true, - "throw-deprecation": true, - "timeout": 10000 -} -if (process.env.MOCHA_THROW_DEPRECATION === 'false') { - delete config['throw-deprecation']; -} -if (process.env.MOCHA_REPORTER) { - config.reporter = process.env.MOCHA_REPORTER; -} -if (process.env.MOCHA_REPORTER_OUTPUT) { - config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`; -} -module.exports = config diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.prettierrc.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.prettierrc.js deleted file mode 100644 index 494e147865d..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/.prettierrc.js +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - -module.exports = { - ...require('gts/.prettierrc.json') -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/README.md b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/README.md deleted file mode 100644 index 46950ef3a37..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/README.md +++ /dev/null @@ -1 +0,0 @@ -Datapolicies: Nodejs Client diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/linkinator.config.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/linkinator.config.json deleted file mode 100644 index befd23c8633..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/linkinator.config.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "recurse": true, - "skip": [ - "https://codecov.io/gh/googleapis/", - "www.googleapis.com", - "img.shields.io", - "https://console.cloud.google.com/cloudshell", - "https://support.google.com" - ], - "silent": true, - "concurrency": 5, - "retry": true, - "retryErrors": true, - "retryErrorsCount": 5, - "retryErrorsJitter": 3000 -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/package.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/package.json deleted file mode 100644 index b5baa3d2753..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/package.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "name": "@google-cloud/bigquery-datapolicies", - "version": "0.1.0", - "description": "Datapolicies client for Node.js", - "repository": "googleapis/nodejs-datapolicies", - "license": "Apache-2.0", - "author": "Google LLC", - "main": "build/src/index.js", - "files": [ - "build/src", - "build/protos" - ], - "keywords": [ - "google apis client", - "google api client", - "google apis", - "google api", - "google", - "google cloud platform", - "google cloud", - "cloud", - "google datapolicies", - "datapolicies", - "data policy service" - ], - "scripts": { - "clean": "gts clean", - "compile": "tsc -p . && cp -r protos build/ && minifyProtoJson", - "compile-protos": "compileProtos src", - "docs": "jsdoc -c .jsdoc.js", - "predocs-test": "npm run docs", - "docs-test": "linkinator docs", - "fix": "gts fix", - "lint": "gts check", - "prepare": "npm run compile-protos && npm run compile", - "system-test": "c8 mocha build/system-test", - "test": "c8 mocha build/test" - }, - "dependencies": { - "google-gax": "^3.5.2" - }, - "devDependencies": { - "@types/mocha": "^9.1.1", - "@types/node": "^16.11.62", - "@types/sinon": "^10.0.13", - "c8": "^7.12.0", - "gts": "^3.1.1", - "jsdoc": "^3.6.11", - "jsdoc-fresh": "^2.0.1", - "jsdoc-region-tag": "^2.0.1", - "linkinator": "^4.0.3", - "mocha": "^10.0.0", - "null-loader": "^4.0.1", - "pack-n-play": "^1.0.0-2", - "sinon": "^14.0.0", - "ts-loader": "^8.4.0", - "typescript": "^4.8.3", - "webpack": "^4.46.0", - "webpack-cli": "^4.10.0" - }, - "engines": { - "node": ">=v12" - } -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicy.proto b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicy.proto deleted file mode 100644 index 363f15c5ce9..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicy.proto +++ /dev/null @@ -1,287 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.cloud.bigquery.datapolicies.v1beta1; - -import "google/api/annotations.proto"; -import "google/api/client.proto"; -import "google/api/field_behavior.proto"; -import "google/api/resource.proto"; -import "google/iam/v1/iam_policy.proto"; -import "google/iam/v1/policy.proto"; -import "google/protobuf/empty.proto"; -import "google/protobuf/field_mask.proto"; - -option csharp_namespace = "Google.Cloud.BigQuery.DataPolicies.V1Beta1"; -option go_package = "google.golang.org/genproto/googleapis/cloud/bigquery/datapolicies/v1beta1;datapolicies"; -option java_multiple_files = true; -option java_outer_classname = "DataPolicyProto"; -option java_package = "com.google.cloud.bigquery.datapolicies.v1beta1"; -option php_namespace = "Google\\Cloud\\BigQuery\\DataPolicies\\V1beta1"; -option ruby_package = "Google::Cloud::Bigquery::DataPolicies::V1beta1"; - -// Data Policy Service provides APIs for managing the label-policy bindings. -service DataPolicyService { - option (google.api.default_host) = "bigquerydatapolicy.googleapis.com"; - option (google.api.oauth_scopes) = - "https://www.googleapis.com/auth/bigquery," - "https://www.googleapis.com/auth/cloud-platform"; - - // Creates a new data policy under a project with the given `dataPolicyId` - // (used as the display name), policy tag, and data policy type. - rpc CreateDataPolicy(CreateDataPolicyRequest) returns (DataPolicy) { - option (google.api.http) = { - post: "/v1beta1/{parent=projects/*/locations/*}/dataPolicies" - body: "data_policy" - }; - option (google.api.method_signature) = "parent,data_policy"; - } - - // Updates the metadata for an existing data policy. The target data policy - // can be specified by the resource name. - rpc UpdateDataPolicy(UpdateDataPolicyRequest) returns (DataPolicy) { - option (google.api.http) = { - patch: "/v1beta1/{data_policy.name=projects/*/locations/*/dataPolicies/*}" - body: "data_policy" - }; - option (google.api.method_signature) = "data_policy,update_mask"; - } - - // Deletes the data policy specified by its resource name. - rpc DeleteDataPolicy(DeleteDataPolicyRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { - delete: "/v1beta1/{name=projects/*/locations/*/dataPolicies/*}" - }; - option (google.api.method_signature) = "name"; - } - - // Gets the data policy specified by its resource name. - rpc GetDataPolicy(GetDataPolicyRequest) returns (DataPolicy) { - option (google.api.http) = { - get: "/v1beta1/{name=projects/*/locations/*/dataPolicies/*}" - }; - option (google.api.method_signature) = "name"; - } - - // List all of the data policies in the specified parent project. - rpc ListDataPolicies(ListDataPoliciesRequest) returns (ListDataPoliciesResponse) { - option (google.api.http) = { - get: "/v1beta1/{parent=projects/*/locations/*}/dataPolicies" - }; - option (google.api.method_signature) = "parent"; - } - - // Gets the IAM policy for the specified data policy. - rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) { - option (google.api.http) = { - post: "/v1beta1/{resource=projects/*/locations/*/dataPolicies/*}:getIamPolicy" - body: "*" - }; - } - - // Sets the IAM policy for the specified data policy. - rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) { - option (google.api.http) = { - post: "/v1beta1/{resource=projects/*/locations/*/dataPolicies/*}:setIamPolicy" - body: "*" - }; - } - - // Returns the caller's permission on the specified data policy resource. - rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) { - option (google.api.http) = { - post: "/v1beta1/{resource=projects/*/locations/*/dataPolicies/*}:testIamPermissions" - body: "*" - }; - } -} - -// Request message for the CreateDataPolicy method. -message CreateDataPolicyRequest { - // Required. Resource name of the project that the data policy will belong to. The - // format is `projects/{project_number}/locations/{location_id}`. - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - child_type: "bigquerydatapolicy.googleapis.com/DataPolicy" - } - ]; - - // Required. The data policy to create. The `name` field does not need to be - // provided for the data policy creation. - DataPolicy data_policy = 2 [(google.api.field_behavior) = REQUIRED]; -} - -// Response message for the UpdateDataPolicy method. -message UpdateDataPolicyRequest { - // Required. Update the data policy's metadata. - // - // The target data policy is determined by the `name` field. - // Other fields are updated to the specified values based on the field masks. - DataPolicy data_policy = 1 [(google.api.field_behavior) = REQUIRED]; - - // The update mask applies to the resource. For the `FieldMask` definition, - // see - // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask - // If not set, defaults to all of the fields that are allowed to update. - // - // Updates to the `name` and `dataPolicyId` fields are not allowed. - google.protobuf.FieldMask update_mask = 2; -} - -// Request message for the DeleteDataPolicy method. -message DeleteDataPolicyRequest { - // Required. Resource name of the data policy to delete. Format is - // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "bigquerydatapolicy.googleapis.com/DataPolicy" - } - ]; -} - -// Request message for the GetDataPolicy method. -message GetDataPolicyRequest { - // Required. Resource name of the requested data policy. Format is - // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - string name = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "bigquerydatapolicy.googleapis.com/DataPolicy" - } - ]; -} - -// Request message for the ListDataPolicies method. -message ListDataPoliciesRequest { - // Required. Resource name of the project for which to list data policies. Format is - // `projects/{project_number}/locations/{location_id}`. - string parent = 1 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - child_type: "bigquerydatapolicy.googleapis.com/DataPolicy" - } - ]; - - // The maximum number of data policies to return. Must be a value between 1 - // and 1000. - // If not set, defaults to 50. - int32 page_size = 2; - - // The `nextPageToken` value returned from a previous list request, if any. If - // not set, defaults to an empty string. - string page_token = 3; -} - -// Response message for the ListDataPolicies method. -message ListDataPoliciesResponse { - // Data policies that belong to the requested project. - repeated DataPolicy data_policies = 1; - - // Token used to retrieve the next page of results, or empty if there are no - // more results. - string next_page_token = 2; -} - -// Represents the label-policy binding. -message DataPolicy { - option (google.api.resource) = { - type: "bigquerydatapolicy.googleapis.com/DataPolicy" - pattern: "projects/{project}/locations/{location}/dataPolicies/{data_policy}" - }; - - // A list of supported data policy types. - enum DataPolicyType { - // Default value for the data policy type. This should not be used. - DATA_POLICY_TYPE_UNSPECIFIED = 0; - - // Used to create a data policy for column-level security, without data - // masking. - COLUMN_LEVEL_SECURITY_POLICY = 3; - - // Used to create a data policy for data masking. - DATA_MASKING_POLICY = 2; - } - - // Label that is bound to this data policy. - oneof matching_label { - // Policy tag resource name, in the format of - // `projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{policyTag_id}`. - string policy_tag = 4; - } - - // The policy that is bound to this data policy. - oneof policy { - // The data masking policy that specifies the data masking rule to use. - DataMaskingPolicy data_masking_policy = 5; - } - - // Output only. Resource name of this data policy, in the format of - // `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Type of data policy. - DataPolicyType data_policy_type = 2; - - // User-assigned (human readable) ID of the data policy that needs to be - // unique within a project. Used as {data_policy_id} in part of the resource - // name. - string data_policy_id = 3; -} - -// The data masking policy that is used to specify data masking rule. -message DataMaskingPolicy { - // The available masking rules. Learn more here: - // https://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options. - enum PredefinedExpression { - // Default, unspecified predefined expression. No masking will take place - // since no expression is specified. - PREDEFINED_EXPRESSION_UNSPECIFIED = 0; - - // Masking expression to replace data with SHA-256 hash. - SHA256 = 3; - - // Masking expression to replace data with NULLs. - ALWAYS_NULL = 5; - - // Masking expression to replace data with their default masking values. - // The default masking values for each type listed as below: - // - // * STRING: "" - // * BYTES: b'' - // * INTEGER: 0 - // * FLOAT: 0.0 - // * NUMERIC: 0 - // * BOOLEAN: FALSE - // * TIMESTAMP: 0001-01-01 00:00:00 UTC - // * DATE: 0001-01-01 - // * TIME: 00:00:00 - // * DATETIME: 0001-01-01T00:00:00 - // * GEOGRAPHY: POINT(0 0) - // * BIGNUMERIC: 0 - // * ARRAY: [] - // * STRUCT: NOT_APPLICABLE - // * JSON: NULL - DEFAULT_MASKING_VALUE = 7; - } - - // A masking expression to bind to the data masking rule. - oneof masking_expression { - // A predefined masking expression. - PredefinedExpression predefined_expression = 1; - } -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.create_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.create_data_policy.js deleted file mode 100644 index 1395d4d52ad..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.create_data_policy.js +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(parent, dataPolicy) { - // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_CreateDataPolicy_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. Resource name of the project that the data policy will belong to. The - * format is `projects/{project_number}/locations/{location_id}`. - */ - // const parent = 'abc123' - /** - * Required. The data policy to create. The `name` field does not need to be - * provided for the data policy creation. - */ - // const dataPolicy = {} - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callCreateDataPolicy() { - // Construct request - const request = { - parent, - dataPolicy, - }; - - // Run request - const response = await datapoliciesClient.createDataPolicy(request); - console.log(response); - } - - callCreateDataPolicy(); - // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_CreateDataPolicy_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.delete_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.delete_data_policy.js deleted file mode 100644 index 725fc48db76..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.delete_data_policy.js +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(name) { - // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_DeleteDataPolicy_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. Resource name of the data policy to delete. Format is - * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - */ - // const name = 'abc123' - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callDeleteDataPolicy() { - // Construct request - const request = { - name, - }; - - // Run request - const response = await datapoliciesClient.deleteDataPolicy(request); - console.log(response); - } - - callDeleteDataPolicy(); - // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_DeleteDataPolicy_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_data_policy.js deleted file mode 100644 index bb0937a2785..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_data_policy.js +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(name) { - // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetDataPolicy_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. Resource name of the requested data policy. Format is - * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - */ - // const name = 'abc123' - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callGetDataPolicy() { - // Construct request - const request = { - name, - }; - - // Run request - const response = await datapoliciesClient.getDataPolicy(request); - console.log(response); - } - - callGetDataPolicy(); - // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetDataPolicy_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_iam_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_iam_policy.js deleted file mode 100644 index b79008c0854..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.get_iam_policy.js +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(resource) { - // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetIamPolicy_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * REQUIRED: The resource for which the policy is being requested. - * See the operation documentation for the appropriate value for this field. - */ - // const resource = 'abc123' - /** - * OPTIONAL: A `GetPolicyOptions` object for specifying options to - * `GetIamPolicy`. - */ - // const options = {} - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callGetIamPolicy() { - // Construct request - const request = { - resource, - }; - - // Run request - const response = await datapoliciesClient.getIamPolicy(request); - console.log(response); - } - - callGetIamPolicy(); - // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetIamPolicy_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.list_data_policies.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.list_data_policies.js deleted file mode 100644 index d801a990835..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.list_data_policies.js +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(parent) { - // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_ListDataPolicies_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. Resource name of the project for which to list data policies. Format is - * `projects/{project_number}/locations/{location_id}`. - */ - // const parent = 'abc123' - /** - * The maximum number of data policies to return. Must be a value between 1 - * and 1000. - * If not set, defaults to 50. - */ - // const pageSize = 1234 - /** - * The `nextPageToken` value returned from a previous list request, if any. If - * not set, defaults to an empty string. - */ - // const pageToken = 'abc123' - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callListDataPolicies() { - // Construct request - const request = { - parent, - }; - - // Run request - const iterable = await datapoliciesClient.listDataPoliciesAsync(request); - for await (const response of iterable) { - console.log(response); - } - } - - callListDataPolicies(); - // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_ListDataPolicies_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.set_iam_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.set_iam_policy.js deleted file mode 100644 index 08643b6765f..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.set_iam_policy.js +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(resource, policy) { - // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_SetIamPolicy_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * REQUIRED: The resource for which the policy is being specified. - * See the operation documentation for the appropriate value for this field. - */ - // const resource = 'abc123' - /** - * REQUIRED: The complete policy to be applied to the `resource`. The size of - * the policy is limited to a few 10s of KB. An empty policy is a - * valid policy but certain Cloud Platform services (such as Projects) - * might reject them. - */ - // const policy = {} - /** - * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only - * the fields in the mask will be modified. If no mask is provided, the - * following default mask is used: - * `paths: "bindings, etag"` - */ - // const updateMask = {} - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callSetIamPolicy() { - // Construct request - const request = { - resource, - policy, - }; - - // Run request - const response = await datapoliciesClient.setIamPolicy(request); - console.log(response); - } - - callSetIamPolicy(); - // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_SetIamPolicy_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.test_iam_permissions.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.test_iam_permissions.js deleted file mode 100644 index c8f52327442..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.test_iam_permissions.js +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(resource, permissions) { - // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_TestIamPermissions_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * REQUIRED: The resource for which the policy detail is being requested. - * See the operation documentation for the appropriate value for this field. - */ - // const resource = 'abc123' - /** - * The set of permissions to check for the `resource`. Permissions with - * wildcards (such as '*' or 'storage.*') are not allowed. For more - * information see - * IAM Overview (https://cloud.google.com/iam/docs/overview#permissions). - */ - // const permissions = 'abc123' - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callTestIamPermissions() { - // Construct request - const request = { - resource, - permissions, - }; - - // Run request - const response = await datapoliciesClient.testIamPermissions(request); - console.log(response); - } - - callTestIamPermissions(); - // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_TestIamPermissions_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.update_data_policy.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.update_data_policy.js deleted file mode 100644 index 61c136e0dcd..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/data_policy_service.update_data_policy.js +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - - -'use strict'; - -function main(dataPolicy) { - // [START bigquerydatapolicy_v1beta1_generated_DataPolicyService_UpdateDataPolicy_async] - /** - * This snippet has been automatically generated and should be regarded as a code template only. - * It will require modifications to work. - * It may require correct/in-range values for request initialization. - * TODO(developer): Uncomment these variables before running the sample. - */ - /** - * Required. Update the data policy's metadata. - * The target data policy is determined by the `name` field. - * Other fields are updated to the specified values based on the field masks. - */ - // const dataPolicy = {} - /** - * The update mask applies to the resource. For the `FieldMask` definition, - * see - * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask - * If not set, defaults to all of the fields that are allowed to update. - * Updates to the `name` and `dataPolicyId` fields are not allowed. - */ - // const updateMask = {} - - // Imports the Datapolicies library - const {DataPolicyServiceClient} = require('@google-cloud/bigquery-datapolicies').v1beta1; - - // Instantiates a client - const datapoliciesClient = new DataPolicyServiceClient(); - - async function callUpdateDataPolicy() { - // Construct request - const request = { - dataPolicy, - }; - - // Run request - const response = await datapoliciesClient.updateDataPolicy(request); - console.log(response); - } - - callUpdateDataPolicy(); - // [END bigquerydatapolicy_v1beta1_generated_DataPolicyService_UpdateDataPolicy_async] -} - -process.on('unhandledRejection', err => { - console.error(err.message); - process.exitCode = 1; -}); -main(...process.argv.slice(2)); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json deleted file mode 100644 index da351e6ec62..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/samples/generated/v1beta1/snippet_metadata.google.cloud.bigquery.datapolicies.v1beta1.json +++ /dev/null @@ -1,367 +0,0 @@ -{ - "clientLibrary": { - "name": "nodejs-datapolicies", - "version": "0.1.0", - "language": "TYPESCRIPT", - "apis": [ - { - "id": "google.cloud.bigquery.datapolicies.v1beta1", - "version": "v1beta1" - } - ] - }, - "snippets": [ - { - "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_CreateDataPolicy_async", - "title": "DataPolicyService createDataPolicy Sample", - "origin": "API_DEFINITION", - "description": " Creates a new data policy under a project with the given `dataPolicyId` (used as the display name), policy tag, and data policy type.", - "canonical": true, - "file": "data_policy_service.create_data_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 60, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "CreateDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.CreateDataPolicy", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "data_policy", - "type": ".google.cloud.bigquery.datapolicies.v1beta1.DataPolicy" - } - ], - "resultType": ".google.cloud.bigquery.datapolicies.v1beta1.DataPolicy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" - }, - "method": { - "shortName": "CreateDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.CreateDataPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_UpdateDataPolicy_async", - "title": "DataPolicyService updateDataPolicy Sample", - "origin": "API_DEFINITION", - "description": " Updates the metadata for an existing data policy. The target data policy can be specified by the resource name.", - "canonical": true, - "file": "data_policy_service.update_data_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 63, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "UpdateDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.UpdateDataPolicy", - "async": true, - "parameters": [ - { - "name": "data_policy", - "type": ".google.cloud.bigquery.datapolicies.v1beta1.DataPolicy" - }, - { - "name": "update_mask", - "type": ".google.protobuf.FieldMask" - } - ], - "resultType": ".google.cloud.bigquery.datapolicies.v1beta1.DataPolicy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" - }, - "method": { - "shortName": "UpdateDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.UpdateDataPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_DeleteDataPolicy_async", - "title": "DataPolicyService deleteDataPolicy Sample", - "origin": "API_DEFINITION", - "description": " Deletes the data policy specified by its resource name.", - "canonical": true, - "file": "data_policy_service.delete_data_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 54, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "DeleteDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.DeleteDataPolicy", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.protobuf.Empty", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" - }, - "method": { - "shortName": "DeleteDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.DeleteDataPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetDataPolicy_async", - "title": "DataPolicyService getDataPolicy Sample", - "origin": "API_DEFINITION", - "description": " Gets the data policy specified by its resource name.", - "canonical": true, - "file": "data_policy_service.get_data_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 54, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.GetDataPolicy", - "async": true, - "parameters": [ - { - "name": "name", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.bigquery.datapolicies.v1beta1.DataPolicy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" - }, - "method": { - "shortName": "GetDataPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.GetDataPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_ListDataPolicies_async", - "title": "DataPolicyService listDataPolicies Sample", - "origin": "API_DEFINITION", - "description": " List all of the data policies in the specified parent project.", - "canonical": true, - "file": "data_policy_service.list_data_policies.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 67, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "ListDataPolicies", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.ListDataPolicies", - "async": true, - "parameters": [ - { - "name": "parent", - "type": "TYPE_STRING" - }, - { - "name": "page_size", - "type": "TYPE_INT32" - }, - { - "name": "page_token", - "type": "TYPE_STRING" - } - ], - "resultType": ".google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesResponse", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" - }, - "method": { - "shortName": "ListDataPolicies", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.ListDataPolicies", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetIamPolicy_async", - "title": "DataPolicyService getIamPolicy Sample", - "origin": "API_DEFINITION", - "description": " Gets the IAM policy for the specified data policy.", - "canonical": true, - "file": "data_policy_service.get_iam_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 59, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "GetIamPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.GetIamPolicy", - "async": true, - "parameters": [ - { - "name": "resource", - "type": "TYPE_STRING" - }, - { - "name": "options", - "type": ".google.iam.v1.GetPolicyOptions" - } - ], - "resultType": ".google.iam.v1.Policy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" - }, - "method": { - "shortName": "GetIamPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.GetIamPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_SetIamPolicy_async", - "title": "DataPolicyService setIamPolicy Sample", - "origin": "API_DEFINITION", - "description": " Sets the IAM policy for the specified data policy.", - "canonical": true, - "file": "data_policy_service.set_iam_policy.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 69, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "SetIamPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.SetIamPolicy", - "async": true, - "parameters": [ - { - "name": "resource", - "type": "TYPE_STRING" - }, - { - "name": "policy", - "type": ".google.iam.v1.Policy" - }, - { - "name": "update_mask", - "type": ".google.protobuf.FieldMask" - } - ], - "resultType": ".google.iam.v1.Policy", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" - }, - "method": { - "shortName": "SetIamPolicy", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.SetIamPolicy", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" - } - } - } - }, - { - "regionTag": "bigquerydatapolicy_v1beta1_generated_DataPolicyService_TestIamPermissions_async", - "title": "DataPolicyService testIamPermissions Sample", - "origin": "API_DEFINITION", - "description": " Returns the caller's permission on the specified data policy resource.", - "canonical": true, - "file": "data_policy_service.test_iam_permissions.js", - "language": "JAVASCRIPT", - "segments": [ - { - "start": 25, - "end": 62, - "type": "FULL" - } - ], - "clientMethod": { - "shortName": "TestIamPermissions", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.TestIamPermissions", - "async": true, - "parameters": [ - { - "name": "resource", - "type": "TYPE_STRING" - }, - { - "name": "permissions", - "type": "TYPE_STRING[]" - } - ], - "resultType": ".google.iam.v1.TestIamPermissionsResponse", - "client": { - "shortName": "DataPolicyServiceClient", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClient" - }, - "method": { - "shortName": "TestIamPermissions", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService.TestIamPermissions", - "service": { - "shortName": "DataPolicyService", - "fullName": "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService" - } - } - } - } - ] -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/index.ts deleted file mode 100644 index 58dbc1f7d69..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import * as v1beta1 from './v1beta1'; -const DataPolicyServiceClient = v1beta1.DataPolicyServiceClient; -type DataPolicyServiceClient = v1beta1.DataPolicyServiceClient; -export {v1beta1, DataPolicyServiceClient}; -export default {v1beta1, DataPolicyServiceClient}; -import * as protos from '../protos/protos'; -export {protos} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client.ts deleted file mode 100644 index 6afd2ab45ef..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client.ts +++ /dev/null @@ -1,1163 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -/* global window */ -import type * as gax from 'google-gax'; -import type {Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback, GaxCall} from 'google-gax'; -import {Transform} from 'stream'; -import * as protos from '../../protos/protos'; -import jsonProtos = require('../../protos/protos.json'); -/** - * Client JSON configuration object, loaded from - * `src/v1beta1/data_policy_service_client_config.json`. - * This file defines retry strategy and timeouts for all API methods in this library. - */ -import * as gapicConfig from './data_policy_service_client_config.json'; -const version = require('../../../package.json').version; - -/** - * Data Policy Service provides APIs for managing the label-policy bindings. - * @class - * @memberof v1beta1 - */ -export class DataPolicyServiceClient { - private _terminated = false; - private _opts: ClientOptions; - private _providedCustomServicePath: boolean; - private _gaxModule: typeof gax | typeof gax.fallback; - private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; - private _protos: {}; - private _defaults: {[method: string]: gax.CallSettings}; - auth: gax.GoogleAuth; - descriptors: Descriptors = { - page: {}, - stream: {}, - longrunning: {}, - batching: {}, - }; - warn: (code: string, message: string, warnType?: string) => void; - innerApiCalls: {[name: string]: Function}; - pathTemplates: {[name: string]: gax.PathTemplate}; - dataPolicyServiceStub?: Promise<{[name: string]: Function}>; - - /** - * Construct an instance of DataPolicyServiceClient. - * - * @param {object} [options] - The configuration object. - * The options accepted by the constructor are described in detail - * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). - * The common options are: - * @param {object} [options.credentials] - Credentials object. - * @param {string} [options.credentials.client_email] - * @param {string} [options.credentials.private_key] - * @param {string} [options.email] - Account email address. Required when - * using a .pem or .p12 keyFilename. - * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or - * .p12 key downloaded from the Google Developers Console. If you provide - * a path to a JSON file, the projectId option below is not necessary. - * NOTE: .pem and .p12 require you to specify options.email as well. - * @param {number} [options.port] - The port on which to connect to - * the remote host. - * @param {string} [options.projectId] - The project ID from the Google - * Developer's Console, e.g. 'grape-spaceship-123'. We will also check - * the environment variable GCLOUD_PROJECT for your project ID. If your - * app is running in an environment which supports - * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, - * your project ID will be detected automatically. - * @param {string} [options.apiEndpoint] - The domain name of the - * API remote host. - * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. - * Follows the structure of {@link gapicConfig}. - * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. - * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. - * For more information, please check the - * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. - * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you - * need to avoid loading the default gRPC version and want to use the fallback - * HTTP implementation. Load only fallback version and pass it to the constructor: - * ``` - * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC - * const client = new DataPolicyServiceClient({fallback: 'rest'}, gax); - * ``` - */ - constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) { - // Ensure that options include all the required fields. - const staticMembers = this.constructor as typeof DataPolicyServiceClient; - const servicePath = opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; - this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint); - const port = opts?.port || staticMembers.port; - const clientConfig = opts?.clientConfig ?? {}; - const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function'); - opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); - - // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. - if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { - opts['scopes'] = staticMembers.scopes; - } - - // Load google-gax module synchronously if needed - if (!gaxInstance) { - gaxInstance = require('google-gax') as typeof gax; - } - - // Choose either gRPC or proto-over-HTTP implementation of google-gax. - this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; - - // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. - this._gaxGrpc = new this._gaxModule.GrpcClient(opts); - - // Save options to use in initialize() method. - this._opts = opts; - - // Save the auth object to the client, for use by other methods. - this.auth = (this._gaxGrpc.auth as gax.GoogleAuth); - - // Set useJWTAccessWithScope on the auth object. - this.auth.useJWTAccessWithScope = true; - - // Set defaultServicePath on the auth object. - this.auth.defaultServicePath = staticMembers.servicePath; - - // Set the default scopes in auth client if needed. - if (servicePath === staticMembers.servicePath) { - this.auth.defaultScopes = staticMembers.scopes; - } - - // Determine the client header string. - const clientHeader = [ - `gax/${this._gaxModule.version}`, - `gapic/${version}`, - ]; - if (typeof process !== 'undefined' && 'versions' in process) { - clientHeader.push(`gl-node/${process.versions.node}`); - } else { - clientHeader.push(`gl-web/${this._gaxModule.version}`); - } - if (!opts.fallback) { - clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); - } else if (opts.fallback === 'rest' ) { - clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); - } - if (opts.libName && opts.libVersion) { - clientHeader.push(`${opts.libName}/${opts.libVersion}`); - } - // Load the applicable protos. - this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); - - // This API contains "path templates"; forward-slash-separated - // identifiers to uniquely identify resources within the API. - // Create useful helper objects for these. - this.pathTemplates = { - dataPolicyPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}/dataPolicies/{data_policy}' - ), - locationPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}/locations/{location}' - ), - projectPathTemplate: new this._gaxModule.PathTemplate( - 'projects/{project}' - ), - }; - - // Some of the methods on this service return "paged" results, - // (e.g. 50 results at a time, with tokens to get subsequent - // pages). Denote the keys used for pagination and results. - this.descriptors.page = { - listDataPolicies: - new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'dataPolicies') - }; - - // Put together the default options sent with requests. - this._defaults = this._gaxGrpc.constructSettings( - 'google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService', gapicConfig as gax.ClientConfig, - opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')}); - - // Set up a dictionary of "inner API calls"; the core implementation - // of calling the API is handled in `google-gax`, with this code - // merely providing the destination and request information. - this.innerApiCalls = {}; - - // Add a warn function to the client constructor so it can be easily tested. - this.warn = this._gaxModule.warn; - } - - /** - * Initialize the client. - * Performs asynchronous operations (such as authentication) and prepares the client. - * This function will be called automatically when any class method is called for the - * first time, but if you need to initialize it before calling an actual method, - * feel free to call initialize() directly. - * - * You can await on this method if you want to make sure the client is initialized. - * - * @returns {Promise} A promise that resolves to an authenticated service stub. - */ - initialize() { - // If the client stub promise is already initialized, return immediately. - if (this.dataPolicyServiceStub) { - return this.dataPolicyServiceStub; - } - - // Put together the "service stub" for - // google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService. - this.dataPolicyServiceStub = this._gaxGrpc.createStub( - this._opts.fallback ? - (this._protos as protobuf.Root).lookupService('google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService') : - // eslint-disable-next-line @typescript-eslint/no-explicit-any - (this._protos as any).google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService, - this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>; - - // Iterate over each of the methods that the service provides - // and create an API call method for each. - const dataPolicyServiceStubMethods = - ['createDataPolicy', 'updateDataPolicy', 'deleteDataPolicy', 'getDataPolicy', 'listDataPolicies', 'getIamPolicy', 'setIamPolicy', 'testIamPermissions']; - for (const methodName of dataPolicyServiceStubMethods) { - const callPromise = this.dataPolicyServiceStub.then( - stub => (...args: Array<{}>) => { - if (this._terminated) { - return Promise.reject('The client has already been closed.'); - } - const func = stub[methodName]; - return func.apply(stub, args); - }, - (err: Error|null|undefined) => () => { - throw err; - }); - - const descriptor = - this.descriptors.page[methodName] || - undefined; - const apiCall = this._gaxModule.createApiCall( - callPromise, - this._defaults[methodName], - descriptor, - this._opts.fallback - ); - - this.innerApiCalls[methodName] = apiCall; - } - - return this.dataPolicyServiceStub; - } - - /** - * The DNS address for this API service. - * @returns {string} The DNS address for this service. - */ - static get servicePath() { - return 'bigquerydatapolicy.googleapis.com'; - } - - /** - * The DNS address for this API service - same as servicePath(), - * exists for compatibility reasons. - * @returns {string} The DNS address for this service. - */ - static get apiEndpoint() { - return 'bigquerydatapolicy.googleapis.com'; - } - - /** - * The port for this API service. - * @returns {number} The default port for this service. - */ - static get port() { - return 443; - } - - /** - * The scopes needed to make gRPC calls for every method defined - * in this service. - * @returns {string[]} List of default scopes. - */ - static get scopes() { - return [ - 'https://www.googleapis.com/auth/bigquery', - 'https://www.googleapis.com/auth/cloud-platform' - ]; - } - - getProjectId(): Promise; - getProjectId(callback: Callback): void; - /** - * Return the project ID used by this class. - * @returns {Promise} A promise that resolves to string containing the project ID. - */ - getProjectId(callback?: Callback): - Promise|void { - if (callback) { - this.auth.getProjectId(callback); - return; - } - return this.auth.getProjectId(); - } - - // ------------------- - // -- Service calls -- - // ------------------- -/** - * Creates a new data policy under a project with the given `dataPolicyId` - * (used as the display name), policy tag, and data policy type. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the project that the data policy will belong to. The - * format is `projects/{project_number}/locations/{location_id}`. - * @param {google.cloud.bigquery.datapolicies.v1beta1.DataPolicy} request.dataPolicy - * Required. The data policy to create. The `name` field does not need to be - * provided for the data policy creation. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1beta1/data_policy_service.create_data_policy.js - * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_CreateDataPolicy_async - */ - createDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|undefined, {}|undefined - ]>; - createDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - createDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - createDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.ICreateDataPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); - this.initialize(); - return this.innerApiCalls.createDataPolicy(request, options, callback); - } -/** - * Updates the metadata for an existing data policy. The target data policy - * can be specified by the resource name. - * - * @param {Object} request - * The request object that will be sent. - * @param {google.cloud.bigquery.datapolicies.v1beta1.DataPolicy} request.dataPolicy - * Required. Update the data policy's metadata. - * - * The target data policy is determined by the `name` field. - * Other fields are updated to the specified values based on the field masks. - * @param {google.protobuf.FieldMask} request.updateMask - * The update mask applies to the resource. For the `FieldMask` definition, - * see - * https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask - * If not set, defaults to all of the fields that are allowed to update. - * - * Updates to the `name` and `dataPolicyId` fields are not allowed. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1beta1/data_policy_service.update_data_policy.js - * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_UpdateDataPolicy_async - */ - updateDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|undefined, {}|undefined - ]>; - updateDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - updateDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - updateDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IUpdateDataPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'data_policy.name': request.dataPolicy!.name ?? '', - }); - this.initialize(); - return this.innerApiCalls.updateDataPolicy(request, options, callback); - } -/** - * Deletes the data policy specified by its resource name. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the data policy to delete. Format is - * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1beta1/data_policy_service.delete_data_policy.js - * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_DeleteDataPolicy_async - */ - deleteDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|undefined, {}|undefined - ]>; - deleteDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - deleteDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest, - callback: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - deleteDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.protobuf.IEmpty, - protos.google.cloud.bigquery.datapolicies.v1beta1.IDeleteDataPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', - }); - this.initialize(); - return this.innerApiCalls.deleteDataPolicy(request, options, callback); - } -/** - * Gets the data policy specified by its resource name. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.name - * Required. Resource name of the requested data policy. Format is - * `projects/{project_number}/locations/{location_id}/dataPolicies/{data_policy_id}`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1beta1/data_policy_service.get_data_policy.js - * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetDataPolicy_async - */ - getDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|undefined, {}|undefined - ]>; - getDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - getDataPolicy( - request: protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest, - callback: Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|null|undefined, - {}|null|undefined>): void; - getDataPolicy( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy, - protos.google.cloud.bigquery.datapolicies.v1beta1.IGetDataPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'name': request.name ?? '', - }); - this.initialize(); - return this.innerApiCalls.getDataPolicy(request, options, callback); - } -/** - * Gets the IAM policy for the specified data policy. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.resource - * REQUIRED: The resource for which the policy is being requested. - * See the operation documentation for the appropriate value for this field. - * @param {google.iam.v1.GetPolicyOptions} request.options - * OPTIONAL: A `GetPolicyOptions` object for specifying options to - * `GetIamPolicy`. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Policy]{@link google.iam.v1.Policy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1beta1/data_policy_service.get_iam_policy.js - * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_GetIamPolicy_async - */ - getIamPolicy( - request?: protos.google.iam.v1.IGetIamPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|undefined, {}|undefined - ]>; - getIamPolicy( - request: protos.google.iam.v1.IGetIamPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; - getIamPolicy( - request: protos.google.iam.v1.IGetIamPolicyRequest, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; - getIamPolicy( - request?: protos.google.iam.v1.IGetIamPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.IGetIamPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'resource': request.resource ?? '', - }); - this.initialize(); - return this.innerApiCalls.getIamPolicy(request, options, callback); - } -/** - * Sets the IAM policy for the specified data policy. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.resource - * REQUIRED: The resource for which the policy is being specified. - * See the operation documentation for the appropriate value for this field. - * @param {google.iam.v1.Policy} request.policy - * REQUIRED: The complete policy to be applied to the `resource`. The size of - * the policy is limited to a few 10s of KB. An empty policy is a - * valid policy but certain Cloud Platform services (such as Projects) - * might reject them. - * @param {google.protobuf.FieldMask} request.updateMask - * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only - * the fields in the mask will be modified. If no mask is provided, the - * following default mask is used: - * - * `paths: "bindings, etag"` - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [Policy]{@link google.iam.v1.Policy}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1beta1/data_policy_service.set_iam_policy.js - * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_SetIamPolicy_async - */ - setIamPolicy( - request?: protos.google.iam.v1.ISetIamPolicyRequest, - options?: CallOptions): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|undefined, {}|undefined - ]>; - setIamPolicy( - request: protos.google.iam.v1.ISetIamPolicyRequest, - options: CallOptions, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; - setIamPolicy( - request: protos.google.iam.v1.ISetIamPolicyRequest, - callback: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>): void; - setIamPolicy( - request?: protos.google.iam.v1.ISetIamPolicyRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.iam.v1.IPolicy, - protos.google.iam.v1.ISetIamPolicyRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'resource': request.resource ?? '', - }); - this.initialize(); - return this.innerApiCalls.setIamPolicy(request, options, callback); - } -/** - * Returns the caller's permission on the specified data policy resource. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.resource - * REQUIRED: The resource for which the policy detail is being requested. - * See the operation documentation for the appropriate value for this field. - * @param {string[]} request.permissions - * The set of permissions to check for the `resource`. Permissions with - * wildcards (such as '*' or 'storage.*') are not allowed. For more - * information see - * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is an object representing [TestIamPermissionsResponse]{@link google.iam.v1.TestIamPermissionsResponse}. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) - * for more details and examples. - * @example include:samples/generated/v1beta1/data_policy_service.test_iam_permissions.js - * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_TestIamPermissions_async - */ - testIamPermissions( - request?: protos.google.iam.v1.ITestIamPermissionsRequest, - options?: CallOptions): - Promise<[ - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|undefined, {}|undefined - ]>; - testIamPermissions( - request: protos.google.iam.v1.ITestIamPermissionsRequest, - options: CallOptions, - callback: Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>): void; - testIamPermissions( - request: protos.google.iam.v1.ITestIamPermissionsRequest, - callback: Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>): void; - testIamPermissions( - request?: protos.google.iam.v1.ITestIamPermissionsRequest, - optionsOrCallback?: CallOptions|Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>, - callback?: Callback< - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|null|undefined, - {}|null|undefined>): - Promise<[ - protos.google.iam.v1.ITestIamPermissionsResponse, - protos.google.iam.v1.ITestIamPermissionsRequest|undefined, {}|undefined - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'resource': request.resource ?? '', - }); - this.initialize(); - return this.innerApiCalls.testIamPermissions(request, options, callback); - } - - /** - * List all of the data policies in the specified parent project. - * - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the project for which to list data policies. Format is - * `projects/{project_number}/locations/{location_id}`. - * @param {number} request.pageSize - * The maximum number of data policies to return. Must be a value between 1 - * and 1000. - * If not set, defaults to 50. - * @param {string} request.pageToken - * The `nextPageToken` value returned from a previous list request, if any. If - * not set, defaults to an empty string. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Promise} - The promise which resolves to an array. - * The first element of the array is Array of [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy}. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed and will merge results from all the pages into this array. - * Note that it can affect your quota. - * We recommend using `listDataPoliciesAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) - * for more details and examples. - */ - listDataPolicies( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, - options?: CallOptions): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy[], - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest|null, - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse - ]>; - listDataPolicies( - request: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, - options: CallOptions, - callback: PaginationCallback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse|null|undefined, - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy>): void; - listDataPolicies( - request: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, - callback: PaginationCallback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse|null|undefined, - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy>): void; - listDataPolicies( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, - optionsOrCallback?: CallOptions|PaginationCallback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse|null|undefined, - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy>, - callback?: PaginationCallback< - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse|null|undefined, - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy>): - Promise<[ - protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy[], - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest|null, - protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesResponse - ]>|void { - request = request || {}; - let options: CallOptions; - if (typeof optionsOrCallback === 'function' && callback === undefined) { - callback = optionsOrCallback; - options = {}; - } - else { - options = optionsOrCallback as CallOptions; - } - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); - this.initialize(); - return this.innerApiCalls.listDataPolicies(request, options, callback); - } - -/** - * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the project for which to list data policies. Format is - * `projects/{project_number}/locations/{location_id}`. - * @param {number} request.pageSize - * The maximum number of data policies to return. Must be a value between 1 - * and 1000. - * If not set, defaults to 50. - * @param {string} request.pageToken - * The `nextPageToken` value returned from a previous list request, if any. If - * not set, defaults to an empty string. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Stream} - * An object stream which emits an object representing [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy} on 'data' event. - * The client library will perform auto-pagination by default: it will call the API as many - * times as needed. Note that it can affect your quota. - * We recommend using `listDataPoliciesAsync()` - * method described below for async iteration which you can stop as needed. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) - * for more details and examples. - */ - listDataPoliciesStream( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, - options?: CallOptions): - Transform{ - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); - const defaultCallSettings = this._defaults['listDataPolicies']; - const callSettings = defaultCallSettings.merge(options); - this.initialize(); - return this.descriptors.page.listDataPolicies.createStream( - this.innerApiCalls.listDataPolicies as GaxCall, - request, - callSettings - ); - } - -/** - * Equivalent to `listDataPolicies`, but returns an iterable object. - * - * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. - * @param {Object} request - * The request object that will be sent. - * @param {string} request.parent - * Required. Resource name of the project for which to list data policies. Format is - * `projects/{project_number}/locations/{location_id}`. - * @param {number} request.pageSize - * The maximum number of data policies to return. Must be a value between 1 - * and 1000. - * If not set, defaults to 50. - * @param {string} request.pageToken - * The `nextPageToken` value returned from a previous list request, if any. If - * not set, defaults to an empty string. - * @param {object} [options] - * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. - * @returns {Object} - * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). - * When you iterate the returned iterable, each element will be an object representing - * [DataPolicy]{@link google.cloud.bigquery.datapolicies.v1beta1.DataPolicy}. The API will be called under the hood as needed, once per the page, - * so you can stop the iteration when you don't need more results. - * Please see the - * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) - * for more details and examples. - * @example include:samples/generated/v1beta1/data_policy_service.list_data_policies.js - * region_tag:bigquerydatapolicy_v1beta1_generated_DataPolicyService_ListDataPolicies_async - */ - listDataPoliciesAsync( - request?: protos.google.cloud.bigquery.datapolicies.v1beta1.IListDataPoliciesRequest, - options?: CallOptions): - AsyncIterable{ - request = request || {}; - options = options || {}; - options.otherArgs = options.otherArgs || {}; - options.otherArgs.headers = options.otherArgs.headers || {}; - options.otherArgs.headers[ - 'x-goog-request-params' - ] = this._gaxModule.routingHeader.fromParams({ - 'parent': request.parent ?? '', - }); - const defaultCallSettings = this._defaults['listDataPolicies']; - const callSettings = defaultCallSettings.merge(options); - this.initialize(); - return this.descriptors.page.listDataPolicies.asyncIterate( - this.innerApiCalls['listDataPolicies'] as GaxCall, - request as {}, - callSettings - ) as AsyncIterable; - } - // -------------------- - // -- Path templates -- - // -------------------- - - /** - * Return a fully-qualified dataPolicy resource name string. - * - * @param {string} project - * @param {string} location - * @param {string} data_policy - * @returns {string} Resource name string. - */ - dataPolicyPath(project:string,location:string,dataPolicy:string) { - return this.pathTemplates.dataPolicyPathTemplate.render({ - project: project, - location: location, - data_policy: dataPolicy, - }); - } - - /** - * Parse the project from DataPolicy resource. - * - * @param {string} dataPolicyName - * A fully-qualified path representing DataPolicy resource. - * @returns {string} A string representing the project. - */ - matchProjectFromDataPolicyName(dataPolicyName: string) { - return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).project; - } - - /** - * Parse the location from DataPolicy resource. - * - * @param {string} dataPolicyName - * A fully-qualified path representing DataPolicy resource. - * @returns {string} A string representing the location. - */ - matchLocationFromDataPolicyName(dataPolicyName: string) { - return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).location; - } - - /** - * Parse the data_policy from DataPolicy resource. - * - * @param {string} dataPolicyName - * A fully-qualified path representing DataPolicy resource. - * @returns {string} A string representing the data_policy. - */ - matchDataPolicyFromDataPolicyName(dataPolicyName: string) { - return this.pathTemplates.dataPolicyPathTemplate.match(dataPolicyName).data_policy; - } - - /** - * Return a fully-qualified location resource name string. - * - * @param {string} project - * @param {string} location - * @returns {string} Resource name string. - */ - locationPath(project:string,location:string) { - return this.pathTemplates.locationPathTemplate.render({ - project: project, - location: location, - }); - } - - /** - * Parse the project from Location resource. - * - * @param {string} locationName - * A fully-qualified path representing Location resource. - * @returns {string} A string representing the project. - */ - matchProjectFromLocationName(locationName: string) { - return this.pathTemplates.locationPathTemplate.match(locationName).project; - } - - /** - * Parse the location from Location resource. - * - * @param {string} locationName - * A fully-qualified path representing Location resource. - * @returns {string} A string representing the location. - */ - matchLocationFromLocationName(locationName: string) { - return this.pathTemplates.locationPathTemplate.match(locationName).location; - } - - /** - * Return a fully-qualified project resource name string. - * - * @param {string} project - * @returns {string} Resource name string. - */ - projectPath(project:string) { - return this.pathTemplates.projectPathTemplate.render({ - project: project, - }); - } - - /** - * Parse the project from Project resource. - * - * @param {string} projectName - * A fully-qualified path representing Project resource. - * @returns {string} A string representing the project. - */ - matchProjectFromProjectName(projectName: string) { - return this.pathTemplates.projectPathTemplate.match(projectName).project; - } - - /** - * Terminate the gRPC channel and close the client. - * - * The client will no longer be usable and all future behavior is undefined. - * @returns {Promise} A promise that resolves when the client is closed. - */ - close(): Promise { - if (this.dataPolicyServiceStub && !this._terminated) { - return this.dataPolicyServiceStub.then(stub => { - this._terminated = true; - stub.close(); - }); - } - return Promise.resolve(); - } -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client_config.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client_config.json deleted file mode 100644 index 426ab638d19..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_client_config.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "interfaces": { - "google.cloud.bigquery.datapolicies.v1beta1.DataPolicyService": { - "retry_codes": { - "non_idempotent": [], - "idempotent": [ - "DEADLINE_EXCEEDED", - "UNAVAILABLE" - ], - "unavailable": [ - "UNAVAILABLE" - ] - }, - "retry_params": { - "default": { - "initial_retry_delay_millis": 100, - "retry_delay_multiplier": 1.3, - "max_retry_delay_millis": 60000, - "initial_rpc_timeout_millis": 60000, - "rpc_timeout_multiplier": 1, - "max_rpc_timeout_millis": 60000, - "total_timeout_millis": 600000 - }, - "ce5b960a6ed052e690863808e4f0deff3dc7d49f": { - "initial_retry_delay_millis": 1000, - "retry_delay_multiplier": 1.3, - "max_retry_delay_millis": 10000, - "initial_rpc_timeout_millis": 60000, - "rpc_timeout_multiplier": 1, - "max_rpc_timeout_millis": 60000, - "total_timeout_millis": 600000 - } - }, - "methods": { - "CreateDataPolicy": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "UpdateDataPolicy": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "DeleteDataPolicy": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "GetDataPolicy": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "ListDataPolicies": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "GetIamPolicy": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "SetIamPolicy": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - }, - "TestIamPermissions": { - "timeout_millis": 60000, - "retry_codes_name": "unavailable", - "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" - } - } - } - } -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_proto_list.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_proto_list.json deleted file mode 100644 index 6e26fa8caca..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/data_policy_service_proto_list.json +++ /dev/null @@ -1,3 +0,0 @@ -[ - "../../protos/google/cloud/bigquery/datapolicies/v1beta1/datapolicy.proto" -] diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/gapic_metadata.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/gapic_metadata.json deleted file mode 100644 index 18fb9ed02a5..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/gapic_metadata.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "schema": "1.0", - "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", - "language": "typescript", - "protoPackage": "google.cloud.bigquery.datapolicies.v1beta1", - "libraryPackage": "@google-cloud/bigquery-datapolicies", - "services": { - "DataPolicyService": { - "clients": { - "grpc": { - "libraryClient": "DataPolicyServiceClient", - "rpcs": { - "CreateDataPolicy": { - "methods": [ - "createDataPolicy" - ] - }, - "UpdateDataPolicy": { - "methods": [ - "updateDataPolicy" - ] - }, - "DeleteDataPolicy": { - "methods": [ - "deleteDataPolicy" - ] - }, - "GetDataPolicy": { - "methods": [ - "getDataPolicy" - ] - }, - "GetIamPolicy": { - "methods": [ - "getIamPolicy" - ] - }, - "SetIamPolicy": { - "methods": [ - "setIamPolicy" - ] - }, - "TestIamPermissions": { - "methods": [ - "testIamPermissions" - ] - }, - "ListDataPolicies": { - "methods": [ - "listDataPolicies", - "listDataPoliciesStream", - "listDataPoliciesAsync" - ] - } - } - }, - "grpc-fallback": { - "libraryClient": "DataPolicyServiceClient", - "rpcs": { - "CreateDataPolicy": { - "methods": [ - "createDataPolicy" - ] - }, - "UpdateDataPolicy": { - "methods": [ - "updateDataPolicy" - ] - }, - "DeleteDataPolicy": { - "methods": [ - "deleteDataPolicy" - ] - }, - "GetDataPolicy": { - "methods": [ - "getDataPolicy" - ] - }, - "GetIamPolicy": { - "methods": [ - "getIamPolicy" - ] - }, - "SetIamPolicy": { - "methods": [ - "setIamPolicy" - ] - }, - "TestIamPermissions": { - "methods": [ - "testIamPermissions" - ] - }, - "ListDataPolicies": { - "methods": [ - "listDataPolicies", - "listDataPoliciesStream", - "listDataPoliciesAsync" - ] - } - } - } - } - } - } -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/index.ts deleted file mode 100644 index 81030a61690..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/src/v1beta1/index.ts +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -export {DataPolicyServiceClient} from './data_policy_service_client'; diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.js deleted file mode 100644 index b26197444a3..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.js +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - - -/* eslint-disable node/no-missing-require, no-unused-vars */ -const datapolicies = require('@google-cloud/bigquery-datapolicies'); - -function main() { - const dataPolicyServiceClient = new datapolicies.DataPolicyServiceClient(); -} - -main(); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.ts deleted file mode 100644 index 760641ee949..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/fixtures/sample/src/index.ts +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import {DataPolicyServiceClient} from '@google-cloud/bigquery-datapolicies'; - -// check that the client class type name can be used -function doStuffWithDataPolicyServiceClient(client: DataPolicyServiceClient) { - client.close(); -} - -function main() { - // check that the client instance can be created - const dataPolicyServiceClient = new DataPolicyServiceClient(); - doStuffWithDataPolicyServiceClient(dataPolicyServiceClient); -} - -main(); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/install.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/install.ts deleted file mode 100644 index 557a57558e1..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/system-test/install.ts +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import {packNTest} from 'pack-n-play'; -import {readFileSync} from 'fs'; -import {describe, it} from 'mocha'; - -describe('📦 pack-n-play test', () => { - - it('TypeScript code', async function() { - this.timeout(300000); - const options = { - packageDir: process.cwd(), - sample: { - description: 'TypeScript user can use the type definitions', - ts: readFileSync('./system-test/fixtures/sample/src/index.ts').toString() - } - }; - await packNTest(options); - }); - - it('JavaScript code', async function() { - this.timeout(300000); - const options = { - packageDir: process.cwd(), - sample: { - description: 'JavaScript user can use the library', - ts: readFileSync('./system-test/fixtures/sample/src/index.js').toString() - } - }; - await packNTest(options); - }); - -}); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/test/gapic_data_policy_service_v1beta1.ts b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/test/gapic_data_policy_service_v1beta1.ts deleted file mode 100644 index 1b61cf2fbef..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/test/gapic_data_policy_service_v1beta1.ts +++ /dev/null @@ -1,1319 +0,0 @@ -// Copyright 2022 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -import * as protos from '../protos/protos'; -import * as assert from 'assert'; -import * as sinon from 'sinon'; -import {SinonStub} from 'sinon'; -import {describe, it} from 'mocha'; -import * as datapolicyserviceModule from '../src'; - -import {PassThrough} from 'stream'; - -import {protobuf} from 'google-gax'; - -// Dynamically loaded proto JSON is needed to get the type information -// to fill in default values for request objects -const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll(); - -// eslint-disable-next-line @typescript-eslint/no-unused-vars -function getTypeDefaultValue(typeName: string, fields: string[]) { - let type = root.lookupType(typeName) as protobuf.Type; - for (const field of fields.slice(0, -1)) { - type = type.fields[field]?.resolvedType as protobuf.Type; - } - return type.fields[fields[fields.length - 1]]?.defaultValue; -} - -function generateSampleMessage(instance: T) { - const filledObject = (instance.constructor as typeof protobuf.Message) - .toObject(instance as protobuf.Message, {defaults: true}); - return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T; -} - -function stubSimpleCall(response?: ResponseType, error?: Error) { - return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]); -} - -function stubSimpleCallWithCallback(response?: ResponseType, error?: Error) { - return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response); -} - -function stubPageStreamingCall(responses?: ResponseType[], error?: Error) { - const pagingStub = sinon.stub(); - if (responses) { - for (let i = 0; i < responses.length; ++i) { - pagingStub.onCall(i).callsArgWith(2, null, responses[i]); - } - } - const transformStub = error ? sinon.stub().callsArgWith(2, error) : pagingStub; - const mockStream = new PassThrough({ - objectMode: true, - transform: transformStub, - }); - // trigger as many responses as needed - if (responses) { - for (let i = 0; i < responses.length; ++i) { - setImmediate(() => { mockStream.write({}); }); - } - setImmediate(() => { mockStream.end(); }); - } else { - setImmediate(() => { mockStream.write({}); }); - setImmediate(() => { mockStream.end(); }); - } - return sinon.stub().returns(mockStream); -} - -function stubAsyncIterationCall(responses?: ResponseType[], error?: Error) { - let counter = 0; - const asyncIterable = { - [Symbol.asyncIterator]() { - return { - async next() { - if (error) { - return Promise.reject(error); - } - if (counter >= responses!.length) { - return Promise.resolve({done: true, value: undefined}); - } - return Promise.resolve({done: false, value: responses![counter++]}); - } - }; - } - }; - return sinon.stub().returns(asyncIterable); -} - -describe('v1beta1.DataPolicyServiceClient', () => { - describe('Common methods', () => { - it('has servicePath', () => { - const servicePath = datapolicyserviceModule.v1beta1.DataPolicyServiceClient.servicePath; - assert(servicePath); - }); - - it('has apiEndpoint', () => { - const apiEndpoint = datapolicyserviceModule.v1beta1.DataPolicyServiceClient.apiEndpoint; - assert(apiEndpoint); - }); - - it('has port', () => { - const port = datapolicyserviceModule.v1beta1.DataPolicyServiceClient.port; - assert(port); - assert(typeof port === 'number'); - }); - - it('should create a client with no option', () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient(); - assert(client); - }); - - it('should create a client with gRPC fallback', () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - fallback: true, - }); - assert(client); - }); - - it('has initialize method and supports deferred initialization', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.dataPolicyServiceStub, undefined); - await client.initialize(); - assert(client.dataPolicyServiceStub); - }); - - it('has close method for the initialized client', done => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - assert(client.dataPolicyServiceStub); - client.close().then(() => { - done(); - }); - }); - - it('has close method for the non-initialized client', done => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - assert.strictEqual(client.dataPolicyServiceStub, undefined); - client.close().then(() => { - done(); - }); - }); - - it('has getProjectId method', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); - const result = await client.getProjectId(); - assert.strictEqual(result, fakeProjectId); - assert((client.auth.getProjectId as SinonStub).calledWithExactly()); - }); - - it('has getProjectId method with callback', async () => { - const fakeProjectId = 'fake-project-id'; - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId); - const promise = new Promise((resolve, reject) => { - client.getProjectId((err?: Error|null, projectId?: string|null) => { - if (err) { - reject(err); - } else { - resolve(projectId); - } - }); - }); - const result = await promise; - assert.strictEqual(result, fakeProjectId); - }); - }); - - describe('createDataPolicy', () => { - it('invokes createDataPolicy without error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() - ); - client.innerApiCalls.createDataPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.createDataPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createDataPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() - ); - client.innerApiCalls.createDataPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.createDataPolicy( - request, - (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createDataPolicy with error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.createDataPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.createDataPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.createDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes createDataPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.CreateDataPolicyRequest', ['parent']); - request.parent = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.createDataPolicy(request), expectedError); - }); - }); - - describe('updateDataPolicy', () => { - it('invokes updateDataPolicy without error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest() - ); - request.dataPolicy ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); - request.dataPolicy.name = defaultValue1; - const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() - ); - client.innerApiCalls.updateDataPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.updateDataPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateDataPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest() - ); - request.dataPolicy ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); - request.dataPolicy.name = defaultValue1; - const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() - ); - client.innerApiCalls.updateDataPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.updateDataPolicy( - request, - (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateDataPolicy with error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest() - ); - request.dataPolicy ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); - request.dataPolicy.name = defaultValue1; - const expectedHeaderRequestParams = `data_policy.name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.updateDataPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.updateDataPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.updateDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes updateDataPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest() - ); - request.dataPolicy ??= {}; - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.UpdateDataPolicyRequest', ['dataPolicy', 'name']); - request.dataPolicy.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.updateDataPolicy(request), expectedError); - }); - }); - - describe('deleteDataPolicy', () => { - it('invokes deleteDataPolicy without error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteDataPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.deleteDataPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteDataPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.protobuf.Empty() - ); - client.innerApiCalls.deleteDataPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.deleteDataPolicy( - request, - (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteDataPolicy with error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.deleteDataPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.deleteDataPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.deleteDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes deleteDataPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.DeleteDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.deleteDataPolicy(request), expectedError); - }); - }); - - describe('getDataPolicy', () => { - it('invokes getDataPolicy without error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() - ); - client.innerApiCalls.getDataPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.getDataPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getDataPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy() - ); - client.innerApiCalls.getDataPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getDataPolicy( - request, - (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getDataPolicy with error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedHeaderRequestParams = `name=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.getDataPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getDataPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getDataPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getDataPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.GetDataPolicyRequest', ['name']); - request.name = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.getDataPolicy(request), expectedError); - }); - }); - - describe('getIamPolicy', () => { - it('invokes getIamPolicy without error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.getIamPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.getIamPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getIamPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.getIamPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.getIamPolicy( - request, - (err?: Error|null, result?: protos.google.iam.v1.IPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getIamPolicy with error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.getIamPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.getIamPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.getIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes getIamPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.GetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.GetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.getIamPolicy(request), expectedError); - }); - }); - - describe('setIamPolicy', () => { - it('invokes setIamPolicy without error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.setIamPolicy = stubSimpleCall(expectedResponse); - const [response] = await client.setIamPolicy(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes setIamPolicy without error using callback', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.Policy() - ); - client.innerApiCalls.setIamPolicy = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.setIamPolicy( - request, - (err?: Error|null, result?: protos.google.iam.v1.IPolicy|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes setIamPolicy with error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.setIamPolicy = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.setIamPolicy(request), expectedError); - const actualRequest = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.setIamPolicy as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes setIamPolicy with closed client', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.SetIamPolicyRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.SetIamPolicyRequest', ['resource']); - request.resource = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.setIamPolicy(request), expectedError); - }); - }); - - describe('testIamPermissions', () => { - it('invokes testIamPermissions without error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsResponse() - ); - client.innerApiCalls.testIamPermissions = stubSimpleCall(expectedResponse); - const [response] = await client.testIamPermissions(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes testIamPermissions without error using callback', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedResponse = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsResponse() - ); - client.innerApiCalls.testIamPermissions = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.testIamPermissions( - request, - (err?: Error|null, result?: protos.google.iam.v1.ITestIamPermissionsResponse|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes testIamPermissions with error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedHeaderRequestParams = `resource=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.testIamPermissions = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.testIamPermissions(request), expectedError); - const actualRequest = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.testIamPermissions as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes testIamPermissions with closed client', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.iam.v1.TestIamPermissionsRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.iam.v1.TestIamPermissionsRequest', ['resource']); - request.resource = defaultValue1; - const expectedError = new Error('The client has already been closed.'); - client.close(); - await assert.rejects(client.testIamPermissions(request), expectedError); - }); - }); - - describe('listDataPolicies', () => { - it('invokes listDataPolicies without error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - ]; - client.innerApiCalls.listDataPolicies = stubSimpleCall(expectedResponse); - const [response] = await client.listDataPolicies(request); - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listDataPolicies without error using callback', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`;const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - ]; - client.innerApiCalls.listDataPolicies = stubSimpleCallWithCallback(expectedResponse); - const promise = new Promise((resolve, reject) => { - client.listDataPolicies( - request, - (err?: Error|null, result?: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy[]|null) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - const response = await promise; - assert.deepStrictEqual(response, expectedResponse); - const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listDataPolicies with error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.innerApiCalls.listDataPolicies = stubSimpleCall(undefined, expectedError); - await assert.rejects(client.listDataPolicies(request), expectedError); - const actualRequest = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[0]; - assert.deepStrictEqual(actualRequest, request); - const actualHeaderRequestParams = (client.innerApiCalls.listDataPolicies as SinonStub) - .getCall(0).args[1].otherArgs.headers['x-goog-request-params']; - assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); - }); - - it('invokes listDataPoliciesStream without error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - ]; - client.descriptors.page.listDataPolicies.createStream = stubPageStreamingCall(expectedResponse); - const stream = client.listDataPoliciesStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy[] = []; - stream.on('data', (response: protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - const responses = await promise; - assert.deepStrictEqual(responses, expectedResponse); - assert((client.descriptors.page.listDataPolicies.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listDataPolicies, request)); - assert( - (client.descriptors.page.listDataPolicies.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('invokes listDataPoliciesStream with error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.descriptors.page.listDataPolicies.createStream = stubPageStreamingCall(undefined, expectedError); - const stream = client.listDataPoliciesStream(request); - const promise = new Promise((resolve, reject) => { - const responses: protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy[] = []; - stream.on('data', (response: protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy) => { - responses.push(response); - }); - stream.on('end', () => { - resolve(responses); - }); - stream.on('error', (err: Error) => { - reject(err); - }); - }); - await assert.rejects(promise, expectedError); - assert((client.descriptors.page.listDataPolicies.createStream as SinonStub) - .getCall(0).calledWith(client.innerApiCalls.listDataPolicies, request)); - assert( - (client.descriptors.page.listDataPolicies.createStream as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listDataPolicies without error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedResponse = [ - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - generateSampleMessage(new protos.google.cloud.bigquery.datapolicies.v1beta1.DataPolicy()), - ]; - client.descriptors.page.listDataPolicies.asyncIterate = stubAsyncIterationCall(expectedResponse); - const responses: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy[] = []; - const iterable = client.listDataPoliciesAsync(request); - for await (const resource of iterable) { - responses.push(resource!); - } - assert.deepStrictEqual(responses, expectedResponse); - assert.deepStrictEqual( - (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - - it('uses async iteration with listDataPolicies with error', async () => { - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - const request = generateSampleMessage( - new protos.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest() - ); - const defaultValue1 = - getTypeDefaultValue('.google.cloud.bigquery.datapolicies.v1beta1.ListDataPoliciesRequest', ['parent']); - request.parent = defaultValue1; - const expectedHeaderRequestParams = `parent=${defaultValue1}`; - const expectedError = new Error('expected'); - client.descriptors.page.listDataPolicies.asyncIterate = stubAsyncIterationCall(undefined, expectedError); - const iterable = client.listDataPoliciesAsync(request); - await assert.rejects(async () => { - const responses: protos.google.cloud.bigquery.datapolicies.v1beta1.IDataPolicy[] = []; - for await (const resource of iterable) { - responses.push(resource!); - } - }); - assert.deepStrictEqual( - (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) - .getCall(0).args[1], request); - assert( - (client.descriptors.page.listDataPolicies.asyncIterate as SinonStub) - .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes( - expectedHeaderRequestParams - ) - ); - }); - }); - - describe('Path templates', () => { - - describe('dataPolicy', () => { - const fakePath = "/rendered/path/dataPolicy"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - data_policy: "dataPolicyValue", - }; - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.dataPolicyPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.dataPolicyPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('dataPolicyPath', () => { - const result = client.dataPolicyPath("projectValue", "locationValue", "dataPolicyValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.dataPolicyPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromDataPolicyName', () => { - const result = client.matchProjectFromDataPolicyName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromDataPolicyName', () => { - const result = client.matchLocationFromDataPolicyName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchDataPolicyFromDataPolicyName', () => { - const result = client.matchDataPolicyFromDataPolicyName(fakePath); - assert.strictEqual(result, "dataPolicyValue"); - assert((client.pathTemplates.dataPolicyPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('location', () => { - const fakePath = "/rendered/path/location"; - const expectedParameters = { - project: "projectValue", - location: "locationValue", - }; - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.locationPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.locationPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('locationPath', () => { - const result = client.locationPath("projectValue", "locationValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.locationPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromLocationName', () => { - const result = client.matchProjectFromLocationName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.locationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - - it('matchLocationFromLocationName', () => { - const result = client.matchLocationFromLocationName(fakePath); - assert.strictEqual(result, "locationValue"); - assert((client.pathTemplates.locationPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - - describe('project', () => { - const fakePath = "/rendered/path/project"; - const expectedParameters = { - project: "projectValue", - }; - const client = new datapolicyserviceModule.v1beta1.DataPolicyServiceClient({ - credentials: {client_email: 'bogus', private_key: 'bogus'}, - projectId: 'bogus', - }); - client.initialize(); - client.pathTemplates.projectPathTemplate.render = - sinon.stub().returns(fakePath); - client.pathTemplates.projectPathTemplate.match = - sinon.stub().returns(expectedParameters); - - it('projectPath', () => { - const result = client.projectPath("projectValue"); - assert.strictEqual(result, fakePath); - assert((client.pathTemplates.projectPathTemplate.render as SinonStub) - .getCall(-1).calledWith(expectedParameters)); - }); - - it('matchProjectFromProjectName', () => { - const result = client.matchProjectFromProjectName(fakePath); - assert.strictEqual(result, "projectValue"); - assert((client.pathTemplates.projectPathTemplate.match as SinonStub) - .getCall(-1).calledWith(fakePath)); - }); - }); - }); -}); diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/tsconfig.json b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/tsconfig.json deleted file mode 100644 index c78f1c884ef..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": "./node_modules/gts/tsconfig-google.json", - "compilerOptions": { - "rootDir": ".", - "outDir": "build", - "resolveJsonModule": true, - "lib": [ - "es2018", - "dom" - ] - }, - "include": [ - "src/*.ts", - "src/**/*.ts", - "test/*.ts", - "test/**/*.ts", - "system-test/*.ts" - ] -} diff --git a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/webpack.config.js b/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/webpack.config.js deleted file mode 100644 index 032cd610597..00000000000 --- a/owl-bot-staging/google-cloud-bigquery-datapolicies/v1beta1/webpack.config.js +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -const path = require('path'); - -module.exports = { - entry: './src/index.ts', - output: { - library: 'DataPolicyService', - filename: './data-policy-service.js', - }, - node: { - child_process: 'empty', - fs: 'empty', - crypto: 'empty', - }, - resolve: { - alias: { - '../../../package.json': path.resolve(__dirname, 'package.json'), - }, - extensions: ['.js', '.json', '.ts'], - }, - module: { - rules: [ - { - test: /\.tsx?$/, - use: 'ts-loader', - exclude: /node_modules/ - }, - { - test: /node_modules[\\/]@grpc[\\/]grpc-js/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]grpc/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]retry-request/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]https?-proxy-agent/, - use: 'null-loader' - }, - { - test: /node_modules[\\/]gtoken/, - use: 'null-loader' - }, - ], - }, - mode: 'production', -}; diff --git a/packages/google-cloud-bigquery-datapolicies/protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto b/packages/google-cloud-bigquery-datapolicies/protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto index f055f9d4593..cd79acfba30 100644 --- a/packages/google-cloud-bigquery-datapolicies/protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto +++ b/packages/google-cloud-bigquery-datapolicies/protos/google/cloud/bigquery/datapolicies/v1/datapolicy.proto @@ -70,7 +70,8 @@ service DataPolicyService { } // Deletes the data policy specified by its resource name. - rpc DeleteDataPolicy(DeleteDataPolicyRequest) returns (google.protobuf.Empty) { + rpc DeleteDataPolicy(DeleteDataPolicyRequest) + returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1/{name=projects/*/locations/*/dataPolicies/*}" }; @@ -86,7 +87,8 @@ service DataPolicyService { } // List all of the data policies in the specified parent project. - rpc ListDataPolicies(ListDataPoliciesRequest) returns (ListDataPoliciesResponse) { + rpc ListDataPolicies(ListDataPoliciesRequest) + returns (ListDataPoliciesResponse) { option (google.api.http) = { get: "/v1/{parent=projects/*/locations/*}/dataPolicies" }; @@ -94,7 +96,8 @@ service DataPolicyService { } // Gets the IAM policy for the specified data policy. - rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) { + rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) + returns (google.iam.v1.Policy) { option (google.api.http) = { post: "/v1/{resource=projects/*/locations/*/dataPolicies/*}:getIamPolicy" body: "*" @@ -102,7 +105,8 @@ service DataPolicyService { } // Sets the IAM policy for the specified data policy. - rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) { + rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) + returns (google.iam.v1.Policy) { option (google.api.http) = { post: "/v1/{resource=projects/*/locations/*/dataPolicies/*}:setIamPolicy" body: "*" @@ -110,7 +114,8 @@ service DataPolicyService { } // Returns the caller's permission on the specified data policy resource. - rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) { + rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) + returns (google.iam.v1.TestIamPermissionsResponse) { option (google.api.http) = { post: "/v1/{resource=projects/*/locations/*/dataPolicies/*}:testIamPermissions" body: "*" @@ -120,8 +125,8 @@ service DataPolicyService { // Request message for the CreateDataPolicy method. message CreateDataPolicyRequest { - // Required. Resource name of the project that the data policy will belong to. The - // format is `projects/{project_number}/locations/{location_id}`. + // Required. Resource name of the project that the data policy will belong to. + // The format is `projects/{project_number}/locations/{location_id}`. string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { @@ -187,8 +192,8 @@ message GetDataPolicyRequest { // Request message for the ListDataPolicies method. message ListDataPoliciesRequest { - // Required. Resource name of the project for which to list data policies. Format is - // `projects/{project_number}/locations/{location_id}`. + // Required. Resource name of the project for which to list data policies. + // Format is `projects/{project_number}/locations/{location_id}`. string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { @@ -209,9 +214,9 @@ message ListDataPoliciesRequest { // are associated with. Currently filter only supports // "policy_tag" based filtering and OR based predicates. Sample // filter can be "policy_tag: - // 'projects/1/locations/us/taxonomies/2/policyTags/3'". You may use wildcard - // such as "policy_tag: - // 'projects/1/locations/us/taxonomies/2/*'". + // `'projects/1/locations/us/taxonomies/2/policyTags/3'`". You may use + // wildcard such as "policy_tag: + // `'projects/1/locations/us/taxonomies/2/*'`". string filter = 4; } diff --git a/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.create_data_policy.js b/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.create_data_policy.js index b14616a309b..1e8300ae4f1 100644 --- a/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.create_data_policy.js +++ b/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.create_data_policy.js @@ -29,8 +29,8 @@ function main(parent, dataPolicy) { * TODO(developer): Uncomment these variables before running the sample. */ /** - * Required. Resource name of the project that the data policy will belong to. The - * format is `projects/{project_number}/locations/{location_id}`. + * Required. Resource name of the project that the data policy will belong to. + * The format is `projects/{project_number}/locations/{location_id}`. */ // const parent = 'abc123' /** diff --git a/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.list_data_policies.js b/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.list_data_policies.js index 7895258542c..f96591c6b47 100644 --- a/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.list_data_policies.js +++ b/packages/google-cloud-bigquery-datapolicies/samples/generated/v1/data_policy_service.list_data_policies.js @@ -29,8 +29,8 @@ function main(parent) { * TODO(developer): Uncomment these variables before running the sample. */ /** - * Required. Resource name of the project for which to list data policies. Format is - * `projects/{project_number}/locations/{location_id}`. + * Required. Resource name of the project for which to list data policies. + * Format is `projects/{project_number}/locations/{location_id}`. */ // const parent = 'abc123' /** @@ -49,9 +49,9 @@ function main(parent) { * are associated with. Currently filter only supports * "policy_tag" based filtering and OR based predicates. Sample * filter can be "policy_tag: - * 'projects/1/locations/us/taxonomies/2/policyTags/3'". You may use wildcard - * such as "policy_tag: - * 'projects/1/locations/us/taxonomies/2/*'". + * `'projects/1/locations/us/taxonomies/2/policyTags/3'`". You may use + * wildcard such as "policy_tag: + * `'projects/1/locations/us/taxonomies/2/*'`". */ // const filter = 'abc123' diff --git a/packages/google-cloud-bigquery-datapolicies/src/v1/data_policy_service_client.ts b/packages/google-cloud-bigquery-datapolicies/src/v1/data_policy_service_client.ts index 80a391d9723..821691f125b 100644 --- a/packages/google-cloud-bigquery-datapolicies/src/v1/data_policy_service_client.ts +++ b/packages/google-cloud-bigquery-datapolicies/src/v1/data_policy_service_client.ts @@ -353,8 +353,8 @@ export class DataPolicyServiceClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * Required. Resource name of the project that the data policy will belong to. The - * format is `projects/{project_number}/locations/{location_id}`. + * Required. Resource name of the project that the data policy will belong to. + * The format is `projects/{project_number}/locations/{location_id}`. * @param {google.cloud.bigquery.datapolicies.v1.DataPolicy} request.dataPolicy * Required. The data policy to create. The `name` field does not need to be * provided for the data policy creation. @@ -1130,8 +1130,8 @@ export class DataPolicyServiceClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * Required. Resource name of the project for which to list data policies. Format is - * `projects/{project_number}/locations/{location_id}`. + * Required. Resource name of the project for which to list data policies. + * Format is `projects/{project_number}/locations/{location_id}`. * @param {number} request.pageSize * The maximum number of data policies to return. Must be a value between 1 * and 1000. @@ -1144,9 +1144,9 @@ export class DataPolicyServiceClient { * are associated with. Currently filter only supports * "policy_tag" based filtering and OR based predicates. Sample * filter can be "policy_tag: - * 'projects/1/locations/us/taxonomies/2/policyTags/3'". You may use wildcard - * such as "policy_tag: - * 'projects/1/locations/us/taxonomies/2/*'". + * `'projects/1/locations/us/taxonomies/2/policyTags/3'`". You may use + * wildcard such as "policy_tag: + * `'projects/1/locations/us/taxonomies/2/*'`". * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. @@ -1240,8 +1240,8 @@ export class DataPolicyServiceClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * Required. Resource name of the project for which to list data policies. Format is - * `projects/{project_number}/locations/{location_id}`. + * Required. Resource name of the project for which to list data policies. + * Format is `projects/{project_number}/locations/{location_id}`. * @param {number} request.pageSize * The maximum number of data policies to return. Must be a value between 1 * and 1000. @@ -1254,9 +1254,9 @@ export class DataPolicyServiceClient { * are associated with. Currently filter only supports * "policy_tag" based filtering and OR based predicates. Sample * filter can be "policy_tag: - * 'projects/1/locations/us/taxonomies/2/policyTags/3'". You may use wildcard - * such as "policy_tag: - * 'projects/1/locations/us/taxonomies/2/*'". + * `'projects/1/locations/us/taxonomies/2/policyTags/3'`". You may use + * wildcard such as "policy_tag: + * `'projects/1/locations/us/taxonomies/2/*'`". * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Stream} @@ -1298,8 +1298,8 @@ export class DataPolicyServiceClient { * @param {Object} request * The request object that will be sent. * @param {string} request.parent - * Required. Resource name of the project for which to list data policies. Format is - * `projects/{project_number}/locations/{location_id}`. + * Required. Resource name of the project for which to list data policies. + * Format is `projects/{project_number}/locations/{location_id}`. * @param {number} request.pageSize * The maximum number of data policies to return. Must be a value between 1 * and 1000. @@ -1312,9 +1312,9 @@ export class DataPolicyServiceClient { * are associated with. Currently filter only supports * "policy_tag" based filtering and OR based predicates. Sample * filter can be "policy_tag: - * 'projects/1/locations/us/taxonomies/2/policyTags/3'". You may use wildcard - * such as "policy_tag: - * 'projects/1/locations/us/taxonomies/2/*'". + * `'projects/1/locations/us/taxonomies/2/policyTags/3'`". You may use + * wildcard such as "policy_tag: + * `'projects/1/locations/us/taxonomies/2/*'`". * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Object}