├── .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 |
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 |
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 |
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 |
--------------------------------------------------------------------------------