tree 1586c6ee9be600c64c9f304edca7db062d8f58ed
parent 663c899c3b8aa751527d24f541d964f2ba91a233
author Yoshi Automation Bot <yoshi-automation@google.com> 1627569612 -0700
committer GitHub <noreply@github.com> 1627569612 -0600
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJhAr3MCRBK7hj4Ov3rIwAAF7UIAK9Zge78F8wgndOshfXckd4A
 U+nqqROTRnW2l2pDwudosVnY0pbAJx6Jzzy3DU4I6SJ2KaJYX+4wt2zNkBRw9FpC
 KVlA6nxe48Pr8yDOB+L8darpcoYUFg9pTrdrihWckBfap9wvFer8hQQYjjz06q1/
 pY/O3YlSeNUgN9+RVdp2j9kVb7wVb6Uzw44KP5Pmob86YdQolQU2Rwy4/dFkSnRO
 Fpsgxcr/F+bU8x0FlN4zXjiZJ7Boni1QdeA6CeeOnEaxT3MVhlnDuCQ0I3WTihJc
 zWrPA5gMvkYO6kKs0XEsrp9HDoJxvU+bU/5I60O+mQEuxntQ3LYGwtfUEEvsVPM=
 =EeUd
 -----END PGP SIGNATURE-----
 

chore(all): auto-regenerate gapics (#4510)

This is an auto-generated regeneration of the gapic clients by
cloud.google.com/go/internal/gapicgen. Once the corresponding genproto PR is
submitted, genbot will update this PR with a newer dependency to the newer
version of genproto and assign reviewers to this PR.

If you have been assigned to review this PR, please:

- Ensure that the version of genproto in go.mod has been updated.
- Ensure that CI is passing. If it's failing, it requires your manual attention.
- Approve and submit this PR if you believe it's ready to ship.

Corresponding genproto PR: https://github.com/googleapis/go-genproto/pull/646

Changes:

feat(networkconnectivity): Add files for Network Connectivity v1 API.
  PiperOrigin-RevId: 387381480
  Source-Link: https://github.com/googleapis/googleapis/commit/6d27f5bd3497b329738d52d21c06464e711bb59b

feat(assuredworkloads): Add EU Regions And Support compliance regime
  Committer: @guisin
  PiperOrigin-RevId: 387369361
  Source-Link: https://github.com/googleapis/googleapis/commit/fa5dd8d9ccb7f0da1168481372b3994be70fccc1

feat(retail): Add restricted Retail Search features for Retail API v2.
  PiperOrigin-RevId: 387366941
  Source-Link: https://github.com/googleapis/googleapis/commit/cea896d1032b311179e5114b3e5a1b798e7040b7

docs(cloudbuild/apiv1): Add a new build phase `SETUPBUILD` for timing information
  PiperOrigin-RevId: 387362210
  Source-Link: https://github.com/googleapis/googleapis/commit/760b5d8bfd6687c49f03b7619e063e2e361ba32c

feat(datacatalog): Added support for BigQuery connections entries feat: Added support for BigQuery routines entries feat: Added usage_signal field feat: Added labels field feat: Added ReplaceTaxonomy in Policy Tag Manager Serialization API feat: Added support for public tag templates feat: Added support for rich text tags docs: Documentation improvements
  PiperOrigin-RevId: 387350333
  Source-Link: https://github.com/googleapis/googleapis/commit/5b1f7cf1d2e2f8ab028a7090d0981fc774028906

fix(storage/internal): Update encryption_key fields to "bytes" type. fix: Improve date/times and field name clarity in lifecycle conditions.
  Committer: @BrandonY
  PiperOrigin-RevId: 387204174
  Source-Link: https://github.com/googleapis/googleapis/commit/46fdf2d70c3c498b82ef8a05172933674f977653

feat(secretmanager): In Secret Manager, users can now use filter to customize the output of ListSecrets/ListSecretVersions calls
  PiperOrigin-RevId: 387156636
  Source-Link: https://github.com/googleapis/googleapis/commit/2948f31dd210514f87ce6e1e08bce48ecf4660d1

feat(speech): add total_billed_time response field. fix!: phrase_set_id is required field in CreatePhraseSetRequest. fix!: custom_class_id is required field in CreateCustomClassRequest.
  Committer: @cherba
  PiperOrigin-RevId: 387131819
  Source-Link: https://github.com/googleapis/googleapis/commit/4fca877897a4639796bba0731c6f579724d80d72

feat(securitycenter): add finding_class and indicator fields in Finding
  finding_class field is added in order to help our customer to quickly identify and categorize the different findings (threat, vulnerability, misconfiguration, ...). And indicator field is generated to indicate the domain and IP addresses that is causing the threat.

  PiperOrigin-RevId: 386975549
  Source-Link: https://github.com/googleapis/googleapis/commit/5bf36f20f8e49c18620bf20a45645310f5bf6950

Co-authored-by: Cody Oss <6331106+codyoss@users.noreply.github.com>