├── .eslintignore ├── .eslintrc.json ├── .github ├── .OwlBot.lock.yaml ├── .OwlBot.yaml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── PULL_REQUEST_TEMPLATE.md ├── auto-label.yaml ├── blunderbuss.yml ├── config │ ├── README.md │ ├── nodejs-dev.jsonc │ └── nodejs.jsonc ├── flakybot.yaml ├── header-checker-lint.yml ├── scripts │ ├── cli │ │ └── vars.js │ ├── package.json │ ├── setup-vars.js │ └── setup-vars.test.js ├── snippet-bot.yml ├── trusted-contribution.yml └── workflows │ ├── ai-platform-snippets.yaml │ ├── ci-scripts.yaml │ ├── compute.yaml │ ├── custard-ci-dev.yaml │ ├── custard-ci.yaml │ ├── custard-run-dev.yaml │ ├── custard-run.yaml │ ├── dataproc.yaml │ ├── datastore-functions.yaml │ ├── dialogflow-cx.yaml │ ├── dlp.yaml │ ├── document-ai.yaml │ ├── flakybot.yaml │ ├── functions-slack.yaml │ ├── healthcare-fhir.yaml │ ├── iam-deny.yaml │ ├── remove-label.yaml │ ├── storagetransfer.yaml │ ├── test.yaml │ ├── utils │ ├── ci-matrix.yaml.njk │ ├── ci-secrets.yaml.njk │ ├── ci.yaml.njk │ ├── generate.js │ ├── region-tags-tests.sh │ ├── sql-proxy.sh │ ├── workflows-matrix.json │ ├── workflows-secrets.json │ └── workflows.json │ ├── video-intelligence.yaml │ └── workflows.yaml ├── .gitignore ├── .kokoro ├── .mocharc.js ├── Generate-Configs.ps1 ├── appengine │ ├── common.cfg │ ├── node10 │ │ ├── common.cfg │ │ └── headless-chrome.cfg │ ├── node12 │ │ ├── common.cfg │ │ └── headless-chrome.cfg │ └── test-deployment │ │ ├── common.cfg │ │ ├── hello-world-flex.cfg │ │ ├── hello-world-standard.cfg │ │ ├── metadata-flex.cfg │ │ ├── metadata-standard.cfg │ │ ├── storage-flex.cfg │ │ └── storage-standard.cfg ├── build-with-appengine.sh ├── build-with-run.sh ├── build.sh ├── cloudsql-mysql.cfg ├── cloudsql-postgres.cfg ├── cloudsql-sqlserver.cfg ├── common.cfg ├── eventarc-audit-storage.cfg ├── eventarc-pubsub.cfg ├── functions │ ├── billing-periodic.cfg │ ├── billing.cfg │ ├── common.cfg │ ├── functions-billing.sh │ ├── imagemagick.cfg │ ├── ocr-app.cfg │ └── tips.cfg ├── postgres-knex.cfg ├── run │ ├── common.cfg │ ├── hello-broken.cfg │ ├── helloworld.cfg │ ├── idp-sql.cfg │ ├── image-processing.cfg │ ├── jobs.cfg │ ├── logging-manual.cfg │ ├── markdown-preview-editor.cfg │ ├── markdown-preview-renderer.cfg │ ├── pubsub.cfg │ ├── system-package.cfg │ └── websockets.cfg └── trampoline.sh ├── .mocharc.js ├── .prettierignore ├── .prettierrc.js ├── CODEOWNERS ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── README.md ├── SECURITY.md ├── ai-platform └── snippets │ ├── batch-create-features-sample.js │ ├── batch-prediction │ ├── batch-predict-bq.js │ └── batch-predict-gcs.js │ ├── batch-read-feature-values-sample.js │ ├── cancel-custom-job.js │ ├── create-batch-prediction-job-text-classification.js │ ├── create-batch-prediction-job-text-entity-extraction.js │ ├── create-batch-prediction-job-text-sentiment-analysis.js │ ├── create-batch-prediction-job-video-classification.js │ ├── create-batch-prediction-job-video-object-tracking.js │ ├── create-custom-job.js │ ├── create-dataset-image.js │ ├── create-dataset-tabular-bigquery.js │ ├── create-dataset-tabular-gcs.js │ ├── create-dataset-text.js │ ├── create-dataset-video.js │ ├── create-dataset.js │ ├── create-endpoint.js │ ├── create-entity-type-monitoring-sample.js │ ├── create-entity-type-sample.js │ ├── create-feature-sample.js │ ├── create-featurestore-fixed-nodes-sample.js │ ├── create-featurestore-sample.js │ ├── create-hyperparameter-tuning-job.js │ ├── create-training-pipeline-image-classification.js │ ├── create-training-pipeline-image-object-detection.js │ ├── create-training-pipeline-tabular-classification.js │ ├── create-training-pipeline-tabular-regression.js │ ├── create-training-pipeline-text-classification.js │ ├── create-training-pipeline-text-entity-extraction.js │ ├── create-training-pipeline-text-sentiment-analysis.js │ ├── create-training-pipeline-video-action-recognition.js │ ├── create-training-pipeline-video-classification.js │ ├── create-training-pipeline-video-object-tracking.js │ ├── delete-dataset.js │ ├── delete-endpoint.js │ ├── delete-entity-type-sample.js │ ├── delete-feature-sample.js │ ├── delete-featurestore-sample.js │ ├── delete-model.js │ ├── deploy-model.js │ ├── embedding-model-tuning.js │ ├── expensive-test │ ├── create-data-labeling-job-image.test.js │ ├── create-data-labeling-job-video.test.js │ ├── create-data-labeling-job.test.js │ ├── get-training-pipeline.test.js │ ├── import-data-text-entity-extraction.test.js │ ├── import-data-text-sentiment-analysis.test.js │ └── import-data-video-object-tracking.test.js │ ├── export-feature-values-sample.js │ ├── export-feature-values-snapshot-sample.js │ ├── export-model-tabular-classification.js │ ├── export-model.js │ ├── gemma2PredictGpu.js │ ├── gemma2PredictTpu.js │ ├── get-custom-job.js │ ├── get-entity-type-sample.js │ ├── get-feature-sample.js │ ├── get-featurestore-sample.js │ ├── get-hyperparameter-tuning-job.js │ ├── get-model-evaluation-image-classification.js │ ├── get-model-evaluation-image-object-detection.js │ ├── get-model-evaluation-slice.js │ ├── get-model-evaluation-tabular-classification.js │ ├── get-model-evaluation-tabular-regression.js │ ├── get-model-evaluation-text-classification.js │ ├── get-model-evaluation-text-entity-extraction.js │ ├── get-model-evaluation-text-sentiment-analysis.js │ ├── get-model-evaluation-video-action-recognition.js │ ├── get-model-evaluation-video-classification.js │ ├── get-model-evaluation-video-object-tracking.js │ ├── get-model.js │ ├── get-training-pipeline.js │ ├── imagen-edit-image-inpainting-insert-mask.js │ ├── imagen-edit-image-inpainting-remove-mask.js │ ├── imagen-edit-image-mask-free.js │ ├── imagen-edit-image-outpainting-mask.js │ ├── imagen-generate-image.js │ ├── imagen-get-short-form-image-captions.js │ ├── imagen-get-short-form-image-responses.js │ ├── import-data-image-classification.js │ ├── import-data-image-object-detection.js │ ├── import-data-text-classification-single-label.js │ ├── import-data-text-entity-extraction.js │ ├── import-data-text-sentiment-analysis.js │ ├── import-data-video-classification.js │ ├── import-data-video-object-tracking.js │ ├── import-feature-values-sample.js │ ├── list-endpoints.js │ ├── list-entity-types-async-sample.js │ ├── list-entity-types-sample.js │ ├── list-entity-types-stream-sample.js │ ├── list-features-async-sample.js │ ├── list-features-sample.js │ ├── list-features-stream-sample.js │ ├── list-featurestores-async-sample.js │ ├── list-featurestores-sample.js │ ├── list-featurestores-stream-sample.js │ ├── list-model-evaluation-slices.js │ ├── package.json │ ├── predict-custom-trained-model.js │ ├── predict-image-classification.js │ ├── predict-image-from-image-and-text.js │ ├── predict-image-object-detection.js │ ├── predict-tabular-classification.js │ ├── predict-tabular-regression.js │ ├── predict-text-classification.js │ ├── predict-text-embeddings-preview.js │ ├── predict-text-embeddings.js │ ├── predict-text-entity-extraction.js │ ├── predict-text-sentiment-analysis.js │ ├── read-feature-values-sample.js │ ├── resources │ ├── caprese_salad.jpg │ ├── cat.png │ ├── daisy.jpg │ ├── dog_newspaper.png │ ├── roller_skaters.png │ ├── roller_skaters_mask.png │ ├── volleyball_game.png │ ├── volleyball_game_inpainting_remove_mask.png │ ├── woman.png │ └── woman_inpainting_insert_mask.png │ ├── search-features-async-sample.js │ ├── search-features-sample.js │ ├── search-features-stream-sample.js │ ├── test │ ├── batch-prediction-gemini.test.js │ ├── create-batch-prediction-job-text-classification.test.js │ ├── create-batch-prediction-job-text-entity-extraction.test.js │ ├── create-batch-prediction-job-text-sentiment-analysis.test.js │ ├── create-batch-prediction-job-video-classification.test.js │ ├── create-batch-prediction-job-video-object-tracking.test.js │ ├── create-custom-job.test.js │ ├── create-dataset-image.test.js │ ├── create-dataset-tabular-bigquery.test.js │ ├── create-dataset-tabular-gcs.test.js │ ├── create-dataset-text.test.js │ ├── create-dataset-video.test.js │ ├── create-dataset.test.js │ ├── create-endpoint.test.js │ ├── create-featurestore-fixed-nodes-sample.test.js │ ├── create-featurestore-sample.test.js │ ├── create-hyperparameter-tuning-job.test.js │ ├── create-training-pipeline-image-classification.test.js │ ├── create-training-pipeline-image-object-detection.test.js │ ├── create-training-pipeline-tabular-classification.test.js │ ├── create-training-pipeline-tabular-regression.test.js │ ├── create-training-pipeline-text-entity-extraction.test.js │ ├── create-training-pipeline-text-sentiment-analysis.test.js │ ├── create-training-pipeline-video-action-recognition.test.js │ ├── create-training-pipeline-video-classification.test.js │ ├── create-training-pipeline-video-object-tracking.test.js │ ├── deploy-model.test.js │ ├── embedding-model-tuning.test.js │ ├── entity-type-samples.test.js │ ├── export-model-tabular-classification.test.js │ ├── feature-samples.test.js │ ├── feature-values-samples.test.js │ ├── featurestore-samples.test.js │ ├── gemma2Prediction.test.js │ ├── get-custom-job.test.js │ ├── get-hyperparameter-tuning-job.test.js │ ├── get-model-evaluation-slice.test.js │ ├── get-model-evaluation-tabular-classification.test.js │ ├── get-model-evaluation-tabular-regression.test.js │ ├── get-model-evaluation-video-action-recognition.test.js │ ├── get-model-evaluation-video-classification.test.js │ ├── get-model-evaluation-video-object-tracking.test.js │ ├── get-model.test.js │ ├── get-training-pipeline.test.js │ ├── imagen.test.js │ ├── import-data-video-classification.test.js │ ├── list-endpoints.test.js │ ├── list-model-evaluation-slices.test.js │ ├── predict-image-from-image-and-text.test.js │ ├── predict-image-object-detection.test.js │ ├── predict-tabular-classification.test.js │ ├── predict-tabular-regression.test.js │ ├── predict-text-classification.test.js │ ├── predict-text-embeddings.test.js │ ├── predict-text-entity-extraction.test.js │ └── upload-model.test.js │ ├── undeploy-model.js │ ├── update-entity-type-monitoring-sample.js │ ├── update-entity-type-sample.js │ ├── update-feature-sample.js │ ├── update-featurestore-fixed-nodes-sample.js │ ├── update-featurestore-sample.js │ └── upload-model.js ├── appengine ├── README.md ├── analytics │ ├── README.md │ ├── app.flexible.yaml │ ├── app.flexible_os.yaml │ ├── app.js │ ├── app.standard.yaml │ ├── package.json │ └── test │ │ └── app.test.js ├── building-an-app │ ├── build │ │ ├── README.md │ │ ├── app.yaml │ │ ├── package.json │ │ ├── server.js │ │ └── test │ │ │ └── server.test.js │ └── update │ │ ├── README.md │ │ ├── app.yaml │ │ ├── package.json │ │ ├── server.js │ │ ├── test │ │ └── server.test.js │ │ └── views │ │ └── form.html ├── datastore │ ├── README.md │ ├── app.flexible.yaml │ ├── app.flexible_os.yaml │ ├── app.js │ ├── app.standard.yaml │ ├── package.json │ └── test │ │ └── app.test.js ├── endpoints │ ├── .cloud-repo-tools.json │ ├── README.md │ ├── app.js │ ├── app.yaml │ ├── openapi.yaml │ ├── package.json │ └── test │ │ ├── app.test.js │ │ └── appListening.test.js ├── hello-world │ ├── flexible │ │ ├── README.md │ │ ├── app.js │ │ ├── app.yaml │ │ ├── package.json │ │ └── test │ │ │ └── app.test.js │ ├── flexible_nodejs16_and_earlier │ │ ├── README.md │ │ ├── app.js │ │ ├── app.yaml │ │ ├── package.json │ │ └── test │ │ │ └── app.test.js │ └── standard │ │ ├── README.md │ │ ├── app.js │ │ ├── app.yaml │ │ ├── package.json │ │ └── test │ │ └── app.test.js ├── memcached │ ├── README.md │ ├── app.flexible.yaml │ ├── app.js │ ├── app.standard.yaml │ ├── package.json │ └── test │ │ └── app.test.js ├── metadata │ ├── flexible │ │ ├── app.yaml │ │ ├── package.json │ │ ├── server.js │ │ └── test │ │ │ └── server.test.js │ ├── flexible_nodejs16_and_earlier │ │ ├── app.yaml │ │ ├── package.json │ │ ├── server.js │ │ └── test │ │ │ └── server.test.js │ └── standard │ │ ├── app.yaml │ │ ├── package.json │ │ ├── server.js │ │ └── test │ │ └── server.test.js ├── pubsub │ ├── README.md │ ├── app.flexible.yaml │ ├── app.flexible_os.yaml │ ├── app.js │ ├── app.standard.yaml │ ├── package.json │ ├── sample_message.json │ ├── test │ │ ├── app.test.js │ │ ├── appListening.test.js │ │ └── fixtures │ │ │ ├── privatekey.pem │ │ │ └── public_cert.pem │ └── views │ │ └── index.pug ├── static-files │ ├── README.md │ ├── app.flexible.yaml │ ├── app.flexible_os.yaml │ ├── app.js │ ├── app.standard.yaml │ ├── package.json │ ├── public │ │ └── main.css │ ├── test │ │ └── app.test.js │ └── views │ │ └── index.pug ├── storage │ ├── flexible │ │ ├── README.md │ │ ├── app.js │ │ ├── app.yaml │ │ ├── package.json │ │ ├── system-test │ │ │ ├── app.test.js │ │ │ └── resources │ │ │ │ └── test.txt │ │ └── views │ │ │ └── form.pug │ ├── flexible_nodejs16_and_earlier │ │ ├── README.md │ │ ├── app.js │ │ ├── app.yaml │ │ ├── package.json │ │ ├── system-test │ │ │ ├── app.test.js │ │ │ └── resources │ │ │ │ └── test.txt │ │ └── views │ │ │ └── form.pug │ └── standard │ │ ├── README.md │ │ ├── app.js │ │ ├── app.yaml │ │ ├── package.json │ │ ├── system-test │ │ ├── app.test.js │ │ └── resources │ │ │ └── test.txt │ │ └── views │ │ └── form.pug ├── typescript │ ├── .eslintrc.json │ ├── .gcloudignore │ ├── .gitignore │ ├── README.md │ ├── app.yaml │ ├── index.ts │ ├── package.json │ ├── test │ │ └── app.test.js │ └── tsconfig.json └── websockets │ ├── README.md │ ├── app.js │ ├── app.yaml │ ├── package.json │ ├── test │ ├── app.test.js │ └── index.test.js │ └── views │ └── index.pug ├── asset └── snippets │ ├── analyzeIamPolicy.js │ ├── analyzeIamPolicyLongrunningBigquery.js │ ├── analyzeIamPolicyLongrunningGcs.js │ ├── analyzeOrgPolicies.js │ ├── analyzeOrgPolicyGovernedAssets.js │ ├── analyzeOrgPolicyGovernedContainers.js │ ├── createFeed.js │ ├── createSavedQuery.js │ ├── deleteFeed.js │ ├── deleteSavedQuery.js │ ├── exportAssets.js │ ├── exportAssetsBigquery.js │ ├── getBatchAssetHistory.js │ ├── getBatchEffectiveIamPolicies.js │ ├── getFeed.js │ ├── getSavedQuery.js │ ├── listAssets.js │ ├── listFeeds.js │ ├── listSavedQueries.js │ ├── package.json │ ├── searchAllIamPolicies.js │ ├── searchAllResources.js │ ├── test │ ├── asset.test.js │ ├── iamPolicy.test.js │ ├── orgPolicyAnalyzer.test.js │ └── savedQuery.test.js │ ├── updateFeed.js │ └── updateSavedQuery.js ├── auth ├── README.md ├── accessTokenFromImpersonatedCredentials.js ├── auth.js ├── downscoping.js ├── package.json └── system-test │ ├── accessTokenFromImpersonatedCredentials.test.js │ ├── auth.test.js │ └── downscoping.test.js ├── automl ├── .eslintrc.yml ├── batch_predict.js ├── beta │ ├── batch_predict.js │ ├── cancel_operation.js │ ├── delete-dataset.js │ ├── delete-model.js │ ├── get-model-evaluation.js │ ├── get-model.js │ ├── get-operation-status.js │ ├── import-dataset.js │ ├── list-datasets.js │ ├── list-models.js │ ├── setEndpoint.js │ ├── video-classification-create-dataset.js │ ├── video-classification-create-model.js │ ├── video-object-tracking-create-dataset.js │ └── video-object-tracking-create-model.js ├── delete_dataset.js ├── delete_model.js ├── deploy_model.js ├── export_dataset.js ├── get_dataset.js ├── get_model.js ├── get_model_evaluation.js ├── get_operation_status.js ├── import_dataset.js ├── language_entity_extraction_create_dataset.js ├── language_entity_extraction_create_model.js ├── language_entity_extraction_predict.js ├── language_sentiment_analysis_create_dataset.js ├── language_sentiment_analysis_create_model.js ├── language_sentiment_analysis_predict.js ├── language_text_classification_create_dataset.js ├── language_text_classification_create_model.js ├── language_text_classification_predict.js ├── list_datasets.js ├── list_model_evaluations.js ├── list_models.js ├── list_operation_status.js ├── package.json ├── resources │ ├── input.txt │ ├── salad.jpg │ └── test.png ├── tables │ ├── create-dataset.v1beta1.js │ ├── create-model.v1beta1.js │ ├── delete-dataset.v1beta1.js │ ├── delete-model.v1beta1.js │ ├── deploy-model.v1beta1.js │ ├── get-column-spec.v1beta1.js │ ├── get-model.v1beta1.js │ ├── import-data.v1beta1.js │ ├── list-datasets.v1beta1.js │ ├── list-model-evaluations.v1beta1.js │ ├── list-models.v1beta1.js │ ├── predict-bq-source-bq-dest.v1beta1.js │ ├── predict-gcs-source-bq-dest.v1beta1.js │ ├── predict-gcs-source-gcs-dest.v1beta1.js │ ├── predict.v1beta1.js │ └── undeploy-model.v1beta1.js ├── test │ ├── .eslintrc.yml │ ├── automlTablesPredict.v1beta1.test.js │ ├── batch_predict.beta.test.js │ ├── batch_predict.test.js │ ├── delete-dataset.beta.test.js │ ├── delete-model.beta.test.js │ ├── delete_dataset.test.js │ ├── delete_model.test.js │ ├── deploy_model.test.js │ ├── export_dataset.test.js │ ├── get-model-evaluation.beta.test.js │ ├── get-model.beta.test.js │ ├── get-operation-status.beta.test.js │ ├── get_dataset.test.js │ ├── get_model.test.js │ ├── get_model_evaluation.test.js │ ├── get_operation_status.test.js │ ├── import-dataset.beta.test.js │ ├── import_dataset.test.js │ ├── language_entity_extraction_create_dataset.test.js │ ├── language_entity_extraction_create_model.test.js │ ├── language_entity_extraction_predict.test.js │ ├── language_sentiment_analysis_create_dataset.test.js │ ├── language_sentiment_analysis_create_model.test.js │ ├── language_sentiment_analysis_predict.test.js │ ├── language_text_classification_create_dataset.test.js │ ├── language_text_classification_create_model.test.js │ ├── language_text_classification_predict.test.js │ ├── list-datasets.beta.test.js │ ├── list-models.beta.test.js │ ├── list_datasets.test.js │ ├── list_model_evaluations.test.js │ ├── list_models.test.js │ ├── list_operation_status.test.js │ ├── setEndpoint.test.js │ ├── translate_create_dataset.test.js │ ├── translate_create_model.test.js │ ├── translate_predict.test.js │ ├── undeploy_model.test.js │ ├── util.js │ ├── video-classification-create-dataset.beta.test.js │ ├── video-classification-create-model.beta.test.js │ ├── video-object-tracking-create-dataset.beta.test.js │ ├── video-object-tracking-create-model.beta.test.js │ ├── vision_classification_create_dataset.test.js │ ├── vision_classification_create_model.test.js │ ├── vision_classification_deploy_model_node_count.test.js │ ├── vision_classification_predict.test.js │ ├── vision_object_detection_create_dataset.test.js │ ├── vision_object_detection_create_model.test.js │ ├── vision_object_detection_deploy_model_node_count.test.js │ └── vision_object_detection_predict.test.js ├── translate │ ├── automlTranslateCreateDataset.js │ ├── automlTranslateCreateModel.js │ ├── automlTranslatePredict.js │ └── resources │ │ └── testInput.txt ├── translate_create_dataset.js ├── translate_create_model.js ├── translate_predict.js ├── undeploy_model.js ├── vision_classification_create_dataset.js ├── vision_classification_create_model.js ├── vision_classification_deploy_model_node_count.js ├── vision_classification_predict.js ├── vision_object_detection_create_dataset.js ├── vision_object_detection_create_model.js ├── vision_object_detection_deploy_model_node_count.js └── vision_object_detection_predict.js ├── batch ├── create │ ├── create_batch_custom_events.js │ ├── create_batch_custom_network.js │ ├── create_batch_labels_allocation.js │ ├── create_batch_labels_job.js │ ├── create_batch_labels_runnable.js │ ├── create_batch_notifications.js │ ├── create_batch_using_service_account.js │ ├── create_gpu_job.js │ ├── create_gpu_job_n1.js │ ├── create_local_ssd_job.js │ ├── create_nfs_job.js │ ├── create_persistent_disk_job.js │ ├── create_script_job_with_template.js │ ├── create_using_secret_manager.js │ ├── create_with_container_no_mounting.js │ ├── create_with_mounted_bucket.js │ └── create_with_script_no_mounting.js ├── delete │ └── delete_job.js ├── get │ ├── get_job.js │ └── get_task.js ├── list │ ├── list_jobs.js │ └── list_tasks.js ├── package.json └── test │ ├── advanced_creation.test.js │ ├── basics.test.js │ ├── create_batch_custom_events.test.js │ ├── create_batch_custom_network.test.js │ ├── create_batch_labels_allocation.test.js │ ├── create_batch_labels_job.test.js │ ├── create_batch_labels_runnable.test.js │ ├── create_batch_notifications.test.js │ ├── create_batch_using_service_account.test.js │ ├── create_gpu_job.test.js │ ├── create_gpu_job_n1.test.js │ ├── create_local_ssd_job.test.js │ ├── create_nfs_job.test.js │ ├── create_persistent_disk_job.test.js │ └── create_using_secret_manager.test.js ├── bigquery └── cloud-client │ ├── grantAccessToDataset.js │ ├── grantAccessToTableOrView.js │ ├── package.json │ ├── revokeDatasetAccess.js │ ├── revokeTableOrViewAccess.js │ ├── test │ ├── config.js │ ├── grantAccessToDataset.test.js │ ├── grantAccessToTableOrView.test.js │ ├── revokeDatasetAccess.test.js │ ├── revokeTableOrViewAccess.test.js │ ├── viewDatasetAccessPolicy.test.js │ └── viewTableOrViewAccessPolicy.test.js │ ├── viewDatasetAccessPolicy.js │ └── viewTableOrViewAccessPolicy.js ├── buildsetup.sh ├── cloud-language ├── analyze.v1.js ├── analyze_entities_v2_file.js ├── analyze_entities_v2_text.js ├── analyze_sentiment_v2_file.js ├── analyze_sentiment_v2_text.js ├── classify_text_v2_file.js ├── classify_text_v2_text.js ├── package.json ├── quickstart.js ├── resources │ ├── android_text.txt │ └── text.txt ├── setEndpoint.js ├── snippets │ └── .eslintrc.yml └── test │ ├── analyze.v1.test.js │ ├── analyze.v2.test.js │ ├── automlNaturalLanguage.test.js │ ├── quickstart.test.js │ └── setEndpoint.test.js ├── cloud-sql ├── mysql │ ├── mysql │ │ ├── Dockerfile │ │ ├── README.md │ │ ├── app.flexible.yaml │ │ ├── app.standard.yaml │ │ ├── certs │ │ │ └── .gitkeep │ │ ├── ci-setup.json │ │ ├── connect-tcp.js │ │ ├── connect-unix.js │ │ ├── deployment.yaml │ │ ├── functions.js │ │ ├── index.js │ │ ├── package.json │ │ ├── server │ │ │ └── server.js │ │ ├── service-account.yaml │ │ ├── service.yaml │ │ ├── test │ │ │ ├── server-unix.test.js │ │ │ └── server.test.js │ │ └── views │ │ │ └── index.pug │ └── mysql2 │ │ ├── Dockerfile │ │ ├── README.md │ │ ├── app.flexible.yaml │ │ ├── app.standard.yaml │ │ ├── ci-setup.json │ │ ├── connect-connector-auto-iam-authn.js │ │ ├── connect-connector.js │ │ ├── connect-tcp.js │ │ ├── connect-unix.js │ │ ├── deployment.yaml │ │ ├── functions.js │ │ ├── index.js │ │ ├── package.json │ │ ├── server │ │ └── server.js │ │ ├── service-account.yaml │ │ ├── service.yaml │ │ ├── test │ │ └── server.test.js │ │ └── views │ │ └── index.pug ├── postgres │ └── knex │ │ ├── Dockerfile │ │ ├── README.md │ │ ├── app.flexible.yaml │ │ ├── app.standard.yaml │ │ ├── certs │ │ └── .gitkeep │ │ ├── ci-setup.json │ │ ├── connect-connector-with-iam-authn.js │ │ ├── connect-connector.js │ │ ├── connect-tcp.js │ │ ├── connect-unix.js │ │ ├── deployment.yaml │ │ ├── functions.js │ │ ├── index.js │ │ ├── package.json │ │ ├── server │ │ └── server.js │ │ ├── service-account.yaml │ │ ├── service.yaml │ │ ├── test │ │ └── server.test.js │ │ └── views │ │ └── index.pug └── sqlserver │ ├── mssql │ ├── Dockerfile │ ├── README.md │ ├── app.flexible.yaml │ ├── app.standard.yaml │ ├── ci-setup.json │ ├── connect-tcp.js │ ├── deployment.yaml │ ├── functions.js │ ├── index.js │ ├── package.json │ ├── server │ │ └── server.js │ ├── service-account.yaml │ ├── service.yaml │ ├── test │ │ └── server.test.js │ └── views │ │ └── index.pug │ └── tedious │ ├── Dockerfile │ ├── README.md │ ├── app.flexible.yaml │ ├── app.standard.yaml │ ├── connect-connector.js │ ├── connect-tcp.js │ ├── deployment.yaml │ ├── index.js │ ├── package.json │ ├── server │ └── server.js │ ├── service-account.yaml │ ├── service.yaml │ ├── tedious-helper.js │ ├── test │ └── server.test.js │ └── views │ └── index.pug ├── cloud-tasks ├── snippets │ ├── Dockerfile │ ├── app.yaml │ ├── createHttpTask.js │ ├── createHttpTaskWithToken.js │ ├── createQueue.js │ ├── createTask.js │ ├── deleteQueue.js │ ├── listQueues.js │ ├── package.json │ ├── quickstart.js │ ├── server.js │ └── test │ │ └── test.samples.js └── tutorial-gcf │ ├── README.md │ ├── app │ ├── app.yaml │ ├── createTask.js │ ├── index.html │ ├── index.js │ ├── package.json │ ├── static │ │ └── index.css │ └── test │ │ └── create_task.test.js │ └── function │ ├── index.js │ ├── package.json │ └── test │ └── index.test.js ├── cloudbuild ├── listBuildTriggers.js ├── package.json ├── quickstart.js └── system-test │ ├── .eslintrc.yml │ └── samples.js ├── composer ├── README.md ├── composer_transform_csv_to_json.js ├── functions │ └── composer-storage-trigger │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ └── index.test.js ├── package.json └── test │ └── composer_transform_csv_to_json.test.js ├── compute ├── create-instance-templates │ ├── createRegionalTemplate.js │ ├── createTemplate.js │ ├── createTemplateFromInstance.js │ ├── createTemplateWithSubnet.js │ ├── deleteInstanceTemplate.js │ ├── deleteRegionalTemplate.js │ ├── getInstanceTemplate.js │ ├── getRegionalTemplate.js │ └── listInstanceTemplates.js ├── createInstance.js ├── createInstanceFromTemplate.js ├── createInstanceFromTemplateWithOverrides.js ├── createInstanceWithLocalSSD.js ├── custom-hostname-instance │ ├── createInstanceWithCustomHostname.js │ └── getInstanceHostname.js ├── deleteInstance.js ├── disks │ ├── attachRegionalDisk.js │ ├── consistencyGroups │ │ ├── consistencyGroupAddDisk.js │ │ ├── consistencyGroupClone.js │ │ ├── consistencyGroupDisksList.js │ │ ├── consistencyGroupRemoveDisk.js │ │ ├── createConsistencyGroup.js │ │ ├── deleteConsistencyGroup.js │ │ └── stopReplication.js │ ├── createComputeHyperdisk.js │ ├── createComputeHyperdiskFromPool.js │ ├── createComputeHyperdiskPool.js │ ├── createCustomSecondaryDisk.js │ ├── createDiskFromSnapshot.js │ ├── createRegionalReplicatedDisk.js │ ├── createRegionalSecondaryDisk.js │ ├── createZonalSecondaryDisk.js │ ├── deleteDisk.js │ ├── setDiskAutodelete.js │ ├── startReplication.js │ └── stopReplication.js ├── firewall │ ├── createFirewallRule.js │ ├── deleteFirewallRule.js │ ├── listFirewallRules.js │ └── patchFirewallPriority.js ├── getInstance.js ├── getUsageExportBucket.js ├── instances │ ├── create-start-instance │ │ ├── createInstanceFromCustomImage.js │ │ ├── createInstanceFromSnapshot.js │ │ ├── createInstanceReplicatedBootDisk.js │ │ ├── createInstanceWithAdditionalDisk.js │ │ ├── createInstanceWithExistingDisks.js │ │ └── createInstanceWithSubnet.js │ ├── custom-machine-type │ │ ├── createWithHelper.js │ │ ├── createWithoutHelper.js │ │ ├── extraMemWithoutHelper.js │ │ ├── helperClass.js │ │ └── updateMemory.js │ ├── preemptible │ │ ├── createPreemptible.js │ │ ├── preemptionHistory.js │ │ └── printPreemptible.js │ ├── preventing-accidental-vm-deletion │ │ ├── createInstance.js │ │ ├── getDeleteProtection.js │ │ └── setDeleteProtection.js │ ├── suspend-resume │ │ ├── resume.js │ │ └── suspend.js │ └── windows │ │ ├── creating-managing-windows-instances │ │ ├── createWindowsServerInstanceExternalIP.js │ │ └── createWindowsServerInstanceInternalIP.js │ │ └── creatingWindowsOSImage.js ├── listAllInstances.js ├── listImages.js ├── listImagesByPage.js ├── listInstances.js ├── mailjet.js ├── package.json ├── reservations │ ├── createInstanceToConsumeAnyReservation.js │ ├── createInstanceToConsumeSingleProjectReservation.js │ ├── createInstanceToNotConsumeReservation.js │ ├── createReservationFromProperties.js │ ├── createReservationFromVM.js │ ├── createReservationInstanceTemplate.js │ ├── createSharedReservation.js │ ├── createTemplateToNotConsumeReservation.js │ ├── deleteReservation.js │ ├── getReservation.js │ ├── getReservations.js │ └── reservationVmsUpdate.js ├── resetInstance.js ├── sendgrid.js ├── setUsageExportBucket.js ├── snapshotSchedule │ ├── createSnapshotSchedule.js │ ├── deleteSnapshotSchedule.js │ ├── editSnapshotSchedule.js │ └── getSnapshotSchedule.js ├── snapshots │ ├── createSnapshot.js │ └── deleteSnapshot.js ├── startInstance.js ├── startInstanceWithEncKey.js ├── stopInstance.js ├── test │ ├── .eslintrc │ ├── consistencyGroup.test.js │ ├── consistencyGroupClone.test.js │ ├── consumeReservations.test.js │ ├── createComputeHyperdisk.test.js │ ├── createComputeHyperdiskFromPool.test.js │ ├── createCustomSecondaryDisk.test.js │ ├── createInstanceReplicatedBootDisk.test.js │ ├── createInstanceTemplates.test.js │ ├── createRegionalSecondaryDisk.test.js │ ├── createReservationFromVM.test.js │ ├── createReservationGlobalInstanceTemplate.test.js │ ├── createReservationRegionalInstanceTemplate.test.js │ ├── createStartInstance.test.js │ ├── creatingManagingWindows.test.js │ ├── creatingWindowsOSImage.test.js │ ├── customHostnameInstance.test.js │ ├── customMachineType.test.js │ ├── disks.test.js │ ├── mailjet.test.js │ ├── preemptible.test.js │ ├── preventAccidentalVMDeletion.test.js │ ├── regionalTemplate.test.js │ ├── replicatedDisk.test.js │ ├── reservations.test.js │ ├── samples.test.js │ ├── sendgrid.test.js │ ├── sharedReservation.test.js │ ├── snapshotSchedule.test.js │ ├── snapshots.test.js │ ├── stopReplication.test.js │ ├── suspendResume.test.js │ ├── util.js │ └── zonalSecondaryDisk.test.js └── waitForOperation.js ├── contact-center-insights ├── createAnalysis.js ├── createConversation.js ├── createConversationWithTtl.js ├── createIssueModel.js ├── createPhraseMatcherAllOf.js ├── createPhraseMatcherAnyOf.js ├── enablePubSubNotifications.js ├── exportToBigquery.js ├── getOperation.js ├── package.json ├── setProjectTtl.js └── test │ ├── createAnalysis.test.js │ ├── createConversation.test.js │ ├── createConversationWithTtl.test.js │ ├── createIssueModel.test.js │ ├── createPhraseMatcherAllOf.test.js │ ├── createPhraseMatcherAnyOf.test.js │ ├── enablePubSubNotifications.test.js │ ├── exportToBigquery.test.js │ ├── getOperation.test.js │ └── setProjectTtl.test.js ├── container-analysis └── snippets │ ├── .eslintrc.yml │ ├── createNote.js │ ├── createOccurrence.js │ ├── deleteNote.js │ ├── deleteOccurrence.js │ ├── getDiscoveryInfo.js │ ├── getNote.js │ ├── getOccurrence.js │ ├── highVulnerabilitiesForImage.js │ ├── occurrencePubSub.js │ ├── occurrencesForImage.js │ ├── occurrencesForNote.js │ ├── package.json │ ├── pollDiscoveryOccurrenceFinished.js │ ├── quickstart.js │ ├── test │ ├── .eslintrc.yml │ ├── containerAnalysis.test.js │ ├── tests.js │ └── util.js │ └── vulnerabilityOccurrencesForImage.js ├── container ├── package.json ├── quickstart.js └── system-test │ └── quicktest.test.js ├── datacatalog ├── README.md ├── cloud-client │ ├── README.md │ ├── createEntryGroup.js │ ├── createFilesetEntry.js │ ├── lookupEntry.js │ ├── package.json │ └── system-test │ │ ├── createEntryGroup.test.js │ │ ├── createFilesetEntry.test.js │ │ └── lookupEntry.test.js ├── quickstart │ ├── createFilesetEntry.js │ ├── deleteFilesetEntry.js │ ├── package.json │ └── system-test │ │ ├── createFilesetEntry.test.js │ │ └── deleteFilesetEntry.test.js └── snippets │ ├── .eslintrc.yml │ ├── createCustomEntry.js │ ├── createFileset.js │ ├── grantTagTemplateUserRole.js │ ├── package.json │ ├── policyTagManager │ ├── createPolicyTag.js │ ├── createTaxonomy.js │ ├── deleteTaxonomy.js │ ├── getTaxonomy.js │ └── listTaxonomies.js │ ├── quickstart.js │ ├── searchAssets.js │ └── test │ ├── .eslintrc.yml │ ├── quickstart.test.js │ └── samples.test.js ├── datalabeling ├── .eslintrc.yml ├── README.md ├── package.json ├── quickstart.js └── test │ └── test.js ├── dataproc ├── .eslintrc.yml ├── createCluster.js ├── instantiateInlineWorkflowTemplate.js ├── package.json ├── quickstart.js ├── submitJob.js └── system-test │ ├── createCluster.test.js │ ├── instantiateInlineWorkflowTemplate.test.js │ ├── quickstart.test.js │ ├── submitJob.test.js │ └── util.js ├── datastore └── functions │ ├── README.md │ ├── index.js │ ├── package.json │ └── test │ └── index.test.js ├── dialogflow-cx ├── configure-webhook-to-set-form-parameter-as-optional-or-required.js ├── create-agent.js ├── create-page.js ├── delete-page.js ├── detect-intent-audio.js ├── detect-intent-disabled-webhook.js ├── detect-intent-event.js ├── detect-intent-streaming.js ├── detect-intent-synthesize-tts-response.js ├── detect-intent-text.js ├── detect-intent-with-intent-input.js ├── detect-intent-with-sentiment-analysis.js ├── list-intents.js ├── list-page.js ├── list-testcase-results.js ├── long-running-operation.js ├── package.json ├── quickstart.js ├── resources │ ├── audio.raw │ ├── book_a_room.wav │ └── output.wav ├── streaming-detect-intent-partial-response.js ├── test │ ├── configure-webhook-to-set-form-parameter-as-optional-or-required.js │ ├── create-agent.test.js │ ├── detect-intent-audio.test.js │ ├── detect-intent-disabled-webhook-test.js │ ├── detect-intent-event-test.js │ ├── detect-intent-sentiment-analysis-test.js │ ├── detect-intent-synthesize-tts-response-test.js │ ├── detect-intent-text.test.js │ ├── detect-intent-with-intent-input-test.js │ ├── list-intents.test.js │ ├── list_testcase-results.test.js │ ├── long-running-operation.test.js │ ├── page-management.test.js │ ├── quickstart.test.js │ ├── streaming-detect-intent-partial-response-test.js │ ├── update-intent.test.js │ ├── webhook-configure-session-parameters.test.js │ ├── webhook-validate-form-parameter.test.js │ └── webhook.test.js ├── update-intent.js ├── webhook-configure-session-parameters.js ├── webhook-validate-form-parameter.js └── webhooks.js ├── dialogflow ├── .gitignore ├── create-intent.js ├── detect-intent-TTS-response.v2.js ├── detect-intent-sentiment.v2.js ├── detect.js ├── detect.v2beta1.js ├── list-intents.js ├── listTrainingPhrases.js ├── package.json ├── resource.js ├── resources │ ├── 230pm.wav │ ├── RoomReservation.zip │ ├── book_a_room.wav │ ├── half_an_hour.wav │ ├── mountain_view.wav │ ├── output.wav │ ├── today.wav │ └── two_people.wav ├── set-agent.js ├── system-test │ ├── create-document.v2beta1.test.js │ ├── create-intent.test.js │ ├── create-knowledge-base.v2beta1.test.js │ ├── create-session-entity-type.test.js │ ├── delete-intent.test.js │ ├── delete-session-entity-type.test.js │ ├── detect.test.js │ ├── detect.v2beta1.test.js │ ├── list-session-entity-types.test.js │ ├── listTrainingPhrases.test.js │ ├── set-agent.test.js │ ├── update-intent.test.js │ ├── util.js │ └── webhook.test.js ├── update-intent.js └── webhook.js ├── discoveryengine ├── .eslintrc.yml ├── package.json ├── search.js └── test │ ├── .eslintrc.yml │ └── search.test.js ├── dlp ├── .eslintrc.yml ├── .gitignore ├── categoricalRiskAnalysis.js ├── createInspectTemplate.js ├── createJob.js ├── createStoredInfoType.js ├── createTrigger.js ├── deIdentifyCloudStorage.js ├── deIdentifyTableBucketing.js ├── deIdentifyTableConditionInfoTypes.js ├── deIdentifyTableConditionMasking.js ├── deIdentifyTableInfoTypes.js ├── deIdentifyTableRowSuppress.js ├── deIdentifyTableWithBucketingConfig.js ├── deIdentifyTableWithCryptoHash.js ├── deIdentifyTableWithFpe.js ├── deIdentifyTableWithMultipleCryptoHash.js ├── deIdentifyWithExceptionList.js ├── deIdentifyWithRedaction.js ├── deIdentifyWithReplaceInfoType.js ├── deIdentifyWithSimpleWordList.js ├── deidentifyWithDateShift.js ├── deidentifyWithDeterministic.js ├── deidentifyWithDictionaryReplacement.js ├── deidentifyWithFpe.js ├── deidentifyWithFpeSurrogate.js ├── deidentifyWithMask.js ├── deidentifyWithReplacement.js ├── deidentifyWithTimeExtraction.js ├── deleteInspectTemplate.js ├── deleteJob.js ├── deleteTrigger.js ├── getJob.js ├── inspectBigQuery.js ├── inspectBigQueryTableWithSampling.js ├── inspectBigquerySendToScc.js ├── inspectDataToHybridJobTrigger.js ├── inspectDatastore.js ├── inspectDatastoreSendToScc.js ├── inspectFile.js ├── inspectGCSFile.js ├── inspectGcsFileWithSampling.js ├── inspectGcsSendToScc.js ├── inspectImageFile.js ├── inspectImageFileAllInfoTypes.js ├── inspectImageFileListedInfoTypes.js ├── inspectPhoneNumber.js ├── inspectString.js ├── inspectStringAugmentInfoType.js ├── inspectStringCustomExcludingSubstring.js ├── inspectStringCustomHotword.js ├── inspectStringCustomOmitOverlap.js ├── inspectStringMultipleRules.js ├── inspectStringOmitOverlap.js ├── inspectStringRep.js ├── inspectStringWithExclusionDict.js ├── inspectStringWithExclusionDictSubstring.js ├── inspectStringWithExclusionRegex.js ├── inspectStringWithoutOverlap.js ├── inspectTable.js ├── inspectWithCustomHotwords.js ├── inspectWithCustomRegex.js ├── inspectWithHotwordRules.js ├── inspectWithStoredInfotype.js ├── kAnonymityAnalysis.js ├── kAnonymityWithEntityIds.js ├── kMapEstimationAnalysis.js ├── lDiversityAnalysis.js ├── listInspectTemplates.js ├── listJobs.js ├── listTriggers.js ├── metadata.js ├── numericalRiskAnalysis.js ├── package.json ├── quickstart.js ├── redactImage.js ├── redactImageFileAllInfoTypes.js ├── redactImageFileAllText.js ├── redactImageFileColoredInfoTypes.js ├── redactImageFileListedInfoTypes.js ├── redactText.js ├── reidentifyTableWithFpe.js ├── reidentifyTextWithFpe.js ├── reidentifyWithDeterministic.js ├── reidentifyWithFpe.js ├── reidentifyWithFpeSurrogate.js ├── resources │ ├── accounts.txt │ ├── dates.csv │ ├── harmless.txt │ ├── test.png │ └── test.txt ├── system-test │ ├── deid.test.js │ ├── inspect.test.js │ ├── jobs.test.js │ ├── metadata.test.js │ ├── mockdata.js │ ├── quickstart.test.js │ ├── redact.test.js │ ├── resources │ │ ├── date-shift-context.expected.csv │ │ ├── redact-all-info-type.expected.png │ │ ├── redact-all-text.expected.png │ │ ├── redact-colored-info-type.expected.png │ │ ├── redact-multiple-types.expected.png │ │ ├── redact-single-type.expected.png │ │ └── test.txt │ ├── risk.test.js │ ├── temp.result.csv │ ├── templates.test.js │ └── triggers.test.js ├── updateStoredInfoType.js └── updateTrigger.js ├── document-ai ├── .eslintrc.yml ├── batch-process-document.js ├── package.json ├── process-document-form.js ├── process-document-ocr.js ├── process-document-quality.js ├── process-document-specialized.js ├── process-document-splitter.js ├── process-document.js ├── resources │ ├── document_quality_poor.pdf │ ├── handwritten_form.pdf │ ├── invoice.pdf │ ├── multi_document.pdf │ └── us_driver_license.pdf └── test │ ├── .eslintrc.yml │ ├── batch-process-document.test.js │ ├── process-document-form.test.js │ ├── process-document-ocr.test.js │ ├── process-document-quality.test.js │ ├── process-document-specialized.test.js │ ├── process-document-splitter.test.js │ └── process-document.test.js ├── document-warehouse ├── .eslintrc.yml ├── create-document-schema.js ├── delete-document-schema.js ├── fetch-acl.js ├── get-document-schema.js ├── get-document.js ├── package.json ├── quickstart.js ├── search-document.js ├── set-acl.js └── test │ ├── .eslintrc.yml │ ├── document-schema.test.js │ └── document.test.js ├── endpoints ├── getting-started-grpc │ ├── .dockerignore │ ├── Dockerfile │ ├── README.md │ ├── api_config.jwt.yaml │ ├── api_config.key.yaml │ ├── client.js │ ├── deployment.yaml │ ├── http_deployment.yaml │ ├── package.json │ ├── protos │ │ ├── helloworld.proto │ │ └── http_helloworld.proto │ ├── server.js │ └── system-test │ │ └── endpoints.test.js └── getting-started │ ├── Dockerfile.custom │ ├── README.md │ ├── app.js │ ├── app.yaml │ ├── deployment.yaml │ ├── openapi-appengine.yaml │ ├── openapi.yaml │ ├── package.json │ └── test │ └── app.test.js ├── error-reporting ├── .eslintrc.yml ├── explicitSetup.js ├── express.js ├── implicitSetup.js ├── manual.js ├── package.json ├── quickstart.js └── test │ └── snippets.test.js ├── eventarc ├── audit-storage │ ├── .dockerignore │ ├── Dockerfile │ ├── README.md │ ├── app.js │ ├── ci-setup.json │ ├── index.js │ ├── package.json │ └── test │ │ ├── app.test.js │ │ ├── deploy.sh │ │ ├── runner.sh │ │ ├── system.test.js │ │ └── url.sh ├── generic │ ├── .dockerignore │ ├── Dockerfile │ ├── app.js │ ├── index.js │ ├── package.json │ └── test │ │ ├── app.test.js │ │ ├── deploy.sh │ │ ├── runner.sh │ │ ├── system.test.js │ │ └── url.sh └── pubsub │ ├── .dockerignore │ ├── Dockerfile │ ├── README.md │ ├── app.js │ ├── ci-setup.json │ ├── index.js │ ├── package.json │ └── test │ ├── app.test.js │ ├── deploy.sh │ ├── runner.sh │ ├── system.test.js │ └── url.sh ├── functions ├── README.md ├── billing │ ├── .gcloudignore │ ├── index.js │ ├── package.json │ └── test │ │ ├── index.test.js │ │ └── periodic.test.js ├── ci_cd │ └── cloudbuild.yaml ├── concepts │ ├── afterResponse │ │ ├── index.js │ │ └── package.json │ ├── afterTimeout │ │ ├── index.js │ │ └── package.json │ ├── backgroundTermination │ │ ├── index.js │ │ └── package.json │ ├── filesystem │ │ ├── index.js │ │ └── package.json │ ├── httpTermination │ │ ├── index.js │ │ └── package.json │ ├── package.json │ ├── requests │ │ ├── index.js │ │ └── package.json │ └── stateless │ │ ├── index.js │ │ └── package.json ├── env_vars │ ├── README.md │ ├── index.js │ ├── package.json │ └── test │ │ └── index.test.js ├── firebase │ ├── .gcloudignore │ ├── helloAnalytics │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.test.js │ ├── helloAuth │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.test.js │ ├── helloFirestore │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.test.js │ ├── helloRTDB │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.test.js │ ├── helloRemoteConfig │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.test.js │ ├── makeUpperCase │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.test.js │ └── package.json ├── helloworld │ ├── .gcloudignore │ ├── README.md │ ├── helloError │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.test.js │ ├── helloGCS │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ ├── sample.integration.storage.test.js │ │ │ ├── sample.system.storage.test.js │ │ │ ├── sample.unit.storage.test.js │ │ │ └── test.txt │ ├── helloPubSub │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ ├── sample.integration.pubsub.test.js │ │ │ ├── sample.system.pubsub.test.js │ │ │ └── sample.unit.pubsub.test.js │ ├── helloworldGet │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.test.js │ ├── helloworldHttp │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ ├── index.test.js │ │ │ ├── sample.integration.http.test.js │ │ │ ├── sample.system.http.test.js │ │ │ └── sample.unit.http.test.js │ └── package.json ├── http │ ├── .gcloudignore │ ├── README.md │ ├── corsEnabledFunction │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.test.js │ ├── corsEnabledFunctionAuth │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.test.js │ ├── httpContent │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.test.js │ ├── httpMethods │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.test.js │ ├── package.json │ ├── parseXML │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.test.js │ └── uploadFile │ │ ├── README.md │ │ ├── index.js │ │ └── package.json ├── imagemagick │ ├── README.md │ ├── ci-setup.json │ ├── index.js │ ├── package.json │ ├── test │ │ └── index.test.js │ └── zombie.jpg ├── log │ ├── .gcloudignore │ ├── README.md │ ├── helloWorld │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.test.js │ ├── package.json │ └── processEntry │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ └── index.test.js ├── memorystore │ └── redis │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ └── index.test.js ├── ocr │ ├── .gitignore │ ├── README.md │ ├── app │ │ ├── .gcloudignore │ │ ├── ci-setup.json │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.test.js │ └── images │ │ ├── menu.jpg │ │ └── sign.png ├── pubsub │ ├── README.md │ ├── package.json │ ├── publish │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.test.js │ └── subscribe │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ └── index.test.js ├── scheduleinstance │ ├── README.md │ ├── index.js │ ├── package.json │ └── test │ │ └── index.test.js ├── security │ ├── index.js │ ├── package.json │ └── test │ │ └── index.test.js ├── slack │ ├── .gcloudignore │ ├── .gitignore │ ├── README.md │ ├── config.default.json │ ├── index.js │ ├── package.json │ └── test │ │ ├── integration.test.js │ │ └── unit.test.js ├── spanner │ ├── index.js │ ├── package.json │ └── test │ │ └── index.test.js ├── tips │ ├── .gcloudignore │ ├── avoidInfiniteRetries │ │ ├── index.js │ │ └── package.json │ ├── connectionPools │ │ ├── index.js │ │ └── package.json │ ├── gcpApiCall │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.test.js │ ├── lazyGlobals │ │ ├── index.js │ │ └── package.json │ ├── package.json │ ├── retry │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.test.js │ └── scopeDemo │ │ ├── computations.js │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ └── index.test.js └── v2 │ ├── .gitignore │ ├── autoLabelInstance │ ├── index.js │ ├── package.json │ └── test │ │ ├── index.test.js │ │ └── system.test.js │ ├── cloudEventLogging │ ├── index.js │ ├── package.json │ └── test │ │ └── index.test.js │ ├── firebase │ ├── firestore │ │ ├── helloFirestore │ │ │ ├── data.proto │ │ │ ├── google │ │ │ │ ├── protobuf │ │ │ │ │ ├── struct.proto │ │ │ │ │ └── timestamp.proto │ │ │ │ └── type │ │ │ │ │ └── latlng.proto │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── test │ │ │ │ └── index.test.js │ │ └── makeUpperCase │ │ │ ├── data.proto │ │ │ ├── google │ │ │ ├── protobuf │ │ │ │ ├── struct.proto │ │ │ │ └── timestamp.proto │ │ │ └── type │ │ │ │ └── latlng.proto │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── test │ │ │ └── index.test.js │ ├── remote-config │ │ └── helloRemoteConfig │ │ │ ├── .gcloudignore │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── test │ │ │ └── index.test.js │ └── rtdb │ │ └── helloRTDB │ │ ├── .gcloudignore │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ └── index.test.js │ ├── helloAuditLog │ ├── .gcloudignore │ ├── index.js │ ├── package.json │ └── test │ │ ├── integration.test.js │ │ └── unit.test.js │ ├── helloBigQuery │ ├── .gcloudignore │ ├── index.js │ ├── package.json │ └── test │ │ └── integration.test.js │ ├── helloGCS │ ├── .gcloudignore │ ├── index.js │ ├── package.json │ └── test │ │ ├── integration.test.js │ │ └── unit.test.js │ ├── helloPubSub │ ├── index.js │ ├── package.json │ └── test │ │ ├── integration.test.js │ │ └── unit.test.js │ ├── httpLogging │ ├── index.js │ ├── package.json │ └── test │ │ └── index.test.js │ ├── imagemagick │ ├── README.md │ ├── ci-setup.json │ ├── index.js │ ├── package.json │ ├── test │ │ ├── integration.test.js │ │ └── unit.test.js │ └── zombie.jpg │ ├── log │ └── processEntry │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ └── index.test.js │ ├── ocr │ ├── README.md │ ├── app │ │ ├── .gcloudignore │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── index.test.js │ └── images │ │ ├── menu.jpg │ │ └── sign.png │ ├── responseStreaming │ ├── index.js │ ├── package.json │ └── test │ │ └── index.test.js │ ├── tips │ ├── avoidInfiniteRetries │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ │ └── unit.test.js │ └── retry │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ ├── integration.test.js │ │ └── unit.test.js │ └── typed │ ├── googlechatbot │ ├── index.js │ ├── package.json │ └── test │ │ └── unit.test.js │ └── greeting │ ├── index.js │ ├── package.json │ └── test │ └── unit.test.js ├── genai ├── controlled-generation │ └── ctrlgen-with-enum-schema.js ├── count-tokens │ ├── counttoken-with-txt-vid.js │ └── counttoken-with-txt.js ├── image-generation │ └── imggen-mmflash-with-txt.js ├── package.json ├── test │ ├── counttoken-with-txt-vid.test.js │ ├── counttoken-with-txt.test.js │ ├── ctrlgen-with-enum-schema.test.js │ ├── imggen-mmflash-with-txt.test.js │ ├── textgen-sys-instr-with-txt.test.js │ ├── textgen-with-multi-img.test.js │ ├── textgen-with-txt-img.test.js │ ├── textgen-with-txt-stream.test.js │ ├── textgen-with-txt.test.js │ ├── textgen-with-video.test.js │ ├── tools-code-exec-with-txt.test.js │ └── tools-func-desc-with-txt.test.js ├── text-generation │ ├── textgen-sys-instr-with-txt.js │ ├── textgen-with-multi-img.js │ ├── textgen-with-txt-img.js │ ├── textgen-with-txt-stream.js │ ├── textgen-with-txt.js │ └── textgen-with-video.js └── tools │ ├── tools-code-exec-with-txt.js │ └── tools-func-desc-with-txt.js ├── generative-ai └── snippets │ ├── ci-setup.json │ ├── count-tokens │ ├── countTokens.js │ └── countTokensAdvanced.js │ ├── function-calling │ ├── functionCallingAdvanced.js │ ├── functionCallingBasic.js │ ├── functionCallingStreamChat.js │ └── functionCallingStreamContent.js │ ├── gemini-all-modalities.js │ ├── gemini-audio-summarization.js │ ├── gemini-audio-transcription.js │ ├── gemini-pdf.js │ ├── gemini-system-instruction.js │ ├── gemini-text-input.js │ ├── gemini-translate.js │ ├── gemini-video-audio.js │ ├── grounding │ ├── groundingPrivateDataBasic.js │ └── groundingPublicDataBasic.js │ ├── inference │ ├── nonStreamMultiModalityBasic.js │ ├── nonStreamTextBasic.js │ ├── streamMultiModalityBasic.js │ └── streamTextBasic.js │ ├── nonStreamingChat.js │ ├── nonStreamingContent.js │ ├── nonStreamingMultipartContent.js │ ├── package.json │ ├── safetySettings.js │ ├── sendMultiModalPromptWithImage.js │ ├── sendMultiModalPromptWithVideo.js │ ├── streamChat.js │ ├── streamContent.js │ ├── streamMultipartContent.js │ └── test │ ├── count-tokens │ ├── countTokens.test.js │ └── countTokensAdvanced.test.js │ ├── function-calling │ ├── functionCallingAdvanced.test.js │ ├── functionCallingBasic.test.js │ ├── functionCallingStreamChat.test.js │ └── functionCallingStreamContent.test.js │ ├── gemini-all-modalities.test.js │ ├── gemini-audio-summarization.test.js │ ├── gemini-audio-transcription.test.js │ ├── gemini-pdf.test.js │ ├── gemini-system-instruction.test.js │ ├── gemini-text-input.test.js │ ├── gemini-translate.test.js │ ├── gemini-video-audio.test.js │ ├── grounding │ ├── groundingPrivateDataBasic.test.js │ └── groundingPublicDataBasic.test.js │ ├── inference │ ├── nonStreamMultiModalityBasic.test.js │ ├── nonStreamTextBasic.test.js │ ├── streamMultiModalityBasic.test.js │ └── streamTextBasic.test.js │ ├── nonStreamingChat.test.js │ ├── nonStreamingContent.test.js │ ├── nonStreamingMultipartContent.test.js │ ├── safetySettings.test.js │ ├── sendMultiModalPromptWithImage.test.js │ ├── sendMultiModalPromptWithVideo.test.js │ ├── streamChat.test.js │ ├── streamContent.test.js │ └── streamMultipartContent.test.js ├── healthcare ├── consent │ ├── README.md │ ├── createConsentStore.js │ ├── deleteConsentStore.js │ ├── getConsentStore.js │ ├── getConsentStoreIamPolicy.js │ ├── listConsentStores.js │ ├── package.json │ ├── patchConsentStore.js │ ├── setConsentStoreIamPolicy.js │ └── system-test │ │ └── consent_stores.test.js ├── datasets │ ├── README.md │ ├── createDataset.js │ ├── deidentifyDataset.js │ ├── deleteDataset.js │ ├── getDataset.js │ ├── getDatasetIamPolicy.js │ ├── listDatasets.js │ ├── package.json │ ├── patchDataset.js │ ├── setDatasetIamPolicy.js │ └── system-test │ │ └── datasets.test.js ├── dicom │ ├── README.md │ ├── ci-setup.json │ ├── createDicomStore.js │ ├── deleteDicomStore.js │ ├── dicomWebDeleteStudy.js │ ├── dicomWebRetrieveInstance.js │ ├── dicomWebRetrieveRendered.js │ ├── dicomWebRetrieveStudy.js │ ├── dicomWebSearchForInstances.js │ ├── dicomWebSearchStudies.js │ ├── dicomWebStoreInstance.js │ ├── exportDicomInstanceGcs.js │ ├── getDicomStore.js │ ├── getDicomStoreIamPolicy.js │ ├── importDicomInstance.js │ ├── listDicomStores.js │ ├── package.json │ ├── patchDicomStore.js │ ├── resources │ │ └── IM-0002-0001-JPEG-BASELINE.dcm │ ├── setDicomStoreIamPolicy.js │ └── system-test │ │ ├── dicom_stores.test.js │ │ └── dicomweb.test.js ├── fhir │ ├── README.md │ ├── createFhirResource.js │ ├── createFhirStore.js │ ├── deleteFhirResource.js │ ├── deleteFhirResourcePurge.js │ ├── deleteFhirStore.js │ ├── executeFhirBundle.js │ ├── exportFhirResources.js │ ├── getFhirResource.js │ ├── getFhirResourceHistory.js │ ├── getFhirStore.js │ ├── getFhirStoreCapabilities.js │ ├── getFhirStoreIamPolicy.js │ ├── getPatientEverything.js │ ├── importFhirResources.js │ ├── listFhirResourceHistory.js │ ├── listFhirStores.js │ ├── package.json │ ├── patchFhirResource.js │ ├── patchFhirStore.js │ ├── resources │ │ ├── bundle.json │ │ └── fhir_data.ndjson │ ├── searchFhirResourcesGet.js │ ├── searchFhirResourcesPost.js │ ├── setFhirStoreIamPolicy.js │ ├── system-test │ │ ├── fhir_resources.test.js │ │ └── fhir_stores.test.js │ └── updateFhirResource.js └── hl7v2 │ ├── README.md │ ├── createHl7v2Message.js │ ├── createHl7v2Store.js │ ├── deleteHl7v2Message.js │ ├── deleteHl7v2Store.js │ ├── getHl7v2Message.js │ ├── getHl7v2Store.js │ ├── getHl7v2StoreIamPolicy.js │ ├── ingestHl7v2Message.js │ ├── listHl7v2Messages.js │ ├── listHl7v2Stores.js │ ├── package.json │ ├── patchHl7v2Message.js │ ├── patchHl7v2Store.js │ ├── resources │ └── hl7v2-sample.json │ ├── setHl7v2StoreIamPolicy.js │ └── system-test │ ├── hl7v2_messages.test.js │ └── hl7v2_stores.test.js ├── iam └── deny │ ├── createDenyPolicy.js │ ├── deleteDenyPolicy.js │ ├── getDenyPolicy.js │ ├── listDenyPolicies.js │ ├── package.json │ ├── test │ └── deny.test.js │ └── updateDenyPolicy.js ├── kms ├── checkStateImportJob.js ├── checkStateImportedKey.js ├── createImportJob.js ├── createKeyAsymmetricDecrypt.js ├── createKeyAsymmetricSign.js ├── createKeyForImport.js ├── createKeyHsm.js ├── createKeyLabels.js ├── createKeyMac.js ├── createKeyRing.js ├── createKeyRotationSchedule.js ├── createKeySymmetricEncryptDecrypt.js ├── createKeyVersion.js ├── decryptAsymmetric.js ├── decryptSymmetric.js ├── destroyKeyVersion.js ├── disableKeyVersion.js ├── enableKeyVersion.js ├── encryptAsymmetric.js ├── encryptSymmetric.js ├── generateRandomBytes.js ├── getKeyLabels.js ├── getKeyVersionAttestation.js ├── getPublicKey.js ├── iamAddMember.js ├── iamGetPolicy.js ├── iamRemoveMember.js ├── importManuallyWrappedKey.js ├── package.json ├── quickstart.js ├── restoreKeyVersion.js ├── signAsymmetric.js ├── signMac.js ├── test │ └── kms.test.js ├── updateKeyAddRotation.js ├── updateKeyRemoveLabels.js ├── updateKeyRemoveRotation.js ├── updateKeySetPrimary.js ├── updateKeyUpdateLabels.js ├── verifyAsymmetricEc.js ├── verifyAsymmetricRsa.js └── verifyMac.js ├── linkinator.config.json ├── media ├── livestream │ ├── createAsset.js │ ├── createChannel.js │ ├── createChannelEvent.js │ ├── createChannelWithBackupInput.js │ ├── createInput.js │ ├── deleteAsset.js │ ├── deleteChannel.js │ ├── deleteChannelEvent.js │ ├── deleteInput.js │ ├── getAsset.js │ ├── getChannel.js │ ├── getChannelEvent.js │ ├── getInput.js │ ├── getPool.js │ ├── listAssets.js │ ├── listChannelEvents.js │ ├── listChannels.js │ ├── listInputs.js │ ├── package.json │ ├── startChannel.js │ ├── stopChannel.js │ ├── test │ │ └── livestream.test.js │ ├── updateChannel.js │ ├── updateInput.js │ └── updatePool.js ├── transcoder │ ├── ci-setup.json │ ├── createJobFromAdHoc.js │ ├── createJobFromPreset.js │ ├── createJobFromPresetBatchMode.js │ ├── createJobFromTemplate.js │ ├── createJobTemplate.js │ ├── createJobWithAnimatedOverlay.js │ ├── createJobWithConcatenatedInputs.js │ ├── createJobWithEmbeddedCaptions.js │ ├── createJobWithPeriodicImagesSpritesheet.js │ ├── createJobWithSetNumberImagesSpritesheet.js │ ├── createJobWithStandaloneCaptions.js │ ├── createJobWithStaticOverlay.js │ ├── deleteJob.js │ ├── deleteJobTemplate.js │ ├── getJob.js │ ├── getJobState.js │ ├── getJobTemplate.js │ ├── listJobTemplates.js │ ├── listJobs.js │ ├── package.json │ ├── test │ │ └── transcoder.test.js │ └── testdata │ │ ├── ChromeCast.mp4 │ │ ├── ForBiggerEscapes.mp4 │ │ ├── ForBiggerJoyrides.mp4 │ │ ├── caption.srt │ │ ├── captions.srt │ │ ├── overlay.jpg │ │ ├── subtitles-en.srt │ │ └── subtitles-es.srt └── video-stitcher │ ├── createCdnKey.js │ ├── createCdnKeyAkamai.js │ ├── createLiveConfig.js │ ├── createLiveSession.js │ ├── createSlate.js │ ├── createVodConfig.js │ ├── createVodSession.js │ ├── deleteCdnKey.js │ ├── deleteLiveConfig.js │ ├── deleteSlate.js │ ├── deleteVodConfig.js │ ├── getCdnKey.js │ ├── getLiveAdTagDetail.js │ ├── getLiveConfig.js │ ├── getLiveSession.js │ ├── getSlate.js │ ├── getVodAdTagDetail.js │ ├── getVodConfig.js │ ├── getVodSession.js │ ├── getVodStitchDetail.js │ ├── listCdnKeys.js │ ├── listLiveAdTagDetails.js │ ├── listLiveConfigs.js │ ├── listSlates.js │ ├── listVodAdTagDetails.js │ ├── listVodConfigs.js │ ├── listVodStitchDetails.js │ ├── package.json │ ├── test │ └── stitcher.test.js │ ├── updateCdnKey.js │ ├── updateCdnKeyAkamai.js │ ├── updateSlate.js │ └── updateVodConfig.js ├── mediatranslation ├── README.md ├── package.json ├── quickstart.js ├── resources │ └── audio.raw ├── test │ ├── quickstart.test.js │ └── translate_from_file.test.js ├── translate_from_file.js └── translate_from_mic.js ├── memorystore └── redis │ ├── .gcloudignore │ ├── README.md │ ├── cloud_run_deployment │ └── Dockerfile │ ├── gae_flex_deployment │ └── app.yaml │ ├── gae_standard_deployment │ └── app.yaml │ ├── gce_deployment │ ├── deploy.sh │ ├── startup-script.sh │ └── teardown.sh │ ├── gke_deployment │ ├── Dockerfile │ └── visit-counter.yaml │ ├── package.json │ └── server.js ├── model-armor ├── package.json ├── snippets │ ├── createTemplate.js │ ├── createTemplateWithAdvancedSdp.js │ ├── createTemplateWithBasicSdp.js │ ├── createTemplateWithLabels.js │ ├── createTemplateWithMetadata.js │ ├── deleteTemplate.js │ ├── getTemplate.js │ ├── listTemplates.js │ ├── listTemplatesWithFilter.js │ ├── quickstart.js │ ├── sanitizeModelResponse.js │ ├── sanitizeModelResponseWithUserPrompt.js │ ├── sanitizeUserPrompt.js │ ├── screenPdfFile.js │ ├── updateTemplate.js │ ├── updateTemplateLabels.js │ ├── updateTemplateMetadata.js │ └── updateTemplateWithMaskConfiguration.js └── test │ ├── .eslintrc.yml │ ├── modelarmor.test.js │ └── test_sample.pdf ├── monitoring ├── prometheus │ ├── README.md │ ├── app.js │ ├── package.json │ └── system-test │ │ └── app.test.js └── snippets │ ├── .eslintrc.yml │ ├── .gitignore │ ├── alerts.backupPolicies.js │ ├── alerts.deleteChannels.js │ ├── alerts.enablePolicies.js │ ├── alerts.listPolicies.js │ ├── alerts.replaceChannels.js │ ├── alerts.restorePolicies.js │ ├── metrics.createDescriptor.js │ ├── metrics.deleteDescriptor.js │ ├── metrics.getDescriptor.js │ ├── metrics.getMonitoredResourceDescriptor.js │ ├── metrics.listDescriptors.js │ ├── metrics.listMonitoredResourceDescriptors.js │ ├── metrics.readTimeSeriesAggregate.js │ ├── metrics.readTimeSeriesData.js │ ├── metrics.readTimeSeriesFields.js │ ├── metrics.readTimeSeriesReduce.js │ ├── metrics.writeTimeSeriesData.js │ ├── package.json │ ├── quickstart.js │ ├── test │ ├── alerts.test.js │ ├── metrics.test.js │ ├── quickstart.test.js │ └── uptime.test.js │ └── uptime.js ├── owlbot.py ├── package.json ├── parametermanager ├── README.md ├── createParam.js ├── createParamVersion.js ├── createParamVersionWithSecret.js ├── createParamWithKmsKey.js ├── createStructuredParam.js ├── createStructuredParamVersion.js ├── getParam.js ├── getParamVersion.js ├── listParamVersions.js ├── listParams.js ├── package.json ├── regional_samples │ ├── createRegionalParamWithKmsKey.js │ ├── removeRegionalParamKmsKey.js │ └── updateRegionalParamKmsKey.js ├── removeParamKmsKey.js ├── renderParamVersion.js ├── test │ ├── .eslintrc.yaml │ ├── .eslintrc.yml │ └── parametermanager.test.js └── updateParamKmsKey.js ├── pubsub └── README.md ├── recaptcha_enterprise ├── demosite │ ├── README.md │ ├── app │ │ ├── Dockerfile │ │ ├── config.properties │ │ ├── controllers │ │ │ └── controller.js │ │ ├── index.js │ │ ├── package.json │ │ ├── recaptcha │ │ │ └── createAssessment.js │ │ ├── routes.js │ │ ├── static │ │ │ ├── bad-1-927ec3bf.svg │ │ │ ├── bad-2-71e6d4a7.svg │ │ │ ├── bad-3-f11c185d.svg │ │ │ ├── bad-4-39e9c776.svg │ │ │ ├── bad-5-deb2ce2c.svg │ │ │ ├── bad-6-e41cdc46.svg │ │ │ ├── bad-7-d630f87b.svg │ │ │ ├── bad-morph-c2bb8f615fe93323.gif │ │ │ ├── castle-7575ab637e5138e2.svg │ │ │ ├── castle-alternate-7575ab637e5138e2.svg │ │ │ ├── celebrate-ece5a54e321ab2e7.png │ │ │ ├── demo-2af4c10e.js │ │ │ ├── demo-81d99a00.css │ │ │ ├── favicon-16x16-e9e3fe3130a875eb.png │ │ │ ├── favicon-32x32-e9e3fe3130a875eb.png │ │ │ ├── favicon-48x48-e9e3fe3130a875eb.png │ │ │ ├── favicon-e9e3fe3130a875eb.ico │ │ │ ├── fetti-896c2fdf.svg │ │ │ ├── fourSquares-de5c55d13d7de923.png │ │ │ ├── global-15fca5ccf020c02b.css │ │ │ ├── global-e680a49614fd8ff8.js │ │ │ ├── hover-13bd4972c72e1a52.gif │ │ │ ├── human-1-49800c7f.svg │ │ │ ├── human-2-acb91479.svg │ │ │ ├── human-3-c0227111.svg │ │ │ ├── human-4-10a52fcd.svg │ │ │ ├── human-5-8b3fbd2b.svg │ │ │ ├── human-6-0ba482b9.svg │ │ │ ├── hydrant-d11f08c8f1a631a3.svg │ │ │ ├── item-stoplight-53247b633eed5a85.svg │ │ │ ├── material-symbols-outlined-5a8e0f79.woff2 │ │ │ ├── material-symbols-rounded-c9a13ced.woff2 │ │ │ ├── poof-57ef02b2.png │ │ │ ├── prize-bike-ce3d17b0.svg │ │ │ ├── prize-crosswalk-c8a9609d.svg │ │ │ ├── prize-hydrant-d3f31a30.svg │ │ │ ├── prize-stoplight-60a1cd1a.svg │ │ │ └── target-594e0ee6.png │ │ └── templates │ │ │ ├── comment.html │ │ │ ├── home.html │ │ │ ├── login.html │ │ │ ├── signup.html │ │ │ └── store.html │ └── docker-compose.yaml └── snippets │ ├── package.json │ ├── passwordLeakAssessment.js │ ├── passwordLeakAssessment.ts │ ├── test │ └── test.passwordleak.ts │ └── tsconfig.json ├── renovate.json ├── retail ├── .mocharc.json ├── interactive-tutorials │ ├── README.md │ ├── events │ │ ├── import-user-events-big-query.js │ │ ├── import-user-events-gcs.js │ │ ├── import-user-events-inline.js │ │ ├── purge-user-events.js │ │ ├── rejoin-user-events.js │ │ └── write-user-event.js │ ├── product │ │ ├── add-fulfillment-places.js │ │ ├── create-product.js │ │ ├── crud-product.js │ │ ├── delete-product.js │ │ ├── get-product.js │ │ ├── get-products-list.js │ │ ├── import-products-big-query-table.js │ │ ├── import-products-gcs.js │ │ ├── import-products-inline-source.js │ │ ├── remove-fulfillment-places.js │ │ ├── set-inventory.js │ │ └── update-product.js │ ├── resources │ │ ├── events_schema.json │ │ ├── product_schema.json │ │ ├── products.json │ │ ├── products_some_invalid.json │ │ ├── user_events.json │ │ └── user_events_some_invalid.json │ ├── search │ │ ├── search-simple-query.js │ │ ├── search-with-boost-spec.js │ │ ├── search-with-facet-spec.js │ │ ├── search-with-filtering.js │ │ ├── search-with-ordering.js │ │ ├── search-with-pagination.js │ │ └── search-with-query-expansion-spec.js │ ├── setup │ │ ├── create-bigquery-table.js │ │ ├── create-gcs-bucket.js │ │ ├── delete-bigquery-table.js │ │ ├── delete-events-bigquery-table.js │ │ ├── delete-events-gcs-bucket.js │ │ ├── delete-gcs-bucket.js │ │ ├── events-create-bigquery-table.js │ │ ├── events-create-gcs-bucket.js │ │ ├── setup-cleanup.js │ │ └── update-user-events-json.js │ ├── test-resources-setup │ │ ├── TEST_RESOURCES_SETUP_CLEANUP.md │ │ ├── create-test-resources.js │ │ └── remove-test-resources.js │ ├── test │ │ ├── create-product.test.js │ │ ├── crud-product.test.js │ │ ├── delete-product.test.js │ │ ├── get-product.test.js │ │ ├── import-products-gcs.test.js │ │ ├── import-products-inline-source.test.js │ │ ├── import-user-events-big-query.test.js │ │ ├── import-user-events-gcs.test.js │ │ ├── import-user-events-inline.test.js │ │ ├── purge-user-events.test.js │ │ ├── rejoin-user-events.test.js │ │ ├── search-simple-query.test.js │ │ ├── search-with-boost-spec.test.js │ │ ├── search-with-facet-spec.test.js │ │ ├── search-with-filtering.test.js │ │ ├── search-with-ordering.test.js │ │ ├── search-with-pagination.test.js │ │ ├── search-with-query-expansion-spec.test.js │ │ ├── update-product.test.js │ │ └── write-user-event.test.js │ ├── user_environment_setup.sh │ └── user_import_data_to_catalog.sh ├── package.json ├── quickstart.js └── test │ └── quickstart.js ├── routeoptimization └── snippets │ ├── optimizeTours.js │ ├── package.json │ └── test │ └── optimizeTours.test.js ├── run ├── README.md ├── hello-broken │ ├── Dockerfile │ ├── README.md │ ├── index.js │ ├── package.json │ └── test │ │ ├── e2e_test_cleanup.yaml │ │ ├── e2e_test_setup.yaml │ │ ├── retry.sh │ │ └── system.test.js ├── helloworld │ ├── .dockerignore │ ├── .gcloudignore │ ├── Dockerfile │ ├── README.md │ ├── ci-setup.json │ ├── index.js │ ├── package.docs.json │ ├── package.json │ └── test │ │ ├── e2e_test_cleanup.yaml │ │ ├── e2e_test_setup.yaml │ │ ├── index.test.js │ │ ├── retry.sh │ │ └── system.test.js ├── idp-sql │ ├── .gitignore │ ├── Dockerfile │ ├── README.md │ ├── app.js │ ├── app.json │ ├── ci-setup.json │ ├── cloud-sql.js │ ├── handlebars.js │ ├── index.js │ ├── logging.js │ ├── middleware.js │ ├── package.json │ ├── postcreate.sh │ ├── postgres-secrets.json │ ├── secrets.js │ ├── setup.sh │ ├── static │ │ ├── .eslintrc.json │ │ ├── config.js │ │ └── firebase.js │ ├── test │ │ ├── app.test.js │ │ ├── e2e_test_cleanup.yaml │ │ ├── e2e_test_setup.yaml │ │ ├── retry.sh │ │ └── system.test.js │ └── views │ │ └── index.html ├── image-processing │ ├── .dockerignore │ ├── .gcloudignore │ ├── .gitignore │ ├── Dockerfile │ ├── README.md │ ├── app.js │ ├── image.js │ ├── index.js │ ├── package.json │ └── test │ │ ├── app.test.js │ │ ├── e2e_test_cleanup.yaml │ │ ├── e2e_test_setup.yaml │ │ ├── retry.sh │ │ ├── system.test.js │ │ └── zombie.jpg ├── jobs │ ├── .eslintrc.json │ ├── Procfile │ ├── README.md │ ├── index.js │ ├── package.docs.json │ ├── package.json │ └── test │ │ ├── e2e_test_cleanup.yaml │ │ ├── e2e_test_setup.yaml │ │ ├── index.test.js │ │ ├── retry.sh │ │ └── system.test.js ├── logging-manual │ ├── .dockerignore │ ├── .gcloudignore │ ├── Dockerfile │ ├── README.md │ ├── app.js │ ├── index.js │ ├── metadata.js │ ├── package.json │ └── test │ │ ├── e2e_test_cleanup.yaml │ │ ├── e2e_test_setup.yaml │ │ ├── retry.sh │ │ └── system.test.js ├── markdown-preview │ ├── README.md │ ├── editor │ │ ├── Dockerfile │ │ ├── app.js │ │ ├── ci-setup.json │ │ ├── index.js │ │ ├── package.json │ │ ├── render.js │ │ ├── templates │ │ │ ├── index.html │ │ │ └── markdown.md │ │ └── test │ │ │ ├── app.test.js │ │ │ ├── e2e_test_cleanup.yaml │ │ │ ├── e2e_test_setup.yaml │ │ │ ├── retry.sh │ │ │ └── system.test.js │ └── renderer │ │ ├── Dockerfile │ │ ├── app.js │ │ ├── ci-setup.json │ │ ├── index.js │ │ ├── package.json │ │ └── test │ │ ├── app.test.js │ │ ├── e2e_test_cleanup.yaml │ │ ├── e2e_test_setup.yaml │ │ ├── retry.sh │ │ └── system.test.js ├── pubsub │ ├── .dockerignore │ ├── .gcloudignore │ ├── .gitignore │ ├── Dockerfile │ ├── README.md │ ├── app.js │ ├── index.js │ ├── package.json │ └── test │ │ ├── app.test.js │ │ ├── e2e_test_cleanup.yaml │ │ ├── e2e_test_setup.yaml │ │ ├── retry.sh │ │ └── system.test.js ├── system-package │ ├── .dockerignore │ ├── .gcloudignore │ ├── Dockerfile │ ├── README.md │ ├── app.js │ ├── ci-setup.json │ ├── index.js │ ├── package.json │ └── test │ │ ├── app.test.js │ │ ├── e2e_test_cleanup.yaml │ │ ├── e2e_test_setup.yaml │ │ ├── retry.sh │ │ └── system.test.js └── websockets │ ├── README.md │ ├── app.js │ ├── index.js │ ├── package.json │ ├── public │ ├── .eslintrc.json │ ├── index.css │ ├── index.html │ └── index.js │ ├── redis.js │ ├── test │ ├── e2e_test_cleanup.yaml │ ├── e2e_test_setup.yaml │ ├── retry.sh │ └── system.test.js │ └── users.js ├── scheduler ├── createJob.js ├── createJob.ts ├── package.json ├── test │ └── test.samples.ts └── tsconfig.json ├── secret-manager ├── accessSecretVersion.js ├── addSecretVersion.js ├── createSecret.js ├── createSecretWithAnnotations.js ├── createSecretWithLabels.js ├── createUmmrSecret.js ├── createUpdateSecretLabel.js ├── deleteSecret.js ├── deleteSecretLabel.js ├── destroySecretVersion.js ├── disableSecretVersion.js ├── editSecretAnnotations.js ├── enableSecretVersion.js ├── getSecret.js ├── getSecretVersion.js ├── iamGrantAccess.js ├── iamRevokeAccess.js ├── listSecretVersions.js ├── listSecrets.js ├── package.json ├── quickstart.js ├── regional_samples │ ├── accessRegionalSecretVersion.js │ ├── addRegionalSecretVersion.js │ ├── createRegionalSecret.js │ ├── createRegionalSecretWithAnnotations.js │ ├── createRegionalSecretWithLabels.js │ ├── deleteRegionalSecret.js │ ├── deleteRegionalSecretLabel.js │ ├── destroyRegionalSecretVersion.js │ ├── disableRegionalSecretVersion.js │ ├── editRegionalSecretAnnotations.js │ ├── editRegionalSecretLabel.js │ ├── enableRegionalSecretVersion.js │ ├── getRegionalSecret.js │ ├── getRegionalSecretVersion.js │ ├── iamGrantAccessWithRegionalSecret.js │ ├── iamRevokeAccessWithRegionalSecret.js │ ├── listRegionalSecretVersions.js │ ├── listRegionalSecrets.js │ ├── regionalQuickstart.js │ ├── updateRegionalSecret.js │ ├── updateRegionalSecretWithAlias.js │ ├── viewRegionalSecretAnnotations.js │ └── viewRegionalSecretLabels.js ├── test │ ├── .eslintrc.yml │ └── secretmanager.test.js ├── updateSecret.js ├── updateSecretWithAlias.js ├── viewSecretAnnotations.js └── viewSecretLabels.js ├── security-center └── snippets │ ├── management_api │ ├── createEventThreatDetectionCustomModule.js │ ├── createSecurityHealthAnalyticsCustomModule.js │ ├── deleteEventThreatDetectionCustomModule.js │ ├── deleteSecurityHealthAnalyticsCustomModule.js │ ├── getEffectiveEventThreatDetectionCustomModule.js │ ├── getEffectiveSecurityHealthAnalyticsCustomModule.js │ ├── getEventThreatDetectionCustomModule.js │ ├── getSecurityCenterService.js │ ├── getSecurityHealthAnalyticsCustomModule.js │ ├── listDescendantEventThreatDetectionCustomModules.js │ ├── listDescendantSecurityHealthAnalyticsCustomModule.js │ ├── listEffectiveEventThreatDetectionCustomModules.js │ ├── listEffectiveSecurityHealthAnalyticsCustomModule.js │ ├── listEventThreatDetectionCustomModules.js │ ├── listSecurityCenterServices.js │ ├── listSecurityHealthAnalyticsCustomModule.js │ ├── simulateSecurityHealthAnalyticsCustomModule.js │ ├── updateEventThreatDetectionCustomModule.js │ ├── updateSecurityCenterService.js │ ├── updateSecurityHealthAnalyticsCustomModule.js │ └── validateEventThreatDetectionCustomModule.js │ ├── package.json │ ├── system-test │ ├── management_api │ │ ├── eventThreatDetectionCustomModule.test.js │ │ ├── securityCenterService.test.js │ │ └── securityHealthAnalyticsCustomModule.test.js │ ├── v1 │ │ ├── assetSecurityMarks.test.js │ │ ├── findings.test.js │ │ ├── listAllAssets.test.js │ │ ├── listAssetsAndChanges.test.js │ │ ├── listAssetsAtTime.test.js │ │ ├── listFilteredAssets.test.js │ │ ├── notifications.test.js │ │ └── orgSettings.test.js │ └── v2 │ │ ├── assetSecurityMarks.test.js │ │ ├── bigQueryExport.test.js │ │ ├── findings.test.js │ │ ├── muterule.test.js │ │ ├── notifications.test.js │ │ └── securityMarks.test.js │ ├── v1 │ ├── addDeleteSecurityMarks.js │ ├── addFindingSecurityMarks.js │ ├── addSecurityMarks.js │ ├── createFinding.js │ ├── createFindingSourceProperties.js │ ├── createNotificationConfig.js │ ├── createSource.js │ ├── deleteNotificationConfig.js │ ├── deleteSecurityMarks.js │ ├── enableAssetDiscovery.js │ ├── getNotificationConfig.js │ ├── getOrganizationSettings.js │ ├── getSource.js │ ├── getSourceIam.js │ ├── listAllAssets.js │ ├── listAllFindings.js │ ├── listAllSources.js │ ├── listAssetsAndChanges.js │ ├── listAssetsAtTime.js │ ├── listAssetsWithSecurityMarks.js │ ├── listFilteredAssets.js │ ├── listFilteredFindings.js │ ├── listFindingsAtTime.js │ ├── listFindingsWithSecurityMarks.js │ ├── listNotificationConfigs.js │ ├── receiveNotifications.js │ ├── setFindingState.js │ ├── setSourceIam.js │ ├── testIam.js │ ├── updateFindingSourceProperties.js │ ├── updateNotificationConfig.js │ └── updateSource.js │ └── v2 │ ├── addDeleteSecurityMarks.js │ ├── addFindingSecurityMarks.js │ ├── addSecurityMarks.js │ ├── bulkMuteFindings.js │ ├── createBigQueryExport.js │ ├── createFinding.js │ ├── createMuteRule.js │ ├── createNotificationConfig.js │ ├── createSource.js │ ├── deleteAndUpdateSecurityMarks.js │ ├── deleteAssetsSecurityMarks.js │ ├── deleteBigQueryExport.js │ ├── deleteMuteRule.js │ ├── deleteNotificationConfig.js │ ├── deleteSecurityMarks.js │ ├── getBigQueryExport.js │ ├── getIamPolicy.js │ ├── getMuteRule.js │ ├── getNotificationConfig.js │ ├── getSource.js │ ├── groupFindings.js │ ├── groupFindingsWithFilter.js │ ├── listAllBigQueryExports.js │ ├── listAllFindings.js │ ├── listAllMuteRules.js │ ├── listAllSources.js │ ├── listFilteredFindings.js │ ├── listFindingsWithSecurityMarks.js │ ├── listNotificationConfigs.js │ ├── receiveNotifications.js │ ├── setFindingState.js │ ├── setIamPolicy.js │ ├── setMuteFinding.js │ ├── setUnmuteFinding.js │ ├── testIam.js │ ├── updateBigQueryExport.js │ ├── updateFindingSource.js │ ├── updateMuteRule.js │ ├── updateNotificationConfig.js │ └── updateSource.js ├── service-directory └── snippets │ ├── createEndpoint.js │ ├── createNamespace.js │ ├── createService.js │ ├── deleteEndpoint.js │ ├── deleteNamespace.js │ ├── deleteService.js │ ├── package.json │ ├── quickstart.js │ ├── resolveService.js │ └── test │ ├── quickstart.test.js │ └── samples.test.js ├── speech ├── .eslintrc.yml ├── adaptationCustomClassReference.v2.js ├── adaptationInlineCustomClass.v2.js ├── adaptationInlinePhraseSet.v2.js ├── adaptationPhraseSetReference.v2.js ├── betaFeatures.js ├── createRecognizer.v2.js ├── export-to-storage.v1p1beta1.js ├── infiniteStreaming.js ├── modelAdaptation.js ├── package.json ├── profanityFilter.js ├── quickstart.js ├── quickstart.v2.js ├── recognize.js ├── recognize.v1p1beta1.js ├── resources │ ├── Google_Gnome.wav │ ├── ManualTest.wav │ ├── audio.raw │ ├── audio2.raw │ ├── brooklyn.flac │ ├── commercial_mono.wav │ ├── commercial_stereo.wav │ ├── multi.wav │ └── quit.raw ├── system-test │ ├── adaptationCustomClassReference.v2.test.js │ ├── adaptationInlineCustomClass.v2.test.js │ ├── adaptationInlinePhraseSet.v2.test.js │ ├── adaptationPhraseSetReference.v2.test.js │ ├── betaFeatures.test.js │ ├── createRecognizer.v2.test.js │ ├── profanityFilter.test.js │ ├── quickstart.test.js │ ├── quickstart.v2.test.js │ ├── recognize.test.js │ ├── recognize.v1p1beta1.test.js │ ├── transcribeContextClasses.test.js │ ├── transcribeFile.v2.test.js │ └── transcribeStreaming.v2.test.js ├── transcribeContextClasses.js ├── transcribeFile.v2.js └── transcribeStreaming.v2.js ├── storage-control ├── createFolder.js ├── createManagedFolder.js ├── deleteFolder.js ├── deleteManagedFolder.js ├── getFolder.js ├── getManagedFolder.js ├── listFolders.js ├── listManagedFolders.js ├── package.json ├── quickstart.js ├── renameFolder.js └── system-test │ ├── folders.test.js │ └── managedFolders.test.js ├── storagetransfer ├── aws-request.js ├── aws-s3-compatible-source-request.js ├── azure-request.js ├── check-latest-transfer-operation.js ├── event-driven-aws-transfer.js ├── event-driven-gcs-transfer.js ├── get-transfer-job-with-retries.js ├── manifest-request.js ├── nearline-request.js ├── package.json ├── posix-download.js ├── posix-request.js ├── posix-to-posix-request.js ├── quickstart.js ├── test │ ├── aws-request.test.js │ ├── aws-s3-compatible-source-request.test.js │ ├── azure-request.test.js │ ├── check-latest-transfer-operation.test.js │ ├── event-driven-aws-transfer.test.js │ ├── event-driven-gcs-transfer.test.js │ ├── get-transfer-job-with-retries.test.js │ ├── manifest-request.test.js │ ├── nearline-request.test.js │ ├── posix-download.test.js │ ├── posix-request.test.js │ ├── posix-to-posix-request.test.js │ ├── quickstart.test.js │ ├── transfer-check.test.js │ └── utils │ │ ├── bucket.js │ │ ├── index.js │ │ ├── queue.js │ │ ├── sample.js │ │ └── transfer.js └── transfer-check.js ├── talent ├── .eslintrc.yml ├── package.json ├── quickstart.js ├── snippet │ ├── job_search_autocomplete_job_title.js │ ├── job_search_batch_delete_job.js │ ├── job_search_commute_search.js │ ├── job_search_create_client_event.js │ ├── job_search_create_company.js │ ├── job_search_create_job.js │ ├── job_search_create_job_custom_attributes.js │ ├── job_search_create_tenant.js │ ├── job_search_custom_ranking_search.js │ ├── job_search_delete_company.js │ ├── job_search_delete_job.js │ ├── job_search_delete_tenant.js │ ├── job_search_get_company.js │ ├── job_search_get_job.js │ ├── job_search_get_tenant.js │ ├── job_search_histogram_search.js │ ├── job_search_list_companies.js │ ├── job_search_list_jobs.js │ └── job_search_list_tenants.js └── test │ ├── .eslintrc.yml │ └── talent.test.js ├── texttospeech ├── .eslintrc.yml ├── audioProfile.js ├── hello.mp3 ├── listVoices.js ├── package.json ├── quickstart.js ├── quickstart.mjs ├── resources │ ├── example.ssml │ ├── example.txt │ ├── expected_example.mp3 │ ├── hello.ssml │ └── hello.txt ├── ssmlAddresses.js ├── synthesize.js └── test │ ├── .eslintrc.yml │ ├── audioProfile.test.js │ ├── listVoices.test.js │ ├── quickstart.test.js │ ├── quickstart.test.mjs │ ├── ssmlAddresses.test.js │ └── synthesize.test.js ├── tpu ├── createStartupScriptVM.js ├── createTopologyVM.js ├── createVM.js ├── deleteVM.js ├── getVM.js ├── getVMList.js ├── package.json ├── queuedResources │ ├── createQueuedResource.js │ ├── deleteQueuedResource.js │ ├── forceDeleteQueuedResource.js │ ├── getQueuedResource.js │ └── getQueuedResourcesList.js ├── startVM.js ├── stopVM.js └── test │ ├── .eslintrc │ ├── createStartupScriptVM.test.js │ ├── createTopologyVM.test.js │ ├── forceDeleteQueuedResource.test.js │ ├── queuedResource.test.js │ └── tpu.test.js ├── translate ├── .eslintrc.yml ├── ci-setup.json ├── hybridGlossaries.js ├── package.json ├── quickstart.js ├── resources │ └── example.png ├── test │ ├── hybridGlossaries.test.js │ ├── quickstart.test.js │ ├── translate.test.js │ ├── v3 │ │ ├── translate_batch_translate_text.test.js │ │ ├── translate_batch_translate_text_with_glossary.test.js │ │ ├── translate_batch_translate_text_with_glossary_and_model.test.js │ │ ├── translate_batch_translate_text_with_model.test.js │ │ ├── translate_create_glossary.test.js │ │ ├── translate_delete_glossary.test.js │ │ ├── translate_detect_language.test.js │ │ ├── translate_get_glossary.test.js │ │ ├── translate_get_supported_languages.test.js │ │ ├── translate_get_supported_languages_for_targets.test.js │ │ ├── translate_list_codes.test.js │ │ ├── translate_list_glossary.test.js │ │ ├── translate_list_language_names.test.js │ │ ├── translate_translate_text.test.js │ │ ├── translate_translate_text_with_glossary.test.js │ │ ├── translate_translate_text_with_glossary_and_model.test.js │ │ └── translate_translate_text_with_model.test.js │ └── v3beta1 │ │ ├── translate_batch_translate_document.test.js │ │ ├── translate_batch_translate_text_beta.test.js │ │ ├── translate_create_glossary_beta.test.js │ │ ├── translate_delete_glossary_beta.test.js │ │ ├── translate_detect_language_beta.test.js │ │ ├── translate_get_glossary_beta.test.js │ │ ├── translate_list_codes_beta.test.js │ │ ├── translate_list_glossary_beta.test.js │ │ ├── translate_list_language_names_beta.test.js │ │ ├── translate_translate_document.test.js │ │ ├── translate_translate_text_beta.test.js │ │ ├── translate_translate_text_with_glossary_beta.test.js │ │ └── translate_translate_text_with_model_beta.test.js ├── translate.js ├── v3 │ ├── translate_batch_translate_text.js │ ├── translate_batch_translate_text_with_glossary.js │ ├── translate_batch_translate_text_with_glossary_and_model.js │ ├── translate_batch_translate_text_with_model.js │ ├── translate_create_glossary.js │ ├── translate_delete_glossary.js │ ├── translate_detect_language.js │ ├── translate_get_glossary.js │ ├── translate_get_supported_languages.js │ ├── translate_get_supported_languages_for_target.js │ ├── translate_list_codes.js │ ├── translate_list_glossary.js │ ├── translate_list_language_names.js │ ├── translate_translate_text.js │ ├── translate_translate_text_with_glossary.js │ ├── translate_translate_text_with_glossary_and_model.js │ └── translate_translate_text_with_model.js └── v3beta1 │ ├── translate_batch_translate_document.js │ ├── translate_batch_translate_text_beta.js │ ├── translate_create_glossary_beta.js │ ├── translate_delete_glossary_beta.js │ ├── translate_detect_language_beta.js │ ├── translate_get_glossary_beta.js │ ├── translate_list_codes_beta.js │ ├── translate_list_glossary_beta.js │ ├── translate_list_language_names_beta.js │ ├── translate_translate_document.js │ ├── translate_translate_text_beta.js │ ├── translate_translate_text_with_glossary_beta.js │ └── translate_translate_text_with_model_beta.js ├── video-intelligence ├── .eslintrc.yml ├── analyze-face-detection-gcs.js ├── analyze-face-detection.js ├── analyze-person-detection-gcs.js ├── analyze-person-detection.js ├── analyze-streaming-annotation-to-storage.js ├── analyze-streaming-automl-classification.js ├── analyze-streaming-automl-object-tracking.js ├── analyze-streaming-labels.js ├── analyze-streaming-object.js ├── analyze-streaming-safe-search.js ├── analyze-streaming-shot-change.js ├── analyze.js ├── detect_logo.js ├── detect_logo_gcs.js ├── package.json ├── quickstart.js ├── resources │ ├── cat.mp4 │ └── googlework_short.mp4 └── system-test │ ├── analyze-face-detection-gcs.test.js │ ├── analyze-face-detection.test.js │ ├── analyze-person-detection-gcs.test.js │ ├── analyze-person-detection.test.js │ ├── analyze-streaming-annotation-to-storage.test.js │ ├── analyze-streaming-automl-classification.test.js │ ├── analyze-streaming-automl-object-tracking.test.js │ ├── analyze-streaming-labels.test.js │ ├── analyze-streaming-object.test.js │ ├── analyze-streaming-safe-search.test.js │ ├── analyze-streaming-shot-change.test.js │ ├── analyze.test.js │ ├── detect_logo.test.js │ ├── detect_logo_gcs.test.js │ └── quickstart.test.js ├── vision ├── .eslintrc.yml ├── async-batch-annotate-images.js ├── batch-annotate-files-gcs.js ├── batch-annotate-files.js ├── detect.js ├── detect.v1p1beta1.js ├── detect.v1p3beta1.js ├── faceDetection.js ├── package.json ├── productSearch │ ├── addProductToProductSet.js │ ├── createProduct.js │ ├── createProductSet.js │ ├── createReferenceImage.js │ ├── deleteProduct.js │ ├── deleteProductSet.js │ ├── deleteReferenceImage.js │ ├── getProduct.js │ ├── getProductSet.js │ ├── getReferenceImage.js │ ├── getSimilarProducts.js │ ├── getSimilarProductsGcs.js │ ├── importProductSets.js │ ├── listProductSets.js │ ├── listProducts.js │ ├── listProductsInProductSet.js │ ├── listReferenceImage.js │ ├── purgeOrphanProducts.js │ ├── purgeProductsInProductSet.js │ ├── removeProductFromProductSet.js │ └── updateProductLabels.js ├── quickstart.js ├── resources │ ├── bicycle.jpg │ ├── bonito.gif │ ├── cat.jpg │ ├── city.jpg │ ├── duck_and_truck.jpg │ ├── face.png │ ├── face_no_surprise.jpg │ ├── faulkner.jpg │ ├── google.png │ ├── handwritten.jpg │ ├── landmark.jpg │ ├── logos.png │ ├── mountain.jpg │ ├── no-text.jpg │ ├── pdf-ocr.pdf │ ├── sabertooth.gif │ ├── shoes_1.jpg │ ├── succulents.jpg │ ├── sunbeamkitties.jpg │ ├── text.jpg │ ├── wakeupcat.jpg │ └── water.jpg ├── setEndpoint.js ├── system-test │ ├── async-batch-annotate-images.test.js │ ├── batch-annotate-files-gcs.test.js │ ├── batch-annotate-files.test.js │ ├── detect.test.js │ ├── detect.v1p1beta1.test.js │ ├── detect.v1p3beta1.test.js │ ├── faceDetection.test.js │ ├── importProductSets.test.js │ ├── productSearch.test.js │ ├── productSets.test.js │ ├── products.test.js │ ├── quickstart.test.js │ ├── referenceImages.test.js │ ├── setEndpoint.test.js │ ├── similarProducts.test.js │ └── textDetection.test.js ├── textDetection.js └── vision-face-detection.js └── workflows ├── README.md ├── create-execution.js ├── create-execution.ts ├── invoke-private-endpoint ├── README.md ├── app.js ├── package.json └── test │ └── app.test.js ├── list-workflows.js ├── list-workflows.ts ├── package.json ├── quickstart ├── README.md ├── index.js ├── index.ts ├── package.json ├── test │ ├── quickstart.test.js │ └── quickstart.test.ts └── tsconfig.json ├── test ├── create-execution.ts └── list-workflows.ts └── tsconfig.json /.eslintignore: -------------------------------------------------------------------------------- 1 | **/node_modules 2 | **/coverage 3 | test/fixtures 4 | build/ 5 | docs/ 6 | protos/ 7 | static/ -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "extends": "./node_modules/gts/", 4 | "env": { 5 | "mocha": true 6 | }, 7 | "rules": { 8 | "node/no-missing-import": ["off"], 9 | "node/no-missing-require": ["off"], 10 | "node/no-unpublished-import": ["off"], 11 | "node/no-unpublished-require": ["off"], 12 | "node/no-unsupported-features/es-syntax": ["off"] 13 | }, 14 | "parserOptions": { 15 | "sourceType": "module" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /.github/.OwlBot.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2023 Google LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | docker: 15 | image: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest 16 | 17 | begin-after-commit-hash: db31e3ff07d737b61ce968625aabbf660501688c 18 | -------------------------------------------------------------------------------- /.github/flakybot.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2023 Google LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | issuePriority: p2 16 | -------------------------------------------------------------------------------- /.github/scripts/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "aritest", 3 | "version": "1.0.0", 4 | "type": "module", 5 | "license": "Apache-2.0", 6 | "private": true, 7 | "scripts": { 8 | "vars": "node cli/vars.js", 9 | "test": "mocha -p -j 2 **/*.test.js" 10 | }, 11 | "devDependencies": { 12 | "mocha": "^11.1.0" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /.github/snippet-bot.yml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /.github/trusted-contribution.yml: -------------------------------------------------------------------------------- 1 | annotations: 2 | - type: comment 3 | text: "/gcbrun" 4 | - type: label 5 | text: "kokoro:force-run" 6 | - type: label 7 | text: "actions:force-run" 8 | -------------------------------------------------------------------------------- /.github/workflows/utils/workflows-matrix.json: -------------------------------------------------------------------------------- 1 | [ 2 | "functions/concepts", 3 | "functions/firebase", 4 | "functions/helloworld", 5 | "functions/http", 6 | "functions/pubsub", 7 | "functions/tips" 8 | ] 9 | -------------------------------------------------------------------------------- /.github/workflows/utils/workflows-secrets.json: -------------------------------------------------------------------------------- 1 | [ 2 | "ai-platform/snippets", 3 | "dialogflow-cx", 4 | "functions/slack", 5 | "iam/deny", 6 | "security-center/snippets", 7 | "storagetransfer", 8 | "generative-ai/snippets", 9 | "vision" 10 | ] 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | **/node_modules/** 2 | npm-debug.log 3 | coverage/ 4 | 5 | dump.rdb 6 | logs/ 7 | *.iml 8 | *.pb 9 | .idea/ 10 | .nyc_output 11 | yarn.lock 12 | package-lock.json 13 | .envrc 14 | 15 | .DS_Store 16 | -------------------------------------------------------------------------------- /.kokoro/appengine/node10/headless-chrome.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "appengine/headless-chrome" 7 | } 8 | 9 | # Tell the trampoline which build file to use. 10 | env_vars: { 11 | key: "TRAMPOLINE_BUILD_FILE" 12 | value: "github/nodejs-docs-samples/.kokoro/build.sh" 13 | } 14 | -------------------------------------------------------------------------------- /.kokoro/appengine/node12/headless-chrome.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "appengine/headless-chrome" 7 | } 8 | 9 | # Tell the trampoline which build file to use. 10 | env_vars: { 11 | key: "TRAMPOLINE_BUILD_FILE" 12 | value: "github/nodejs-docs-samples/.kokoro/build.sh" 13 | } 14 | -------------------------------------------------------------------------------- /.kokoro/appengine/test-deployment/hello-world-flex.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "appengine/hello-world/flexible" 7 | } -------------------------------------------------------------------------------- /.kokoro/appengine/test-deployment/hello-world-standard.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "appengine/hello-world/standard" 7 | } -------------------------------------------------------------------------------- /.kokoro/appengine/test-deployment/metadata-flex.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "appengine/metadata/flexible" 7 | } -------------------------------------------------------------------------------- /.kokoro/appengine/test-deployment/metadata-standard.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "appengine/metadata/standard" 7 | } -------------------------------------------------------------------------------- /.kokoro/appengine/test-deployment/storage-flex.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "appengine/storage/flexible" 7 | } -------------------------------------------------------------------------------- /.kokoro/appengine/test-deployment/storage-standard.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "appengine/storage/standard" 7 | } -------------------------------------------------------------------------------- /.kokoro/cloudsql-mysql.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "cloud-sql/mysql/mysql" 7 | } 8 | 9 | # Tell the trampoline which build file to use. 10 | env_vars: { 11 | key: "TRAMPOLINE_BUILD_FILE" 12 | value: "github/nodejs-docs-samples/.kokoro/build.sh" 13 | } 14 | 15 | # Specify which SQL client to use 16 | env_vars: { 17 | key: "SQL_CLIENT" 18 | value: "mysql" 19 | } -------------------------------------------------------------------------------- /.kokoro/cloudsql-postgres.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "cloud-sql/postgres/knex" 7 | } 8 | 9 | # Tell the trampoline which build file to use. 10 | env_vars: { 11 | key: "TRAMPOLINE_BUILD_FILE" 12 | value: "github/nodejs-docs-samples/.kokoro/build.sh" 13 | } 14 | 15 | # Specify which SQL client to use 16 | env_vars: { 17 | key: "SQL_CLIENT" 18 | value: "pg" 19 | } -------------------------------------------------------------------------------- /.kokoro/cloudsql-sqlserver.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "cloud-sql/sqlserver/mssql" 7 | } 8 | 9 | # Tell the trampoline which build file to use. 10 | env_vars: { 11 | key: "TRAMPOLINE_BUILD_FILE" 12 | value: "github/nodejs-docs-samples/.kokoro/build.sh" 13 | } 14 | 15 | # Specify which SQL client to use 16 | env_vars: { 17 | key: "SQL_CLIENT" 18 | value: "sqlserver" 19 | } -------------------------------------------------------------------------------- /.kokoro/eventarc-audit-storage.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "eventarc/audit-storage" 7 | } 8 | 9 | # Tell the trampoline which build file to use. 10 | env_vars: { 11 | key: "TRAMPOLINE_BUILD_FILE" 12 | value: "github/nodejs-docs-samples/.kokoro/build.sh" 13 | } 14 | -------------------------------------------------------------------------------- /.kokoro/eventarc-pubsub.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "eventarc/pubsub" 7 | } 8 | 9 | # Tell the trampoline which build file to use. 10 | env_vars: { 11 | key: "TRAMPOLINE_BUILD_FILE" 12 | value: "github/nodejs-docs-samples/.kokoro/build.sh" 13 | } 14 | -------------------------------------------------------------------------------- /.kokoro/functions/billing-periodic.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "functions/billing" 7 | } 8 | 9 | # Set the test command to run (only for functions/billing) 10 | env_vars: { 11 | key: "TEST_CMD" 12 | value: "compute-test" 13 | } 14 | 15 | # Configure the docker image for kokoro-trampoline. 16 | env_vars: { 17 | key: "TRAMPOLINE_IMAGE" 18 | value: "gcr.io/cloud-devrel-kokoro-resources/node:16-user" 19 | } 20 | 21 | # Tell the trampoline which build file to use. 22 | env_vars: { 23 | key: "TRAMPOLINE_BUILD_FILE" 24 | value: "github/nodejs-docs-samples/.kokoro/functions/functions-billing.sh" 25 | } 26 | -------------------------------------------------------------------------------- /.kokoro/functions/billing.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "functions/billing" 7 | } 8 | 9 | # Set the test command to run (only for functions/billing) 10 | env_vars: { 11 | key: "TEST_CMD" 12 | value: "test" 13 | } 14 | 15 | # Tell the trampoline which build file to use. 16 | env_vars: { 17 | key: "TRAMPOLINE_BUILD_FILE" 18 | value: "github/nodejs-docs-samples/.kokoro/functions/functions-billing.sh" 19 | } 20 | -------------------------------------------------------------------------------- /.kokoro/functions/imagemagick.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "functions/imagemagick" 7 | } 8 | 9 | # Configure the docker image for kokoro-trampoline. 10 | env_vars: { 11 | key: "TRAMPOLINE_IMAGE" 12 | value: "gcr.io/cloud-devrel-kokoro-resources/node:14-user" 13 | } 14 | 15 | # Tell the trampoline which build file to use. 16 | env_vars: { 17 | key: "TRAMPOLINE_BUILD_FILE" 18 | value: "github/nodejs-docs-samples/.kokoro/build.sh" 19 | } 20 | -------------------------------------------------------------------------------- /.kokoro/functions/ocr-app.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "functions/ocr/app" 7 | } 8 | 9 | # Configure the docker image for kokoro-trampoline. 10 | env_vars: { 11 | key: "TRAMPOLINE_IMAGE" 12 | value: "gcr.io/cloud-devrel-kokoro-resources/node:16-user" 13 | } 14 | 15 | # Tell the trampoline which build file to use. 16 | env_vars: { 17 | key: "TRAMPOLINE_BUILD_FILE" 18 | value: "github/nodejs-docs-samples/.kokoro/build.sh" 19 | } 20 | -------------------------------------------------------------------------------- /.kokoro/functions/tips.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "functions/tips" 7 | } 8 | 9 | # Tell the trampoline which build file to use. 10 | env_vars: { 11 | key: "TRAMPOLINE_BUILD_FILE" 12 | value: "github/nodejs-docs-samples/.kokoro/build.sh" 13 | } 14 | -------------------------------------------------------------------------------- /.kokoro/postgres-knex.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "cloudsql/postgres/knex" 7 | } 8 | 9 | # Tell the trampoline which build file to use. 10 | env_vars: { 11 | key: "TRAMPOLINE_BUILD_FILE" 12 | value: "github/nodejs-docs-samples/.kokoro/build.sh" 13 | } 14 | -------------------------------------------------------------------------------- /.kokoro/run/hello-broken.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "run/hello-broken" 7 | } 8 | -------------------------------------------------------------------------------- /.kokoro/run/helloworld.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "run/helloworld" 7 | } 8 | -------------------------------------------------------------------------------- /.kokoro/run/idp-sql.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "run/idp-sql" 7 | } -------------------------------------------------------------------------------- /.kokoro/run/image-processing.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "run/image-processing" 7 | } -------------------------------------------------------------------------------- /.kokoro/run/jobs.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "run/jobs" 7 | } -------------------------------------------------------------------------------- /.kokoro/run/logging-manual.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "run/logging-manual" 7 | } -------------------------------------------------------------------------------- /.kokoro/run/markdown-preview-editor.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "run/markdown-preview/editor" 7 | } 8 | -------------------------------------------------------------------------------- /.kokoro/run/markdown-preview-renderer.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "run/markdown-preview/renderer" 7 | } 8 | -------------------------------------------------------------------------------- /.kokoro/run/pubsub.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "run/pubsub" 7 | } -------------------------------------------------------------------------------- /.kokoro/run/system-package.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "run/system-package" 7 | } -------------------------------------------------------------------------------- /.kokoro/run/websockets.cfg: -------------------------------------------------------------------------------- 1 | # Format: //devtools/kokoro/config/proto/build.proto 2 | 3 | # Set the folder in which the tests are run 4 | env_vars: { 5 | key: "PROJECT" 6 | value: "run/websockets" 7 | } 8 | 9 | # Tell the trampoline which build file to use. 10 | env_vars: { 11 | key: "TRAMPOLINE_BUILD_FILE" 12 | value: "github/nodejs-docs-samples/.kokoro/build-with-run.sh" 13 | } 14 | 15 | # Configure the docker image for kokoro-trampoline. 16 | # Override common.cfg to include puppeteer 17 | env_vars: { 18 | key: "TRAMPOLINE_IMAGE" 19 | value: "gcr.io/cloud-devrel-kokoro-resources/node:16-puppeteer" 20 | } 21 | -------------------------------------------------------------------------------- /.kokoro/trampoline.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Copyright 2017 Google Inc. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | python3 "${KOKORO_GFILE_DIR}/trampoline_v1.py" 16 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | **/node_modules 2 | **/.coverage 3 | build/ 4 | docs/ 5 | protos/ 6 | -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | // Copyright 2020 Google LLC 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | module.exports = { 16 | ...require('gts/.prettierrc.json') 17 | } 18 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | To report a security issue, please use [g.co/vulnz](https://g.co/vulnz). 4 | 5 | The Google Security Team will respond within 5 working days of your report on g.co/vulnz. 6 | 7 | We use g.co/vulnz for our intake, and do coordination and disclosure here using GitHub Security Advisory to privately discuss and fix the issue. 8 | -------------------------------------------------------------------------------- /ai-platform/snippets/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-aiplatform-samples", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "engines": { 7 | "node": ">=16.0.0" 8 | }, 9 | "files": [ 10 | "*.js" 11 | ], 12 | "scripts": { 13 | "test": "c8 mocha -p -j 2 --timeout 2400000 test/*.js" 14 | }, 15 | "dependencies": { 16 | "@google-cloud/aiplatform": "^3.0.0", 17 | "@google-cloud/bigquery": "^7.0.0", 18 | "@google-cloud/storage": "^7.0.0" 19 | }, 20 | "devDependencies": { 21 | "c8": "^10.0.0", 22 | "chai": "^4.5.0", 23 | "mocha": "^10.0.0", 24 | "uuid": "^10.0.0", 25 | "sinon": "^18.0.0" 26 | } 27 | } 28 | 29 | -------------------------------------------------------------------------------- /ai-platform/snippets/resources/caprese_salad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/ai-platform/snippets/resources/caprese_salad.jpg -------------------------------------------------------------------------------- /ai-platform/snippets/resources/cat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/ai-platform/snippets/resources/cat.png -------------------------------------------------------------------------------- /ai-platform/snippets/resources/daisy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/ai-platform/snippets/resources/daisy.jpg -------------------------------------------------------------------------------- /ai-platform/snippets/resources/dog_newspaper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/ai-platform/snippets/resources/dog_newspaper.png -------------------------------------------------------------------------------- /ai-platform/snippets/resources/roller_skaters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/ai-platform/snippets/resources/roller_skaters.png -------------------------------------------------------------------------------- /ai-platform/snippets/resources/roller_skaters_mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/ai-platform/snippets/resources/roller_skaters_mask.png -------------------------------------------------------------------------------- /ai-platform/snippets/resources/volleyball_game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/ai-platform/snippets/resources/volleyball_game.png -------------------------------------------------------------------------------- /ai-platform/snippets/resources/volleyball_game_inpainting_remove_mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/ai-platform/snippets/resources/volleyball_game_inpainting_remove_mask.png -------------------------------------------------------------------------------- /ai-platform/snippets/resources/woman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/ai-platform/snippets/resources/woman.png -------------------------------------------------------------------------------- /ai-platform/snippets/resources/woman_inpainting_insert_mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/ai-platform/snippets/resources/woman_inpainting_insert_mask.png -------------------------------------------------------------------------------- /appengine/building-an-app/build/app.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2018 Google LLC 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | 14 | # [START gae_build_app_yaml_node] 15 | runtime: nodejs20 16 | # [END gae_build_app_yaml_node] 17 | -------------------------------------------------------------------------------- /appengine/building-an-app/update/app.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2018 Google LLC 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | 14 | # [START gae_update_app_yaml_node] 15 | runtime: nodejs20 16 | # [END gae_update_app_yaml_node] 17 | -------------------------------------------------------------------------------- /appengine/building-an-app/update/views/form.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | My App Engine App 5 | 6 | 7 |

Create a new post

8 |
9 |
10 | 11 |
12 |
13 | 14 |
15 |
16 | 17 |
18 |
19 | 20 | -------------------------------------------------------------------------------- /appengine/datastore/app.flexible.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2017, Google, Inc. 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | 14 | runtime: nodejs 15 | env: flex 16 | -------------------------------------------------------------------------------- /appengine/datastore/app.flexible_os.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2023 Google LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | runtime: nodejs 16 | env: flex 17 | runtime_config: 18 | operating_system: ubuntu22 19 | runtime_version: 18 -------------------------------------------------------------------------------- /appengine/datastore/app.standard.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2017 Google LLC 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | 14 | runtime: nodejs20 15 | -------------------------------------------------------------------------------- /appengine/datastore/test/app.test.js: -------------------------------------------------------------------------------- 1 | const supertest = require('supertest'); 2 | const path = require('path'); 3 | const app = require(path.join(__dirname, '../', 'app.js')); 4 | 5 | // Testing GAE Flex Datastore 6 | describe('gae_flex_datastore_app', () => { 7 | it('should be listening', async () => { 8 | await supertest(app).get('/').expect(200); 9 | }); 10 | }); 11 | -------------------------------------------------------------------------------- /appengine/endpoints/.cloud-repo-tools.json: -------------------------------------------------------------------------------- 1 | { 2 | "test": { 3 | "app": { 4 | "port": 12345, 5 | "url": "http://localhost:12345/auth/info/googlejwt", 6 | "msg": "{\"id\":\"anonymous\"}" 7 | } 8 | }, 9 | "requiresKeyFile": true, 10 | "requiresProjectId": true 11 | } -------------------------------------------------------------------------------- /appengine/hello-world/flexible/test/app.test.js: -------------------------------------------------------------------------------- 1 | const app = require('../app'); 2 | const request = require('supertest'); 3 | 4 | describe('gae_flex_quickstart', () => { 5 | describe('GET /', () => { 6 | it('should get 200', done => { 7 | request(app).get('/').expect(200, done); 8 | }); 9 | 10 | it('should get Hello World', done => { 11 | request(app).get('/').expect('Hello, world!', done); 12 | }); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /appengine/hello-world/standard/app.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2017 Google LLC 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | 14 | # [START gae_quickstart_yaml] 15 | runtime: nodejs20 16 | # [END gae_quickstart_yaml] 17 | -------------------------------------------------------------------------------- /appengine/hello-world/standard/test/app.test.js: -------------------------------------------------------------------------------- 1 | const app = require('../app'); 2 | const request = require('supertest'); 3 | 4 | describe('gae_node_request_example', () => { 5 | describe('GET /', () => { 6 | it('should get 200', done => { 7 | request(app).get('/').expect(200, done); 8 | }); 9 | 10 | it('should get Hello World', done => { 11 | request(app).get('/').expect('Hello, world!', done); 12 | }); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /appengine/memcached/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "appengine-memcached", 3 | "description": "Memcached sample for Google App Engine.", 4 | "version": "0.0.1", 5 | "private": true, 6 | "license": "Apache Version 2.0", 7 | "author": "Google Inc.", 8 | "engines": { 9 | "node": "20.x" 10 | }, 11 | "scripts": { 12 | "start": "node app.js", 13 | "test": "c8 mocha -p -j 2 --exit test/*.test.js" 14 | }, 15 | "dependencies": { 16 | "express": "^4.16.4", 17 | "memjs": "^1.2.0" 18 | }, 19 | "devDependencies": { 20 | "c8": "^10.0.0", 21 | "chai": "^4.5.0", 22 | "mocha": "^10.0.0", 23 | "wait-port": "^1.0.4" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /appengine/metadata/flexible/app.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2023 Google LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | runtime: nodejs 16 | env: flex 17 | runtime_config: 18 | operating_system: ubuntu22 -------------------------------------------------------------------------------- /appengine/metadata/flexible_nodejs16_and_earlier/app.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2016, Google, Inc. 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | 14 | runtime: nodejs 15 | env: flex 16 | -------------------------------------------------------------------------------- /appengine/metadata/standard/app.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2016 Google LLC 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | 14 | runtime: nodejs20 15 | -------------------------------------------------------------------------------- /appengine/pubsub/sample_message.json: -------------------------------------------------------------------------------- 1 | { 2 | "message": { 3 | "data": "SGVsbG8sIFdvcmxkIQ==" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /appengine/static-files/README.md: -------------------------------------------------------------------------------- 1 | # Serving static files in Node.js sample for Google App Engine 2 | 3 | This sample demonstrates serving static files in a Node.js app for [Google App Engine](https://cloud.google.com/appengine) Node.js [standard environment](https://cloud.google.com/appengine/docs/standard/nodejs) 4 | and [flexible environment](https://cloud.google.com/appengine/docs/flexible/nodejs) 5 | 6 | ## Running locally 7 | 8 | Refer to the [appengine/README.md](../README.md) file for instructions on 9 | running and deploying. 10 | -------------------------------------------------------------------------------- /appengine/static-files/app.flexible.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2015-2016, Google, Inc. 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | 14 | runtime: nodejs 15 | env: flex 16 | -------------------------------------------------------------------------------- /appengine/static-files/app.flexible_os.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2023 Google LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | runtime: nodejs 16 | env: flex 17 | runtime_config: 18 | operating_system: ubuntu22 19 | runtime_version: 18 -------------------------------------------------------------------------------- /appengine/static-files/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "appengine-static-files", 3 | "description": "Serving static files in Node.js sample for Google App Engine", 4 | "version": "0.0.1", 5 | "private": true, 6 | "license": "Apache Version 2.0", 7 | "author": "Google Inc.", 8 | "engines": { 9 | "node": "20.x" 10 | }, 11 | "scripts": { 12 | "start": "node app.js", 13 | "test": "c8 mocha -p -j 2 --exit test/*.test.js --url localhost:8080/static/main.css" 14 | }, 15 | "dependencies": { 16 | "express": "^4.16.4", 17 | "pug": "^3.0.0" 18 | }, 19 | "devDependencies": { 20 | "c8": "^10.0.0", 21 | "mocha": "^10.0.0", 22 | "supertest": "^7.0.0" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /appengine/static-files/test/app.test.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const supertest = require('supertest'); 3 | const app = require(path.join(__dirname, '../', 'app.js')); 4 | 5 | describe('gae_flex_node_static_files', () => { 6 | it('should be listening', async () => { 7 | await supertest(app).get('/').expect(200); 8 | }); 9 | }); 10 | -------------------------------------------------------------------------------- /appengine/static-files/views/index.pug: -------------------------------------------------------------------------------- 1 | doctype html 2 | html(lang="en") 3 | head 4 | title Static Files 5 | meta(charset='utf-8') 6 | link(rel="stylesheet", href="/static/main.css") 7 | body 8 | p This is a static file serving example. 9 | -------------------------------------------------------------------------------- /appengine/storage/flexible/system-test/resources/test.txt: -------------------------------------------------------------------------------- 1 | nodejs-docs-samples/appengine/storage test file -------------------------------------------------------------------------------- /appengine/storage/flexible/views/form.pug: -------------------------------------------------------------------------------- 1 | doctype html 2 | html(lang="en") 3 | head 4 | title Static Files 5 | meta(charset='utf-8') 6 | link(rel="stylesheet", href="/static/main.css") 7 | body 8 | form(method="POST", action="/upload", enctype="multipart/form-data") 9 | input(type="file", name="file") 10 | input(type="submit") 11 | -------------------------------------------------------------------------------- /appengine/storage/flexible_nodejs16_and_earlier/system-test/resources/test.txt: -------------------------------------------------------------------------------- 1 | nodejs-docs-samples/appengine/storage test file -------------------------------------------------------------------------------- /appengine/storage/flexible_nodejs16_and_earlier/views/form.pug: -------------------------------------------------------------------------------- 1 | doctype html 2 | html(lang="en") 3 | head 4 | title Static Files 5 | meta(charset='utf-8') 6 | link(rel="stylesheet", href="/static/main.css") 7 | body 8 | form(method="POST", action="/upload", enctype="multipart/form-data") 9 | input(type="file", name="file") 10 | input(type="submit") 11 | -------------------------------------------------------------------------------- /appengine/storage/standard/system-test/resources/test.txt: -------------------------------------------------------------------------------- 1 | nodejs-docs-samples/appengine/storage test file -------------------------------------------------------------------------------- /appengine/storage/standard/views/form.pug: -------------------------------------------------------------------------------- 1 | doctype html 2 | html(lang="en") 3 | head 4 | title Static Files 5 | meta(charset='utf-8') 6 | link(rel="stylesheet", href="/static/main.css") 7 | body 8 | form(method="POST", action="/upload", enctype="multipart/form-data") 9 | input(type="file", name="file") 10 | input(type="submit") 11 | -------------------------------------------------------------------------------- /appengine/typescript/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "parser": "@typescript-eslint/parser", 3 | "parserOptions": { 4 | "sourceType": "module" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /appengine/typescript/.gcloudignore: -------------------------------------------------------------------------------- 1 | # Exclude compiled .js files 2 | *.js 3 | 4 | # Exclude dependencies 5 | node_modules/ 6 | -------------------------------------------------------------------------------- /appengine/typescript/.gitignore: -------------------------------------------------------------------------------- 1 | # Exclude compiled .js files 2 | *.js 3 | 4 | # Exclude dependencies 5 | node_modules/ 6 | -------------------------------------------------------------------------------- /appengine/typescript/app.yaml: -------------------------------------------------------------------------------- 1 | runtime: nodejs16 2 | -------------------------------------------------------------------------------- /appengine/typescript/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "CommonJS", 4 | "target": "ESNext", 5 | "strict": true, 6 | "noImplicitAny": false, 7 | "esModuleInterop": true, 8 | "moduleResolution": "node" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /appengine/websockets/test/app.test.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const supertest = require('supertest'); 3 | const app = require(path.join(path.dirname(__dirname), 'app.js')); 4 | 5 | it('should be listening', async () => { 6 | await supertest(app).get('/').expect(200); 7 | }); 8 | -------------------------------------------------------------------------------- /automl/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | no-console: off 4 | -------------------------------------------------------------------------------- /automl/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@google-cloud/automl-samples", 3 | "description": "Samples for the Cloud AutoML Client Library for Node.js.", 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "engines": { 7 | "node": ">=16.0.0" 8 | }, 9 | "repository": "googleapis/nodejs-automl", 10 | "private": true, 11 | "scripts": { 12 | "test": "c8 mocha -p -j 2 --timeout 9000000" 13 | }, 14 | "files": [ 15 | "**/*.js", 16 | "!test/" 17 | ], 18 | "dependencies": { 19 | "@google-cloud/automl": "^4.0.0", 20 | "mathjs": "^13.0.0" 21 | }, 22 | "devDependencies": { 23 | "@google-cloud/storage": "^7.0.0", 24 | "c8": "^10.0.0", 25 | "chai": "^4.5.0", 26 | "mocha": "^10.0.0", 27 | "uuid": "^10.0.0" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /automl/resources/input.txt: -------------------------------------------------------------------------------- 1 | Tell me how this ends 2 | -------------------------------------------------------------------------------- /automl/resources/salad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/automl/resources/salad.jpg -------------------------------------------------------------------------------- /automl/resources/test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/automl/resources/test.png -------------------------------------------------------------------------------- /automl/test/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | no-warning-comments: off 4 | -------------------------------------------------------------------------------- /automl/translate/resources/testInput.txt: -------------------------------------------------------------------------------- 1 | Tell me how this ends 2 | -------------------------------------------------------------------------------- /batch/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "batch-samples", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "engines": { 7 | "node": ">=16.0.0" 8 | }, 9 | "files": [ 10 | "*.js" 11 | ], 12 | "scripts": { 13 | "test": "c8 mocha -p -j 2 --timeout 1200000 test/basics.test.js", 14 | "publish": "echo 'sample test; do not publish'" 15 | }, 16 | "dependencies": { 17 | "@google-cloud/batch": "^1.0.0" 18 | }, 19 | "devDependencies": { 20 | "@google-cloud/compute": "^4.0.0", 21 | "@google-cloud/resource-manager": "^5.0.0", 22 | "@google-cloud/storage": "^7.0.0", 23 | "@types/mocha": "^10.0.7", 24 | "c8": "^10.0.0", 25 | "mocha": "^10.0.0", 26 | "nanoid": "^3.3.7" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /bigquery/cloud-client/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bigquery-cloud-client", 3 | "description": "Big Query Cloud Client Node.js samples", 4 | "version": "0.0.1", 5 | "private": true, 6 | "license": "Apache Version 2.0", 7 | "author": "Google LLC", 8 | "engines": { 9 | "node": "20.x" 10 | }, 11 | "scripts": { 12 | "deploy": "gcloud app deploy", 13 | "start": "node app.js", 14 | "unit-test": "c8 mocha -p -j 2 test/ --timeout=10000 --exit", 15 | "test": "npm run unit-test" 16 | }, 17 | "dependencies": { 18 | "@google-cloud/bigquery": "7.9.2" 19 | }, 20 | "devDependencies": { 21 | "c8": "^10.0.0", 22 | "chai": "^4.5.0", 23 | "mocha": "^10.0.0", 24 | "sinon": "^18.0.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /cloud-language/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-language", 3 | "license": "Apache-2.0", 4 | "author": "Google Inc.", 5 | "engines": { 6 | "node": ">=16.0.0" 7 | }, 8 | "repository": "googleapis/nodejs-language", 9 | "private": true, 10 | "files": [ 11 | "*.js", 12 | "resources" 13 | ], 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 --timeout 60000" 16 | }, 17 | "dependencies": { 18 | "@google-cloud/language": "^6.1.0", 19 | "@google-cloud/storage": "^7.0.0", 20 | "mathjs": "^13.0.0", 21 | "yargs": "^17.0.0" 22 | }, 23 | "devDependencies": { 24 | "c8": "^10.0.0", 25 | "chai": "^4.5.0", 26 | "mocha": "^10.0.0", 27 | "uuid": "^10.0.0" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /cloud-language/resources/android_text.txt: -------------------------------------------------------------------------------- 1 | Android is a mobile operating system developed by Google, based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets. -------------------------------------------------------------------------------- /cloud-language/resources/text.txt: -------------------------------------------------------------------------------- 1 | President Obama is speaking at the White House. -------------------------------------------------------------------------------- /cloud-language/snippets/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | no-console: off 4 | node/no-missing-require: off 5 | -------------------------------------------------------------------------------- /cloud-sql/mysql/mysql/certs/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/cloud-sql/mysql/mysql/certs/.gitkeep -------------------------------------------------------------------------------- /cloud-sql/mysql/mysql/ci-setup.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "INSTANCE_HOST": "127.0.0.1", 4 | "INSTANCE_CONNECTION_NAME": "nodejs-docs-samples-tests:us-central1:mysql-ci", 5 | "UNIX_SOCKET_DIR": "tmp/cloudsql", 6 | "CLOUD_SQL_CONNECTION_NAME": "$INSTANCE_CONNECTION_NAME", 7 | "INSTANCE_UNIX_SOCKET": "$UNIX_SOCKET_DIR/$INSTANCE_CONNECTION_NAME", 8 | "DB_NAME": "kokoro_ci", 9 | "DB_USER": "kokoro_ci" 10 | }, 11 | "secrets": { 12 | "DB_PASS": "nodejs-docs-samples-tests/nodejs-docs-samples-sql-password" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /cloud-sql/mysql/mysql2/ci-setup.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "INSTANCE_HOST": "127.0.0.1", 4 | "INSTANCE_CONNECTION_NAME": "nodejs-docs-samples-tests:us-central1:mysql-ci", 5 | "UNIX_SOCKET_DIR": "tmp/cloudsql", 6 | "CLOUD_SQL_CONNECTION_NAME": "$INSTANCE_CONNECTION_NAME", 7 | "INSTANCE_UNIX_SOCKET": "$UNIX_SOCKET_DIR/$INSTANCE_CONNECTION_NAME", 8 | "DB_NAME": "kokoro_ci", 9 | "DB_USER": "kokoro_ci" 10 | }, 11 | "secrets": { 12 | "DB_PASS": "nodejs-docs-samples-tests/nodejs-docs-samples-sql-password" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /cloud-sql/postgres/knex/certs/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/cloud-sql/postgres/knex/certs/.gitkeep -------------------------------------------------------------------------------- /cloud-sql/postgres/knex/ci-setup.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "INSTANCE_HOST": "127.0.0.1", 4 | "INSTANCE_CONNECTION_NAME": "nodejs-docs-samples-tests:us-central1:postgres-ci", 5 | "UNIX_SOCKET_DIR": "tmp/cloudsql", 6 | "CLOUD_SQL_CONNECTION_NAME": "$INSTANCE_CONNECTION_NAME", 7 | "INSTANCE_UNIX_SOCKET": "$UNIX_SOCKET_DIR/$INSTANCE_CONNECTION_NAME", 8 | "DB_NAME": "kokoro_ci", 9 | "DB_USER": "kokoro_ci" 10 | }, 11 | "secrets": { 12 | "DB_PASS": "nodejs-docs-samples-tests/nodejs-docs-samples-sql-password" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /cloud-sql/sqlserver/mssql/ci-setup.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "INSTANCE_HOST": "127.0.0.1", 4 | "INSTANCE_CONNECTION_NAME": "nodejs-docs-samples-tests:us-central1:sql-server-ci", 5 | "CLOUD_SQL_CONNECTION_NAME": "$INSTANCE_CONNECTION_NAME", 6 | "DB_NAME": "kokoro_ci", 7 | "DB_USER": "kokoro_ci" 8 | }, 9 | "secrets": { 10 | "DB_PASS": "nodejs-docs-samples-tests/nodejs-docs-samples-sql-password" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /cloud-tasks/snippets/app.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2019 Google LLC 2 | # Licensed under the Apache License, Version 2.0 (the "License"); 3 | # you may not use this file except in compliance with the License. 4 | # You may obtain a copy of the License at 5 | # 6 | # http://www.apache.org/licenses/LICENSE-2.0 7 | # 8 | # Unless required by applicable law or agreed to in writing, software 9 | # distributed under the License is distributed on an "AS IS" BASIS, 10 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | # See the License for the specific language governing permissions and 12 | # limitations under the License. 13 | 14 | runtime: nodejs18 15 | -------------------------------------------------------------------------------- /cloud-tasks/snippets/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "appengine-cloudtasks", 3 | "description": "Google App Engine Cloud Tasks example.", 4 | "license": "Apache-2.0", 5 | "author": "Google Inc.", 6 | "private": true, 7 | "engines": { 8 | "node": ">=16.0.0" 9 | }, 10 | "files": [ 11 | "*.js" 12 | ], 13 | "scripts": { 14 | "test": "c8 mocha -p -j 2 --timeout 30000", 15 | "start": "node server.js" 16 | }, 17 | "dependencies": { 18 | "@google-cloud/tasks": "^5.0.0", 19 | "express": "^4.16.3" 20 | }, 21 | "devDependencies": { 22 | "c8": "^10.0.0", 23 | "chai": "^4.5.0", 24 | "mocha": "^10.0.0", 25 | "uuid": "^10.0.0" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /cloud-tasks/tutorial-gcf/app/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cloud-tasks-app", 3 | "description": "Creates Cloud Tasks from form submission", 4 | "main": "index.js", 5 | "private": true, 6 | "engines": { 7 | "node": ">=16.0.0" 8 | }, 9 | "scripts": { 10 | "start": "node index.js", 11 | "test": "c8 mocha -p -j 2 --timeout 10000" 12 | }, 13 | "dependencies": { 14 | "@google-cloud/tasks": "^5.0.0", 15 | "express": "^4.17.1" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "chai": "^4.5.0", 20 | "mocha": "^10.0.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /cloud-tasks/tutorial-gcf/function/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "email-function", 3 | "description": "Cloud Function sends an email when triggered by Cloud Task", 4 | "main": "index.js", 5 | "private": true, 6 | "engines": { 7 | "node": ">=16.0.0" 8 | }, 9 | "scripts": { 10 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=60000" 11 | }, 12 | "dependencies": { 13 | "@google-cloud/secret-manager": "^5.0.0", 14 | "@sendgrid/mail": "^8.0.0" 15 | }, 16 | "devDependencies": { 17 | "c8": "^10.0.0", 18 | "mocha": "^10.0.0", 19 | "proxyquire": "^2.1.0", 20 | "sinon": "^18.0.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /cloudbuild/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-cloudbuild-samples", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "files": [ 6 | "*.js", 7 | "resources" 8 | ], 9 | "author": "Google Inc.", 10 | "repository": "googleapis/nodejs-cloudbuild", 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 system-test --timeout=800000" 16 | }, 17 | "dependencies": { 18 | "@google-cloud/cloudbuild": "^4.0.0" 19 | }, 20 | "devDependencies": { 21 | "c8": "^10.0.0", 22 | "chai": "^4.5.0", 23 | "mocha": "^10.0.0" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /cloudbuild/system-test/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | node/no-extraneous-require: off 4 | -------------------------------------------------------------------------------- /composer/functions/composer-storage-trigger/README.md: -------------------------------------------------------------------------------- 1 | # Triggering a Cloud Composer DAG from Cloud Functions 2 | 3 | This sample executes a DAG in Cloud Composer whenever a file is added to a Cloud Storage bucket. 4 | 5 | See the [Triggering DAGs tutorial](https://cloud.google.com/composer/docs/how-to/using/triggering-with-gcf) 6 | for more information on using this sample. 7 | -------------------------------------------------------------------------------- /composer/functions/composer-storage-trigger/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-composer-storage-trigger", 3 | "version": "0.0.1", 4 | "dependencies": { 5 | "form-data": "^4.0.0", 6 | "node-fetch": "^3.0.0" 7 | }, 8 | "engines": { 9 | "node": ">=16.0.0" 10 | }, 11 | "private": true, 12 | "license": "Apache-2.0", 13 | "author": "Google Inc.", 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 17 | }, 18 | "devDependencies": { 19 | "mocha": "^10.0.0", 20 | "proxyquire": "^2.1.0", 21 | "sinon": "^18.0.0" 22 | }, 23 | "scripts": { 24 | "test": "mocha test/*.test.js --timeout=20000" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /composer/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-composer", 3 | "description": "Node.js Google Composer sample.", 4 | "version": "0.0.1", 5 | "private": true, 6 | "license": "Apache-2.0", 7 | "author": "Google Inc.", 8 | "repository": { 9 | "type": "git", 10 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 11 | }, 12 | "engines": { 13 | "node": ">=16.0.0" 14 | }, 15 | "scripts": { 16 | "test": "c8 mocha -p -j 2 --exit test/*.test.js" 17 | }, 18 | "devDependencies": { 19 | "c8": "^10.0.0", 20 | "chai": "^4.5.0", 21 | "mocha": "^10.0.0" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /composer/test/composer_transform_csv_to_json.test.js: -------------------------------------------------------------------------------- 1 | const {assert} = require('chai'); 2 | const tutorial = require('../composer_transform_csv_to_json.js'); 3 | 4 | const lineTest = 'tampa, 106, january, null, null, 08-17-2019'; 5 | 6 | describe('composer_transform_csv_to_json', () => { 7 | it('should separate out a line and turn into a json string', () => { 8 | const output = tutorial(lineTest); 9 | assert.match( 10 | output, 11 | new RegExp( 12 | '{"location":"tampa","average_temperature":" 106","month":" january","inches_of_rain":" null","is_current":" null","latest_measurement":" 08-17-2019"}' 13 | ) 14 | ); 15 | }); 16 | }); 17 | -------------------------------------------------------------------------------- /compute/test/.eslintrc: -------------------------------------------------------------------------------- 1 | --- 2 | env: 3 | mocha: true 4 | -------------------------------------------------------------------------------- /contact-center-insights/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-contact-center-insights", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "engines": { 7 | "node": ">=16.0.0" 8 | }, 9 | "files": [ 10 | "*.js" 11 | ], 12 | "scripts": { 13 | "test": "c8 mocha -p -j 2 --timeout 600000 test/*.js" 14 | }, 15 | "dependencies": { 16 | "@google-cloud/bigquery": "^7.0.0", 17 | "@google-cloud/contact-center-insights": "^3.0.0", 18 | "@google-cloud/pubsub": "^4.0.0" 19 | }, 20 | "devDependencies": { 21 | "c8": "^10.0.0", 22 | "chai": "^4.5.0", 23 | "mocha": "^10.0.0", 24 | "uuid": "^10.0.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /container-analysis/snippets/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | no-console: off 4 | -------------------------------------------------------------------------------- /container-analysis/snippets/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-containeranalysis-samples", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "repository": "googleapis/nodejs-containeranalysis", 7 | "files": [ 8 | "*.js" 9 | ], 10 | "engines": { 11 | "node": ">=16.0.0" 12 | }, 13 | "scripts": { 14 | "test": "c8 mocha -p -j 2 --timeout 100000 test/**.test.js" 15 | }, 16 | "dependencies": { 17 | "@google-cloud/containeranalysis": "^5.0.0", 18 | "@google-cloud/pubsub": "^4.0.0", 19 | "p-retry": "^6.0.0" 20 | }, 21 | "devDependencies": { 22 | "c8": "^10.0.0", 23 | "chai": "^4.5.0", 24 | "mocha": "^10.0.0", 25 | "uuid": "^10.0.0" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /container-analysis/snippets/test/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | node/no-unpublished-require: off 4 | no-empty: off 5 | env: 6 | mocha: true 7 | -------------------------------------------------------------------------------- /container/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-container", 3 | "license": "Apache-2.0", 4 | "author": "Google Inc.", 5 | "engines": { 6 | "node": ">=16.0.0" 7 | }, 8 | "repository": "googleapis/nodejs-cloud-container", 9 | "private": true, 10 | "files": [ 11 | "*.js" 12 | ], 13 | "scripts": { 14 | "test": "c8 mocha -p -j 2 system-test --timeout 1000000" 15 | }, 16 | "dependencies": { 17 | "@google-cloud/container": "^5.0.0" 18 | }, 19 | "devDependencies": { 20 | "c8": "^10.0.0", 21 | "chai": "^4.5.0", 22 | "mocha": "^10.0.0" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /datacatalog/README.md: -------------------------------------------------------------------------------- 1 | **Data Catalog API deprecation** 2 | 3 | Data Catalog is deprecated and will be discontinued on January 30, 2026. For steps to transition your Data Catalog users, workloads, and content to Dataplex Catalog, see [Transition from Data Catalog to Dataplex Catalog](https://cloud.google.com/dataplex/docs/transition-to-dataplex-catalog). 4 | 5 | All API code samples under this folder are subject to decommissioning and will be removed after January 30, 2026. -------------------------------------------------------------------------------- /datacatalog/cloud-client/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@google-cloud/datacatalog-samples", 3 | "version": "0.0.1", 4 | "private": true, 5 | "description": "Samples for the Cloud Data Catalog client library for Node.js", 6 | "license": "Apache-2.0", 7 | "author": "Google LLC", 8 | "repository": "GoogleCloudPlatform/nodejs-docs-samples", 9 | "engines": { 10 | "node": ">=16.0.0" 11 | }, 12 | "scripts": { 13 | "test": "c8 mocha -p -j 2 system-test/*.test.js --timeout=60000" 14 | }, 15 | "devDependencies": { 16 | "c8": "^10.0.0", 17 | "mocha": "^10.0.0", 18 | "uuid": "^10.0.0" 19 | }, 20 | "dependencies": { 21 | "@google-cloud/datacatalog": "^4.0.0" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /datacatalog/quickstart/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@google-cloud/datacatalog-quickstart", 3 | "version": "0.0.1", 4 | "private": true, 5 | "description": "Quickstart guides for the Cloud Data Catalog client library for Node.js", 6 | "license": "Apache-2.0", 7 | "author": "Google LLC", 8 | "repository": "GoogleCloudPlatform/nodejs-docs-samples", 9 | "engines": { 10 | "node": ">=16.0.0" 11 | }, 12 | "scripts": { 13 | "test": "c8 mocha -p -j 2 system-test/*.test.js --timeout=60000" 14 | }, 15 | "devDependencies": { 16 | "c8": "^10.0.0", 17 | "mocha": "^10.0.0", 18 | "uuid": "^10.0.0" 19 | }, 20 | "dependencies": { 21 | "@google-cloud/datacatalog": "^4.0.0" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /datacatalog/snippets/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | no-console: off 4 | node/no-missing-require: off 5 | node/no-extraneous-require: off 6 | -------------------------------------------------------------------------------- /datacatalog/snippets/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@google-cloud/datacatalog-samples", 3 | "description": "Samples for the Cloud Data Catalog client library for Node.js", 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "engines": { 7 | "node": ">=16.0.0" 8 | }, 9 | "repository": "googleapis/nodejs-datacatalog", 10 | "private": true, 11 | "files": [ 12 | "*.js" 13 | ], 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 --timeout 600000" 16 | }, 17 | "dependencies": { 18 | "@google-cloud/bigquery": "^7.0.0", 19 | "@google-cloud/datacatalog": "^4.0.0" 20 | }, 21 | "devDependencies": { 22 | "c8": "^10.0.0", 23 | "chai": "^4.5.0", 24 | "execa": "^9.0.0", 25 | "mocha": "^10.0.0", 26 | "uuid": "^10.0.0" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /datacatalog/snippets/test/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | node/no-extraneous-require: off -------------------------------------------------------------------------------- /datalabeling/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | no-console: off 4 | -------------------------------------------------------------------------------- /datalabeling/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-datalabeling-samples", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "engines": { 7 | "node": ">=16.0.0" 8 | }, 9 | "files": [ 10 | "*.js", 11 | "!test/" 12 | ], 13 | "scripts": { 14 | "test": "c8 mocha -p -j 2 --timeout 600000" 15 | }, 16 | "dependencies": { 17 | "@google-cloud/datalabeling": "^4.0.0" 18 | }, 19 | "devDependencies": { 20 | "c8": "^10.0.0", 21 | "chai": "^4.5.0", 22 | "mocha": "^10.0.0" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /dataproc/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | no-console: off 4 | -------------------------------------------------------------------------------- /dataproc/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-dataproc", 3 | "license": "Apache-2.0", 4 | "author": "Google Inc.", 5 | "files": [ 6 | "*.js" 7 | ], 8 | "engines": { 9 | "node": ">=12.0.0" 10 | }, 11 | "repository": "googleapis/nodejs-dataproc", 12 | "private": true, 13 | "scripts": { 14 | "test": "c8 mocha -p -j 2 system-test --timeout 600000" 15 | }, 16 | "dependencies": { 17 | "@google-cloud/dataproc": "^5.0.0", 18 | "@google-cloud/storage": "^7.0.0" 19 | }, 20 | "devDependencies": { 21 | "c8": "^10.0.0", 22 | "chai": "^4.5.0", 23 | "mocha": "^10.0.0", 24 | "uuid": "^10.0.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /dialogflow-cx/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-dialogflow-cx-samples", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "engines": { 7 | "node": ">=16.0.0" 8 | }, 9 | "files": [ 10 | "*.js" 11 | ], 12 | "scripts": { 13 | "test": "c8 mocha -p -j 2 --timeout 600000 test/*.js" 14 | }, 15 | "dependencies": { 16 | "@google-cloud/dialogflow-cx": "^4.0.0", 17 | "@google-cloud/functions-framework": "^3.2.0" 18 | }, 19 | "devDependencies": { 20 | "c8": "^10.0.0", 21 | "chai": "^4.5.0", 22 | "mocha": "^10.0.0", 23 | "uuid": "^10.0.0" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /dialogflow-cx/resources/audio.raw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/dialogflow-cx/resources/audio.raw -------------------------------------------------------------------------------- /dialogflow-cx/resources/book_a_room.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/dialogflow-cx/resources/book_a_room.wav -------------------------------------------------------------------------------- /dialogflow-cx/resources/output.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/dialogflow-cx/resources/output.wav -------------------------------------------------------------------------------- /dialogflow/.gitignore: -------------------------------------------------------------------------------- 1 | SampleAgent.zip 2 | resources/pizza_order.wav 3 | -------------------------------------------------------------------------------- /dialogflow/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-conversation", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "repository": "googleapis/nodejs-dialogflow", 7 | "files": [ 8 | "*.js", 9 | "resources" 10 | ], 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 system-test --timeout=600000" 16 | }, 17 | "dependencies": { 18 | "@google-cloud/dialogflow": "^6.0.0", 19 | "pb-util": "^1.0.0", 20 | "yargs": "^17.0.0", 21 | "@google-cloud/functions-framework": "^3.2.0" 22 | }, 23 | "devDependencies": { 24 | "c8": "^10.0.0", 25 | "chai": "^4.5.0", 26 | "mocha": "^10.0.0", 27 | "uuid": "^10.0.0" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /dialogflow/resources/230pm.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/dialogflow/resources/230pm.wav -------------------------------------------------------------------------------- /dialogflow/resources/RoomReservation.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/dialogflow/resources/RoomReservation.zip -------------------------------------------------------------------------------- /dialogflow/resources/book_a_room.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/dialogflow/resources/book_a_room.wav -------------------------------------------------------------------------------- /dialogflow/resources/half_an_hour.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/dialogflow/resources/half_an_hour.wav -------------------------------------------------------------------------------- /dialogflow/resources/mountain_view.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/dialogflow/resources/mountain_view.wav -------------------------------------------------------------------------------- /dialogflow/resources/output.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/dialogflow/resources/output.wav -------------------------------------------------------------------------------- /dialogflow/resources/today.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/dialogflow/resources/today.wav -------------------------------------------------------------------------------- /dialogflow/resources/two_people.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/dialogflow/resources/two_people.wav -------------------------------------------------------------------------------- /discoveryengine/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | # Copyright 2023 Google LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | --- 16 | rules: 17 | no-console: off 18 | node/no-unsupported-features/node-builtins: off 19 | -------------------------------------------------------------------------------- /discoveryengine/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-genappbuilder-samples", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "engines": { 7 | "node": ">=16.0.0" 8 | }, 9 | "files": [ 10 | "*.js" 11 | ], 12 | "scripts": { 13 | "test": "mocha test/*.js --timeout 600000" 14 | }, 15 | "dependencies": { 16 | "@google-cloud/discoveryengine": "^1.0.0", 17 | "p-queue": "^8.0.0" 18 | }, 19 | "devDependencies": { 20 | "chai": "^4.5.0", 21 | "mocha": "^10.0.0", 22 | "uuid": "^10.0.0" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /discoveryengine/test/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | # Copyright 2023 Google LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | --- 16 | env: 17 | mocha: true 18 | rules: 19 | node/no-extraneous-require: off 20 | -------------------------------------------------------------------------------- /dlp/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | no-console: off 4 | no-warning-comments: off 5 | node/no-missing-require: off 6 | -------------------------------------------------------------------------------- /dlp/.gitignore: -------------------------------------------------------------------------------- 1 | # Test outputs 2 | *.actual.png 3 | *.actual.csv 4 | -------------------------------------------------------------------------------- /dlp/resources/accounts.txt: -------------------------------------------------------------------------------- 1 | My credit card number is 1234 5678 9012 3456, and my CVV is 789. -------------------------------------------------------------------------------- /dlp/resources/dates.csv: -------------------------------------------------------------------------------- 1 | name,birth_date,register_date,credit_card 2 | Ann,01/01/1980,07/21/1996,4532908762519852 3 | James,03/06/1988,04/09/2001,4301261899725540 4 | Dan,08/14/1945,11/15/2011,4620761856015295 5 | Laura,11/03/1992,01/04/2017,4564981067258901 6 | -------------------------------------------------------------------------------- /dlp/resources/harmless.txt: -------------------------------------------------------------------------------- 1 | This file is mostly harmless. 2 | -------------------------------------------------------------------------------- /dlp/resources/test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/dlp/resources/test.png -------------------------------------------------------------------------------- /dlp/resources/test.txt: -------------------------------------------------------------------------------- 1 | My phone number is (223) 456-7890 and my email address is gary@somedomain.com. -------------------------------------------------------------------------------- /dlp/system-test/resources/date-shift-context.expected.csv: -------------------------------------------------------------------------------- 1 | name,birth_date,register_date,credit_card 2 | Ann,1/31/1980,8/20/1996,4532908762519852 3 | James,4/5/1988,5/9/2001,4301261899725540 4 | Dan,9/13/1945,12/15/2011,4620761856015295 5 | Laura,12/3/1992,2/3/2017,4564981067258901 6 | -------------------------------------------------------------------------------- /dlp/system-test/resources/redact-all-info-type.expected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/dlp/system-test/resources/redact-all-info-type.expected.png -------------------------------------------------------------------------------- /dlp/system-test/resources/redact-all-text.expected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/dlp/system-test/resources/redact-all-text.expected.png -------------------------------------------------------------------------------- /dlp/system-test/resources/redact-colored-info-type.expected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/dlp/system-test/resources/redact-colored-info-type.expected.png -------------------------------------------------------------------------------- /dlp/system-test/resources/redact-multiple-types.expected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/dlp/system-test/resources/redact-multiple-types.expected.png -------------------------------------------------------------------------------- /dlp/system-test/resources/redact-single-type.expected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/dlp/system-test/resources/redact-single-type.expected.png -------------------------------------------------------------------------------- /dlp/system-test/resources/test.txt: -------------------------------------------------------------------------------- 1 | user1 2 | user2 3 | user3 -------------------------------------------------------------------------------- /dlp/system-test/temp.result.csv: -------------------------------------------------------------------------------- 1 | name,birth_date,register_date,credit_card 2 | Ann,1/31/1980,8/20/1996,4532908762519852 3 | James,4/5/1988,5/9/2001,4301261899725540 4 | Dan,9/13/1945,12/15/2011,4620761856015295 5 | Laura,12/3/1992,2/3/2017,4564981067258901 6 | -------------------------------------------------------------------------------- /document-ai/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | no-console: off 4 | node/no-unsupported-features/node-builtins: off 5 | -------------------------------------------------------------------------------- /document-ai/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-document-ai-samples", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "engines": { 7 | "node": ">=16.0.0" 8 | }, 9 | "files": [ 10 | "*.js" 11 | ], 12 | "scripts": { 13 | "test": "c8 mocha -p -j 2 test/*.js --timeout 600000" 14 | }, 15 | "dependencies": { 16 | "@google-cloud/documentai": "^8.0.0", 17 | "@google-cloud/storage": "^7.0.0", 18 | "p-queue": "^8.0.0" 19 | }, 20 | "devDependencies": { 21 | "c8": "^10.0.0", 22 | "chai": "^4.5.0", 23 | "mocha": "^10.0.0", 24 | "uuid": "^10.0.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /document-ai/resources/document_quality_poor.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/document-ai/resources/document_quality_poor.pdf -------------------------------------------------------------------------------- /document-ai/resources/handwritten_form.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/document-ai/resources/handwritten_form.pdf -------------------------------------------------------------------------------- /document-ai/resources/invoice.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/document-ai/resources/invoice.pdf -------------------------------------------------------------------------------- /document-ai/resources/multi_document.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/document-ai/resources/multi_document.pdf -------------------------------------------------------------------------------- /document-ai/resources/us_driver_license.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/document-ai/resources/us_driver_license.pdf -------------------------------------------------------------------------------- /document-ai/test/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | env: 3 | mocha: true 4 | rules: 5 | node/no-extraneous-require: off 6 | -------------------------------------------------------------------------------- /document-warehouse/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | # Copyright 2023 Google LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | --- 15 | rules: 16 | no-console: off 17 | node/no-unsupported-features/node-builtins: off 18 | -------------------------------------------------------------------------------- /document-warehouse/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-document-warehouse-samples", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "scripts": { 7 | "test": "c8 mocha test/*.test.js --timeout 600000" 8 | }, 9 | "dependencies": { 10 | "@google-cloud/contentwarehouse": "^1.0.0", 11 | "@google-cloud/iam": "^1.0.0", 12 | "@google-cloud/resource-manager": "^5.0.0" 13 | }, 14 | "devDependencies": { 15 | "assert": "^2.0.0", 16 | "c8": "^10.0.0" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /document-warehouse/test/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | # Copyright 2023 Google LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | --- 15 | env: 16 | mocha: true 17 | rules: 18 | node/no-extraneous-require: off 19 | -------------------------------------------------------------------------------- /endpoints/getting-started-grpc/.dockerignore: -------------------------------------------------------------------------------- 1 | *.md 2 | *.yaml 3 | node_modules/ 4 | test/ 5 | -------------------------------------------------------------------------------- /endpoints/getting-started-grpc/Dockerfile: -------------------------------------------------------------------------------- 1 | # The Google App Engine Flexible Environment base Docker image can 2 | # also be used on Google Container Engine, or any other Docker host. 3 | # This image is based on Debian Jessie and includes nodejs and npm 4 | # installed from nodejs.org. The source is located in 5 | # https://github.com/GoogleCloudPlatform/nodejs-docker 6 | FROM gcr.io/google_appengine/nodejs 7 | 8 | ADD . /app 9 | WORKDIR /app 10 | 11 | RUN npm install 12 | ENTRYPOINT [] 13 | 14 | EXPOSE 50051 15 | CMD ["npm", "start"] 16 | -------------------------------------------------------------------------------- /endpoints/getting-started/Dockerfile.custom: -------------------------------------------------------------------------------- 1 | # The Google App Engine Flexible Environment base Docker image can 2 | # also be used on Google Container Engine, or any other Docker host. 3 | # This image is based on Debian Jessie and includes nodejs and npm 4 | # installed from nodejs.org. The source is located in 5 | # https://github.com/GoogleCloudPlatform/nodejs-docker 6 | FROM gcr.io/google_appengine/nodejs 7 | 8 | ADD . /app 9 | WORKDIR /app 10 | 11 | RUN npm install 12 | ENV PORT=8080 13 | ENTRYPOINT ["npm", "start"] 14 | -------------------------------------------------------------------------------- /error-reporting/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | no-console: off 4 | -------------------------------------------------------------------------------- /error-reporting/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-error-reporting", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google Inc.", 6 | "repository": "googleapis/nodejs-error-reporting", 7 | "files": [ 8 | "*.js", 9 | "!test/" 10 | ], 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 --timeout=600000" 16 | }, 17 | "dependencies": { 18 | "@google-cloud/error-reporting": "^3.0.4", 19 | "express": "^4.16.3" 20 | }, 21 | "devDependencies": { 22 | "c8": "^10.0.0", 23 | "chai": "^4.5.0", 24 | "gaxios": "^6.0.0", 25 | "mocha": "^10.0.0" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /eventarc/audit-storage/.dockerignore: -------------------------------------------------------------------------------- 1 | Dockerfile 2 | .dockerignore 3 | node_modules 4 | npm-debug.log 5 | -------------------------------------------------------------------------------- /eventarc/audit-storage/ci-setup.json: -------------------------------------------------------------------------------- 1 | { 2 | "env" : { 3 | "SERVICE_NAME" : "eventarc-audit-storage", 4 | "CONTAINER_IMAGE" : "gcr.io/${PROJECT_ID}/run-${SERVICE_NAME}-${RUN_ID}" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /eventarc/generic/.dockerignore: -------------------------------------------------------------------------------- 1 | Dockerfile 2 | .dockerignore 3 | node_modules 4 | npm-debug.log 5 | -------------------------------------------------------------------------------- /eventarc/pubsub/.dockerignore: -------------------------------------------------------------------------------- 1 | Dockerfile 2 | .dockerignore 3 | node_modules 4 | npm-debug.log 5 | -------------------------------------------------------------------------------- /eventarc/pubsub/ci-setup.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "SERVICE_NAME": "eventarc-pubsub-${RUN_ID}", 4 | "CONTAINER_IMAGE": "gcr.io/long-door-651/eventarc-pubsub:${RUN_ID}" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /functions/billing/.gcloudignore: -------------------------------------------------------------------------------- 1 | # This file specifies files that are *not* uploaded to Google Cloud Platform 2 | # using gcloud. It follows the same syntax as .gitignore, with the addition of 3 | # "#!include" directives (which insert the entries of the given .gitignore-style 4 | # file at that point). 5 | # 6 | # For more information, run: 7 | # $ gcloud topic gcloudignore 8 | # 9 | .gcloudignore 10 | # If you would like to upload your .git directory, .gitignore file or files 11 | # from your .gitignore file, remove the corresponding line 12 | # below: 13 | .git 14 | .gitignore 15 | 16 | node_modules 17 | -------------------------------------------------------------------------------- /functions/ci_cd/cloudbuild.yaml: -------------------------------------------------------------------------------- 1 | # [START functions_ci_cd_cloud_build] 2 | steps: 3 | - name: 'gcr.io/cloud-builders/npm' 4 | args: ['install'] 5 | dir: 'function/dir/from/repo/root' 6 | - name: 'gcr.io/cloud-builders/npm' 7 | args: ['test'] 8 | dir: 'function/dir/from/repo/root' 9 | - name: 'gcr.io/cloud-builders/gcloud' 10 | args: ['functions', 'deploy', '[YOUR_DEPLOYED_FUNCTION_NAME]', '[YOUR_FUNCTION_TRIGGER]', '--runtime', '[YOUR_RUNTIME]', '--entry-point', '[YOUR_FUNCTION_NAME_IN_CODE]'] 11 | dir: 'function/dir/from/repo/root' 12 | # [END functions_ci_cd_cloud_build] 13 | -------------------------------------------------------------------------------- /functions/concepts/afterResponse/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-concepts-after-response", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "dependencies": { 15 | "@google-cloud/functions-framework": "^3.1.3" 16 | }, 17 | "scripts": { 18 | "test": "echo \"No tests exist for this sample.\"" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /functions/concepts/afterTimeout/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-concepts-after-timeout", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "dependencies": { 15 | "@google-cloud/functions-framework": "^3.1.3" 16 | }, 17 | "scripts": { 18 | "test": "echo \"No tests exist for this sample.\"" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /functions/concepts/backgroundTermination/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-concepts-background-termination", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "echo \"No tests exist for this sample.\"" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /functions/concepts/filesystem/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-concepts-filesystem", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "dependencies": { 15 | "@google-cloud/functions-framework": "^3.1.2" 16 | }, 17 | "scripts": { 18 | "test": "echo \"No tests exist for this sample.\"" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /functions/concepts/httpTermination/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-concepts-http-termination", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "dependencies": { 15 | "@google-cloud/functions-framework": "^3.1.3" 16 | }, 17 | "scripts": { 18 | "test": "echo \"No tests exist for this sample.\"" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /functions/concepts/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-concepts", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "dependencies": { 15 | "node-fetch": "^3.0.0" 16 | }, 17 | "devDependencies": { 18 | "mocha": "^10.0.0", 19 | "sinon": "^18.0.0", 20 | "supertest": "^7.0.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /functions/concepts/requests/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-concepts-requests", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "dependencies": { 15 | "@google-cloud/functions-framework": "^3.1.3", 16 | "node-fetch": "^3.0.0" 17 | }, 18 | "scripts": { 19 | "test": "echo \"No tests exist for this sample.\"" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /functions/concepts/stateless/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-concepts-stateless", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "dependencies": { 15 | "@google-cloud/functions-framework": "^3.1.3" 16 | }, 17 | "scripts": { 18 | "test": "echo \"No tests exist for this sample.\"" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /functions/env_vars/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-env-vars", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=20000" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0", 20 | "sinon": "^18.0.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /functions/firebase/.gcloudignore: -------------------------------------------------------------------------------- 1 | # This file specifies files that are *not* uploaded to Google Cloud Platform 2 | # using gcloud. It follows the same syntax as .gitignore, with the addition of 3 | # "#!include" directives (which insert the entries of the given .gitignore-style 4 | # file at that point). 5 | # 6 | # For more information, run: 7 | # $ gcloud topic gcloudignore 8 | # 9 | .gcloudignore 10 | # If you would like to upload your .git directory, .gitignore file or files 11 | # from your .gitignore file, remove the corresponding line 12 | # below: 13 | .git 14 | .gitignore 15 | 16 | node_modules 17 | -------------------------------------------------------------------------------- /functions/firebase/helloAnalytics/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-firebase-analytics", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 -T 30s test/*.test.js" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0", 20 | "proxyquire": "^2.1.0", 21 | "sinon": "^18.0.0" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /functions/firebase/helloAuth/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-firebase-auth", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 -T 30s test/*.test.js" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0", 20 | "proxyquire": "^2.1.0", 21 | "sinon": "^18.0.0" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /functions/firebase/helloFirestore/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-firebase-firestore", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 -T 30s test/*.test.js" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0", 20 | "proxyquire": "^2.1.0", 21 | "sinon": "^18.0.0" 22 | }, 23 | "dependencies": { 24 | "@google-cloud/firestore": "^7.0.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /functions/firebase/helloRTDB/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-firebase-rtdb", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 -T 30s test/*.test.js" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0", 20 | "proxyquire": "^2.1.0", 21 | "sinon": "^18.0.0" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /functions/firebase/helloRemoteConfig/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-firebase-remote-config", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 -T 30s test/*.test.js" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0", 20 | "proxyquire": "^2.1.0", 21 | "sinon": "^18.0.0" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /functions/firebase/makeUpperCase/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-firebase-reactive", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 -T 30s test/*.test.js" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0", 20 | "proxyquire": "^2.1.0", 21 | "sinon": "^18.0.0" 22 | }, 23 | "dependencies": { 24 | "@google-cloud/firestore": "^7.0.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /functions/firebase/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-firebase", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "devDependencies": { 15 | "mocha": "^10.0.0", 16 | "proxyquire": "^2.1.0", 17 | "sinon": "^18.0.0", 18 | "supertest": "^7.0.0", 19 | "uuid": "^10.0.0" 20 | }, 21 | "dependencies": { 22 | "@google-cloud/firestore": "^7.0.0" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /functions/helloworld/.gcloudignore: -------------------------------------------------------------------------------- 1 | # This file specifies files that are *not* uploaded to Google Cloud Platform 2 | # using gcloud. It follows the same syntax as .gitignore, with the addition of 3 | # "#!include" directives (which insert the entries of the given .gitignore-style 4 | # file at that point). 5 | # 6 | # For more information, run: 7 | # $ gcloud topic gcloudignore 8 | # 9 | .gcloudignore 10 | # If you would like to upload your .git directory, .gitignore file or files 11 | # from your .gitignore file, remove the corresponding line 12 | # below: 13 | .git 14 | .gitignore 15 | 16 | node_modules 17 | -------------------------------------------------------------------------------- /functions/helloworld/helloError/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-hello-error", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --exit" 16 | }, 17 | "dependencies": { 18 | "@google-cloud/functions-framework": "^3.1.0" 19 | }, 20 | "devDependencies": { 21 | "c8": "^10.0.0", 22 | "mocha": "^10.0.0", 23 | "sinon": "^18.0.0" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /functions/helloworld/helloGCS/test/test.txt: -------------------------------------------------------------------------------- 1 | test file 2 | -------------------------------------------------------------------------------- /functions/helloworld/helloworldGet/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-hello-world-get", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=6000 --exit" 16 | }, 17 | "dependencies": { 18 | "@google-cloud/functions-framework": "^3.1.0" 19 | }, 20 | "devDependencies": { 21 | "c8": "^10.0.0", 22 | "gaxios": "^6.0.0", 23 | "mocha": "^10.0.0", 24 | "wait-port": "^1.0.4" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /functions/http/.gcloudignore: -------------------------------------------------------------------------------- 1 | # This file specifies files that are *not* uploaded to Google Cloud Platform 2 | # using gcloud. It follows the same syntax as .gitignore, with the addition of 3 | # "#!include" directives (which insert the entries of the given .gitignore-style 4 | # file at that point). 5 | # 6 | # For more information, run: 7 | # $ gcloud topic gcloudignore 8 | # 9 | .gcloudignore 10 | # If you would like to upload your .git directory, .gitignore file or files 11 | # from your .gitignore file, remove the corresponding line 12 | # below: 13 | .git 14 | .gitignore 15 | 16 | node_modules 17 | -------------------------------------------------------------------------------- /functions/http/corsEnabledFunction/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-http-cors", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=60000" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0", 20 | "proxyquire": "^2.1.0", 21 | "sinon": "^18.0.0" 22 | }, 23 | "dependencies": { 24 | "@google-cloud/functions-framework": "^3.1.2" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /functions/http/corsEnabledFunctionAuth/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-http-cors-auth", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=60000" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0", 20 | "proxyquire": "^2.1.0", 21 | "sinon": "^18.0.0" 22 | }, 23 | "dependencies": { 24 | "@google-cloud/functions-framework": "^3.1.2" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /functions/http/httpContent/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-http-hello-content", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=60000" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0", 20 | "sinon": "^18.0.0" 21 | }, 22 | "dependencies": { 23 | "@google-cloud/functions-framework": "^3.1.2", 24 | "escape-html": "^1.0.3" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /functions/http/httpMethods/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-http-method", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=60000" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0", 20 | "sinon": "^18.0.0" 21 | }, 22 | "dependencies": { 23 | "@google-cloud/functions-framework": "^3.1.2" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /functions/http/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-http", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "devDependencies": { 15 | "mocha": "^10.0.0", 16 | "proxyquire": "^2.1.0", 17 | "sinon": "^18.0.0" 18 | }, 19 | "dependencies": { 20 | "@google-cloud/storage": "^7.0.0", 21 | "busboy": "^1.6.0", 22 | "escape-html": "^1.0.3" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /functions/http/parseXML/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-http-parse-xml", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=6000 --exit" 16 | }, 17 | "dependencies": { 18 | "@google-cloud/functions-framework": "^3.1.2", 19 | "xml2js": "^0.6.0" 20 | }, 21 | "devDependencies": { 22 | "c8": "^10.0.0", 23 | "gaxios": "^6.0.0", 24 | "mocha": "^10.2.0", 25 | "wait-port": "^1.0.4" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /functions/http/uploadFile/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-http-upload-file", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "dependencies": { 15 | "@google-cloud/functions-framework": "^3.1.3", 16 | "@google-cloud/storage": "^7.0.0", 17 | "busboy": "^1.0.0" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /functions/imagemagick/ci-setup.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "FUNCTIONS_BUCKET": "nodejs-docs-samples-tests", 4 | "BLURRED_BUCKET_NAME": "nodejs-docs-samples-tests-imagick" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /functions/imagemagick/zombie.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/functions/imagemagick/zombie.jpg -------------------------------------------------------------------------------- /functions/log/.gcloudignore: -------------------------------------------------------------------------------- 1 | # This file specifies files that are *not* uploaded to Google Cloud Platform 2 | # using gcloud. It follows the same syntax as .gitignore, with the addition of 3 | # "#!include" directives (which insert the entries of the given .gitignore-style 4 | # file at that point). 5 | # 6 | # For more information, run: 7 | # $ gcloud topic gcloudignore 8 | # 9 | .gcloudignore 10 | # If you would like to upload your .git directory, .gitignore file or files 11 | # from your .gitignore file, remove the corresponding line 12 | # below: 13 | .git 14 | .gitignore 15 | 16 | node_modules 17 | -------------------------------------------------------------------------------- /functions/log/helloWorld/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-log-hello-world", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=20000" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0", 20 | "sinon": "^18.0.0" 21 | }, 22 | "dependencies": { 23 | "@google-cloud/functions-framework": "^3.1.3" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /functions/log/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-log", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "devDependencies": { 15 | "mocha": "^10.0.0", 16 | "proxyquire": "^2.1.0", 17 | "sinon": "^18.0.0" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /functions/log/processEntry/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-log-process-entry", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=20000" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0", 20 | "proxyquire": "^2.1.0", 21 | "sinon": "^18.0.0" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /functions/memorystore/redis/README.md: -------------------------------------------------------------------------------- 1 | Google Cloud Platform logo 2 | 3 | # Google Cloud Functions - Cloud Memorystore sample 4 | 5 | See: 6 | 7 | * [Cloud Functions Cloud Memorystore sample source code][code] 8 | * [Connecting to a Redis instance from Cloud Functions][tutorial] 9 | 10 | [code]: index.js 11 | [tutorial]: https://cloud.google.com/memorystore/docs/redis/connect-redis-instance-functions 12 | -------------------------------------------------------------------------------- /functions/memorystore/redis/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-memorystore-redis", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "main": "index.js", 15 | "scripts": { 16 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=20000 --exit" 17 | }, 18 | "dependencies": { 19 | "@google-cloud/functions-framework": "^3.1.2", 20 | "redis": "^4.0.0" 21 | }, 22 | "devDependencies": { 23 | "c8": "^10.0.0", 24 | "mocha": "^10.0.0", 25 | "sinon": "^18.0.0" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /functions/ocr/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | config.json -------------------------------------------------------------------------------- /functions/ocr/app/.gcloudignore: -------------------------------------------------------------------------------- 1 | # This file specifies files that are *not* uploaded to Google Cloud Platform 2 | # using gcloud. It follows the same syntax as .gitignore, with the addition of 3 | # "#!include" directives (which insert the entries of the given .gitignore-style 4 | # file at that point). 5 | # 6 | # For more information, run: 7 | # $ gcloud topic gcloudignore 8 | # 9 | .gcloudignore 10 | # If you would like to upload your .git directory, .gitignore file or files 11 | # from your .gitignore file, remove the corresponding line 12 | # below: 13 | .git 14 | .gitignore 15 | 16 | node_modules 17 | -------------------------------------------------------------------------------- /functions/ocr/app/ci-setup.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "FUNCTIONS_BUCKET": "nodejs-docs-samples-tests", 4 | "RESULT_BUCKET": "nodejs-docs-samples-tests", 5 | "TRANSLATE_TOPIC": "integration-tests-instance", 6 | "RESULT_TOPIC": "integration-tests-instance", 7 | "TO_LANG": "en,es" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /functions/ocr/images/menu.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/functions/ocr/images/menu.jpg -------------------------------------------------------------------------------- /functions/ocr/images/sign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/functions/ocr/images/sign.png -------------------------------------------------------------------------------- /functions/pubsub/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-pubsub", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "dependencies": { 15 | "@google-cloud/pubsub": "^4.0.0" 16 | }, 17 | "devDependencies": { 18 | "@google-cloud/functions-framework": "^3.0.0", 19 | "gaxios": "^6.0.0", 20 | "mocha": "^10.0.0", 21 | "sinon": "^18.0.0", 22 | "wait-port": "^1.0.4" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /functions/pubsub/subscribe/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-pubsub-subscribe", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=20000 --exit" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0", 20 | "sinon": "^18.0.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /functions/scheduleinstance/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cloud-functions-schedule-instance", 3 | "version": "0.1.0", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=20000" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0", 20 | "proxyquire": "^2.0.0", 21 | "sinon": "^18.0.0" 22 | }, 23 | "dependencies": { 24 | "@google-cloud/compute": "^4.0.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /functions/security/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-security", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google LLC", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js" 16 | }, 17 | "dependencies": { 18 | "node-fetch": "^3.0.0" 19 | }, 20 | "devDependencies": { 21 | "c8": "^10.0.0", 22 | "mocha": "^10.0.0", 23 | "proxyquire": "^2.1.3", 24 | "sinon": "^18.0.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /functions/slack/.gcloudignore: -------------------------------------------------------------------------------- 1 | # This file specifies files that are *not* uploaded to Google Cloud Platform 2 | # using gcloud. It follows the same syntax as .gitignore, with the addition of 3 | # "#!include" directives (which insert the entries of the given .gitignore-style 4 | # file at that point). 5 | # 6 | # For more information, run: 7 | # $ gcloud topic gcloudignore 8 | # 9 | .gcloudignore 10 | # If you would like to upload your .git directory, .gitignore file or files 11 | # from your .gitignore file, remove the corresponding line 12 | # below: 13 | .git 14 | .gitignore 15 | 16 | node_modules 17 | -------------------------------------------------------------------------------- /functions/slack/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | config.json 3 | test.js 4 | -------------------------------------------------------------------------------- /functions/slack/config.default.json: -------------------------------------------------------------------------------- 1 | { 2 | "SLACK_SECRET": "[YOUR_SLACK_SIGNING_SECRET]", 3 | "KG_API_KEY": "[YOUR_KG_API_KEY]" 4 | } -------------------------------------------------------------------------------- /functions/spanner/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-spanner", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=20000" 16 | }, 17 | "dependencies": { 18 | "@google-cloud/functions-framework": "^3.2.0", 19 | "@google-cloud/spanner": "^7.0.0" 20 | }, 21 | "devDependencies": { 22 | "c8": "^10.0.0", 23 | "mocha": "^10.0.0", 24 | "proxyquire": "^2.1.0", 25 | "sinon": "^18.0.0" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /functions/tips/.gcloudignore: -------------------------------------------------------------------------------- 1 | # This file specifies files that are *not* uploaded to Google Cloud Platform 2 | # using gcloud. It follows the same syntax as .gitignore, with the addition of 3 | # "#!include" directives (which insert the entries of the given .gitignore-style 4 | # file at that point). 5 | # 6 | # For more information, run: 7 | # $ gcloud topic gcloudignore 8 | # 9 | .gcloudignore 10 | # If you would like to upload your .git directory, .gitignore file or files 11 | # from your .gitignore file, remove the corresponding line 12 | # below: 13 | .git 14 | .gitignore 15 | 16 | node_modules 17 | -------------------------------------------------------------------------------- /functions/tips/avoidInfiniteRetries/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-tips-avoid-infinite-retries", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "echo \"No tests exist for this sample.\"" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /functions/tips/connectionPools/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-tips-connection-pooling", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "dependencies": { 15 | "@google-cloud/functions-framework": "^3.1.2", 16 | "node-fetch": "^3.0.0" 17 | }, 18 | "scripts": { 19 | "test": "echo \"No tests exist for this sample.\"" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /functions/tips/gcpApiCall/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-tips-gcp-apis", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=60000 --exit" 16 | }, 17 | "dependencies": { 18 | "@google-cloud/functions-framework": "^3.1.3", 19 | "@google-cloud/pubsub": "^4.0.0" 20 | }, 21 | "devDependencies": { 22 | "c8": "^10.0.0", 23 | "mocha": "^10.0.0", 24 | "proxyquire": "^2.1.3", 25 | "sinon": "^18.0.0" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /functions/tips/lazyGlobals/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-tips-lazy-globals", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "dependencies": { 15 | "@google-cloud/functions-framework": "^3.1.3" 16 | }, 17 | "scripts": { 18 | "test": "echo \"No tests exist for this sample.\"" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /functions/tips/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-tips", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "echo \"Notice: tests moved into topic sub-directories\" && exit 0" 16 | }, 17 | "dependencies": { 18 | "@google-cloud/pubsub": "^4.0.0", 19 | "mocha": "^10.0.0" 20 | }, 21 | "devDependencies": { 22 | "node-fetch": "^3.0.0", 23 | "sinon": "^18.0.0" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /functions/tips/retry/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-tips-retry", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=60000 --exit" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0", 20 | "sinon": "^18.0.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /functions/tips/scopeDemo/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-tips-scope-demo", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=60000" 16 | }, 17 | "dependencies": { 18 | "@google-cloud/functions-framework": "^3.1.2" 19 | }, 20 | "devDependencies": { 21 | "c8": "^10.0.0", 22 | "mocha": "^10.2.0", 23 | "sinon": "^18.0.0" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /functions/v2/.gitignore: -------------------------------------------------------------------------------- 1 | *.zip 2 | -------------------------------------------------------------------------------- /functions/v2/cloudEventLogging/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "structured-logging-cloudevent", 3 | "version": "0.0.1", 4 | "description": "Simple structured logging cloudevent example", 5 | "license": "Apache-2.0", 6 | "author": "Google LLC", 7 | "main": "index.js", 8 | "engines": { 9 | "node": ">=16.0.0" 10 | }, 11 | "scripts": { 12 | "test": "c8 mocha -p -j 2 test/*.test.js" 13 | }, 14 | "dependencies": { 15 | "@google-cloud/functions-framework": "^3.1.1", 16 | "@google-cloud/logging": "^11.0.0" 17 | }, 18 | "devDependencies": { 19 | "c8": "^10.0.0", 20 | "cloudevents": "^8.0.0", 21 | "mocha": "^10.0.0", 22 | "sinon": "^18.0.0" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /functions/v2/firebase/firestore/helloFirestore/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-firebase-firestore", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 -T 30s test/*.test.js" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0", 20 | "sinon": "^18.0.0" 21 | }, 22 | "dependencies": { 23 | "@google-cloud/functions-framework": "^3.1.3", 24 | "protobufjs": "^7.2.2" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /functions/v2/firebase/remote-config/helloRemoteConfig/.gcloudignore: -------------------------------------------------------------------------------- 1 | # This file specifies files that are *not* uploaded to Google Cloud 2 | # using gcloud. It follows the same syntax as .gitignore, with the addition of 3 | # "#!include" directives (which insert the entries of the given .gitignore-style 4 | # file at that point). 5 | # 6 | # For more information, run: 7 | # $ gcloud topic gcloudignore 8 | # 9 | .gcloudignore 10 | # If you would like to upload your .git directory, .gitignore file or files 11 | # from your .gitignore file, remove the corresponding line 12 | # below: 13 | .git 14 | .gitignore 15 | 16 | node_modules 17 | -------------------------------------------------------------------------------- /functions/v2/firebase/remote-config/helloRemoteConfig/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-firebase-remote-config", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 -T 30s test/*.test.js" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0", 20 | "sinon": "^18.0.0" 21 | }, 22 | "dependencies": { 23 | "@google-cloud/functions-framework": "^3.1.3" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /functions/v2/firebase/rtdb/helloRTDB/.gcloudignore: -------------------------------------------------------------------------------- 1 | # This file specifies files that are *not* uploaded to Google Cloud 2 | # using gcloud. It follows the same syntax as .gitignore, with the addition of 3 | # "#!include" directives (which insert the entries of the given .gitignore-style 4 | # file at that point). 5 | # 6 | # For more information, run: 7 | # $ gcloud topic gcloudignore 8 | # 9 | .gcloudignore 10 | # If you would like to upload your .git directory, .gitignore file or files 11 | # from your .gitignore file, remove the corresponding line 12 | # below: 13 | .git 14 | .gitignore 15 | 16 | node_modules 17 | -------------------------------------------------------------------------------- /functions/v2/firebase/rtdb/helloRTDB/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-firebase-rtdb", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 -T 30s test/*.test.js" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0", 20 | "sinon": "^18.0.0" 21 | }, 22 | "dependencies": { 23 | "@google-cloud/functions-framework": "^3.1.3" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /functions/v2/helloAuditLog/.gcloudignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | test/ 3 | package-lock.json -------------------------------------------------------------------------------- /functions/v2/helloAuditLog/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-v2-hello-audit-log", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=60000" 16 | }, 17 | "dependencies": { 18 | "@google-cloud/functions-framework": "^3.0.0" 19 | }, 20 | "devDependencies": { 21 | "c8": "^10.0.0", 22 | "mocha": "^10.0.0", 23 | "sinon": "^18.0.0", 24 | "supertest": "^7.0.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /functions/v2/helloBigQuery/.gcloudignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | test/ 3 | package-lock.json 4 | -------------------------------------------------------------------------------- /functions/v2/helloBigQuery/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-v2-hello-big-query", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google LLC", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=20000 --exit" 16 | }, 17 | "dependencies": { 18 | "@google-cloud/bigquery": "^7.0.0", 19 | "@google-cloud/functions-framework": "^3.1.0" 20 | }, 21 | "devDependencies": { 22 | "c8": "^10.0.0", 23 | "mocha": "^10.0.0", 24 | "supertest": "^7.0.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /functions/v2/helloGCS/.gcloudignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | test/ 3 | package-lock.json -------------------------------------------------------------------------------- /functions/v2/helloGCS/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-v2-storage", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google LLC", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=60000" 16 | }, 17 | "dependencies": { 18 | "@google-cloud/functions-framework": "^3.0.0" 19 | }, 20 | "devDependencies": { 21 | "c8": "^10.0.0", 22 | "mocha": "^10.0.0", 23 | "sinon": "^18.0.0", 24 | "supertest": "^7.0.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /functions/v2/helloPubSub/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-v2", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google LLC", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=60000" 16 | }, 17 | "dependencies": { 18 | "@google-cloud/functions-framework": "^3.0.0" 19 | }, 20 | "devDependencies": { 21 | "c8": "^10.0.0", 22 | "mocha": "^10.0.0", 23 | "sinon": "^18.0.0", 24 | "supertest": "^7.0.0", 25 | "uuid": "^10.0.0" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /functions/v2/httpLogging/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "structured-logging-http", 3 | "version": "0.0.1", 4 | "description": "Simple structured logging http example", 5 | "license": "Apache-2.0", 6 | "author": "Google LLC", 7 | "main": "index.js", 8 | "engines": { 9 | "node": ">=16.0.0" 10 | }, 11 | "scripts": { 12 | "test": "c8 mocha -p -j 2 test/*.test.js", 13 | "start": "npx @google-cloud/functions-framework --target=structuredLogging" 14 | }, 15 | "dependencies": { 16 | "@google-cloud/functions-framework": "^3.1.1", 17 | "@google-cloud/logging": "^11.0.0" 18 | }, 19 | "devDependencies": { 20 | "c8": "^10.0.0", 21 | "mocha": "^10.0.0", 22 | "sinon": "^18.0.0" 23 | } 24 | } -------------------------------------------------------------------------------- /functions/v2/imagemagick/ci-setup.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "FUNCTIONS_BUCKET": "nodejs-docs-samples-tests", 4 | "BLURRED_BUCKET_NAME": "nodejs-docs-samples-tests-imagick" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /functions/v2/imagemagick/zombie.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/functions/v2/imagemagick/zombie.jpg -------------------------------------------------------------------------------- /functions/v2/log/processEntry/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-log-process-entry", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=20000" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0", 20 | "sinon": "^18.0.0" 21 | }, 22 | "dependencies": { 23 | "@google-cloud/functions-framework": "^3.1.3" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /functions/v2/ocr/README.md: -------------------------------------------------------------------------------- 1 | Google Cloud Platform logo 2 | 3 | # Google Cloud Functions - OCR (Optical Character Recognition) sample 4 | 5 | [tutorial]: https://cloud.google.com/functions/docs/tutorials/ocr 6 | [code]: app/index.js 7 | 8 | ## Deploy and run the sample 9 | 10 | See the [Cloud Functions OCR tutorial][tutorial]. 11 | 12 | ## Run the tests 13 | 14 | 1. Read and follow the [prerequisites](https://github.com/GoogleCloudPlatform/nodejs-docs-samples#prerequisites). 15 | 16 | 1. Install dependencies: 17 | 18 | npm install 19 | 20 | 1. Run the tests: 21 | 22 | npm test 23 | -------------------------------------------------------------------------------- /functions/v2/ocr/app/.gcloudignore: -------------------------------------------------------------------------------- 1 | # This file specifies files that are *not* uploaded to Google Cloud Platform 2 | # using gcloud. It follows the same syntax as .gitignore, with the addition of 3 | # "#!include" directives (which insert the entries of the given .gitignore-style 4 | # file at that point). 5 | # 6 | # For more information, run: 7 | # $ gcloud topic gcloudignore 8 | # 9 | .gcloudignore 10 | # If you would like to upload your .git directory, .gitignore file or files 11 | # from your .gitignore file, remove the corresponding line 12 | # below: 13 | .git 14 | .gitignore 15 | 16 | node_modules 17 | -------------------------------------------------------------------------------- /functions/v2/ocr/images/menu.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/functions/v2/ocr/images/menu.jpg -------------------------------------------------------------------------------- /functions/v2/ocr/images/sign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/functions/v2/ocr/images/sign.png -------------------------------------------------------------------------------- /functions/v2/tips/avoidInfiniteRetries/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-tips-avoid-infinite-retries", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=60000" 16 | }, 17 | "dependencies": { 18 | "@google-cloud/functions-framework": "^3.1.3" 19 | }, 20 | "devDependencies": { 21 | "c8": "^10.0.0", 22 | "mocha": "^10.2.0", 23 | "sinon": "^18.0.0" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /functions/v2/tips/retry/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-functions-tips-retry", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google Inc.", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=60000 --exit" 16 | }, 17 | "devDependencies": { 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0", 20 | "sinon": "^18.0.0", 21 | "supertest": "^7.0.0" 22 | }, 23 | "dependencies": { 24 | "@google-cloud/functions-framework": "^3.1.3" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /functions/v2/typed/googlechatbot/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "googlechatbot", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=60000" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "@google-cloud/functions-framework": "^3.3.0" 13 | }, 14 | "devDependencies": { 15 | "c8": "^10.0.0", 16 | "mocha": "^10.2.0", 17 | "sinon": "^18.0.0" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /functions/v2/typed/greeting/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "greeting", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=60000" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "@google-cloud/functions-framework": "^3.3.0" 13 | }, 14 | "devDependencies": { 15 | "c8": "^10.0.0", 16 | "mocha": "^10.2.0", 17 | "sinon": "^18.0.0" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /genai/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-genai-samples", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "engines": { 7 | "node": ">=16.0.0" 8 | }, 9 | "files": [ 10 | "*.js" 11 | ], 12 | "scripts": { 13 | "test": "c8 mocha -p -j 2 --timeout 2400000 test/*.test.js test/**/*.test.js" 14 | }, 15 | "dependencies": { 16 | "@google/genai": "^0.13.0", 17 | "axios": "^1.6.2", 18 | "supertest": "^7.0.0" 19 | }, 20 | "devDependencies": { 21 | "c8": "^10.0.0", 22 | "chai": "^4.5.0", 23 | "mocha": "^10.0.0", 24 | "sinon": "^18.0.0", 25 | "uuid": "^10.0.0" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /generative-ai/snippets/ci-setup.json: -------------------------------------------------------------------------------- 1 | { 2 | "secrets": { 3 | "CAIP_PROJECT_ID": "nodejs-docs-samples-tests/nodejs-docs-samples-ai-platform-caip-project-id", 4 | "LOCATION": "nodejs-docs-samples-tests/nodejs-docs-samples-ai-platform-location", 5 | "DATASTORE_ID": "nodejs-docs-samples-tests/nodejs-docs-samples-ai-platform-datastore-id" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /generative-ai/snippets/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-generativeai-samples", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "engines": { 7 | "node": ">=16.0.0" 8 | }, 9 | "files": [ 10 | "*.js" 11 | ], 12 | "scripts": { 13 | "test": "c8 mocha -p -j 2 --timeout 2400000 test/*.test.js test/**/*.test.js" 14 | }, 15 | "dependencies": { 16 | "@google-cloud/aiplatform": "^3.12.0", 17 | "@google-cloud/vertexai": "github:googleapis/nodejs-vertexai", 18 | "axios": "^1.6.2", 19 | "supertest": "^7.0.0" 20 | }, 21 | "devDependencies": { 22 | "c8": "^10.0.0", 23 | "chai": "^4.5.0", 24 | "mocha": "^10.0.0", 25 | "sinon": "^18.0.0", 26 | "uuid": "^10.0.0" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /healthcare/consent/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-healthcare", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google LLC", 7 | "repository": "GoogleCloudPlatform/nodejs-docs-samples", 8 | "engines": { 9 | "node": ">=12.0.0" 10 | }, 11 | "scripts": { 12 | "test": "c8 mocha -p -j 2 system-test/*.test.js --timeout=60000" 13 | }, 14 | "devDependencies": { 15 | "c8": "^10.0.0", 16 | "mocha": "^10.0.0", 17 | "uuid": "^10.0.0" 18 | }, 19 | "dependencies": { 20 | "@googleapis/healthcare": "^23.0.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /healthcare/datasets/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-healthcare", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google LLC", 7 | "repository": "GoogleCloudPlatform/nodejs-docs-samples", 8 | "engines": { 9 | "node": ">=12.0.0" 10 | }, 11 | "scripts": { 12 | "test": "c8 mocha -p -j 2 system-test/*.test.js --timeout=60000" 13 | }, 14 | "devDependencies": { 15 | "c8": "^10.0.0", 16 | "mocha": "^10.0.0", 17 | "uuid": "^10.0.0" 18 | }, 19 | "dependencies": { 20 | "@googleapis/healthcare": "^23.0.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /healthcare/dicom/ci-setup.json: -------------------------------------------------------------------------------- 1 | { 2 | "node-version": 16 3 | } 4 | -------------------------------------------------------------------------------- /healthcare/dicom/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-healthcare", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google LLC", 7 | "repository": "GoogleCloudPlatform/nodejs-docs-samples", 8 | "engines": { 9 | "node": ">=12.0.0" 10 | }, 11 | "scripts": { 12 | "test": "c8 mocha -p -j 2 system-test/*.test.js --timeout=60000" 13 | }, 14 | "devDependencies": { 15 | "@google-cloud/pubsub": "^4.0.0", 16 | "@google-cloud/storage": "^7.0.0", 17 | "c8": "^10.0.0", 18 | "mocha": "^10.0.0", 19 | "uuid": "^10.0.0" 20 | }, 21 | "dependencies": { 22 | "@googleapis/healthcare": "^23.0.0" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /healthcare/dicom/resources/IM-0002-0001-JPEG-BASELINE.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/healthcare/dicom/resources/IM-0002-0001-JPEG-BASELINE.dcm -------------------------------------------------------------------------------- /healthcare/fhir/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-healthcare", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google LLC", 7 | "repository": "GoogleCloudPlatform/nodejs-docs-samples", 8 | "engines": { 9 | "node": ">=12.0.0" 10 | }, 11 | "scripts": { 12 | "test": "c8 mocha -p -j 2 system-test/*.test.js --timeout=60000" 13 | }, 14 | "devDependencies": { 15 | "@google-cloud/pubsub": "^4.0.0", 16 | "@google-cloud/storage": "^7.0.0", 17 | "c8": "^10.0.0", 18 | "google-auth-library": "^9.0.0", 19 | "mocha": "^10.0.0", 20 | "uuid": "^10.0.0" 21 | }, 22 | "dependencies": { 23 | "@googleapis/healthcare": "^23.0.0" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /healthcare/hl7v2/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-healthcare", 3 | "version": "0.0.1", 4 | "private": true, 5 | "license": "Apache-2.0", 6 | "author": "Google LLC", 7 | "repository": "GoogleCloudPlatform/nodejs-docs-samples", 8 | "engines": { 9 | "node": ">=12.0.0" 10 | }, 11 | "scripts": { 12 | "test": "c8 mocha -p -j 2 system-test/*.test.js --timeout=60000" 13 | }, 14 | "devDependencies": { 15 | "@google-cloud/pubsub": "^4.0.0", 16 | "c8": "^10.0.0", 17 | "mocha": "^10.0.0", 18 | "uuid": "^10.0.0" 19 | }, 20 | "dependencies": { 21 | "@googleapis/healthcare": "^23.0.0" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /healthcare/hl7v2/resources/hl7v2-sample.json: -------------------------------------------------------------------------------- 1 | { 2 | "message": { 3 | "data" : "TVNIfF5+XCZ8QXxTRU5EX0ZBQ0lMSVRZfEF8QXwyMDE4MDEwMTAwMDAwMHx8VFlQRV5BfDIwMTgwMTAxMDAwMDAwfFR8MC4wfHx8QUF8fDAwfEFTQ0lJDUVWTnxBMDB8MjAxODAxMDEwNDAwMDANUElEfHwxNAExMTFeXl5eTVJOfDExMTExMTExXl5eXk1STn4xMTExMTExMTExXl5eXk9SR05NQlI=" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /iam/deny/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-iam", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google Inc.", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 9 | }, 10 | "engines": { 11 | "node": ">=16.0.0" 12 | }, 13 | "scripts": { 14 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=60000" 15 | }, 16 | "dependencies": { 17 | "@google-cloud/iam": "^1.0.0" 18 | }, 19 | "devDependencies": { 20 | "c8": "^10.0.0", 21 | "chai": "^4.5.0", 22 | "mocha": "^10.0.0", 23 | "uuid": "^10.0.0" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /kms/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-kms-samples", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "files": [ 6 | "*.js" 7 | ], 8 | "author": "Google LLC", 9 | "repository": "googleapis/nodejs-kms", 10 | "engines": { 11 | "node": ">=16.0.0" 12 | }, 13 | "scripts": { 14 | "test": "c8 mocha -p -j 2 --recursive test/ --timeout=800000" 15 | }, 16 | "dependencies": { 17 | "@google-cloud/kms": "^4.0.0", 18 | "fast-crc32c": "^2.0.0" 19 | }, 20 | "devDependencies": { 21 | "c8": "^10.0.0", 22 | "chai": "^4.5.0", 23 | "mocha": "^10.0.0", 24 | "uuid": "^10.0.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /linkinator.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "recurse": true, 3 | "skip": [ 4 | "http://localhost:8080*", 5 | "\/node_modules\/" 6 | ], 7 | "silent": true, 8 | "concurrency": 10, 9 | "directoryListing": true 10 | } 11 | -------------------------------------------------------------------------------- /media/livestream/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-video-live-stream", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "engines": { 7 | "node": ">=12.0.0" 8 | }, 9 | "files": [ 10 | "*.js" 11 | ], 12 | "scripts": { 13 | "test": "c8 mocha -p -j 2 --timeout 600000 test/*.js" 14 | }, 15 | "dependencies": { 16 | "@google-cloud/livestream": "^1.0.0" 17 | }, 18 | "devDependencies": { 19 | "c8": "^10.0.0", 20 | "chai": "^4.5.0", 21 | "mocha": "^10.1.0", 22 | "uuid": "^10.0.0" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /media/transcoder/ci-setup.json: -------------------------------------------------------------------------------- 1 | { 2 | "timeout-minutes": 20 3 | } 4 | -------------------------------------------------------------------------------- /media/transcoder/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-video-transcoder-samples", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "engines": { 7 | "node": ">=16.0.0" 8 | }, 9 | "files": [ 10 | "*.js", 11 | "!test" 12 | ], 13 | "scripts": { 14 | "test": "c8 mocha -p -j 2 --timeout 600000 test/*.js" 15 | }, 16 | "dependencies": { 17 | "@google-cloud/video-transcoder": "^3.0.0" 18 | }, 19 | "devDependencies": { 20 | "@google-cloud/storage": "^7.0.0", 21 | "c8": "^10.0.0", 22 | "mocha": "^10.1.0", 23 | "uuid": "^10.0.0" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /media/transcoder/testdata/ChromeCast.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/media/transcoder/testdata/ChromeCast.mp4 -------------------------------------------------------------------------------- /media/transcoder/testdata/ForBiggerEscapes.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/media/transcoder/testdata/ForBiggerEscapes.mp4 -------------------------------------------------------------------------------- /media/transcoder/testdata/ForBiggerJoyrides.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/media/transcoder/testdata/ForBiggerJoyrides.mp4 -------------------------------------------------------------------------------- /media/transcoder/testdata/overlay.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/media/transcoder/testdata/overlay.jpg -------------------------------------------------------------------------------- /media/transcoder/testdata/subtitles-en.srt: -------------------------------------------------------------------------------- 1 | 1 2 | 00:00:06,600 --> 00:00:08,500 3 | LITTLE GIRL: Tada. 4 | 5 | 2 6 | 00:00:09,500 --> 00:00:11,000 7 | FATHER: Woah! 8 | 9 | 3 10 | 00:00:12,100 --> 00:00:13,500 11 | MOVIE FAN: Showtime. 12 | 13 | 4 14 | 00:00:15,000 --> 00:00:17,000 15 | MOVIE FAN: Arghhh - did you see this, did you see this?! 16 | 17 | 5 18 | 00:00:17,200 --> 00:00:18,000 19 | BASKETBALL FAN: Boom! 20 | 21 | 6 22 | 00:00:19,000 --> 00:00:20,000 23 | ALL: Ohh! 24 | 25 | 7 26 | 00:00:21,400 --> 00:00:23,000 27 | BUSTER: I'm a MONSTER! 28 | 29 | 8 30 | 00:00:28,500 --> 00:00:29,500 31 | VIDEO GAMER: What?! 32 | 33 | 9 34 | 00:00:40,000 --> 00:00:41,500 35 | LITTLE GIRL: You're welcome. 36 | 37 | 10 38 | 00:00:42,000 --> 00:00:60,000 -------------------------------------------------------------------------------- /media/transcoder/testdata/subtitles-es.srt: -------------------------------------------------------------------------------- 1 | 1 2 | 00:00:06,600 --> 00:00:08,500 3 | NIÑA PEQUEÑA: Tada. 4 | 5 | 2 6 | 00:00:09,500 --> 00:00:11,000 7 | PADRE: ¡Ay! 8 | 9 | 3 10 | 00:00:12,100 --> 00:00:13,500 11 | FANÁTICO DE LAS PELÍCULAS: Showtime. 12 | 13 | 4 14 | 00:00:15,000 --> 00:00:17,000 15 | FAN DE LA PELÍCULA: Arghhh - ¿viste esto, viste esto? 16 | 17 | 5 18 | 00:00:17,200 --> 00:00:18,000 19 | FANÁTICO DEL BALONCESTO: ¡Boom! 20 | 21 | 6 22 | 00:00:19,000 --> 00:00:20,000 23 | TODOS: ¡Ay! 24 | 25 | 7 26 | 00:00:21,400 --> 00:00:23,000 27 | BUSTER: ¡Soy un MONSTRUO! 28 | 29 | 8 30 | 00:00:28,500 --> 00:00:29,500 31 | JUGADOR DE VIDEO: ¡¿Qué?! 32 | 33 | 9 34 | 00:00:40,000 --> 00:00:41,500 35 | NIÑA: De nada. 36 | 37 | 10 38 | 00:00:42,000 --> 00:00:60,000 -------------------------------------------------------------------------------- /media/video-stitcher/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-video-stitcher", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "engines": { 7 | "node": ">=10" 8 | }, 9 | "files": [ 10 | "*.js" 11 | ], 12 | "scripts": { 13 | "test": "c8 mocha -p -j 2 --timeout 600000 test/*.js" 14 | }, 15 | "dependencies": { 16 | "@google-cloud/video-stitcher": "^2.0.0" 17 | }, 18 | "devDependencies": { 19 | "c8": "^10.0.0", 20 | "chai": "^4.5.0", 21 | "mocha": "^10.1.0", 22 | "uuid": "^10.0.0" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /mediatranslation/README.md: -------------------------------------------------------------------------------- 1 | # Media Translation API deprication 2 | 3 | Media Translation API is [deprecated] and will no longer be available on Google Cloud after July 1, 2024. 4 | All API code samples under this folder are no longer maintained and will be removed after July 1, 2024. 5 | 6 | [deprecated]: https://cloud.google.com/translate/media/docs/deprecations 7 | -------------------------------------------------------------------------------- /mediatranslation/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mediatranslation-samples", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "engines": { 7 | "node": ">=16.0.0" 8 | }, 9 | "files": [ 10 | "*.js" 11 | ], 12 | "scripts": { 13 | "test": "c8 mocha -p -j 2 --timeout 600000 test/*.js" 14 | }, 15 | "dependencies": { 16 | "@google-cloud/media-translation": "^4.0.0", 17 | "node-record-lpcm16": "1.0.1" 18 | }, 19 | "devDependencies": { 20 | "c8": "^10.0.0", 21 | "chai": "^4.5.0", 22 | "mocha": "^10.0.0" 23 | } 24 | } -------------------------------------------------------------------------------- /mediatranslation/resources/audio.raw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/mediatranslation/resources/audio.raw -------------------------------------------------------------------------------- /memorystore/redis/.gcloudignore: -------------------------------------------------------------------------------- 1 | cloud_run_deployment/ 2 | gae_flex_deployment/ 3 | gae_standard_deployment/ 4 | gce_deployment/ 5 | gke_deployment/ 6 | README.md 7 | -------------------------------------------------------------------------------- /memorystore/redis/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "memorystore-redis", 3 | "description": "An example of using Memorystore(Redis) with Node.js", 4 | "version": "0.0.1", 5 | "private": true, 6 | "license": "Apache Version 2.0", 7 | "author": "Google Inc.", 8 | "engines": { 9 | "node": ">=16.0.0" 10 | }, 11 | "dependencies": { 12 | "redis": "^4.0.0" 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /model-armor/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-model-armor-samples", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "files": [ 6 | "*.js" 7 | ], 8 | "author": "Google LLC", 9 | "repository": "googleapis/nodejs-model-armor", 10 | "engines": { 11 | "node": ">=16.0.0" 12 | }, 13 | "scripts": { 14 | "test": "c8 mocha -p -j 2 --recursive test/ --timeout=60000" 15 | }, 16 | "dependencies": { 17 | "@google-cloud/modelarmor": "^0.1.0", 18 | "@google-cloud/dlp": "^5.0.0" 19 | }, 20 | "devDependencies": { 21 | "c8": "^10.0.0", 22 | "chai": "^4.5.0", 23 | "mocha": "^10.0.0", 24 | "uuid": "^10.0.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /model-armor/test/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | # Copyright 2025 Google LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # https://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | --- 16 | env: 17 | mocha: true 18 | -------------------------------------------------------------------------------- /model-armor/test/test_sample.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/model-armor/test/test_sample.pdf -------------------------------------------------------------------------------- /monitoring/prometheus/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sli-metric-sample-node", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "app.js", 6 | "scripts": { 7 | "start": "node app.js", 8 | "test": "mocha -- system-test/*.test.js --timeout=5000 --exit" 9 | }, 10 | "author": "Yuri Grinshteyn", 11 | "license": "Apache-2.0", 12 | "dependencies": { 13 | "express": "^4.17.1", 14 | "prom-client": "^15.0.0", 15 | "sleep": "^6.3.0" 16 | }, 17 | "devDependencies": { 18 | "mocha": "^10.0.0", 19 | "supertest": "^7.0.0" 20 | 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /monitoring/snippets/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | no-console: off 4 | -------------------------------------------------------------------------------- /monitoring/snippets/.gitignore: -------------------------------------------------------------------------------- 1 | policies_backup.json 2 | package-lock.json 3 | -------------------------------------------------------------------------------- /monitoring/snippets/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-monitoring", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "repository": "googleapis/nodejs-monitoring", 7 | "files": [ 8 | "*.js" 9 | ], 10 | "engines": { 11 | "node": ">=16.0.0" 12 | }, 13 | "scripts": { 14 | "test": "c8 mocha -p -j 2 --timeout 600000" 15 | }, 16 | "dependencies": { 17 | "@google-cloud/monitoring": "^4.0.0", 18 | "c8": "^10.0.0", 19 | "yargs": "^17.0.0" 20 | }, 21 | "devDependencies": { 22 | "chai": "^4.5.0", 23 | "mocha": "^10.0.0", 24 | "uuid": "^10.0.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /parametermanager/README.md: -------------------------------------------------------------------------------- 1 | ### Initial README.md placeholder file. -------------------------------------------------------------------------------- /parametermanager/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-parameter-manager-samples", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "files": [ 6 | "*.js" 7 | ], 8 | "author": "Google LLC", 9 | "repository": "googleapis/nodejs-parameter-manager", 10 | "engines": { 11 | "node": ">=20" 12 | }, 13 | "scripts": { 14 | "test": "c8 mocha --recursive test/ --timeout=800000" 15 | }, 16 | "directories": { 17 | "test": "test" 18 | }, 19 | "dependencies": { 20 | "@google-cloud/parametermanager": "^0.3.0" 21 | }, 22 | "devDependencies": { 23 | "@google-cloud/kms": "^4.0.0", 24 | "@google-cloud/secret-manager": "^5.6.0", 25 | "c8": "^10.1.3", 26 | "chai": "^4.5.0", 27 | "mocha": "^11.1.0", 28 | "uuid": "^11.0.5" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /parametermanager/test/.eslintrc.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2025 Google LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # https://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | --- 16 | env: 17 | mocha: true 18 | -------------------------------------------------------------------------------- /parametermanager/test/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | # Copyright 2025 Google LLC 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # https://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | --- 16 | env: 17 | mocha: true 18 | -------------------------------------------------------------------------------- /pubsub/README.md: -------------------------------------------------------------------------------- 1 | # Cloud Pub/Sub Samples 2 | 3 | [Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/overview) 4 | 5 | -------------------------------------------------------------------------------- /recaptcha_enterprise/demosite/README.md: -------------------------------------------------------------------------------- 1 | # Demosite - Google Cloud reCAPTCHA Enterprise 2 | 3 | Google [Cloud reCAPTCHA Enterprise](https://cloud.google.com/recaptcha-enterprise) helps protect your website from fraudulent activity, spam, and abuse without creating friction. 4 | 5 | This application demonstrates how to use integrate your client and server code with reCAPTCHA Enterprise - Node Client library. 6 | 7 | -------------------------------------------------------------------------------- /recaptcha_enterprise/demosite/app/config.properties: -------------------------------------------------------------------------------- 1 | recaptcha_action.login=log_in 2 | recaptcha_action.signup=sign_up 3 | recaptcha_action.store=check_out 4 | recaptcha_action.comment=send_comment 5 | -------------------------------------------------------------------------------- /recaptcha_enterprise/demosite/app/static/bad-morph-c2bb8f615fe93323.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/recaptcha_enterprise/demosite/app/static/bad-morph-c2bb8f615fe93323.gif -------------------------------------------------------------------------------- /recaptcha_enterprise/demosite/app/static/celebrate-ece5a54e321ab2e7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/recaptcha_enterprise/demosite/app/static/celebrate-ece5a54e321ab2e7.png -------------------------------------------------------------------------------- /recaptcha_enterprise/demosite/app/static/favicon-16x16-e9e3fe3130a875eb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/recaptcha_enterprise/demosite/app/static/favicon-16x16-e9e3fe3130a875eb.png -------------------------------------------------------------------------------- /recaptcha_enterprise/demosite/app/static/favicon-32x32-e9e3fe3130a875eb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/recaptcha_enterprise/demosite/app/static/favicon-32x32-e9e3fe3130a875eb.png -------------------------------------------------------------------------------- /recaptcha_enterprise/demosite/app/static/favicon-48x48-e9e3fe3130a875eb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/recaptcha_enterprise/demosite/app/static/favicon-48x48-e9e3fe3130a875eb.png -------------------------------------------------------------------------------- /recaptcha_enterprise/demosite/app/static/favicon-e9e3fe3130a875eb.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/recaptcha_enterprise/demosite/app/static/favicon-e9e3fe3130a875eb.ico -------------------------------------------------------------------------------- /recaptcha_enterprise/demosite/app/static/fourSquares-de5c55d13d7de923.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/recaptcha_enterprise/demosite/app/static/fourSquares-de5c55d13d7de923.png -------------------------------------------------------------------------------- /recaptcha_enterprise/demosite/app/static/global-15fca5ccf020c02b.css: -------------------------------------------------------------------------------- 1 | body,html{height:100%;margin:0;min-height:100vh;overscroll-behavior:none;padding:0}body{overflow-x:hidden}recaptcha-demo:not(:defined)>*{display:none} -------------------------------------------------------------------------------- /recaptcha_enterprise/demosite/app/static/hover-13bd4972c72e1a52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/recaptcha_enterprise/demosite/app/static/hover-13bd4972c72e1a52.gif -------------------------------------------------------------------------------- /recaptcha_enterprise/demosite/app/static/material-symbols-outlined-5a8e0f79.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/recaptcha_enterprise/demosite/app/static/material-symbols-outlined-5a8e0f79.woff2 -------------------------------------------------------------------------------- /recaptcha_enterprise/demosite/app/static/material-symbols-rounded-c9a13ced.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/recaptcha_enterprise/demosite/app/static/material-symbols-rounded-c9a13ced.woff2 -------------------------------------------------------------------------------- /recaptcha_enterprise/demosite/app/static/poof-57ef02b2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/recaptcha_enterprise/demosite/app/static/poof-57ef02b2.png -------------------------------------------------------------------------------- /recaptcha_enterprise/demosite/app/static/target-594e0ee6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/recaptcha_enterprise/demosite/app/static/target-594e0ee6.png -------------------------------------------------------------------------------- /recaptcha_enterprise/snippets/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "strict": true, 5 | "noImplicitAny": false, 6 | "esModuleInterop": true, 7 | "moduleResolution": "node", 8 | "module": "ESNext" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /retail/.mocharc.json: -------------------------------------------------------------------------------- 1 | { 2 | "timeout": "600000", 3 | "recursive": true, 4 | "spec": ["test/*.js", "interactive-tutorials/test/*.js"] 5 | } -------------------------------------------------------------------------------- /retail/interactive-tutorials/resources/user_events.json: -------------------------------------------------------------------------------- 1 | {"eventType":"home-page-view","visitorId":"bjbs_group1_visitor1","eventTime":"2021-12-12T10:27:42+00:00"} 2 | {"eventType":"search","visitorId":"bjbs_group1_visitor1","eventTime":"2021-12-12T10:27:42+00:00","searchQuery":"RockerJeans teenagers blue jeans"} 3 | {"eventType":"search","visitorId":"bjbs_group1_visitor1","eventTime":"2021-12-12T10:27:42+00:00","searchQuery":"SocksUnlimited teenagers black socks"} 4 | {"eventType":"detail-page-view","visitorId":"bjbs_group1_visitor1","eventTime":"2021-12-12T10:27:42+00:00","productDetails":{"product":{"id":"GGCOGAEC100616"},"quantity":3}} 5 | -------------------------------------------------------------------------------- /retail/interactive-tutorials/resources/user_events_some_invalid.json: -------------------------------------------------------------------------------- 1 | {"eventType":"home-page-view","visitorId":"bjbs_group1_visitor1","eventTime":"2021-12-12T10:27:42+00:00"} 2 | {"eventType":"invalid","visitorId":"bjbs_group1_visitor1","eventTime":"2021-12-12T10:27:42+00:00","searchQuery":"RockerJeans teenagers blue jeans"} 3 | {"eventType":"search","visitorId":"bjbs_group1_visitor1","eventTime":"2021-12-12T10:27:42+00:00","searchQuery":"SocksUnlimited teenagers black socks"} 4 | {"eventType":"detail-page-view","visitorId":"bjbs_group1_visitor1","eventTime":"2021-12-12T10:27:42+00:00","productDetails":{"product":{"id":"GGCOGAEC100616"},"quantity":3}} 5 | -------------------------------------------------------------------------------- /retail/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-retail", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "engines": { 7 | "node": ">=16.0.0" 8 | }, 9 | "files": [ 10 | "*.js" 11 | ], 12 | "scripts": { 13 | "test": "c8 mocha -p -j 2" 14 | }, 15 | "engines": { 16 | "node": ">=16.0.0" 17 | }, 18 | "dependencies": { 19 | "@google-cloud/bigquery": "^7.0.0", 20 | "@google-cloud/retail": "^3.0.0", 21 | "@google-cloud/storage": "^7.0.0" 22 | }, 23 | "devDependencies": { 24 | "c8": "^10.0.0", 25 | "chai": "^4.5.0", 26 | "mocha": "^10.2.0" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /routeoptimization/snippets/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-routeoptimization", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google Inc.", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 9 | }, 10 | "engines": { 11 | "node": ">=16.0.0" 12 | }, 13 | "scripts": { 14 | "test": "c8 mocha -p -j 2 test/*.test.js --timeout=60000" 15 | }, 16 | "dependencies": { 17 | "@googlemaps/routeoptimization": "^0.1.0" 18 | }, 19 | "devDependencies": { 20 | "c8": "^10.0.0", 21 | "chai": "^4.5.0", 22 | "mocha": "^10.0.0" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /run/hello-broken/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hello-broken", 3 | "description": "Broken Cloud Run service for troubleshooting practice", 4 | "version": "1.0.0", 5 | "private": true, 6 | "main": "index.js", 7 | "scripts": { 8 | "start": "node index.js", 9 | "test": "echo \"Error: no test specified\" && exit 0", 10 | "system-test": "NAME=Cloud c8 mocha -p -j 2 test/system.test.js --timeout=360000 --exit" 11 | }, 12 | "engines": { 13 | "node": ">=16.0.0" 14 | }, 15 | "author": "Google LLC", 16 | "license": "Apache-2.0", 17 | "dependencies": { 18 | "express": "^4.17.1" 19 | }, 20 | "devDependencies": { 21 | "c8": "^10.0.0", 22 | "google-auth-library": "^9.0.0", 23 | "got": "^11.5.0", 24 | "mocha": "^10.0.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /run/hello-broken/test/e2e_test_cleanup.yaml: -------------------------------------------------------------------------------- 1 | steps: 2 | 3 | - id: 'Delete image and service' 4 | name: 'gcr.io/cloud-builders/gcloud' 5 | entrypoint: '/bin/bash' 6 | args: 7 | - '-c' 8 | - | 9 | ./test/retry.sh "gcloud container images describe gcr.io/${PROJECT_ID}/${_SERVICE}:${_VERSION}" \ 10 | "gcloud container images delete gcr.io/${PROJECT_ID}/${_SERVICE}:${_VERSION} --quiet" 11 | 12 | ./test/retry.sh "gcloud run services describe ${_SERVICE} --region ${_REGION} --platform ${_PLATFORM}" \ 13 | "gcloud run services delete ${_SERVICE} --region ${_REGION} --platform ${_PLATFORM} --quiet" 14 | 15 | substitutions: 16 | _SERVICE: hello-broken 17 | _VERSION: manual 18 | _REGION: us-central1 19 | _PLATFORM: managed 20 | -------------------------------------------------------------------------------- /run/helloworld/.dockerignore: -------------------------------------------------------------------------------- 1 | Dockerfile 2 | .dockerignore 3 | node_modules 4 | npm-debug.log 5 | -------------------------------------------------------------------------------- /run/helloworld/.gcloudignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | -------------------------------------------------------------------------------- /run/helloworld/ci-setup.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "SERVICE_NAME": "run-helloworld-$RUN_ID" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /run/helloworld/package.docs.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "helloworld", 3 | "description": "Simple hello world sample in Node", 4 | "version": "1.0.0", 5 | "private": true, 6 | "main": "index.js", 7 | "type": "module", 8 | "scripts": { 9 | "start": "node index.js" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "author": "Google LLC", 15 | "license": "Apache-2.0", 16 | "dependencies": { 17 | "express": "^4.17.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /run/idp-sql/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | -------------------------------------------------------------------------------- /run/idp-sql/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "idp-sql", 3 | "env": { 4 | "DB_PASSWORD": { 5 | "description": "postgreSQL password for root user" 6 | }, 7 | "CLOUD_SQL_INSTANCE_NAME": { 8 | "description": "Cloud SQL instance name", 9 | "value": "idp-sql-instance" 10 | }, 11 | "API_KEY": { 12 | "description": "Identity Platform API key from Application Setup Details" 13 | } 14 | }, 15 | "hooks": { 16 | "prebuild": { 17 | "commands": [ 18 | "./setup.sh" 19 | ] 20 | }, 21 | "postcreate": { 22 | "commands": [ 23 | "./postcreate.sh" 24 | ] 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /run/idp-sql/ci-setup.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "SERVICE_NAME": "idp-sql-${RUN_ID}", 4 | "SAMPLE_VERSION": "${RUN_ID}", 5 | "CLOUD_SQL_CONNECTION_NAME": "nodejs-docs-samples-tests:us-central1:test-postgres-instance", 6 | "DB_NAME": "ci-database", 7 | "DB_USER": "ci-user" 8 | }, 9 | "secrets": { 10 | "IDP_KEY": "nodejs-docs-samples-tests/long-door-651-idp-key", 11 | "DB_PASSWORD": "nodejs-docs-samples-tests/nodejs-docs-samples-test-postgres-instance-ci-user-password" } 12 | } 13 | -------------------------------------------------------------------------------- /run/idp-sql/postgres-secrets.json: -------------------------------------------------------------------------------- 1 | { 2 | "CLOUD_SQL_CONNECTION_NAME": "PROJECT_ID:REGION:INSTANCE", 3 | "DB_NAME": "postgres", 4 | "DB_USER": "postgres", 5 | "DB_PASSWORD": "PASSWORD_SECRET" 6 | } 7 | -------------------------------------------------------------------------------- /run/idp-sql/static/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true 4 | }, 5 | "rules": { 6 | "no-unused-vars": "off" 7 | }, 8 | "globals": { 9 | "firebase": "readonly", 10 | "config": "readonly" 11 | } 12 | } -------------------------------------------------------------------------------- /run/image-processing/.dockerignore: -------------------------------------------------------------------------------- 1 | Dockerfile 2 | .dockerignore 3 | node_modules 4 | npm-debug.log 5 | -------------------------------------------------------------------------------- /run/image-processing/.gcloudignore: -------------------------------------------------------------------------------- 1 | .git 2 | node_modules 3 | npm-debug.log 4 | -------------------------------------------------------------------------------- /run/image-processing/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /run/image-processing/test/zombie.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/run/image-processing/test/zombie.jpg -------------------------------------------------------------------------------- /run/jobs/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "no-process-exit": "off", 4 | "node/no-process-exit": "off" 5 | } 6 | } -------------------------------------------------------------------------------- /run/jobs/Procfile: -------------------------------------------------------------------------------- 1 | # Define the application's entrypoint to override default, `npm start` 2 | # https://github.com/GoogleCloudPlatform/buildpacks/issues/160 3 | web: node index.js 4 | -------------------------------------------------------------------------------- /run/jobs/package.docs.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jobs", 3 | "version": "1.0.0", 4 | "description": "Node.js sample for Cloud Run jobs", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "node index.js" 8 | }, 9 | "engines": { 10 | "node": ">=16.0.0" 11 | }, 12 | "author": "Google LLC", 13 | "license": "Apache-2.0" 14 | } 15 | -------------------------------------------------------------------------------- /run/jobs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jobs", 3 | "version": "1.0.0", 4 | "description": "Node.js sample for Cloud Run", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "node index.js", 8 | "test": "c8 mocha -p -j 2 test/index.test.js --exit", 9 | "system-test": "c8 mocha -p -j 2 test/system.test.js --timeout=600000 --exit" 10 | }, 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "author": "Google LLC", 15 | "license": "Apache-2.0", 16 | "devDependencies": { 17 | "@google-cloud/logging": "^11.0.0", 18 | "c8": "^10.0.0", 19 | "mocha": "^10.0.0" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /run/logging-manual/.dockerignore: -------------------------------------------------------------------------------- 1 | Dockerfile 2 | .dockerignore 3 | node_modules 4 | npm-debug.log -------------------------------------------------------------------------------- /run/logging-manual/.gcloudignore: -------------------------------------------------------------------------------- 1 | .git 2 | node_modules 3 | npm-debug.log -------------------------------------------------------------------------------- /run/logging-manual/metadata.js: -------------------------------------------------------------------------------- 1 | const request = require('got'); 2 | 3 | // Load the project ID from GCP metadata server. 4 | // You can also use https://www.npmjs.com/package/gcp-metadata. 5 | exports.getProjectId = async () => { 6 | const METADATA_PROJECT_ID_URL = 7 | 'http://metadata.google.internal/computeMetadata/v1/project/project-id'; 8 | const options = { 9 | headers: {'Metadata-Flavor': 'Google'}, 10 | }; 11 | const response = await request(METADATA_PROJECT_ID_URL, options); 12 | return response.body; 13 | }; 14 | -------------------------------------------------------------------------------- /run/logging-manual/test/e2e_test_cleanup.yaml: -------------------------------------------------------------------------------- 1 | steps: 2 | 3 | - id: 'Delete image and service' 4 | name: 'gcr.io/cloud-builders/gcloud' 5 | entrypoint: '/bin/bash' 6 | args: 7 | - '-c' 8 | - | 9 | ./test/retry.sh "gcloud container images describe gcr.io/${PROJECT_ID}/${_SERVICE}:${_VERSION}" \ 10 | "gcloud container images delete gcr.io/${PROJECT_ID}/${_SERVICE}:${_VERSION} --quiet" 11 | 12 | ./test/retry.sh "gcloud run services describe ${_SERVICE} --region ${_REGION} --platform ${_PLATFORM}" \ 13 | "gcloud run services delete ${_SERVICE} --region ${_REGION} --platform ${_PLATFORM} --quiet" 14 | 15 | substitutions: 16 | _SERVICE: logging-manual 17 | _VERSION: manual 18 | _REGION: us-central1 19 | _PLATFORM: managed 20 | -------------------------------------------------------------------------------- /run/markdown-preview/editor/ci-setup.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "SERVICE_NAME": "markdown-renderer-$RUN_ID", 4 | "SAMPLE_VERSION": "$RUN_ID" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /run/markdown-preview/renderer/ci-setup.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "SERVICE_NAME": "markdown-renderer-$RUN_ID", 4 | "SAMPLE_VERSION": "$RUN_ID" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /run/pubsub/.dockerignore: -------------------------------------------------------------------------------- 1 | Dockerfile 2 | .dockerignore 3 | node_modules 4 | npm-debug.log 5 | -------------------------------------------------------------------------------- /run/pubsub/.gcloudignore: -------------------------------------------------------------------------------- 1 | .git 2 | node_modules 3 | npm-debug.log 4 | -------------------------------------------------------------------------------- /run/pubsub/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /run/pubsub/README.md: -------------------------------------------------------------------------------- 1 | # Cloud Run Pub/Sub Tutorial Sample 2 | 3 | This sample shows how to create a service that processes Pub/Sub messages. 4 | 5 | Use it with the [Cloud Pub/Sub with Cloud Run tutorial](http://cloud.google.com/run/docs/tutorials/pubsub). 6 | 7 | For more details on how to work with this sample read the [Google Cloud Run Node.js Samples README](https://github.com/GoogleCloudPlatform/nodejs-docs-samples/tree/main/run). 8 | 9 | ## Dependencies 10 | 11 | * **express**: Web server framework. 12 | * **mocha**: [development] Test running framework. 13 | * **supertest**: [development] HTTP assertion test client. 14 | -------------------------------------------------------------------------------- /run/pubsub/test/e2e_test_cleanup.yaml: -------------------------------------------------------------------------------- 1 | steps: 2 | 3 | - id: 'Delete image and service' 4 | name: 'gcr.io/cloud-builders/gcloud' 5 | entrypoint: '/bin/bash' 6 | args: 7 | - '-c' 8 | - | 9 | ./test/retry.sh "gcloud container images describe gcr.io/${PROJECT_ID}/${_SERVICE}:${_VERSION}" \ 10 | "gcloud container images delete gcr.io/${PROJECT_ID}/${_SERVICE}:${_VERSION} --quiet" 11 | 12 | ./test/retry.sh "gcloud run services describe ${_SERVICE} --region ${_REGION} --platform ${_PLATFORM}" \ 13 | "gcloud run services delete ${_SERVICE} --region ${_REGION} --platform ${_PLATFORM} --quiet" 14 | 15 | substitutions: 16 | _SERVICE: pubsub 17 | _VERSION: manual 18 | _REGION: us-central1 19 | _PLATFORM: managed 20 | -------------------------------------------------------------------------------- /run/system-package/.dockerignore: -------------------------------------------------------------------------------- 1 | Dockerfile 2 | .dockerignore 3 | node_modules 4 | npm-debug.log -------------------------------------------------------------------------------- /run/system-package/.gcloudignore: -------------------------------------------------------------------------------- 1 | .git 2 | node_modules 3 | npm-debug.log -------------------------------------------------------------------------------- /run/system-package/README.md: -------------------------------------------------------------------------------- 1 | # Cloud Run System Package Sample 2 | 3 | This sample shows how to use a CLI tool installed as a system package as part of a web service. 4 | 5 | Use it with the [Using system packages tutorial](https://cloud.google.com/run/docs/tutorials/system-packages). 6 | 7 | For more details on how to work with this sample read the [Google Cloud Run Node.js Samples README](https://github.com/GoogleCloudPlatform/nodejs-docs-samples/tree/main/run). 8 | 9 | ## Dependencies 10 | 11 | * **express**: Web server framework. 12 | * **mocha**: [development] Test running framework. 13 | * **supertest**: [development] HTTP assertion test client. -------------------------------------------------------------------------------- /run/system-package/ci-setup.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "SERVICE_NAME": "run-idp-sql-$RUN_ID", 4 | "SAMPLE_VERSION": "${RUN_ID}" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /run/websockets/public/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true 4 | }, 5 | "rules": { 6 | "no-undef": "off" 7 | } 8 | } -------------------------------------------------------------------------------- /run/websockets/test/e2e_test_cleanup.yaml: -------------------------------------------------------------------------------- 1 | steps: 2 | 3 | - id: 'Delete image and service' 4 | name: 'gcr.io/cloud-builders/gcloud' 5 | entrypoint: '/bin/bash' 6 | args: 7 | - '-c' 8 | - | 9 | ./test/retry.sh "gcloud artifacts docker images delete ${_REGION}-docker.pkg.dev/${PROJECT_ID}/cloud-run-source-deploy/${_SERVICE} --quiet" 10 | 11 | ./test/retry.sh "gcloud run services describe ${_SERVICE} --region ${_REGION}" \ 12 | "gcloud run services delete ${_SERVICE} --region ${_REGION} --quiet" 13 | 14 | substitutions: 15 | _SERVICE: websockets 16 | _REGION: us-central1 17 | -------------------------------------------------------------------------------- /scheduler/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "strict": true, 5 | "noImplicitAny": false, 6 | "esModuleInterop": true, 7 | "moduleResolution": "node", 8 | "module": "ESNext" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /secret-manager/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-secret-manager-samples", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "files": [ 6 | "*.js" 7 | ], 8 | "author": "Google LLC", 9 | "repository": "googleapis/nodejs-secret-manager", 10 | "engines": { 11 | "node": ">=16.0.0" 12 | }, 13 | "scripts": { 14 | "test": "c8 mocha -p -j 2 --recursive test/ --timeout=800000" 15 | }, 16 | "dependencies": { 17 | "@google-cloud/secret-manager": "^5.6.0" 18 | }, 19 | "devDependencies": { 20 | "c8": "^10.0.0", 21 | "chai": "^4.5.0", 22 | "mocha": "^10.0.0", 23 | "uuid": "^10.0.0" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /secret-manager/test/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | env: 3 | mocha: true -------------------------------------------------------------------------------- /security-center/snippets/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-security-center-samples", 3 | "private": true, 4 | "files": [ 5 | "**/*.js", 6 | "!system-test/" 7 | ], 8 | "engines": { 9 | "node": ">=16.0.0" 10 | }, 11 | "scripts": { 12 | "test": "c8 mocha -p -j 2 --recursive --timeout 6000000 system-test/" 13 | }, 14 | "license": "Apache-2.0", 15 | "dependencies": { 16 | "@google-cloud/pubsub": "^4.0.0", 17 | "@google-cloud/security-center": "^8.7.0", 18 | "@google-cloud/securitycentermanagement": "^0.5.0" 19 | }, 20 | "devDependencies": { 21 | "c8": "^10.0.0", 22 | "chai": "^4.5.0", 23 | "mocha": "^10.4.0", 24 | "uuid": "^10.0.0", 25 | "@google-cloud/bigquery": "^7.0.0" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /service-directory/snippets/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-service-directory", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "engines": { 7 | "node": ">=16.0.0" 8 | }, 9 | "files": [ 10 | "*.js" 11 | ], 12 | "scripts": { 13 | "test": "c8 mocha -p -j 2 --timeout 600000 test/*.js" 14 | }, 15 | "dependencies": { 16 | "@google-cloud/service-directory": "^5.0.0" 17 | }, 18 | "devDependencies": { 19 | "c8": "^10.0.0", 20 | "chai": "^4.5.0", 21 | "mocha": "^10.0.0", 22 | "uuid": "^10.0.0" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /speech/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | no-console: off 4 | node/no-unsupported-features/node-builtins: off 5 | -------------------------------------------------------------------------------- /speech/resources/Google_Gnome.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/speech/resources/Google_Gnome.wav -------------------------------------------------------------------------------- /speech/resources/ManualTest.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/speech/resources/ManualTest.wav -------------------------------------------------------------------------------- /speech/resources/audio.raw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/speech/resources/audio.raw -------------------------------------------------------------------------------- /speech/resources/audio2.raw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/speech/resources/audio2.raw -------------------------------------------------------------------------------- /speech/resources/brooklyn.flac: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/speech/resources/brooklyn.flac -------------------------------------------------------------------------------- /speech/resources/commercial_mono.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/speech/resources/commercial_mono.wav -------------------------------------------------------------------------------- /speech/resources/commercial_stereo.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/speech/resources/commercial_stereo.wav -------------------------------------------------------------------------------- /speech/resources/multi.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/speech/resources/multi.wav -------------------------------------------------------------------------------- /speech/resources/quit.raw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/speech/resources/quit.raw -------------------------------------------------------------------------------- /storage-control/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "storage-control-samples", 3 | "version": "0.0.1", 4 | "description": "Examples of how to utilize the @google-cloud/storage-control library.", 5 | "scripts": { 6 | "test": "c8 mocha -p -j 2 system-test --timeout 600000" 7 | }, 8 | "repository": { 9 | "type": "git", 10 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 11 | }, 12 | "author": "Google Inc.", 13 | "license": "Apache-2.0", 14 | "devDependencies": { 15 | "@google-cloud/storage": "^7.12.0", 16 | "@google-cloud/storage-control": "^0.2.0", 17 | "c8": "^10.0.0", 18 | "chai": "^4.5.0", 19 | "mocha": "^10.7.0", 20 | "uuid": "^10.0.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /storagetransfer/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-storage-transfer", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "engines": { 7 | "node": ">=16.0.0" 8 | }, 9 | "files": [ 10 | "*.js" 11 | ], 12 | "scripts": { 13 | "test": "c8 mocha -p -j 2 ---parallel --timeout 600000 test/*.test.js" 14 | }, 15 | "dependencies": { 16 | "@google-cloud/storage-transfer": "^3.0.0" 17 | }, 18 | "devDependencies": { 19 | "@azure/storage-blob": "^12.12.0", 20 | "@google-cloud/storage": "^7.0.0", 21 | "@google-cloud/pubsub": "^4.0.5", 22 | "aws-sdk": "^2.1073.0", 23 | "c8": "^10.0.0", 24 | "chai": "^4.5.0", 25 | "mocha": "^10.0.0", 26 | "uuid": "^10.0.0" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /talent/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | no-console: off 4 | -------------------------------------------------------------------------------- /talent/quickstart.js: -------------------------------------------------------------------------------- 1 | // Copyright 2019 Google LLC 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // https://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | -------------------------------------------------------------------------------- /talent/test/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | node/no-unpublished-require: off 4 | no-empty: off 5 | -------------------------------------------------------------------------------- /texttospeech/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | no-console: off 4 | -------------------------------------------------------------------------------- /texttospeech/hello.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/texttospeech/hello.mp3 -------------------------------------------------------------------------------- /texttospeech/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-text-to-speech", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "repository": "googleapis/nodejs-text-to-speech", 7 | "files": [ 8 | "*.js" 9 | ], 10 | "engines": { 11 | "node": ">=18.0.0" 12 | }, 13 | "scripts": { 14 | "test": "c8 mocha -p -j 2 --timeout=60000", 15 | "lint": "gts lint" 16 | }, 17 | "dependencies": { 18 | "@google-cloud/text-to-speech": "^5.3.0", 19 | "yargs": "^17.0.0" 20 | }, 21 | "devDependencies": { 22 | "c8": "^10.0.0", 23 | "mocha": "^10.0.0" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /texttospeech/resources/example.ssml: -------------------------------------------------------------------------------- 1 | 123 Street Ln, Small Town, IL 12345 USA 2 | 1 Jenny St & Number St, Tutone City, CA 86753 3 | 1 Piazza del Fibonacci, 12358 Pisa, Italy 4 | -------------------------------------------------------------------------------- /texttospeech/resources/example.txt: -------------------------------------------------------------------------------- 1 | 123 Street Ln, Small Town, IL 12345 USA 2 | 1 Jenny St & Number St, Tutone City, CA 86753 3 | 1 Piazza del Fibonacci, 12358 Pisa, Italy 4 | -------------------------------------------------------------------------------- /texttospeech/resources/expected_example.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/texttospeech/resources/expected_example.mp3 -------------------------------------------------------------------------------- /texttospeech/resources/hello.ssml: -------------------------------------------------------------------------------- 1 | Hello there. 2 | -------------------------------------------------------------------------------- /texttospeech/resources/hello.txt: -------------------------------------------------------------------------------- 1 | Hello there. 2 | -------------------------------------------------------------------------------- /texttospeech/test/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | -------------------------------------------------------------------------------- /tpu/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-tpu", 3 | "license": "Apache-2.0", 4 | "author": "Google Inc.", 5 | "engines": { 6 | "node": ">=16.0.0" 7 | }, 8 | "repository": "googleapis/nodejs-tpu", 9 | "private": true, 10 | "files": [ 11 | "*.js" 12 | ], 13 | "scripts": { 14 | "test": "c8 mocha -p -j 2 test --timeout 1200000" 15 | }, 16 | "dependencies": { 17 | "@google-cloud/tpu": "^3.5.0", 18 | "sinon": "^19.0.2" 19 | }, 20 | "devDependencies": { 21 | "c8": "^10.0.0", 22 | "mocha": "^10.0.0" 23 | } 24 | } -------------------------------------------------------------------------------- /tpu/test/.eslintrc: -------------------------------------------------------------------------------- 1 | --- 2 | env: 3 | mocha: true 4 | -------------------------------------------------------------------------------- /translate/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | no-console: off 4 | -------------------------------------------------------------------------------- /translate/ci-setup.json: -------------------------------------------------------------------------------- 1 | { 2 | "_justification": "TODO: split into subpackages to reduce test time", 3 | "timeout-minutes": 20 4 | } 5 | -------------------------------------------------------------------------------- /translate/resources/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/translate/resources/example.png -------------------------------------------------------------------------------- /video-intelligence/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | no-console: off 4 | -------------------------------------------------------------------------------- /video-intelligence/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-docs-samples-videointelligence", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "files": [ 6 | "*.js", 7 | "resources" 8 | ], 9 | "author": "Google Inc.", 10 | "repository": "googleapis/nodejs-video-intelligence", 11 | "engines": { 12 | "node": ">=16.0.0" 13 | }, 14 | "scripts": { 15 | "test": "c8 mocha -p -j 2 system-test --timeout=800000" 16 | }, 17 | "dependencies": { 18 | "@google-cloud/video-intelligence": "^5.0.0", 19 | "yargs": "^17.0.0" 20 | }, 21 | "devDependencies": { 22 | "c8": "^10.0.0", 23 | "chai": "^4.5.0", 24 | "mocha": "^10.0.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /video-intelligence/resources/cat.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/video-intelligence/resources/cat.mp4 -------------------------------------------------------------------------------- /video-intelligence/resources/googlework_short.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/video-intelligence/resources/googlework_short.mp4 -------------------------------------------------------------------------------- /vision/.eslintrc.yml: -------------------------------------------------------------------------------- 1 | --- 2 | rules: 3 | no-console: off 4 | node/no-unsupported-features/node-builtins: off 5 | -------------------------------------------------------------------------------- /vision/resources/bicycle.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/bicycle.jpg -------------------------------------------------------------------------------- /vision/resources/bonito.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/bonito.gif -------------------------------------------------------------------------------- /vision/resources/cat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/cat.jpg -------------------------------------------------------------------------------- /vision/resources/city.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/city.jpg -------------------------------------------------------------------------------- /vision/resources/duck_and_truck.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/duck_and_truck.jpg -------------------------------------------------------------------------------- /vision/resources/face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/face.png -------------------------------------------------------------------------------- /vision/resources/face_no_surprise.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/face_no_surprise.jpg -------------------------------------------------------------------------------- /vision/resources/faulkner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/faulkner.jpg -------------------------------------------------------------------------------- /vision/resources/google.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/google.png -------------------------------------------------------------------------------- /vision/resources/handwritten.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/handwritten.jpg -------------------------------------------------------------------------------- /vision/resources/landmark.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/landmark.jpg -------------------------------------------------------------------------------- /vision/resources/logos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/logos.png -------------------------------------------------------------------------------- /vision/resources/mountain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/mountain.jpg -------------------------------------------------------------------------------- /vision/resources/no-text.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/no-text.jpg -------------------------------------------------------------------------------- /vision/resources/pdf-ocr.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/pdf-ocr.pdf -------------------------------------------------------------------------------- /vision/resources/sabertooth.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/sabertooth.gif -------------------------------------------------------------------------------- /vision/resources/shoes_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/shoes_1.jpg -------------------------------------------------------------------------------- /vision/resources/succulents.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/succulents.jpg -------------------------------------------------------------------------------- /vision/resources/sunbeamkitties.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/sunbeamkitties.jpg -------------------------------------------------------------------------------- /vision/resources/text.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/text.jpg -------------------------------------------------------------------------------- /vision/resources/wakeupcat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/wakeupcat.jpg -------------------------------------------------------------------------------- /vision/resources/water.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoogleCloudPlatform/nodejs-docs-samples/a2a6bb34026b0c999d7983d0cf237e7e89e08cd4/vision/resources/water.jpg -------------------------------------------------------------------------------- /workflows/invoke-private-endpoint/README.md: -------------------------------------------------------------------------------- 1 | # Node.js sample for "Invoke a VPC Service Controls-compliant private endpoint" 2 | 3 | This is the sample application for the 4 | [Invoke a VPC Service Controls-compliant private endpoint](https://cloud.google.com/workflows/docs/invoke-private-endpoint-vpc) 5 | page found in the [Google Cloud Workflows](https://cloud.google.com/workflows/docs) documentation. 6 | -------------------------------------------------------------------------------- /workflows/invoke-private-endpoint/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workflows-hello-private-endpoint", 3 | "description": "Simple Hello World Node.js sample for Workflows", 4 | "version": "1.0.0", 5 | "private": true, 6 | "license": "Apache-2.0", 7 | "author": "Google Inc.", 8 | "repository": { 9 | "type": "git", 10 | "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git" 11 | }, 12 | "engines": { 13 | "node": ">=16.0.0" 14 | }, 15 | "scripts": { 16 | "start": "node app.js", 17 | "test": "c8 mocha -p -j 2 --exit test/*.test.js" 18 | }, 19 | "dependencies": { 20 | "express": "^4.17.1" 21 | }, 22 | "devDependencies": { 23 | "c8": "^10.0.0", 24 | "mocha": "^10.0.0", 25 | "supertest": "^7.0.0" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /workflows/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-workflows-samples", 3 | "private": true, 4 | "license": "Apache-2.0", 5 | "author": "Google LLC", 6 | "engines": { 7 | "node": ">=16.0.0" 8 | }, 9 | "scripts": { 10 | "build": "tsc -p .", 11 | "fix": "gts fix", 12 | "lint": "gts lint", 13 | "test": "c8 mocha -p -j 2 --loader=ts-node/esm --extension ts --timeout 600000 --exit" 14 | }, 15 | "dependencies": { 16 | "@google-cloud/workflows": "^3.0.0" 17 | }, 18 | "devDependencies": { 19 | "@types/mocha": "^10.0.1", 20 | "@types/node": "^20.0.0", 21 | "c8": "^10.0.0", 22 | "gts": "^5.0.0", 23 | "mocha": "^10.2.0", 24 | "ts-node": "^10.9.1" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /workflows/quickstart/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "workflows-quickstart", 3 | "description": "Execute a Cloud Workflow", 4 | "main": "index.ts", 5 | "private": true, 6 | "engines": { 7 | "node": ">=16.0.0" 8 | }, 9 | "scripts": { 10 | "start": "node index.js", 11 | "build": "tsc -p .", 12 | "fix": "gts fix", 13 | "lint": "gts lint", 14 | "test": "mocha --loader=ts-node/esm --extension ts --timeout 600000 --exit" 15 | }, 16 | "dependencies": { 17 | "@google-cloud/workflows": "^3.0.0", 18 | "typescript": "^5.1.6" 19 | }, 20 | "devDependencies": { 21 | "@types/mocha": "^10.0.1", 22 | "@types/node": "^20.0.0", 23 | "gts": "^5.0.0", 24 | "mocha": "^10.2.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /workflows/quickstart/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "strict": true, 5 | "noImplicitAny": false, 6 | "esModuleInterop": true, 7 | "moduleResolution": "node", 8 | "module": "commonjs" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /workflows/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "strict": true, 5 | "noImplicitAny": false, 6 | "esModuleInterop": true, 7 | "moduleResolution": "node" 8 | } 9 | } 10 | --------------------------------------------------------------------------------