Preparing 0.35 release (#3288)

diff --git a/MODULE.bazel b/MODULE.bazel
index 5bae3e8..d439f14 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -1,7 +1,7 @@
 module(
     name = "rules_go",
     repo_name = "io_bazel_rules_go",
-    version = "0.34.0",
+    version = "0.35.0",
     compatibility_level = 0,
     toolchains_to_register = [
         "@go_default_sdk//:all",
diff --git a/go/def.bzl b/go/def.bzl
index f5e52e2..62e2eab 100644
--- a/go/def.bzl
+++ b/go/def.bzl
@@ -124,7 +124,7 @@
 
 # Current version or next version to be tagged. Gazelle and other tools may
 # check this to determine compatibility.
-RULES_GO_VERSION = "0.34.0"
+RULES_GO_VERSION = "0.35.0"
 
 declare_toolchains = _declare_toolchains
 go_context = _go_context
diff --git a/go/private/repositories.bzl b/go/private/repositories.bzl
index 0094785..991e6fc 100644
--- a/go/private/repositories.bzl
+++ b/go/private/repositories.bzl
@@ -50,12 +50,12 @@
     wrapper(
         http_archive,
         name = "bazel_skylib",
-        # 1.2.1, latest as of 2022-07-19
+        # 1.3.0, latest as of 2022-09-10
         urls = [
-            "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz",
-            "https://github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz",
+            "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz",
+            "https://github.com/bazelbuild/bazel-skylib/releases/download/1.3.0/bazel-skylib-1.3.0.tar.gz",
         ],
-        sha256 = "f7be3474d42aae265405a592bb7da8e171919d74c16f082a5457840f06054728",
+        sha256 = "74d544d96f4a5bb630d465ca8bbcfe231e3594e5aae57e1edbf17a6eb3ca2506",
         strip_prefix = "",
     )
 
@@ -64,13 +64,13 @@
     wrapper(
         http_archive,
         name = "org_golang_x_tools",
-        # v0.1.11, latest as of 2022-07-19
+        # v0.1.12, latest as of 2022-09-10
         urls = [
-            "https://mirror.bazel.build/github.com/golang/tools/archive/refs/tags/v0.1.11.zip",
-            "https://github.com/golang/tools/archive/refs/tags/v0.1.11.zip",
+            "https://mirror.bazel.build/github.com/golang/tools/archive/refs/tags/v0.1.12.zip",
+            "https://github.com/golang/tools/archive/refs/tags/v0.1.12.zip",
         ],
-        sha256 = "d31521bddf3380e4ae2ae1ce6dcfca301bce6072527a07d612e13902c93916ef",
-        strip_prefix = "tools-0.1.11",
+        sha256 = "4e3d94e7bf8dde5dad681c5ddddda6e634f8c8c500683fdf3d2f77a9c086702d",
+        strip_prefix = "tools-0.1.12",
         patches = [
             # deletegopls removes the gopls subdirectory. It contains a nested
             # module with additional dependencies. It's not needed by rules_go.
@@ -86,13 +86,13 @@
     wrapper(
         http_archive,
         name = "org_golang_x_sys",
-        # master, as of 2022-07-19
+        # master, as of 2022-09-10
         urls = [
-            "https://mirror.bazel.build/github.com/golang/sys/archive/c0bba94af5f85fbad9f6dc2e04ed5b8fac9696cf.zip",
-            "https://github.com/golang/sys/archive/c0bba94af5f85fbad9f6dc2e04ed5b8fac9696cf.zip",
+            "https://mirror.bazel.build/github.com/golang/sys/archive/aba9fc2a8ff2c9439446386f616b860442f0cf9a.zip",
+            "https://github.com/golang/sys/archive/aba9fc2a8ff2c9439446386f616b860442f0cf9a.zip",
         ],
-        sha256 = "5ea378ea5cfc02089a4d6a2f405ce60b742f7a8e72b121ecd3582ab041c78f62",
-        strip_prefix = "sys-c0bba94af5f85fbad9f6dc2e04ed5b8fac9696cf",
+        sha256 = "ed02417470528e20fca4c422043984e565c4d8acaa0cb946408125f676acb1ea",
+        strip_prefix = "sys-aba9fc2a8ff2c9439446386f616b860442f0cf9a",
         patches = [
             # releaser:patch-cmd gazelle -repo_root . -go_prefix golang.org/x/sys -go_naming_convention import_alias
             Label("//third_party:org_golang_x_sys-gazelle.patch"),
@@ -105,13 +105,13 @@
     wrapper(
         http_archive,
         name = "org_golang_x_xerrors",
-        # master, as of 2022-07-19
+        # master, as of 2022-09-10
         urls = [
-            "https://mirror.bazel.build/github.com/golang/xerrors/archive/65e65417b02f28de84b55f16b46a1e789149973a.zip",
-            "https://github.com/golang/xerrors/archive/65e65417b02f28de84b55f16b46a1e789149973a.zip",
+            "https://mirror.bazel.build/github.com/golang/xerrors/archive/04be3eba64a22a838cdb17b8dca15a52871c08b4.zip",
+            "https://github.com/golang/xerrors/archive/04be3eba64a22a838cdb17b8dca15a52871c08b4.zip",
         ],
-        sha256 = "85290a166d6cb22eef650634c3674663cd0d35b419b23372eba9aba6bde4878d",
-        strip_prefix = "xerrors-65e65417b02f28de84b55f16b46a1e789149973a",
+        sha256 = "ffad2b06ef2e09d040da2ff08077865e99ab95d4d0451737fc8e33706bb01634",
+        strip_prefix = "xerrors-04be3eba64a22a838cdb17b8dca15a52871c08b4",
         patches = [
             # releaser:patch-cmd gazelle -repo_root . -go_prefix golang.org/x/xerrors -go_naming_convention import_alias
             Label("//third_party:org_golang_x_xerrors-gazelle.patch"),
@@ -140,13 +140,13 @@
     wrapper(
         http_archive,
         name = "org_golang_google_protobuf",
-        sha256 = "dc4339bd2011a230d81d5ec445361efeb78366f1d30a7757e8fbea3e7221080e",
-        # v1.28.0, latest as of 2022-07-19
+        sha256 = "cbaac40c1faf6a3647316d46ec9c614e99aa92c539a78b7c1e4dec3ff5f73694",
+        # v1.28.1, latest as of 2022-09-10
         urls = [
-            "https://mirror.bazel.build/github.com/protocolbuffers/protobuf-go/archive/refs/tags/v1.28.0.zip",
-            "https://github.com/protocolbuffers/protobuf-go/archive/refs/tags/v1.28.0.zip",
+            "https://mirror.bazel.build/github.com/protocolbuffers/protobuf-go/archive/refs/tags/v1.28.1.zip",
+            "https://github.com/protocolbuffers/protobuf-go/archive/refs/tags/v1.28.1.zip",
         ],
-        strip_prefix = "protobuf-go-1.28.0",
+        strip_prefix = "protobuf-go-1.28.1",
         patches = [
             # releaser:patch-cmd gazelle -repo_root . -go_prefix google.golang.org/protobuf -go_naming_convention import_alias -proto disable_global
             Label("//third_party:org_golang_google_protobuf-gazelle.patch"),
@@ -163,7 +163,7 @@
     wrapper(
         http_archive,
         name = "com_github_golang_protobuf",
-        # v1.5.2, latest as of 2022-07-19
+        # v1.5.2, latest as of 2022-09-10
         urls = [
             "https://mirror.bazel.build/github.com/golang/protobuf/archive/refs/tags/v1.5.2.zip",
             "https://github.com/golang/protobuf/archive/refs/tags/v1.5.2.zip",
@@ -183,7 +183,7 @@
     wrapper(
         http_archive,
         name = "com_github_mwitkow_go_proto_validators",
-        # v0.3.2, latest as of 2022-07-19
+        # v0.3.2, latest as of 2022-09-10
         urls = [
             "https://mirror.bazel.build/github.com/mwitkow/go-proto-validators/archive/refs/tags/v0.3.2.zip",
             "https://github.com/mwitkow/go-proto-validators/archive/refs/tags/v0.3.2.zip",
@@ -197,7 +197,7 @@
     wrapper(
         http_archive,
         name = "com_github_gogo_protobuf",
-        # v1.3.2, latest as of 2022-07-19
+        # v1.3.2, latest as of 2022-09-10
         urls = [
             "https://mirror.bazel.build/github.com/gogo/protobuf/archive/refs/tags/v1.3.2.zip",
             "https://github.com/gogo/protobuf/archive/refs/tags/v1.3.2.zip",
@@ -224,13 +224,13 @@
     wrapper(
         http_archive,
         name = "org_golang_google_genproto",
-        # main, as of 2022-07-19
+        # main, as of 2022-09-10
         urls = [
-            "https://mirror.bazel.build/github.com/googleapis/go-genproto/archive/073382fd740c33f92de4ffff0e52bfc802774231.zip",
-            "https://github.com/googleapis/go-genproto/archive/073382fd740c33f92de4ffff0e52bfc802774231.zip",
+            "https://mirror.bazel.build/github.com/googleapis/go-genproto/archive/69f6226f97e558dbaa68715071622af0d86b3a17.zip",
+            "https://github.com/googleapis/go-genproto/archive/69f6226f97e558dbaa68715071622af0d86b3a17.zip",
         ],
-        sha256 = "07abd3383bedc19cd8e8931f99b3b6c312dc383de795c079e0ec6c63fa32ff39",
-        strip_prefix = "go-genproto-073382fd740c33f92de4ffff0e52bfc802774231",
+        sha256 = "0d47b1ae576fffd1280538ba0b2bca5d08d6dc8df9b2a41e0ce096e37d73e2c9",
+        strip_prefix = "go-genproto-69f6226f97e558dbaa68715071622af0d86b3a17",
         patches = [
             # releaser:patch-cmd gazelle -repo_root . -go_prefix google.golang.org/genproto -go_naming_convention import_alias -proto disable_global
             Label("//third_party:org_golang_google_genproto-gazelle.patch"),
@@ -247,13 +247,13 @@
     wrapper(
         http_archive,
         name = "go_googleapis",
-        # master, as of 2022-07-19
+        # master, as of 2022-09-10
         urls = [
-            "https://mirror.bazel.build/github.com/googleapis/googleapis/archive/53377c165584e84c410a0905d9effb3fe5df2806.zip",
-            "https://github.com/googleapis/googleapis/archive/53377c165584e84c410a0905d9effb3fe5df2806.zip",
+            "https://mirror.bazel.build/github.com/googleapis/googleapis/archive/8167badf3ce86086c69db2942a8995bb2de56c51.zip",
+            "https://github.com/googleapis/googleapis/archive/8167badf3ce86086c69db2942a8995bb2de56c51.zip",
         ],
-        sha256 = "73831cbb41f2750f3181d126bbabcd3e58b5188e131ecbc309793fa54d5439c9",
-        strip_prefix = "googleapis-53377c165584e84c410a0905d9effb3fe5df2806",
+        sha256 = "b97d75f1c937ed2235c501fafc475f51a3280d26f9410831686fdfd1b4f612f9",
+        strip_prefix = "googleapis-8167badf3ce86086c69db2942a8995bb2de56c51",
         patches = [
             # releaser:patch-cmd find . -name BUILD.bazel -delete
             Label("//third_party:go_googleapis-deletebuild.patch"),
@@ -269,18 +269,18 @@
     _maybe(
         http_archive,
         name = "com_github_golang_mock",
-        # v1.6.0, latest as of 2022-07-19
+        # v1.7.0-rc.1, latest as of 2022-09-10
         urls = [
-            "https://mirror.bazel.build/github.com/golang/mock/archive/refs/tags/v1.6.0.zip",
-            "https://github.com/golang/mock/archive/refs/tags/v1.6.0.zip",
+            "https://mirror.bazel.build/github.com/golang/mock/archive/refs/tags/v1.7.0-rc.1.zip",
+            "https://github.com/golang/mock/archive/refs/tags/v1.7.0-rc.1.zip",
         ],
         patches = [
             # releaser:patch-cmd gazelle -repo_root . -go_prefix github.com/golang/mock -go_naming_convention import_alias
             Label("//third_party:com_github_golang_mock-gazelle.patch"),
         ],
         patch_args = ["-p1"],
-        sha256 = "604d9ab25b07d60c1b8ba6d3ea2e66873138edeed2e561c5358de804ea421a0e",
-        strip_prefix = "mock-1.6.0",
+        sha256 = "5359c78b0c1649cf7beb3b48ff8b1d1aaf0243b22ea4789aba94805280075d8e",
+        strip_prefix = "mock-1.7.0-rc.1",
     )
 
     # This may be overridden by go_register_toolchains, but it's not mandatory
diff --git a/third_party/com_github_golang_mock-gazelle.patch b/third_party/com_github_golang_mock-gazelle.patch
index 8dbcca5..1d01fe0 100644
--- a/third_party/com_github_golang_mock-gazelle.patch
+++ b/third_party/com_github_golang_mock-gazelle.patch
@@ -1,7 +1,7 @@
 diff -urN a/gomock/BUILD.bazel b/gomock/BUILD.bazel
 --- a/gomock/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/gomock/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,35 @@
+@@ -0,0 +1,34 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
 +
 +go_library(
@@ -10,6 +10,7 @@
 +        "call.go",
 +        "callset.go",
 +        "controller.go",
++        "doc.go",
 +        "matchers.go",
 +    ],
 +    importpath = "github.com/golang/mock/gomock",
@@ -27,8 +28,6 @@
 +    srcs = [
 +        "call_test.go",
 +        "callset_test.go",
-+        "controller_113_test.go",
-+        "controller_114_test.go",
 +        "controller_test.go",
 +        "example_test.go",
 +        "matchers_test.go",
@@ -59,17 +58,18 @@
 diff -urN a/mockgen/BUILD.bazel b/mockgen/BUILD.bazel
 --- a/mockgen/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/mockgen/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,35 @@
+@@ -0,0 +1,36 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
 +
 +go_library(
 +    name = "mockgen_lib",
 +    srcs = [
++        "generic_go118.go",
++        "generic_notgo118.go",
 +        "mockgen.go",
 +        "parse.go",
 +        "reflect.go",
-+        "version.1.11.go",
-+        "version.1.12.go",
++        "version.go",
 +    ],
 +    importpath = "github.com/golang/mock/mockgen",
 +    visibility = ["//visibility:private"],
@@ -355,10 +355,72 @@
 +    embed = [":generated_identifier_conflict"],
 +    deps = ["//gomock"],
 +)
+diff -urN a/mockgen/internal/tests/generics/BUILD.bazel b/mockgen/internal/tests/generics/BUILD.bazel
+--- a/mockgen/internal/tests/generics/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ b/mockgen/internal/tests/generics/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,21 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_library")
++
++go_library(
++    name = "generics",
++    srcs = [
++        "external.go",
++        "generics.go",
++    ],
++    importpath = "github.com/golang/mock/mockgen/internal/tests/generics",
++    visibility = ["//mockgen:__subpackages__"],
++    deps = [
++        "//mockgen/internal/tests/generics/other",
++        "@org_golang_x_exp//constraints:go_default_library",
++    ],
++)
++
++alias(
++    name = "go_default_library",
++    actual = ":generics",
++    visibility = ["//mockgen:__subpackages__"],
++)
+diff -urN a/mockgen/internal/tests/generics/other/BUILD.bazel b/mockgen/internal/tests/generics/other/BUILD.bazel
+--- a/mockgen/internal/tests/generics/other/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ b/mockgen/internal/tests/generics/other/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,14 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_library")
++
++go_library(
++    name = "other",
++    srcs = ["other.go"],
++    importpath = "github.com/golang/mock/mockgen/internal/tests/generics/other",
++    visibility = ["//mockgen:__subpackages__"],
++)
++
++alias(
++    name = "go_default_library",
++    actual = ":other",
++    visibility = ["//mockgen:__subpackages__"],
++)
+diff -urN a/mockgen/internal/tests/generics/source/BUILD.bazel b/mockgen/internal/tests/generics/source/BUILD.bazel
+--- a/mockgen/internal/tests/generics/source/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ b/mockgen/internal/tests/generics/source/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,15 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_test")
++
++go_test(
++    name = "source_test",
++    srcs = [
++        "mock_external_test.go",
++        "mock_generics_test.go",
++    ],
++    deps = [
++        "//gomock",
++        "//mockgen/internal/tests/generics",
++        "//mockgen/internal/tests/generics/other",
++        "@org_golang_x_exp//constraints:go_default_library",
++    ],
++)
 diff -urN a/mockgen/internal/tests/import_embedded_interface/BUILD.bazel b/mockgen/internal/tests/import_embedded_interface/BUILD.bazel
 --- a/mockgen/internal/tests/import_embedded_interface/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/mockgen/internal/tests/import_embedded_interface/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,35 @@
+@@ -0,0 +1,36 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
 +
 +go_library(
@@ -366,6 +428,7 @@
 +    srcs = [
 +        "bugreport.go",
 +        "bugreport_mock.go",
++        "foo.go",
 +        "net.go",
 +        "net_mock.go",
 +    ],
diff --git a/third_party/go_googleapis-deletebuild.patch b/third_party/go_googleapis-deletebuild.patch
index d252af4..2c100df 100644
--- a/third_party/go_googleapis-deletebuild.patch
+++ b/third_party/go_googleapis-deletebuild.patch
@@ -1,13 +1,12 @@
 diff -urN a/BUILD.bazel b/BUILD.bazel
 --- a/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,6 +0,0 @@
--load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
--
+@@ -1,5 +0,0 @@
 -alias(
 -    name = "build_gen",
 -    actual = "@rules_gapic//bazel:build_file_generator",
 -)
+-
 diff -urN a/gapic/metadata/BUILD.bazel b/gapic/metadata/BUILD.bazel
 --- a/gapic/metadata/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/gapic/metadata/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
@@ -724,7 +723,7 @@
 diff -urN a/google/ads/admob/v1/BUILD.bazel b/google/ads/admob/v1/BUILD.bazel
 --- a/google/ads/admob/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/ads/admob/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,352 +0,0 @@
+@@ -1,363 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -885,6 +884,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -    "py_grpc_library",
 -    "py_proto_library",
 -)
@@ -907,6 +907,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "admob_py_gapic_test",
+-    srcs = [
+-        "admob_py_gapic_pytest.py",
+-        "admob_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":admob_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "ads-admob-v1-py",
@@ -1080,7 +1090,7 @@
 diff -urN a/google/ads/googleads/v10/BUILD.bazel b/google/ads/googleads/v10/BUILD.bazel
 --- a/google/ads/googleads/v10/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/ads/googleads/v10/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,267 +0,0 @@
+@@ -1,266 +0,0 @@
 -# Copyright 2020 Google LLC
 -#
 -# Licensed under the Apache License, Version 2.0 (the "License");
@@ -1229,7 +1239,6 @@
 -
 -csharp_gapic_library(
 -    name = "googleads_csharp_gapic",
--    generator_binary = "@gapic_generator_csharp_gax_v3//rules_csharp_gapic:csharp_gapic_generator_binary",
 -    srcs = [
 -        ":googleads_proto_with_info",
 -    ],
@@ -1883,7 +1892,7 @@
 diff -urN a/google/ads/googleads/v11/BUILD.bazel b/google/ads/googleads/v11/BUILD.bazel
 --- a/google/ads/googleads/v11/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/ads/googleads/v11/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,267 +0,0 @@
+@@ -1,266 +0,0 @@
 -# Copyright 2020 Google LLC
 -#
 -# Licensed under the Apache License, Version 2.0 (the "License");
@@ -2032,7 +2041,6 @@
 -
 -csharp_gapic_library(
 -    name = "googleads_csharp_gapic",
--    generator_binary = "@gapic_generator_csharp_gax_v3//rules_csharp_gapic:csharp_gapic_generator_binary",
 -    srcs = [
 -        ":googleads_proto_with_info",
 -    ],
@@ -2683,813 +2691,10 @@
 -    srcs = [":services_proto"],
 -    deps = [":services_py_proto"],
 -)
-diff -urN a/google/ads/googleads/v8/BUILD.bazel b/google/ads/googleads/v8/BUILD.bazel
---- a/google/ads/googleads/v8/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-+++ b/google/ads/googleads/v8/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,267 +0,0 @@
--# Copyright 2020 Google LLC
--#
--# Licensed under the Apache License, Version 2.0 (the "License");
--# you may not use this file except in compliance with the License.
--# You may obtain a copy of the License at
--#
--#      https://www.apache.org/licenses/LICENSE-2.0
--#
--# Unless required by applicable law or agreed to in writing, software
--# distributed under the License is distributed on an "AS IS" BASIS,
--# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--# See the License for the specific language governing permissions and
--# limitations under the License.
--
--package(default_visibility = ["//visibility:public"])
--
--exports_files(["googleads_grpc_service_config.json"] + ["*.yaml"])
--
--##############################################################################
--# Common
--##############################################################################
--load("@rules_proto//proto:defs.bzl", "proto_library")
--load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
--
--proto_library(
--    name = "googleads_proto",
--    srcs = [],
--    deps = [
--        "//google/ads/googleads/v8/common:common_proto",
--        "//google/ads/googleads/v8/enums:enums_proto",
--        "//google/ads/googleads/v8/errors:errors_proto",
--        "//google/ads/googleads/v8/resources:resources_proto",
--        "//google/ads/googleads/v8/services:services_proto",
--    ],
--)
--
--proto_library_with_info(
--    name = "googleads_proto_with_info",
--    deps = [
--        ":googleads_proto",
--    ],
--)
--
--##############################################################################
--# Java
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "java_gapic_assembly_gradle_pkg",
--    "java_gapic_library",
--    "java_gapic_test",
--)
--
--java_gapic_library(
--    name = "googleads_java_gapic",
--    srcs = [
--        ":googleads_proto_with_info",
--    ],
--    gapic_yaml = "googleads_gapic.yaml",
--    grpc_service_config = ":googleads_grpc_service_config.json",
--    deps = [
--        "//google/ads/googleads/v8/common:common_java_proto",
--        "//google/ads/googleads/v8/enums:enums_java_proto",
--        "//google/ads/googleads/v8/resources:resources_java_proto",
--        "//google/ads/googleads/v8/services:services_java_grpc",
--        "//google/ads/googleads/v8/services:services_java_proto",
--    ],
--)
--
--# TODO(ohren): Add more test classes when java_gapic_test is able to run more
--# than a single test. Having at least one verifies proper compilation at least.
--java_gapic_test(
--    name = "googleads_java_gapic_suite",
--    test_classes = [
--        "com.google.ads.googleads.v8.services.CampaignServiceClientTest",
--    ],
--    runtime_deps = [":googleads_java_gapic_test"],
--)
--
--java_gapic_assembly_gradle_pkg(
--    name = "googleads-java",
--    deps = [
--        ":googleads_java_gapic",
--        "//google/ads/googleads/v8:googleads_proto",
--        "//google/ads/googleads/v8/common:common_java_proto",
--        "//google/ads/googleads/v8/enums:enums_java_proto",
--        "//google/ads/googleads/v8/errors:errors_java_proto",
--        "//google/ads/googleads/v8/resources:resources_java_proto",
--        "//google/ads/googleads/v8/services:services_java_grpc",
--        "//google/ads/googleads/v8/services:services_java_proto",
--    ],
--)
--
--##############################################################################
--# PHP
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "php_gapic_assembly_pkg",
--    "php_gapic_library",
--    "php_grpc_library",
--    "php_proto_library",
--)
--
--php_proto_library(
--    name = "googleads_php_proto",
--    plugin_args = ["aggregate_metadata=google.ads.googleads"],
--    deps = [":googleads_proto"],
--)
--
--php_grpc_library(
--    name = "googleads_php_grpc",
--    srcs = [":googleads_proto"],
--    deps = [":googleads_php_proto"],
--)
--
--php_gapic_library(
--    name = "googleads_php_gapic",
--    srcs = [":googleads_proto"],
--    gapic_yaml = "googleads_gapic.yaml",
--    grpc_service_config = "googleads_grpc_service_config.json",
--    service_yaml = "googleads_v8.yaml",
--    deps = [
--        ":googleads_php_grpc",
--        ":googleads_php_proto",
--    ],
--)
--
--php_gapic_assembly_pkg(
--    name = "googleads-php",
--    deps = [
--        ":googleads_php_gapic",
--        ":googleads_php_grpc",
--        ":googleads_php_proto",
--    ],
--)
--
--##############################################################################
--# C#
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "csharp_gapic_assembly_pkg",
--    "csharp_gapic_library",
--)
--
--csharp_gapic_library(
--    name = "googleads_csharp_gapic",
--    generator_binary = "@gapic_generator_csharp_gax_v3//rules_csharp_gapic:csharp_gapic_generator_binary",
--    srcs = [
--        ":googleads_proto_with_info",
--    ],
--    grpc_service_config = "googleads_grpc_service_config.json",
--    deps = [
--        "//google/ads/googleads/v8/services:services_csharp_grpc",
--    ],
--)
--
--csharp_gapic_assembly_pkg(
--    name = "googleads-csharp",
--    deps = [
--        ":googleads_csharp_gapic",
--        "//google/ads/googleads/v8/common:common_csharp_proto",
--        "//google/ads/googleads/v8/enums:enums_csharp_proto",
--        "//google/ads/googleads/v8/errors:errors_csharp_proto",
--        "//google/ads/googleads/v8/resources:resources_csharp_proto",
--        "//google/ads/googleads/v8/services:services_csharp_grpc",
--        "//google/ads/googleads/v8/services:services_csharp_proto",
--    ],
--)
--
--##############################################################################
--# Ruby
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "ruby_ads_gapic_library",
--    "ruby_gapic_assembly_pkg",
--)
--
--ruby_ads_gapic_library(
--    name = "googleads_ruby_gapic",
--    srcs = ["googleads_proto_with_info"],
--    extra_protoc_parameters = [
--        ":gem.:name=google-ads-googleads",
--        ":defaults.:service.:default_host=googleads.googleapis.com",
--        ":overrides.:namespace.Googleads=GoogleAds",
--    ],
--    grpc_service_config = "googleads_grpc_service_config.json",
--)
--
--ruby_gapic_assembly_pkg(
--    name = "googleads-ruby",
--    deps = [
--        ":googleads_ruby_gapic",
--        "//google/ads/googleads/v8/common:common_ruby_proto",
--        "//google/ads/googleads/v8/enums:enums_ruby_proto",
--        "//google/ads/googleads/v8/errors:errors_ruby_proto",
--        "//google/ads/googleads/v8/resources:resources_ruby_proto",
--        "//google/ads/googleads/v8/services:services_ruby_grpc",
--        "//google/ads/googleads/v8/services:services_ruby_proto",
--    ],
--)
--
--##############################################################################
--# Python
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "py_gapic_assembly_pkg",
--    "py_gapic_library",
--)
--
--py_gapic_library(
--    name = "googleads_py_gapic",
--    srcs = [":googleads_proto_with_info"],
--    grpc_service_config = "googleads_grpc_service_config.json",
--    opt_args = [
--        "old-naming",
--        "lazy-import",
--        "python-gapic-name=googleads",
--        "python-gapic-templates=ads-templates",
--        "warehouse-package-name=google-ads",
--    ],
--)
--
--py_gapic_assembly_pkg(
--    name = "googleads-py",
--    deps = [
--        ":googleads_py_gapic",
--        "//google/ads/googleads/v8/common:common_py_proto",
--        "//google/ads/googleads/v8/enums:enums_py_proto",
--        "//google/ads/googleads/v8/errors:errors_py_proto",
--        "//google/ads/googleads/v8/resources:resources_py_proto",
--        "//google/ads/googleads/v8/services:services_py_grpc",
--        "//google/ads/googleads/v8/services:services_py_proto",
--    ],
--)
--
--##############################################################################
--# Node.js
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "nodejs_gapic_assembly_pkg",
--    "nodejs_gapic_library",
--)
--
--nodejs_gapic_library(
--    name = "googleads_nodejs_gapic",
--    package_name = "google-ads",
--    src = ":googleads_proto_with_info",
--    extra_protoc_parameters = ["metadata"],
--    grpc_service_config = "googleads_grpc_service_config.json",
--    main_service = "GoogleAdsService",
--    package = "google.ads.googleads.v8",
--    service_yaml = "googleads_v8.yaml",
--    deps = [],
--)
--
--nodejs_gapic_assembly_pkg(
--    name = "googleads-nodejs",
--    deps = [
--        ":googleads_nodejs_gapic",
--        ":googleads_proto",
--    ],
--)
-diff -urN a/google/ads/googleads/v8/common/BUILD.bazel b/google/ads/googleads/v8/common/BUILD.bazel
---- a/google/ads/googleads/v8/common/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-+++ b/google/ads/googleads/v8/common/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,94 +0,0 @@
--# Copyright 2020 Google LLC
--#
--# Licensed under the Apache License, Version 2.0 (the "License");
--# you may not use this file except in compliance with the License.
--# You may obtain a copy of the License at
--#
--#      https://www.apache.org/licenses/LICENSE-2.0
--#
--# Unless required by applicable law or agreed to in writing, software
--# distributed under the License is distributed on an "AS IS" BASIS,
--# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--# See the License for the specific language governing permissions and
--# limitations under the License.
--
--package(default_visibility = ["//visibility:public"])
--
--##############################################################################
--# Common
--##############################################################################
--load("@rules_proto//proto:defs.bzl", "proto_library")
--
--# TODO(ohren): Change srcs to use an enumeration of each individual proto
--# instead of *.proto globbing once the build file generator supports
--# subpackages.
--proto_library(
--    name = "common_proto",
--    srcs = glob(["*.proto"]),
--    deps = [
--        "//google/ads/googleads/v8/enums:enums_proto",
--        "//google/api:annotations_proto",
--        "//google/api:field_behavior_proto",
--        "//google/api:resource_proto",
--        "@com_google_protobuf//:wrappers_proto",
--    ],
--)
--
--##############################################################################
--# Java
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "java_proto_library",
--)
--
--java_proto_library(
--    name = "common_java_proto",
--    deps = [":common_proto"],
--)
--
--##############################################################################
--# PHP
--##############################################################################
--
--# PHP targets are in the parent directory's BUILD.bazel file to facilitate
--# aggregating metadata using a single underlying call to protoc.
--
--##############################################################################
--# C#
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "csharp_proto_library",
--)
--
--csharp_proto_library(
--    name = "common_csharp_proto",
--    deps = [":common_proto"],
--)
--
--##############################################################################
--# Ruby
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "ruby_proto_library",
--)
--
--ruby_proto_library(
--    name = "common_ruby_proto",
--    deps = [":common_proto"],
--)
--
--##############################################################################
--# Python
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "py_proto_library",
--)
--
--py_proto_library(
--    name = "common_py_proto",
--    deps = [":common_proto"],
--)
-diff -urN a/google/ads/googleads/v8/enums/BUILD.bazel b/google/ads/googleads/v8/enums/BUILD.bazel
---- a/google/ads/googleads/v8/enums/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-+++ b/google/ads/googleads/v8/enums/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,89 +0,0 @@
--# Copyright 2020 Google LLC
--#
--# Licensed under the Apache License, Version 2.0 (the "License");
--# you may not use this file except in compliance with the License.
--# You may obtain a copy of the License at
--#
--#      https://www.apache.org/licenses/LICENSE-2.0
--#
--# Unless required by applicable law or agreed to in writing, software
--# distributed under the License is distributed on an "AS IS" BASIS,
--# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--# See the License for the specific language governing permissions and
--# limitations under the License.
--
--package(default_visibility = ["//visibility:public"])
--
--##############################################################################
--# Common
--##############################################################################
--load("@rules_proto//proto:defs.bzl", "proto_library")
--
--# TODO(ohren): Change srcs to use an enumeration of each individual proto
--# instead of *.proto globbing once the build file generator supports subpackages.
--proto_library(
--    name = "enums_proto",
--    srcs = glob(["*.proto"]),
--    deps = [
--        "//google/api:annotations_proto",
--    ],
--)
--
--##############################################################################
--# Java
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "java_proto_library",
--)
--
--java_proto_library(
--    name = "enums_java_proto",
--    deps = [":enums_proto"],
--)
--
--##############################################################################
--# PHP
--##############################################################################
--
--# PHP targets are in the parent directory's BUILD.bazel file to facilitate
--# aggregating metadata using a single underlying call to protoc.
--
--##############################################################################
--# C#
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "csharp_proto_library",
--)
--
--csharp_proto_library(
--    name = "enums_csharp_proto",
--    deps = [":enums_proto"],
--)
--
--##############################################################################
--# Ruby
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "ruby_proto_library",
--)
--
--ruby_proto_library(
--    name = "enums_ruby_proto",
--    deps = [":enums_proto"],
--)
--
--##############################################################################
--# Python
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "py_proto_library",
--)
--
--py_proto_library(
--    name = "enums_py_proto",
--    deps = [":enums_proto"],
--)
-diff -urN a/google/ads/googleads/v8/errors/BUILD.bazel b/google/ads/googleads/v8/errors/BUILD.bazel
---- a/google/ads/googleads/v8/errors/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-+++ b/google/ads/googleads/v8/errors/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,94 +0,0 @@
--# Copyright 2020 Google LLC
--#
--# Licensed under the Apache License, Version 2.0 (the "License");
--# you may not use this file except in compliance with the License.
--# You may obtain a copy of the License at
--#
--#      https://www.apache.org/licenses/LICENSE-2.0
--#
--# Unless required by applicable law or agreed to in writing, software
--# distributed under the License is distributed on an "AS IS" BASIS,
--# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--# See the License for the specific language governing permissions and
--# limitations under the License.
--
--package(default_visibility = ["//visibility:public"])
--
--##############################################################################
--# Common
--##############################################################################
--load("@rules_proto//proto:defs.bzl", "proto_library")
--
--# TODO(ohren): Change srcs to use an enumeration of each individual proto
--# instead of *.proto globbing once the build file generator supports
--# subpackages.
--proto_library(
--    name = "errors_proto",
--    srcs = glob(["*.proto"]),
--    deps = [
--        "//google/ads/googleads/v8/common:common_proto",
--        "//google/ads/googleads/v8/enums:enums_proto",
--        "//google/api:annotations_proto",
--        "@com_google_protobuf//:duration_proto",
--        "@com_google_protobuf//:wrappers_proto",
--    ],
--)
--
--##############################################################################
--# Java
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "java_proto_library",
--)
--
--java_proto_library(
--    name = "errors_java_proto",
--    deps = [":errors_proto"],
--)
--
--##############################################################################
--# PHP
--##############################################################################
--
--# PHP targets are in the parent directory's BUILD.bazel file to facilitate
--# aggregating metadata using a single underlying call to protoc.
--
--##############################################################################
--# C#
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "csharp_proto_library",
--)
--
--csharp_proto_library(
--    name = "errors_csharp_proto",
--    deps = [":errors_proto"],
--)
--
--##############################################################################
--# Ruby
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "ruby_proto_library",
--)
--
--ruby_proto_library(
--    name = "errors_ruby_proto",
--    deps = [":errors_proto"],
--)
--
--##############################################################################
--# Python
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "py_proto_library",
--)
--
--py_proto_library(
--    name = "errors_py_proto",
--    deps = [":errors_proto"],
--)
-diff -urN a/google/ads/googleads/v8/resources/BUILD.bazel b/google/ads/googleads/v8/resources/BUILD.bazel
---- a/google/ads/googleads/v8/resources/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-+++ b/google/ads/googleads/v8/resources/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,97 +0,0 @@
--# Copyright 2020 Google LLC
--#
--# Licensed under the Apache License, Version 2.0 (the "License");
--# you may not use this file except in compliance with the License.
--# You may obtain a copy of the License at
--#
--#      https://www.apache.org/licenses/LICENSE-2.0
--#
--# Unless required by applicable law or agreed to in writing, software
--# distributed under the License is distributed on an "AS IS" BASIS,
--# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--# See the License for the specific language governing permissions and
--# limitations under the License.
--
--package(default_visibility = ["//visibility:public"])
--
--##############################################################################
--# Common
--##############################################################################
--load("@rules_proto//proto:defs.bzl", "proto_library")
--
--# TODO(ohren): Change srcs to use an enumeration of each individual proto
--# instead of *.proto globbing once the build file generator supports
--# subpackages.
--proto_library(
--    name = "resources_proto",
--    srcs = glob(["*.proto"]),
--    deps = [
--        "//google/ads/googleads/v8/common:common_proto",
--        "//google/ads/googleads/v8/enums:enums_proto",
--        "//google/ads/googleads/v8/errors:errors_proto",
--        "//google/api:annotations_proto",
--        "//google/api:field_behavior_proto",
--        "//google/api:resource_proto",
--        "@com_google_protobuf//:field_mask_proto",
--        "@com_google_protobuf//:wrappers_proto",
--    ],
--)
--
--##############################################################################
--# Java
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "java_proto_library",
--)
--
--java_proto_library(
--    name = "resources_java_proto",
--    deps = [":resources_proto"],
--)
--
--##############################################################################
--# PHP
--##############################################################################
--
--# PHP targets are in the parent directory's BUILD.bazel file to facilitate
--# aggregating metadata using a single underlying call to protoc.
--
--##############################################################################
--# C#
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "csharp_proto_library",
--)
--
--csharp_proto_library(
--    name = "resources_csharp_proto",
--    deps = [":resources_proto"],
--)
--
--##############################################################################
--# Ruby
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "ruby_proto_library",
--)
--
--ruby_proto_library(
--    name = "resources_ruby_proto",
--    deps = [":resources_proto"],
--)
--
--##############################################################################
--# Python
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "py_proto_library",
--)
--
--py_proto_library(
--    name = "resources_py_proto",
--    deps = [":resources_proto"],
--)
-diff -urN a/google/ads/googleads/v8/services/BUILD.bazel b/google/ads/googleads/v8/services/BUILD.bazel
---- a/google/ads/googleads/v8/services/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-+++ b/google/ads/googleads/v8/services/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,138 +0,0 @@
--# Copyright 2020 Google LLC
--#
--# Licensed under the Apache License, Version 2.0 (the "License");
--# you may not use this file except in compliance with the License.
--# You may obtain a copy of the License at
--#
--#      https://www.apache.org/licenses/LICENSE-2.0
--#
--# Unless required by applicable law or agreed to in writing, software
--# distributed under the License is distributed on an "AS IS" BASIS,
--# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--# See the License for the specific language governing permissions and
--# limitations under the License.
--
--package(default_visibility = ["//visibility:public"])
--
--##############################################################################
--# Common
--##############################################################################
--load("@rules_proto//proto:defs.bzl", "proto_library")
--load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
--
--# TODO(ohren): Change srcs to use an enumeration of each individual proto
--# instead of *.proto globbing once the build file generator supports
--# subpackages.
--proto_library(
--    name = "services_proto",
--    srcs = glob(["*.proto"]),
--    deps = [
--        "//google/ads/googleads/v8/common:common_proto",
--        "//google/ads/googleads/v8/enums:enums_proto",
--        "//google/ads/googleads/v8/errors:errors_proto",
--        "//google/ads/googleads/v8/resources:resources_proto",
--        "//google/api:annotations_proto",
--        "//google/api:client_proto",
--        "//google/api:field_behavior_proto",
--        "//google/api:resource_proto",
--        "//google/longrunning:operations_proto",
--        "//google/rpc:status_proto",
--        "@com_google_protobuf//:empty_proto",
--        "@com_google_protobuf//:field_mask_proto",
--        "@com_google_protobuf//:wrappers_proto",
--    ],
--)
--
--proto_library_with_info(
--    name = "services_proto_with_info",
--    deps = [
--        ":services_proto",
--    ],
--)
--
--##############################################################################
--# Java
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "java_grpc_library",
--    "java_proto_library",
--)
--
--java_proto_library(
--    name = "services_java_proto",
--    deps = [":services_proto"],
--)
--
--java_grpc_library(
--    name = "services_java_grpc",
--    srcs = [":services_proto"],
--    deps = [":services_java_proto"],
--)
--
--##############################################################################
--# PHP
--##############################################################################
--
--# PHP targets are in the parent directory's BUILD.bazel file to facilitate
--# aggregating metadata using a single underlying call to protoc.
--
--##############################################################################
--# C#
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "csharp_grpc_library",
--    "csharp_proto_library",
--)
--
--csharp_proto_library(
--    name = "services_csharp_proto",
--    deps = [":services_proto"],
--)
--
--csharp_grpc_library(
--    name = "services_csharp_grpc",
--    srcs = [":services_proto"],
--    deps = [":services_csharp_proto"],
--)
--
--##############################################################################
--# Ruby
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "ruby_grpc_library",
--    "ruby_proto_library",
--)
--
--ruby_proto_library(
--    name = "services_ruby_proto",
--    deps = [":services_proto"],
--)
--
--ruby_grpc_library(
--    name = "services_ruby_grpc",
--    srcs = [":services_proto"],
--    deps = [":services_ruby_proto"],
--)
--
--##############################################################################
--# Python
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "py_grpc_library",
--    "py_proto_library",
--)
--
--py_proto_library(
--    name = "services_py_proto",
--    deps = [":services_proto"],
--)
--
--py_grpc_library(
--    name = "services_py_grpc",
--    srcs = [":services_proto"],
--    deps = [":services_py_proto"],
--)
 diff -urN a/google/ads/googleads/v9/BUILD.bazel b/google/ads/googleads/v9/BUILD.bazel
 --- a/google/ads/googleads/v9/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/ads/googleads/v9/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,267 +0,0 @@
+@@ -1,266 +0,0 @@
 -# Copyright 2020 Google LLC
 -#
 -# Licensed under the Apache License, Version 2.0 (the "License");
@@ -3638,7 +2843,6 @@
 -
 -csharp_gapic_library(
 -    name = "googleads_csharp_gapic",
--    generator_binary = "@gapic_generator_csharp_gax_v3//rules_csharp_gapic:csharp_gapic_generator_binary",
 -    srcs = [
 -        ":googleads_proto_with_info",
 -    ],
@@ -4335,9 +3539,9 @@
 diff -urN a/google/analytics/admin/v1alpha/BUILD.bazel b/google/analytics/admin/v1alpha/BUILD.bazel
 --- a/google/analytics/admin/v1alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/analytics/admin/v1alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,344 +0,0 @@
+@@ -1,387 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
--# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
+-# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
 -# Most of the manual changes to this file will be overwritten.
 -# It's **only** allowed to change the following rule attribute values:
@@ -4359,7 +3563,9 @@
 -proto_library(
 -    name = "admin_proto",
 -    srcs = [
+-        "access_report.proto",
 -        "analytics_admin.proto",
+-        "audience.proto",
 -        "resources.proto",
 -    ],
 -    deps = [
@@ -4367,6 +3573,7 @@
 -        "//google/api:client_proto",
 -        "//google/api:field_behavior_proto",
 -        "//google/api:resource_proto",
+-        "@com_google_protobuf//:duration_proto",
 -        "@com_google_protobuf//:empty_proto",
 -        "@com_google_protobuf//:field_mask_proto",
 -        "@com_google_protobuf//:timestamp_proto",
@@ -4408,13 +3615,16 @@
 -java_gapic_library(
 -    name = "admin_java_gapic",
 -    srcs = [":admin_proto_with_info"],
+-    gapic_yaml = "analyticsadmin_gapic.yaml",
 -    grpc_service_config = "admin_grpc_service_config.json",
+-    service_yaml = "analyticsadmin_v1alpha.yaml",
 -    test_deps = [
 -        ":admin_java_grpc",
 -    ],
 -    transport = "grpc+rest",
 -    deps = [
 -        ":admin_java_proto",
+-        "//google/api:api_java_proto",
 -    ],
 -)
 -
@@ -4430,6 +3640,7 @@
 -# Open Source Packages
 -java_gapic_assembly_gradle_pkg(
 -    name = "google-analytics-admin-v1alpha-java",
+-    include_samples = True,
 -    transport = "grpc+rest",
 -    deps = [
 -        ":admin_java_gapic",
@@ -4465,10 +3676,12 @@
 -    srcs = [":admin_proto_with_info"],
 -    grpc_service_config = "admin_grpc_service_config.json",
 -    importpath = "google.golang.org/google/analytics/admin/v1alpha;admin",
+-    metadata = True,
 -    service_yaml = "analyticsadmin_v1alpha.yaml",
 -    transport = "grpc+rest",
 -    deps = [
 -        ":admin_go_proto",
+-        "@io_bazel_rules_go//proto/wkt:duration_go_proto",
 -    ],
 -)
 -
@@ -4484,6 +3697,7 @@
 -    name = "gapi-analytics-admin-v1alpha-go",
 -    deps = [
 -        ":admin_go_gapic",
+-        ":admin_go_gapic_srcjar-metadata.srcjar",
 -        ":admin_go_gapic_srcjar-test.srcjar",
 -        ":admin_go_proto",
 -    ],
@@ -4496,12 +3710,27 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "admin_py_gapic",
 -    srcs = [":admin_proto"],
 -    grpc_service_config = "admin_grpc_service_config.json",
+-    service_yaml = "analyticsadmin_v1alpha.yaml",
+-    deps = [
+-    ],
+-    transport = "grpc+rest",
+-)
+-
+-py_test(
+-    name = "admin_py_gapic_test",
+-    srcs = [
+-        "admin_py_gapic_pytest.py",
+-        "admin_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":admin_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -4538,6 +3767,7 @@
 -    name = "admin_php_gapic",
 -    srcs = [":admin_proto_with_info"],
 -    grpc_service_config = "admin_grpc_service_config.json",
+-    service_yaml = "analyticsadmin_v1alpha.yaml",
 -    deps = [
 -        ":admin_php_grpc",
 -        ":admin_php_proto",
@@ -4608,14 +3838,15 @@
 -    name = "admin_ruby_gapic",
 -    srcs = [":admin_proto_with_info"],
 -    extra_protoc_parameters = [
--        "ruby-cloud-gem-name=google-analytics-admin-v1alpha",
--        "ruby-cloud-env-prefix=ANALYTICS_ADMIN",
 -        "ruby-cloud-api-id=analyticsadmin.googleapis.com",
 -        "ruby-cloud-api-shortname=analyticsadmin",
+-        "ruby-cloud-env-prefix=ANALYTICS_ADMIN",
+-        "ruby-cloud-gem-name=google-analytics-admin-v1alpha",
 -    ],
 -    grpc_service_config = "admin_grpc_service_config.json",
 -    ruby_cloud_description = "The Analytics Admin API allows for programmatic access to the Google Analytics App+Web configuration data. You can use the Google Analytics Admin API to manage accounts and App+Web properties.",
 -    ruby_cloud_title = "Google Analytics Admin V1alpha",
+-    service_yaml = "analyticsadmin_v1alpha.yaml",
 -    deps = [
 -        ":admin_ruby_grpc",
 -        ":admin_ruby_proto",
@@ -4679,11 +3910,27 @@
 -##############################################################################
 -# C++
 -##############################################################################
--# Put your C++ rules here
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "cc_grpc_library",
+-    "cc_proto_library",
+-)
+-
+-cc_proto_library(
+-    name = "admin_cc_proto",
+-    deps = [":admin_proto"],
+-)
+-
+-cc_grpc_library(
+-    name = "admin_cc_grpc",
+-    srcs = [":admin_proto"],
+-    grpc_only = True,
+-    deps = [":admin_cc_proto"],
+-)
 diff -urN a/google/analytics/admin/v1beta/BUILD.bazel b/google/analytics/admin/v1beta/BUILD.bazel
 --- a/google/analytics/admin/v1beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/analytics/admin/v1beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,364 +0,0 @@
+@@ -1,376 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -4781,6 +4028,7 @@
 -# Open Source Packages
 -java_gapic_assembly_gradle_pkg(
 -    name = "google-cloud-analytics-admin-v1beta-java",
+-    include_samples = True,
 -    transport = "grpc+rest",
 -    deps = [
 -        ":admin_java_gapic",
@@ -4788,7 +4036,6 @@
 -        ":admin_java_proto",
 -        ":admin_proto",
 -    ],
--    include_samples = True,
 -)
 -
 -##############################################################################
@@ -4837,8 +4084,8 @@
 -    name = "gapi-cloud-analytics-admin-v1beta-go",
 -    deps = [
 -        ":admin_go_gapic",
--        ":admin_go_gapic_srcjar-test.srcjar",
 -        ":admin_go_gapic_srcjar-metadata.srcjar",
+-        ":admin_go_gapic_srcjar-test.srcjar",
 -        ":admin_go_proto",
 -    ],
 -)
@@ -4850,6 +4097,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -4857,6 +4105,17 @@
 -    srcs = [":admin_proto"],
 -    grpc_service_config = "admin_grpc_service_config.json",
 -    service_yaml = "analyticsadmin.yaml",
+-    transport = "grpc+rest",
+-)
+-
+-py_test(
+-    name = "admin_py_gapic_test",
+-    srcs = [
+-        "admin_py_gapic_pytest.py",
+-        "admin_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":admin_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -4943,8 +4202,8 @@
 -##############################################################################
 -load(
 -    "@com_google_googleapis_imports//:imports.bzl",
--    "ruby_gapic_assembly_pkg",
 -    "ruby_cloud_gapic_library",
+-    "ruby_gapic_assembly_pkg",
 -    "ruby_grpc_library",
 -    "ruby_proto_library",
 -)
@@ -5096,7 +4355,7 @@
 diff -urN a/google/analytics/data/v1alpha/BUILD.bazel b/google/analytics/data/v1alpha/BUILD.bazel
 --- a/google/analytics/data/v1alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/analytics/data/v1alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,358 +0,0 @@
+@@ -1,369 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -5258,6 +4517,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -5267,6 +4527,16 @@
 -    service_yaml = "analyticsdata_v1alpha.yaml",
 -)
 -
+-py_test(
+-    name = "data_py_gapic_test",
+-    srcs = [
+-        "data_py_gapic_pytest.py",
+-        "data_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":data_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "analytics-data-v1alpha-py",
@@ -5458,7 +4728,7 @@
 diff -urN a/google/analytics/data/v1beta/BUILD.bazel b/google/analytics/data/v1beta/BUILD.bazel
 --- a/google/analytics/data/v1beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/analytics/data/v1beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,344 +0,0 @@
+@@ -1,355 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -5617,6 +4887,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -5625,6 +4896,16 @@
 -    grpc_service_config = "analytics_data_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "data_py_gapic_test",
+-    srcs = [
+-        "data_py_gapic_pytest.py",
+-        "data_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":data_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "google-analytics-data-v1beta-py",
@@ -6586,6 +5867,443 @@
 -    name = "visibility_py_proto",
 -    deps = ["visibility_proto"],
 -)
+diff -urN a/google/api/apikeys/BUILD.bazel b/google/api/apikeys/BUILD.bazel
+--- a/google/api/apikeys/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
++++ b/google/api/apikeys/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
+@@ -1,40 +0,0 @@
+-# This build file includes a target for the Ruby wrapper library for
+-# google-cloud-api_keys.
+-
+-# This is an API workspace, having public visibility by default makes perfect sense.
+-package(default_visibility = ["//visibility:public"])
+-
+-# Export yaml configs.
+-exports_files(glob(["*.yaml"]))
+-
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "ruby_cloud_gapic_library",
+-    "ruby_gapic_assembly_pkg",
+-)
+-
+-# Generates a Ruby wrapper client for apikeys.
+-# Ruby wrapper clients are versionless, but are generated from source protos
+-# for a particular service version, v2 in this case.
+-ruby_cloud_gapic_library(
+-    name = "apikeys_ruby_wrapper",
+-    srcs = ["//google/api/apikeys/v2:apikeys_proto_with_info"],
+-    extra_protoc_parameters = [
+-        "ruby-cloud-api-id=apikeys.googleapis.com",
+-        "ruby-cloud-api-shortname=apikeys",
+-        "ruby-cloud-gem-name=google-cloud-api_keys",
+-        "ruby-cloud-product-url=https://cloud.google.com/api-keys/",
+-        "ruby-cloud-wrapper-of=v2:0.0",
+-    ],
+-    ruby_cloud_description = "An API key is a simple encrypted string that you can use when calling Google Cloud APIs. The API Keys service manages the API keys associated with developer projects.",
+-    ruby_cloud_title = "API Keys",
+-)
+-
+-# Open Source package.
+-ruby_gapic_assembly_pkg(
+-    name = "google-cloud-apikeys-ruby",
+-    deps = [
+-        ":apikeys_ruby_wrapper",
+-    ],
+-)
+-
+diff -urN a/google/api/apikeys/v2/BUILD.bazel b/google/api/apikeys/v2/BUILD.bazel
+--- a/google/api/apikeys/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
++++ b/google/api/apikeys/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
+@@ -1,389 +0,0 @@
+-# This file was automatically generated by BuildFileGenerator
+-# https://github.com/googleapis/rules_gapic/tree/master/bazel
+-
+-# Most of the manual changes to this file will be overwritten.
+-# It's **only** allowed to change the following rule attribute values:
+-# - names of *_gapic_assembly_* rules
+-# - certain parameters of *_gapic_library rules, including but not limited to:
+-#    * extra_protoc_parameters
+-#    * extra_protoc_file_parameters
+-# The complete list of preserved parameters can be found in the source code.
+-
+-# This is an API workspace, having public visibility by default makes perfect sense.
+-package(default_visibility = ["//visibility:public"])
+-
+-##############################################################################
+-# Common
+-##############################################################################
+-load("@rules_proto//proto:defs.bzl", "proto_library")
+-load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
+-
+-proto_library(
+-    name = "apikeys_proto",
+-    srcs = [
+-        "apikeys.proto",
+-        "resources.proto",
+-    ],
+-    deps = [
+-        "//google/api:annotations_proto",
+-        "//google/api:client_proto",
+-        "//google/api:field_behavior_proto",
+-        "//google/api:resource_proto",
+-        "//google/longrunning:operations_proto",
+-        "@com_google_protobuf//:field_mask_proto",
+-        "@com_google_protobuf//:timestamp_proto",
+-    ],
+-)
+-
+-proto_library_with_info(
+-    name = "apikeys_proto_with_info",
+-    deps = [
+-        ":apikeys_proto",
+-        "//google/cloud:common_resources_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Java
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "java_gapic_assembly_gradle_pkg",
+-    "java_gapic_library",
+-    "java_gapic_test",
+-    "java_grpc_library",
+-    "java_proto_library",
+-)
+-
+-java_proto_library(
+-    name = "apikeys_java_proto",
+-    deps = [":apikeys_proto"],
+-)
+-
+-java_grpc_library(
+-    name = "apikeys_java_grpc",
+-    srcs = [":apikeys_proto"],
+-    deps = [":apikeys_java_proto"],
+-)
+-
+-java_gapic_library(
+-    name = "apikeys_java_gapic",
+-    srcs = [":apikeys_proto_with_info"],
+-    gapic_yaml = None,
+-    grpc_service_config = "apikeys_grpc_service_config.json",
+-    service_yaml = "apikeys_v2.yaml",
+-    test_deps = [
+-        ":apikeys_java_grpc",
+-    ],
+-    transport = "grpc+rest",
+-    deps = [
+-        ":apikeys_java_proto",
+-        "//google/api:api_java_proto",
+-    ],
+-)
+-
+-java_gapic_test(
+-    name = "apikeys_java_gapic_test_suite",
+-    test_classes = [
+-        "com.google.api.apikeys.v2.ApiKeysClientHttpJsonTest",
+-        "com.google.api.apikeys.v2.ApiKeysClientTest",
+-    ],
+-    runtime_deps = [":apikeys_java_gapic_test"],
+-)
+-
+-# Open Source Packages
+-java_gapic_assembly_gradle_pkg(
+-    name = "google-cloud-api-apikeys-v2-java",
+-    include_samples = True,
+-    transport = "grpc+rest",
+-    deps = [
+-        ":apikeys_java_gapic",
+-        ":apikeys_java_grpc",
+-        ":apikeys_java_proto",
+-        ":apikeys_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Go
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "go_gapic_assembly_pkg",
+-    "go_gapic_library",
+-    "go_proto_library",
+-    "go_test",
+-)
+-
+-go_proto_library(
+-    name = "apikeys_go_proto",
+-    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
+-    importpath = "google.golang.org/genproto/googleapis/api/apikeys/v2",
+-    protos = [":apikeys_proto"],
+-    deps = [
+-        "//google/api:annotations_go_proto",
+-        "//google/longrunning:longrunning_go_proto",
+-    ],
+-)
+-
+-go_gapic_library(
+-    name = "apikeys_go_gapic",
+-    srcs = [":apikeys_proto_with_info"],
+-    grpc_service_config = "apikeys_grpc_service_config.json",
+-    importpath = "cloud.google.com/go/api/apikeys/apiv2;apikeys",
+-    metadata = True,
+-    service_yaml = "apikeys_v2.yaml",
+-    transport = "grpc+rest",
+-    deps = [
+-        ":apikeys_go_proto",
+-        "//google/longrunning:longrunning_go_proto",
+-        "@com_google_cloud_go//longrunning:go_default_library",
+-        "@com_google_cloud_go//longrunning/autogen:go_default_library",
+-    ],
+-)
+-
+-go_test(
+-    name = "apikeys_go_gapic_test",
+-    srcs = [":apikeys_go_gapic_srcjar_test"],
+-    embed = [":apikeys_go_gapic"],
+-    importpath = "cloud.google.com/go/api/apikeys/apiv2",
+-)
+-
+-# Open Source Packages
+-go_gapic_assembly_pkg(
+-    name = "gapi-cloud-api-apikeys-v2-go",
+-    deps = [
+-        ":apikeys_go_gapic",
+-        ":apikeys_go_gapic_srcjar-metadata.srcjar",
+-        ":apikeys_go_gapic_srcjar-test.srcjar",
+-        ":apikeys_go_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Python
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "py_gapic_assembly_pkg",
+-    "py_gapic_library",
+-    "py_test",
+-)
+-
+-py_gapic_library(
+-    name = "apikeys_py_gapic",
+-    srcs = [":apikeys_proto"],
+-    grpc_service_config = "apikeys_grpc_service_config.json",
+-    service_yaml = "apikeys_v2.yaml",
+-    deps = [],
+-    opt_args = [
+-        "warehouse-package-name=google-cloud-api-keys",
+-        "python-gapic-namespace=google.cloud",
+-        "python-gapic-name=api_keys",
+-    ],
+-)
+-
+-py_test(
+-   name = "apikeys_py_gapic_test",
+-   srcs = [
+-       "apikeys_py_gapic_pytest.py",
+-       "apikeys_py_gapic_test.py",
+-   ],
+-   legacy_create_init = False,
+-   deps = [":apikeys_py_gapic"],
+-)
+-
+-# Open Source Packages
+-py_gapic_assembly_pkg(
+-    name = "api-apikeys-v2-py",
+-    deps = [
+-        ":apikeys_py_gapic",
+-    ],
+-)
+-
+-##############################################################################
+-# PHP
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "php_gapic_assembly_pkg",
+-    "php_gapic_library",
+-    "php_grpc_library",
+-    "php_proto_library",
+-)
+-
+-php_proto_library(
+-    name = "apikeys_php_proto",
+-    deps = [":apikeys_proto"],
+-)
+-
+-php_grpc_library(
+-    name = "apikeys_php_grpc",
+-    srcs = [":apikeys_proto"],
+-    deps = [":apikeys_php_proto"],
+-)
+-
+-php_gapic_library(
+-    name = "apikeys_php_gapic",
+-    srcs = [":apikeys_proto_with_info"],
+-    grpc_service_config = "apikeys_grpc_service_config.json",
+-    service_yaml = "apikeys_v2.yaml",
+-    deps = [
+-        ":apikeys_php_grpc",
+-        ":apikeys_php_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-php_gapic_assembly_pkg(
+-    name = "google-cloud-api-apikeys-v2-php",
+-    deps = [
+-        ":apikeys_php_gapic",
+-        ":apikeys_php_grpc",
+-        ":apikeys_php_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Node.js
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "nodejs_gapic_assembly_pkg",
+-    "nodejs_gapic_library",
+-)
+-
+-nodejs_gapic_library(
+-    name = "apikeys_nodejs_gapic",
+-    package_name = "@google-cloud/apikeys",
+-    src = ":apikeys_proto_with_info",
+-    extra_protoc_parameters = ["metadata"],
+-    grpc_service_config = "apikeys_grpc_service_config.json",
+-    package = "google.api.apikeys.v2",
+-    service_yaml = "apikeys_v2.yaml",
+-    deps = [],
+-)
+-
+-nodejs_gapic_assembly_pkg(
+-    name = "api-apikeys-v2-nodejs",
+-    deps = [
+-        ":apikeys_nodejs_gapic",
+-        ":apikeys_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Ruby
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "ruby_cloud_gapic_library",
+-    "ruby_gapic_assembly_pkg",
+-    "ruby_grpc_library",
+-    "ruby_proto_library",
+-)
+-
+-ruby_proto_library(
+-    name = "apikeys_ruby_proto",
+-    deps = [":apikeys_proto"],
+-)
+-
+-ruby_grpc_library(
+-    name = "apikeys_ruby_grpc",
+-    srcs = [":apikeys_proto"],
+-    deps = [":apikeys_ruby_proto"],
+-)
+-
+-ruby_cloud_gapic_library(
+-    name = "apikeys_ruby_gapic",
+-    srcs = [":apikeys_proto_with_info"],
+-    extra_protoc_parameters = [
+-        "ruby-cloud-api-id=apikeys.googleapis.com",
+-        "ruby-cloud-api-shortname=apikeys",
+-        "ruby-cloud-gem-name=google-cloud-api_keys-v2",
+-        "ruby-cloud-product-url=https://cloud.google.com/api-keys/",
+-    ],
+-    grpc_service_config = "apikeys_grpc_service_config.json",
+-    service_yaml = "apikeys_v2.yaml",
+-    ruby_cloud_description = "An API key is a simple encrypted string that you can use when calling Google Cloud APIs. The API Keys service manages the API keys associated with developer projects.",
+-    ruby_cloud_title = "API Keys V2",
+-    deps = [
+-        ":apikeys_ruby_grpc",
+-        ":apikeys_ruby_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-ruby_gapic_assembly_pkg(
+-    name = "google-cloud-api-apikeys-v2-ruby",
+-    deps = [
+-        ":apikeys_ruby_gapic",
+-        ":apikeys_ruby_grpc",
+-        ":apikeys_ruby_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# C#
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "csharp_gapic_assembly_pkg",
+-    "csharp_gapic_library",
+-    "csharp_grpc_library",
+-    "csharp_proto_library",
+-)
+-
+-csharp_proto_library(
+-    name = "apikeys_csharp_proto",
+-    deps = [":apikeys_proto"],
+-)
+-
+-csharp_grpc_library(
+-    name = "apikeys_csharp_grpc",
+-    srcs = [":apikeys_proto"],
+-    deps = [":apikeys_csharp_proto"],
+-)
+-
+-csharp_gapic_library(
+-    name = "apikeys_csharp_gapic",
+-    srcs = [":apikeys_proto_with_info"],
+-    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
+-    grpc_service_config = "apikeys_grpc_service_config.json",
+-    service_yaml = "apikeys_v2.yaml",
+-    deps = [
+-        ":apikeys_csharp_grpc",
+-        ":apikeys_csharp_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-csharp_gapic_assembly_pkg(
+-    name = "google-cloud-api-apikeys-v2-csharp",
+-    deps = [
+-        ":apikeys_csharp_gapic",
+-        ":apikeys_csharp_grpc",
+-        ":apikeys_csharp_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# C++
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "cc_grpc_library",
+-    "cc_proto_library",
+-)
+-
+-cc_proto_library(
+-    name = "apikeys_cc_proto",
+-    deps = [":apikeys_proto"],
+-)
+-
+-cc_grpc_library(
+-    name = "apikeys_cc_grpc",
+-    srcs = [":apikeys_proto"],
+-    grpc_only = True,
+-    deps = [":apikeys_cc_proto"],
+-)
 diff -urN a/google/api/expr/BUILD.bazel b/google/api/expr/BUILD.bazel
 --- a/google/api/expr/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/api/expr/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
@@ -7159,7 +6877,7 @@
 diff -urN a/google/api/servicecontrol/v1/BUILD.bazel b/google/api/servicecontrol/v1/BUILD.bazel
 --- a/google/api/servicecontrol/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/api/servicecontrol/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,384 +0,0 @@
+@@ -1,395 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -7335,6 +7053,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -7348,6 +7067,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "servicecontrol_py_gapic_test",
+-    srcs = [
+-        "servicecontrol_py_gapic_pytest.py",
+-        "servicecontrol_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":servicecontrol_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "google-cloud-servicecontrol-v1-py",
@@ -7547,7 +7276,7 @@
 diff -urN a/google/api/servicecontrol/v2/BUILD.bazel b/google/api/servicecontrol/v2/BUILD.bazel
 --- a/google/api/servicecontrol/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/api/servicecontrol/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,370 +0,0 @@
+@@ -1,381 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -7711,6 +7440,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -7724,6 +7454,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "servicecontrol_py_gapic_test",
+-    srcs = [
+-        "servicecontrol_py_gapic_pytest.py",
+-        "servicecontrol_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":servicecontrol_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "api-servicecontrol-v2-py",
@@ -7965,7 +7705,7 @@
 diff -urN a/google/api/servicemanagement/v1/BUILD.bazel b/google/api/servicemanagement/v1/BUILD.bazel
 --- a/google/api/servicemanagement/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/api/servicemanagement/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,380 +0,0 @@
+@@ -1,391 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -8139,6 +7879,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -8152,6 +7893,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "servicemanagement_py_gapic_test",
+-    srcs = [
+-        "servicemanagement_py_gapic_pytest.py",
+-        "servicemanagement_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":servicemanagement_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "google-cloud-servicemanagement-v1-py",
@@ -8393,7 +8144,7 @@
 diff -urN a/google/api/serviceusage/v1/BUILD.bazel b/google/api/serviceusage/v1/BUILD.bazel
 --- a/google/api/serviceusage/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/api/serviceusage/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,382 +0,0 @@
+@@ -1,393 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -8569,6 +8320,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -8582,6 +8334,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "serviceusage_py_gapic_test",
+-    srcs = [
+-        "serviceusage_py_gapic_pytest.py",
+-        "serviceusage_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":serviceusage_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "api-serviceusage-v1-py",
@@ -8779,7 +8541,7 @@
 diff -urN a/google/api/serviceusage/v1beta1/BUILD.bazel b/google/api/serviceusage/v1beta1/BUILD.bazel
 --- a/google/api/serviceusage/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/api/serviceusage/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,359 +0,0 @@
+@@ -1,370 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -8961,6 +8723,17 @@
 -    grpc_service_config = "serviceusage_grpc_service_config.json",
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1376 is fixed
+-#py_test(
+-#    name = "serviceusage_py_gapic_test",
+-#    srcs = [
+-#        "serviceusage_py_gapic_pytest.py",
+-#        "serviceusage_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":serviceusage_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "api-serviceusage-v1beta1-py",
@@ -9433,8 +9206,8 @@
 -##############################################################################
 -load(
 -    "@com_google_googleapis_imports//:imports.bzl",
+-    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
--    "py_gapic_assembly_pkg"
 -)
 -
 -py_gapic_library(
@@ -9442,7 +9215,7 @@
 -    srcs = [":logging_proto"],
 -    opt_args = [
 -        "warehouse-package-name=google-cloud-appengine-logging",
--         "python-gapic-namespace=google.cloud",
+-        "python-gapic-namespace=google.cloud",
 -        "python-gapic-name=appengine_logging",
 -    ],
 -)
@@ -9547,7 +9320,7 @@
 diff -urN a/google/appengine/v1/BUILD.bazel b/google/appengine/v1/BUILD.bazel
 --- a/google/appengine/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/appengine/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,402 +0,0 @@
+@@ -1,413 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -9744,6 +9517,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -9757,6 +9531,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "appengine_py_gapic_test",
+-    srcs = [
+-        "appengine_py_gapic_pytest.py",
+-        "appengine_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":appengine_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "google-cloud-appengine-v1-py",
@@ -10149,7 +9933,7 @@
 diff -urN a/google/apps/alertcenter/v1beta1/BUILD.bazel b/google/apps/alertcenter/v1beta1/BUILD.bazel
 --- a/google/apps/alertcenter/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/apps/alertcenter/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,341 +0,0 @@
+@@ -1,352 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -10311,6 +10095,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -10319,6 +10104,16 @@
 -    grpc_service_config = "alertcenter_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "alertcenter_py_gapic_test",
+-    srcs = [
+-        "alertcenter_py_gapic_pytest.py",
+-        "alertcenter_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":alertcenter_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "apps-alertcenter-v1beta1-py",
@@ -10494,7 +10289,7 @@
 diff -urN a/google/apps/drive/activity/v2/BUILD.bazel b/google/apps/drive/activity/v2/BUILD.bazel
 --- a/google/apps/drive/activity/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/apps/drive/activity/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,339 +0,0 @@
+@@ -1,350 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -10657,6 +10452,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -10665,6 +10461,16 @@
 -    grpc_service_config = "driveactivity_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "activity_py_gapic_test",
+-    srcs = [
+-        "activity_py_gapic_pytest.py",
+-        "activity_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":activity_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "drive-activity-v2-py",
@@ -10837,7 +10643,7 @@
 diff -urN a/google/apps/market/v2/BUILD.bazel b/google/apps/market/v2/BUILD.bazel
 --- a/google/apps/market/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/apps/market/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,338 +0,0 @@
+@@ -1,349 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -10997,6 +10803,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -11005,6 +10812,16 @@
 -    grpc_service_config = "service_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "marketplace_py_gapic_test",
+-    srcs = [
+-        "marketplace_py_gapic_pytest.py",
+-        "marketplace_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":marketplace_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "hosted-marketplace-v2-py",
@@ -11179,7 +10996,7 @@
 diff -urN a/google/apps/script/type/BUILD.bazel b/google/apps/script/type/BUILD.bazel
 --- a/google/apps/script/type/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/apps/script/type/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,143 +0,0 @@
+@@ -1,148 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -##############################################################################
@@ -11269,6 +11086,11 @@
 -    deps = [":type_moved_proto"],
 -)
 -
+-py_proto_library(
+-    name = "type_py_original_proto",
+-    deps = [":type_proto"],
+-)
+-
 -py_grpc_library(
 -    name = "type_py_grpc",
 -    srcs = [":type_moved_proto"],
@@ -11326,7 +11148,7 @@
 diff -urN a/google/apps/script/type/calendar/BUILD.bazel b/google/apps/script/type/calendar/BUILD.bazel
 --- a/google/apps/script/type/calendar/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/apps/script/type/calendar/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,133 +0,0 @@
+@@ -1,138 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -##############################################################################
@@ -11417,6 +11239,11 @@
 -    deps = [":calendar_moved_proto"],
 -)
 -
+-py_proto_library(
+-    name = "calendar_py_original_proto",
+-    deps = [":calendar_proto"],
+-)
+-
 -py_grpc_library(
 -    name = "calendar_py_grpc",
 -    srcs = [":calendar_moved_proto"],
@@ -11463,7 +11290,7 @@
 diff -urN a/google/apps/script/type/docs/BUILD.bazel b/google/apps/script/type/docs/BUILD.bazel
 --- a/google/apps/script/type/docs/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/apps/script/type/docs/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,133 +0,0 @@
+@@ -1,138 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -##############################################################################
@@ -11554,6 +11381,11 @@
 -    deps = [":docs_moved_proto"],
 -)
 -
+-py_proto_library(
+-    name = "docs_py_original_proto",
+-    deps = [":docs_proto"],
+-)
+-
 -py_grpc_library(
 -    name = "docs_py_grpc",
 -    srcs = [":docs_moved_proto"],
@@ -11600,7 +11432,7 @@
 diff -urN a/google/apps/script/type/drive/BUILD.bazel b/google/apps/script/type/drive/BUILD.bazel
 --- a/google/apps/script/type/drive/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/apps/script/type/drive/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,130 +0,0 @@
+@@ -1,135 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -##############################################################################
@@ -11688,6 +11520,11 @@
 -    deps = [":drive_moved_proto"],
 -)
 -
+-py_proto_library(
+-    name = "drive_py_original_proto",
+-    deps = [":drive_proto"],
+-)
+-
 -py_grpc_library(
 -    name = "drive_py_grpc",
 -    srcs = [":drive_moved_proto"],
@@ -11734,7 +11571,7 @@
 diff -urN a/google/apps/script/type/gmail/BUILD.bazel b/google/apps/script/type/gmail/BUILD.bazel
 --- a/google/apps/script/type/gmail/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/apps/script/type/gmail/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,132 +0,0 @@
+@@ -1,137 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -##############################################################################
@@ -11824,6 +11661,11 @@
 -    deps = [":gmail_moved_proto"],
 -)
 -
+-py_proto_library(
+-    name = "gmail_py_original_proto",
+-    deps = [":gmail_proto"],
+-)
+-
 -py_grpc_library(
 -    name = "gmail_py_grpc",
 -    srcs = [":gmail_moved_proto"],
@@ -11870,7 +11712,7 @@
 diff -urN a/google/apps/script/type/sheets/BUILD.bazel b/google/apps/script/type/sheets/BUILD.bazel
 --- a/google/apps/script/type/sheets/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/apps/script/type/sheets/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,133 +0,0 @@
+@@ -1,138 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -##############################################################################
@@ -11961,6 +11803,11 @@
 -    deps = [":sheets_moved_proto"],
 -)
 -
+-py_proto_library(
+-    name = "sheets_py_original_proto",
+-    deps = [":sheets_proto"],
+-)
+-
 -py_grpc_library(
 -    name = "sheets_py_grpc",
 -    srcs = [":sheets_moved_proto"],
@@ -12007,7 +11854,7 @@
 diff -urN a/google/apps/script/type/slides/BUILD.bazel b/google/apps/script/type/slides/BUILD.bazel
 --- a/google/apps/script/type/slides/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/apps/script/type/slides/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,133 +0,0 @@
+@@ -1,138 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -##############################################################################
@@ -12098,6 +11945,11 @@
 -    deps = [":slides_moved_proto"],
 -)
 -
+-py_proto_library(
+-    name = "slides_py_original_proto",
+-    deps = [":slides_proto"],
+-)
+-
 -py_grpc_library(
 -    name = "slides_py_grpc",
 -    srcs = [":slides_moved_proto"],
@@ -12188,7 +12040,7 @@
 diff -urN a/google/area120/tables/v1alpha1/BUILD.bazel b/google/area120/tables/v1alpha1/BUILD.bazel
 --- a/google/area120/tables/v1alpha1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/area120/tables/v1alpha1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,344 +0,0 @@
+@@ -1,355 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -12348,6 +12200,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -12356,6 +12209,16 @@
 -    grpc_service_config = "tables_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "tables_py_gapic_test",
+-    srcs = [
+-        "tables_py_gapic_pytest.py",
+-        "tables_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":tables_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "area120-tables-v1alpha1-py",
@@ -12546,7 +12409,7 @@
 diff -urN a/google/bigtable/admin/v2/BUILD.bazel b/google/bigtable/admin/v2/BUILD.bazel
 --- a/google/bigtable/admin/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/bigtable/admin/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,381 +0,0 @@
+@@ -1,395 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -12716,6 +12579,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -12727,6 +12591,19 @@
 -        "python-gapic-name=bigtable_admin",
 -        "autogen-snippets=False",
 -    ],
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "bigtable_admin_py_gapic_test",
+-    srcs = [
+-        "bigtable_admin_py_gapic_pytest.py",
+-        "bigtable_admin_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":bigtable_admin_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -12931,7 +12808,7 @@
 diff -urN a/google/bigtable/v2/BUILD.bazel b/google/bigtable/v2/BUILD.bazel
 --- a/google/bigtable/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/bigtable/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,358 +0,0 @@
+@@ -1,369 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -13084,6 +12961,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -13096,6 +12974,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "bigtable_py_gapic_test",
+-    srcs = [
+-        "bigtable_py_gapic_pytest.py",
+-        "bigtable_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":bigtable_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "bigtable-v2-py",
 -    deps = [
@@ -13479,7 +13367,7 @@
 diff -urN a/google/chromeos/moblab/v1beta1/BUILD.bazel b/google/chromeos/moblab/v1beta1/BUILD.bazel
 --- a/google/chromeos/moblab/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/chromeos/moblab/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,346 +0,0 @@
+@@ -1,357 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -13648,6 +13536,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -13656,6 +13545,16 @@
 -    grpc_service_config = "moblab_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "moblab_py_gapic_test",
+-    srcs = [
+-        "moblab_py_gapic_pytest.py",
+-        "moblab_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":moblab_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "chromeos-moblab-v1beta1-py",
@@ -13829,7 +13728,7 @@
 diff -urN a/google/chromeos/uidetection/v1/BUILD.bazel b/google/chromeos/uidetection/v1/BUILD.bazel
 --- a/google/chromeos/uidetection/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/chromeos/uidetection/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,355 +0,0 @@
+@@ -1,366 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -13989,6 +13888,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -13997,6 +13897,16 @@
 -    grpc_service_config = "ui_detection_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "uidetection_py_gapic_test",
+-    srcs = [
+-        "uidetection_py_gapic_pytest.py",
+-        "uidetection_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":uidetection_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "chromeos-uidetection-v1-py",
@@ -14351,7 +14261,7 @@
 diff -urN a/google/cloud/accessapproval/v1/BUILD.bazel b/google/cloud/accessapproval/v1/BUILD.bazel
 --- a/google/cloud/accessapproval/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/accessapproval/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,364 +0,0 @@
+@@ -1,375 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -14512,6 +14422,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -14523,6 +14434,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "accessapproval_py_gapic_test",
+-    srcs = [
+-        "accessapproval_py_gapic_pytest.py",
+-        "accessapproval_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":accessapproval_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "accessapproval-v1-py",
@@ -14945,7 +14866,7 @@
 diff -urN a/google/cloud/aiplatform/v1/BUILD.bazel b/google/cloud/aiplatform/v1/BUILD.bazel
 --- a/google/cloud/aiplatform/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/aiplatform/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,534 +0,0 @@
+@@ -1,548 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -15238,6 +15159,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -_PY_GAPIC_SUBPACKAGE_DEPS = [
@@ -15252,6 +15174,19 @@
 -    srcs = [":aiplatform_proto"],
 -    grpc_service_config = "aiplatform_grpc_service_config.json",
 -    service_yaml = "aiplatform_v1.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "aiplatform_py_gapic_test",
+-    srcs = [
+-        "aiplatform_py_gapic_pytest.py",
+-        "aiplatform_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":aiplatform_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -15483,7 +15418,7 @@
 diff -urN a/google/cloud/aiplatform/v1/schema/predict/instance/BUILD.bazel b/google/cloud/aiplatform/v1/schema/predict/instance/BUILD.bazel
 --- a/google/cloud/aiplatform/v1/schema/predict/instance/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/aiplatform/v1/schema/predict/instance/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,203 +0,0 @@
+@@ -1,215 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -15583,11 +15518,11 @@
 -
 -py_gapic_library(
 -    name = "instance_py_gapic",
+-    srcs = [":instance_proto"],
 -    opt_args = [
 -        "python-gapic-namespace=google.cloud.aiplatform.v1.schema.predict",
 -        "python-gapic-name=instance",
 -    ],
--    srcs = [":instance_proto"],
 -)
 -
 -# Open Source Packages
@@ -15595,9 +15530,21 @@
 -    name = "instance-py",
 -    deps = [
 -        ":instance_py_gapic",
--    ]
+-    ],
 -)
 -
+-#load("@gapic_generator_java//rules_java_gapic:java_gapic.bzl", "java_generator_request_dump")
+-#
+-#java_generator_request_dump(
+-#    name = "instance_request_dump",
+-#    srcs = [":instance_py_gapic"],
+-#    #    opt_args = [
+-#    #        "python-gapic-namespace=google.cloud.aiplatform.v1.schema.predict",
+-#    #        "python-gapic-name=instance",
+-#    #    ],
+-#    transport = "grpc",
+-#)
+-
 -##############################################################################
 -# PHP
 -##############################################################################
@@ -15690,7 +15637,7 @@
 diff -urN a/google/cloud/aiplatform/v1/schema/predict/params/BUILD.bazel b/google/cloud/aiplatform/v1/schema/predict/params/BUILD.bazel
 --- a/google/cloud/aiplatform/v1/schema/predict/params/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/aiplatform/v1/schema/predict/params/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,201 +0,0 @@
+@@ -1,200 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -15787,11 +15734,11 @@
 -
 -py_gapic_library(
 -    name = "params_py_gapic",
+-    srcs = [":params_proto"],
 -    opt_args = [
 -        "python-gapic-namespace=google.cloud.aiplatform.v1.schema.predict",
 -        "python-gapic-name=params",
 -    ],
--    srcs = [":params_proto"],
 -)
 -
 -# Open Source Packages
@@ -15799,7 +15746,7 @@
 -    name = "params-py",
 -    deps = [
 -        ":params_py_gapic",
--    ]
+-    ],
 -)
 -
 -##############################################################################
@@ -15831,7 +15778,6 @@
 -    "nodejs_gapic_library",
 -)
 -
--
 -##############################################################################
 -# Ruby
 -##############################################################################
@@ -15895,7 +15841,7 @@
 diff -urN a/google/cloud/aiplatform/v1/schema/predict/prediction/BUILD.bazel b/google/cloud/aiplatform/v1/schema/predict/prediction/BUILD.bazel
 --- a/google/cloud/aiplatform/v1/schema/predict/prediction/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/aiplatform/v1/schema/predict/prediction/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,213 +0,0 @@
+@@ -1,211 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -15977,7 +15923,6 @@
 -    "py_gapic_library",
 -    "py_grpc_library",
 -    "py_proto_library",
--
 -)
 -
 -moved_proto_library(
@@ -16005,18 +15950,18 @@
 -
 -py_gapic_library(
 -    name = "prediction_py_gapic",
+-    srcs = [":prediction_proto"],
 -    opt_args = [
--        "python-gapic-namespace=google.cloud.aiplatform.v1.schema.predict", # Replace with the current version
+-        "python-gapic-namespace=google.cloud.aiplatform.v1.schema.predict",  # Replace with the current version
 -        "python-gapic-name=prediction",
 -    ],
--    srcs = [":prediction_proto"],
 -)
 -
 -py_gapic_assembly_pkg(
 -    name = "prediction-py",
 -    deps = [
 -        ":prediction_py_gapic",
--    ]
+-    ],
 -)
 -
 -##############################################################################
@@ -16048,7 +15993,6 @@
 -    "nodejs_gapic_library",
 -)
 -
--
 -##############################################################################
 -# Ruby
 -##############################################################################
@@ -16324,7 +16268,7 @@
 diff -urN a/google/cloud/aiplatform/v1beta1/BUILD.bazel b/google/cloud/aiplatform/v1beta1/BUILD.bazel
 --- a/google/cloud/aiplatform/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/aiplatform/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,476 +0,0 @@
+@@ -1,492 +0,0 @@
 -# This file was generated and then heavily edited by hand. Be careful not
 -# to rollback, undo, or overwrite any of the manual changes.
 -
@@ -16362,6 +16306,8 @@
 -        "dataset_service.proto",
 -        "deployed_index_ref.proto",
 -        "deployed_model_ref.proto",
+-        "deployment_resource_pool.proto",
+-        "deployment_resource_pool_service.proto",
 -        "encryption_spec.proto",
 -        "endpoint.proto",
 -        "endpoint_service.proto",
@@ -16610,6 +16556,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -_PY_GAPIC_SUBPACKAGE_DEPS = [
@@ -16624,6 +16571,19 @@
 -    srcs = [":aiplatform_proto"],
 -    grpc_service_config = "aiplatform_grpc_service_config.json",
 -    service_yaml = "aiplatform_v1beta1.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "aiplatform_py_gapic_test",
+-    srcs = [
+-        "aiplatform_py_gapic_pytest.py",
+-        "aiplatform_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":aiplatform_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -17363,7 +17323,7 @@
 diff -urN a/google/cloud/aiplatform/v1beta1/schema/predict/prediction/BUILD.bazel b/google/cloud/aiplatform/v1beta1/schema/predict/prediction/BUILD.bazel
 --- a/google/cloud/aiplatform/v1beta1/schema/predict/prediction/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/aiplatform/v1beta1/schema/predict/prediction/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,199 +0,0 @@
+@@ -1,198 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -17518,7 +17478,6 @@
 -    "nodejs_gapic_library",
 -)
 -
--
 -##############################################################################
 -# Ruby
 -##############################################################################
@@ -17648,6 +17607,7 @@
 -    "py_gapic_library",
 -    "py_grpc_library",
 -    "py_proto_library",
+-    "py_test",
 -)
 -
 -moved_proto_library(
@@ -17655,7 +17615,7 @@
 -    srcs = [":definition_proto"],
 -    deps = [
 -        "//google/api:annotations_proto",
--         "//google/api:field_behavior_proto",
+-        "//google/api:field_behavior_proto",
 -    ],
 -)
 -
@@ -17716,7 +17676,6 @@
 -    "nodejs_gapic_library",
 -)
 -
--
 -##############################################################################
 -# Ruby
 -##############################################################################
@@ -17808,7 +17767,7 @@
 diff -urN a/google/cloud/apigateway/v1/BUILD.bazel b/google/cloud/apigateway/v1/BUILD.bazel
 --- a/google/cloud/apigateway/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/apigateway/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,369 +0,0 @@
+@@ -1,380 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -17975,6 +17934,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -17984,6 +17944,16 @@
 -    opt_args = ["warehouse-package-name=google-cloud-api-gateway"],
 -)
 -
+-py_test(
+-    name = "apigateway_py_gapic_test",
+-    srcs = [
+-        "apigateway_py_gapic_pytest.py",
+-        "apigateway_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":apigateway_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "google-cloud-apigateway-v1-py",
@@ -18225,7 +18195,7 @@
 diff -urN a/google/cloud/apigeeconnect/v1/BUILD.bazel b/google/cloud/apigeeconnect/v1/BUILD.bazel
 --- a/google/cloud/apigeeconnect/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/apigeeconnect/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,367 +0,0 @@
+@@ -1,378 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -18390,6 +18360,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -18399,6 +18370,16 @@
 -    opt_args = ["warehouse-package-name=google-cloud-apigee-connect"],
 -)
 -
+-py_test(
+-    name = "apigeeconnect_py_gapic_test",
+-    srcs = [
+-        "apigeeconnect_py_gapic_pytest.py",
+-        "apigeeconnect_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":apigeeconnect_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "apigeeconnect-v1-py",
@@ -18639,7 +18620,7 @@
 diff -urN a/google/cloud/apigeeregistry/v1/BUILD.bazel b/google/cloud/apigeeregistry/v1/BUILD.bazel
 --- a/google/cloud/apigeeregistry/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/apigeeregistry/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,391 +0,0 @@
+@@ -1,405 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -18823,6 +18804,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -18837,6 +18819,19 @@
 -    service_yaml = "apigeeregistry_v1.yaml",
 -)
 -
+-py_test(
+-    name = "apigeeregistry_py_gapic_test",
+-    srcs = [
+-        "apigeeregistry_py_gapic_pytest.py",
+-        "apigeeregistry_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [
+-        ":apigeeregistry_py_gapic",
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "apigeeregistry-v1-py",
@@ -18899,7 +18894,7 @@
 -
 -nodejs_gapic_library(
 -    name = "apigeeregistry_nodejs_gapic",
--    package_name = "@google-cloud/apigeeregistry",
+-    package_name = "@google-cloud/apigee-registry",
 -    src = ":apigeeregistry_proto_with_info",
 -    extra_protoc_parameters = ["metadata"],
 -    grpc_service_config = "apigeeregistry_grpc_service_config.json",
@@ -19079,7 +19074,7 @@
 diff -urN a/google/cloud/asset/v1/BUILD.bazel b/google/cloud/asset/v1/BUILD.bazel
 --- a/google/cloud/asset/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/asset/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,385 +0,0 @@
+@@ -1,405 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -19259,12 +19254,22 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "asset_py_gapic",
 -    srcs = [":asset_proto"],
 -    grpc_service_config = "cloudasset_grpc_service_config.json",
+-    deps = [
+-        "//google/cloud/orgpolicy/v1:orgpolicy_py_original_proto",
+-        "//google/cloud/osconfig/v1:osconfig_py_proto",
+-        "//google/iam/v1:policy_py_proto",
+-        "//google/identity/accesscontextmanager/v1:access_level_py_proto",
+-        "//google/identity/accesscontextmanager/v1:access_policy_py_proto",
+-        "//google/identity/accesscontextmanager/v1:accesscontextmanager_py_gapic",
+-        "//google/identity/accesscontextmanager/v1:service_perimeter_py_proto",
+-    ],
 -)
 -
 -py_gapic_assembly_pkg(
@@ -19274,6 +19279,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "asset_py_gapic_test",
+-    srcs = [
+-        "asset_py_gapic_pytest.py",
+-        "asset_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":asset_py_gapic"],
+-)
+-
 -##############################################################################
 -# PHP
 -##############################################################################
@@ -19468,7 +19483,7 @@
 diff -urN a/google/cloud/asset/v1p1beta1/BUILD.bazel b/google/cloud/asset/v1p1beta1/BUILD.bazel
 --- a/google/cloud/asset/v1p1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/asset/v1p1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,327 +0,0 @@
+@@ -1,341 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -19621,12 +19636,26 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "asset_py_gapic",
 -    srcs = [":asset_proto"],
 -    grpc_service_config = "cloudasset_grpc_service_config.json",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "asset_py_gapic_test",
+-    srcs = [
+-        "asset_py_gapic_pytest.py",
+-        "asset_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":asset_py_gapic"],
 -)
 -
 -py_gapic_assembly_pkg(
@@ -19799,7 +19828,7 @@
 diff -urN a/google/cloud/asset/v1p2beta1/BUILD.bazel b/google/cloud/asset/v1p2beta1/BUILD.bazel
 --- a/google/cloud/asset/v1p2beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/asset/v1p2beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,340 +0,0 @@
+@@ -1,354 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -19965,12 +19994,26 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "asset_py_gapic",
 -    srcs = [":asset_proto"],
 -    grpc_service_config = "cloudasset_grpc_service_config.json",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "asset_py_gapic_test",
+-    srcs = [
+-        "asset_py_gapic_pytest.py",
+-        "asset_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":asset_py_gapic"],
 -)
 -
 -py_gapic_assembly_pkg(
@@ -20140,352 +20183,10 @@
 -# C++
 -##############################################################################
 -# Put your C++ rules here
-diff -urN a/google/cloud/asset/v1p4beta1/BUILD.bazel b/google/cloud/asset/v1p4beta1/BUILD.bazel
---- a/google/cloud/asset/v1p4beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-+++ b/google/cloud/asset/v1p4beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,338 +0,0 @@
--# This file was automatically generated by BuildFileGenerator
--
--# This is an API workspace, having public visibility by default makes perfect sense.
--package(default_visibility = ["//visibility:public"])
--
--##############################################################################
--# Common
--##############################################################################
--load("@rules_proto//proto:defs.bzl", "proto_library")
--load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
--
--proto_library(
--    name = "asset_proto",
--    srcs = [
--        "asset_service.proto",
--        "assets.proto",
--    ],
--    deps = [
--        "//google/api:annotations_proto",
--        "//google/api:client_proto",
--        "//google/api:field_behavior_proto",
--        "//google/iam/v1:policy_proto",
--        "//google/longrunning:operations_proto",
--        "//google/rpc:code_proto",
--        "@com_google_protobuf//:duration_proto",
--    ],
--)
--
--proto_library_with_info(
--    name = "asset_proto_with_info",
--    deps = [
--        ":asset_proto",
--        "//google/cloud:common_resources_proto",
--    ],
--)
--
--##############################################################################
--# Java
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "java_gapic_assembly_gradle_pkg",
--    "java_gapic_library",
--    "java_gapic_test",
--    "java_grpc_library",
--    "java_proto_library",
--)
--
--java_proto_library(
--    name = "asset_java_proto",
--    deps = [":asset_proto"],
--)
--
--java_grpc_library(
--    name = "asset_java_grpc",
--    srcs = [":asset_proto"],
--    deps = [":asset_java_proto"],
--)
--
--java_gapic_library(
--    name = "asset_java_gapic",
--    srcs = [":asset_proto_with_info"],
--    gapic_yaml = "cloudasset_gapic.yaml",
--    grpc_service_config = "cloudasset_grpc_service_config.json",
--    test_deps = [
--        ":asset_java_grpc",
--        "//google/iam/v1:iam_java_grpc",
--    ],
--    transport = "grpc+rest",
--    deps = [
--        ":asset_java_proto",
--        "//google/iam/v1:iam_java_proto",
--    ],
--)
--
--java_gapic_test(
--    name = "asset_java_gapic_test_suite",
--    test_classes = [
--        "com.google.cloud.asset.v1p4beta1.AssetServiceClientHttpJsonTest",
--        "com.google.cloud.asset.v1p4beta1.AssetServiceClientTest",
--    ],
--    runtime_deps = [":asset_java_gapic_test"],
--)
--
--# Open Source Packages
--java_gapic_assembly_gradle_pkg(
--    name = "google-cloud-asset-v1p4beta1-java",
--    include_samples = True,
--    transport = "grpc+rest",
--    deps = [
--        ":asset_java_gapic",
--        ":asset_java_grpc",
--        ":asset_java_proto",
--        ":asset_proto",
--    ],
--)
--
--##############################################################################
--# Go
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "go_gapic_assembly_pkg",
--    "go_gapic_library",
--    "go_proto_library",
--    "go_test",
--)
--
--go_proto_library(
--    name = "asset_go_proto",
--    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
--    importpath = "google.golang.org/genproto/googleapis/cloud/asset/v1p4beta1",
--    protos = [":asset_proto"],
--    deps = [
--        "//google/api:annotations_go_proto",
--        "//google/iam/v1:iam_go_proto",
--        "//google/longrunning:longrunning_go_proto",
--        "//google/rpc:code_go_proto",
--    ],
--)
--
--go_gapic_library(
--    name = "asset_go_gapic",
--    srcs = [":asset_proto_with_info"],
--    grpc_service_config = "cloudasset_grpc_service_config.json",
--    importpath = "cloud.google.com/go/asset/apiv1p4beta1;asset",
--    service_yaml = "cloudasset_v1p4beta1.yaml",
--    transport = "grpc+rest",
--    deps = [
--        ":asset_go_proto",
--        "//google/iam/v1:iam_go_proto",
--        "//google/longrunning:longrunning_go_proto",
--        "@com_google_cloud_go//longrunning:go_default_library",
--        "@com_google_cloud_go//longrunning/autogen:go_default_library",
--        "@io_bazel_rules_go//proto/wkt:duration_go_proto",
--    ],
--)
--
--go_test(
--    name = "asset_go_gapic_test",
--    srcs = [":asset_go_gapic_srcjar_test"],
--    embed = [":asset_go_gapic"],
--    importpath = "cloud.google.com/go/asset/apiv1p4beta1",
--)
--
--# Open Source Packages
--go_gapic_assembly_pkg(
--    name = "gapi-cloud-asset-v1p4beta1-go",
--    deps = [
--        ":asset_go_gapic",
--        ":asset_go_gapic_srcjar-test.srcjar",
--        ":asset_go_proto",
--    ],
--)
--
--##############################################################################
--# Python
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "py_gapic_assembly_pkg",
--    "py_gapic_library",
--)
--
--py_gapic_library(
--    name = "asset_py_gapic",
--    srcs = [":asset_proto"],
--    grpc_service_config = "cloudasset_grpc_service_config.json",
--)
--
--py_gapic_assembly_pkg(
--    name = "asset-v1p4beta1-py",
--    deps = [
--        ":asset_py_gapic",
--    ],
--)
--
--##############################################################################
--# PHP
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "php_gapic_assembly_pkg",
--    "php_gapic_library",
--    "php_grpc_library",
--    "php_proto_library",
--)
--
--php_proto_library(
--    name = "asset_php_proto",
--    deps = [":asset_proto"],
--)
--
--php_grpc_library(
--    name = "asset_php_grpc",
--    srcs = [":asset_proto"],
--    deps = [":asset_php_proto"],
--)
--
--php_gapic_library(
--    name = "asset_php_gapic",
--    srcs = [":asset_proto_with_info"],
--    gapic_yaml = "cloudasset_gapic.yaml",
--    grpc_service_config = "cloudasset_grpc_service_config.json",
--    deps = [
--        ":asset_php_grpc",
--        ":asset_php_proto",
--    ],
--)
--
--# Open Source Packages
--php_gapic_assembly_pkg(
--    name = "google-cloud-asset-v1p4beta1-php",
--    deps = [
--        ":asset_php_gapic",
--        ":asset_php_grpc",
--        ":asset_php_proto",
--    ],
--)
--
--##############################################################################
--# Node.js
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "nodejs_gapic_assembly_pkg",
--    "nodejs_gapic_library",
--)
--
--nodejs_gapic_library(
--    name = "asset_nodejs_gapic",
--    package_name = "@google-cloud/asset",
--    src = ":asset_proto_with_info",
--    extra_protoc_parameters = ["metadata"],
--    grpc_service_config = "cloudasset_grpc_service_config.json",
--    package = "google.cloud.asset.v1p4beta1",
--    service_yaml = "cloudasset_v1p4beta1.yaml",
--    deps = [],
--)
--
--nodejs_gapic_assembly_pkg(
--    name = "asset-v1p4beta1-nodejs",
--    deps = [
--        ":asset_nodejs_gapic",
--        ":asset_proto",
--    ],
--)
--
--##############################################################################
--# Ruby
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "ruby_cloud_gapic_library",
--    "ruby_gapic_assembly_pkg",
--    "ruby_grpc_library",
--    "ruby_proto_library",
--)
--
--ruby_proto_library(
--    name = "asset_ruby_proto",
--    deps = [":asset_proto"],
--)
--
--ruby_grpc_library(
--    name = "asset_ruby_grpc",
--    srcs = [":asset_proto"],
--    deps = [":asset_ruby_proto"],
--)
--
--ruby_cloud_gapic_library(
--    name = "asset_ruby_gapic",
--    srcs = [":asset_proto_with_info"],
--    extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-asset-v1p4beta1"],
--    deps = [
--        ":asset_ruby_grpc",
--        ":asset_ruby_proto",
--    ],
--)
--
--# Open Source Packages
--ruby_gapic_assembly_pkg(
--    name = "google-cloud-asset-v1p4beta1-ruby",
--    deps = [
--        ":asset_ruby_gapic",
--        ":asset_ruby_grpc",
--        ":asset_ruby_proto",
--    ],
--)
--
--##############################################################################
--# C#
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "csharp_gapic_assembly_pkg",
--    "csharp_gapic_library",
--    "csharp_grpc_library",
--    "csharp_proto_library",
--)
--
--csharp_proto_library(
--    name = "asset_csharp_proto",
--    deps = [":asset_proto"],
--)
--
--csharp_grpc_library(
--    name = "asset_csharp_grpc",
--    srcs = [":asset_proto"],
--    deps = [":asset_csharp_proto"],
--)
--
--csharp_gapic_library(
--    name = "asset_csharp_gapic",
--    srcs = [":asset_proto_with_info"],
--    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
--    grpc_service_config = "cloudasset_grpc_service_config.json",
--    service_yaml = "cloudasset_v1p4beta1.yaml",
--    deps = [
--        ":asset_csharp_grpc",
--        ":asset_csharp_proto",
--    ],
--)
--
--# Open Source Packages
--csharp_gapic_assembly_pkg(
--    name = "google-cloud-asset-v1p4beta1-csharp",
--    deps = [
--        ":asset_csharp_gapic",
--        ":asset_csharp_grpc",
--        ":asset_csharp_proto",
--    ],
--)
--
--##############################################################################
--# C++
--##############################################################################
--# Put your C++ rules here
 diff -urN a/google/cloud/asset/v1p5beta1/BUILD.bazel b/google/cloud/asset/v1p5beta1/BUILD.bazel
 --- a/google/cloud/asset/v1p5beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/asset/v1p5beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,333 +0,0 @@
+@@ -1,352 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -20646,12 +20347,31 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "asset_py_gapic",
 -    srcs = [":asset_proto"],
 -    grpc_service_config = "cloudasset_grpc_service_config.json",
+-    deps = [
+-        "//google/cloud/orgpolicy/v1:orgpolicy_py_original_proto",
+-        "//google/iam/v1:iam_policy_py_proto",
+-        "//google/identity/accesscontextmanager/v1:access_level_py_proto",
+-        "//google/identity/accesscontextmanager/v1:access_policy_py_proto",
+-        "//google/identity/accesscontextmanager/v1:accesscontextmanager_py_gapic",
+-        "//google/identity/accesscontextmanager/v1:service_perimeter_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "asset_py_gapic_test",
+-    srcs = [
+-        "asset_py_gapic_pytest.py",
+-        "asset_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":asset_py_gapic"],
 -)
 -
 -py_gapic_assembly_pkg(
@@ -20822,7 +20542,7 @@
 diff -urN a/google/cloud/asset/v1p7beta1/BUILD.bazel b/google/cloud/asset/v1p7beta1/BUILD.bazel
 --- a/google/cloud/asset/v1p7beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/asset/v1p7beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,354 +0,0 @@
+@@ -1,365 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -21009,6 +20729,17 @@
 -    grpc_service_config = "cloudasset_grpc_service_config.json",
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1376 is fixed
+-#py_test(
+-#    name = "asset_py_gapic_test",
+-#    srcs = [
+-#        "asset_py_gapic_pytest.py",
+-#        "asset_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":asset_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "asset-v1p7beta1-py",
@@ -21401,7 +21132,7 @@
 diff -urN a/google/cloud/assuredworkloads/v1/BUILD.bazel b/google/cloud/assuredworkloads/v1/BUILD.bazel
 --- a/google/cloud/assuredworkloads/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/assuredworkloads/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,376 +0,0 @@
+@@ -1,387 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -21573,6 +21304,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -21583,6 +21315,16 @@
 -    service_yaml = "assuredworkloads_v1.yaml",
 -)
 -
+-py_test(
+-    name = "assuredworkloads_py_gapic_test",
+-    srcs = [
+-        "assuredworkloads_py_gapic_pytest.py",
+-        "assuredworkloads_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":assuredworkloads_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "assuredworkloads-v1-py",
@@ -21781,7 +21523,7 @@
 diff -urN a/google/cloud/assuredworkloads/v1beta1/BUILD.bazel b/google/cloud/assuredworkloads/v1beta1/BUILD.bazel
 --- a/google/cloud/assuredworkloads/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/assuredworkloads/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,377 +0,0 @@
+@@ -1,388 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -21954,6 +21696,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -21964,6 +21707,16 @@
 -    service_yaml = "assuredworkloads_v1beta1.yaml",
 -)
 -
+-py_test(
+-    name = "assuredworkloads_py_gapic_test",
+-    srcs = [
+-        "assuredworkloads_py_gapic_pytest.py",
+-        "assuredworkloads_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":assuredworkloads_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "assuredworkloads-v1beta1-py",
@@ -22438,7 +22191,7 @@
 diff -urN a/google/cloud/automl/v1/BUILD.bazel b/google/cloud/automl/v1/BUILD.bazel
 --- a/google/cloud/automl/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/automl/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,389 +0,0 @@
+@@ -1,400 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -22622,6 +22375,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -22630,6 +22384,16 @@
 -    grpc_service_config = "automl_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "automl_py_gapic_test",
+-    srcs = [
+-        "automl_py_gapic_pytest.py",
+-        "automl_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":automl_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "automl-v1-py",
@@ -22831,7 +22595,7 @@
 diff -urN a/google/cloud/automl/v1beta1/BUILD.bazel b/google/cloud/automl/v1beta1/BUILD.bazel
 --- a/google/cloud/automl/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/automl/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,381 +0,0 @@
+@@ -1,392 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -23024,6 +22788,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -23032,6 +22797,16 @@
 -    grpc_service_config = "automl_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "automl_py_gapic_test",
+-    srcs = [
+-        "automl_py_gapic_pytest.py",
+-        "automl_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":automl_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "automl-v1beta1-py",
@@ -23259,7 +23034,7 @@
 diff -urN a/google/cloud/baremetalsolution/v2/BUILD.bazel b/google/cloud/baremetalsolution/v2/BUILD.bazel
 --- a/google/cloud/baremetalsolution/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/baremetalsolution/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,382 +0,0 @@
+@@ -1,393 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -23435,6 +23210,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -23448,6 +23224,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "baremetalsolution_py_gapic_test",
+-    srcs = [
+-        "baremetalsolution_py_gapic_pytest.py",
+-        "baremetalsolution_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":baremetalsolution_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "baremetalsolution-v2-py",
@@ -23687,7 +23473,7 @@
 diff -urN a/google/cloud/batch/v1/BUILD.bazel b/google/cloud/batch/v1/BUILD.bazel
 --- a/google/cloud/batch/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/batch/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,382 +0,0 @@
+@@ -1,396 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -23764,7 +23550,7 @@
 -    name = "batch_java_gapic",
 -    srcs = [":batch_proto_with_info"],
 -    gapic_yaml = None,
--    grpc_service_config = "batch_grpc_service_config.json",
+-    grpc_service_config = "batch_v1_grpc_service_config.json",
 -    service_yaml = "batch_v1.yaml",
 -    test_deps = [
 -        ":batch_java_grpc",
@@ -23827,7 +23613,7 @@
 -go_gapic_library(
 -    name = "batch_go_gapic",
 -    srcs = [":batch_proto_with_info"],
--    grpc_service_config = "batch_grpc_service_config.json",
+-    grpc_service_config = "batch_v1_grpc_service_config.json",
 -    importpath = "cloud.google.com/go/batch/apiv1;batch",
 -    metadata = True,
 -    service_yaml = "batch_v1.yaml",
@@ -23868,13 +23654,27 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "batch_py_gapic",
 -    srcs = [":batch_proto"],
--    grpc_service_config = "batch_grpc_service_config.json",
+-    grpc_service_config = "batch_v1_grpc_service_config.json",
 -    service_yaml = "batch_v1.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "batch_py_gapic_test",
+-    srcs = [
+-        "batch_py_gapic_pytest.py",
+-        "batch_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":batch_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -23910,7 +23710,7 @@
 -php_gapic_library(
 -    name = "batch_php_gapic",
 -    srcs = [":batch_proto_with_info"],
--    grpc_service_config = "batch_grpc_service_config.json",
+-    grpc_service_config = "batch_v1_grpc_service_config.json",
 -    service_yaml = "batch_v1.yaml",
 -    deps = [
 -        ":batch_php_grpc",
@@ -23942,7 +23742,7 @@
 -    package_name = "@google-cloud/batch",
 -    src = ":batch_proto_with_info",
 -    extra_protoc_parameters = ["metadata"],
--    grpc_service_config = "batch_grpc_service_config.json",
+-    grpc_service_config = "batch_v1_grpc_service_config.json",
 -    package = "google.cloud.batch.v1",
 -    service_yaml = "batch_v1.yaml",
 -    deps = [],
@@ -23986,7 +23786,7 @@
 -        "ruby-cloud-api-shortname=batch",
 -        "ruby-cloud-gem-name=google-cloud-batch-v1",
 -    ],
--    grpc_service_config = "batch_grpc_service_config.json",
+-    grpc_service_config = "batch_v1_grpc_service_config.json",
 -    ruby_cloud_description = "Google Cloud Batch is a fully managed service used by scientists, VFX artists, developers to easily and efficiently run batch workloads on Google Cloud. This service manages provisioning of resources to satisfy the requirements of the batch jobs for a variety of workloads including ML, HPC, VFX rendering, transcoding, genomics and others.",
 -    ruby_cloud_title = "Batch V1",
 -    service_yaml = "batch_v1.yaml",
@@ -24032,7 +23832,7 @@
 -    name = "batch_csharp_gapic",
 -    srcs = [":batch_proto_with_info"],
 -    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
--    grpc_service_config = "batch_grpc_service_config.json",
+-    grpc_service_config = "batch_v1_grpc_service_config.json",
 -    service_yaml = "batch_v1.yaml",
 -    deps = [
 -        ":batch_csharp_grpc",
@@ -24073,7 +23873,7 @@
 diff -urN a/google/cloud/batch/v1alpha/BUILD.bazel b/google/cloud/batch/v1alpha/BUILD.bazel
 --- a/google/cloud/batch/v1alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/batch/v1alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,370 +0,0 @@
+@@ -1,396 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -24118,6 +23918,8 @@
 -    deps = [
 -        ":batch_proto",
 -        "//google/cloud:common_resources_proto",
+-        "//google/cloud/location:location_proto",
+-        "//google/iam/v1:iam_policy_proto",
 -    ],
 -)
 -
@@ -24148,20 +23950,26 @@
 -    name = "batch_java_gapic",
 -    srcs = [":batch_proto_with_info"],
 -    gapic_yaml = None,
--    grpc_service_config = "batch_grpc_service_config.json",
--    service_yaml = None,
+-    grpc_service_config = "batch_v1alpha_grpc_service_config.json",
+-    service_yaml = "batch_v1alpha.yaml",
 -    test_deps = [
 -        ":batch_java_grpc",
+-        "//google/cloud/location:location_java_grpc",
+-        "//google/iam/v1:iam_java_grpc",
 -    ],
+-    transport = "grpc+rest",
 -    deps = [
 -        ":batch_java_proto",
 -        "//google/api:api_java_proto",
+-        "//google/cloud/location:location_java_proto",
+-        "//google/iam/v1:iam_java_proto",
 -    ],
 -)
 -
 -java_gapic_test(
 -    name = "batch_java_gapic_test_suite",
 -    test_classes = [
+-        "com.google.cloud.batch.v1alpha.BatchServiceClientHttpJsonTest",
 -        "com.google.cloud.batch.v1alpha.BatchServiceClientTest",
 -    ],
 -    runtime_deps = [":batch_java_gapic_test"],
@@ -24170,13 +23978,14 @@
 -# Open Source Packages
 -java_gapic_assembly_gradle_pkg(
 -    name = "google-cloud-batch-v1alpha-java",
+-    include_samples = True,
+-    transport = "grpc+rest",
 -    deps = [
 -        ":batch_java_gapic",
 -        ":batch_java_grpc",
 -        ":batch_java_proto",
 -        ":batch_proto",
 -    ],
--    include_samples = True,
 -)
 -
 -##############################################################################
@@ -24204,15 +24013,18 @@
 -go_gapic_library(
 -    name = "batch_go_gapic",
 -    srcs = [":batch_proto_with_info"],
--    grpc_service_config = "batch_grpc_service_config.json",
+-    grpc_service_config = "batch_v1alpha_grpc_service_config.json",
 -    importpath = "cloud.google.com/go/batch/apiv1alpha;batch",
--    service_yaml = None,
 -    metadata = True,
+-    service_yaml = "batch_v1alpha.yaml",
+-    transport = "grpc+rest",
 -    deps = [
 -        ":batch_go_proto",
+-        "//google/cloud/location:location_go_proto",
+-        "//google/iam/v1:iam_go_proto",
 -        "//google/longrunning:longrunning_go_proto",
--        "@com_google_cloud_go//longrunning/autogen:go_default_library",
 -        "@com_google_cloud_go//longrunning:go_default_library",
+-        "@com_google_cloud_go//longrunning/autogen:go_default_library",
 -        "@io_bazel_rules_go//proto/wkt:duration_go_proto",
 -    ],
 -)
@@ -24229,8 +24041,8 @@
 -    name = "gapi-cloud-batch-v1alpha-go",
 -    deps = [
 -        ":batch_go_gapic",
--        ":batch_go_gapic_srcjar-test.srcjar",
 -        ":batch_go_gapic_srcjar-metadata.srcjar",
+-        ":batch_go_gapic_srcjar-test.srcjar",
 -        ":batch_go_proto",
 -    ],
 -)
@@ -24242,13 +24054,27 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "batch_py_gapic",
 -    srcs = [":batch_proto"],
--    grpc_service_config = "batch_grpc_service_config.json",
--    service_yaml = None,
+-    grpc_service_config = "batch_v1alpha_grpc_service_config.json",
+-    service_yaml = "batch_v1alpha.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "batch_py_gapic_test",
+-    srcs = [
+-        "batch_py_gapic_pytest.py",
+-        "batch_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":batch_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -24284,8 +24110,8 @@
 -php_gapic_library(
 -    name = "batch_php_gapic",
 -    srcs = [":batch_proto_with_info"],
--    grpc_service_config = "batch_grpc_service_config.json",
--    service_yaml = None,
+-    grpc_service_config = "batch_v1alpha_grpc_service_config.json",
+-    service_yaml = "batch_v1alpha.yaml",
 -    deps = [
 -        ":batch_php_grpc",
 -        ":batch_php_proto",
@@ -24316,9 +24142,9 @@
 -    package_name = "@google-cloud/batch",
 -    src = ":batch_proto_with_info",
 -    extra_protoc_parameters = ["metadata"],
--    grpc_service_config = "batch_grpc_service_config.json",
+-    grpc_service_config = "batch_v1alpha_grpc_service_config.json",
 -    package = "google.cloud.batch.v1alpha",
--    service_yaml = None,
+-    service_yaml = "batch_v1alpha.yaml",
 -    deps = [],
 -)
 -
@@ -24335,8 +24161,8 @@
 -##############################################################################
 -load(
 -    "@com_google_googleapis_imports//:imports.bzl",
--    "ruby_gapic_assembly_pkg",
 -    "ruby_cloud_gapic_library",
+-    "ruby_gapic_assembly_pkg",
 -    "ruby_grpc_library",
 -    "ruby_proto_library",
 -)
@@ -24360,10 +24186,10 @@
 -        "ruby-cloud-api-shortname=batch",
 -        "ruby-cloud-gem-name=google-cloud-batch-v1alpha",
 -    ],
--    grpc_service_config = "batch_grpc_service_config.json",
--    service_yaml = "batch_v1alpha.yaml",
+-    grpc_service_config = "batch_v1alpha_grpc_service_config.json",
 -    ruby_cloud_description = "Google Cloud Batch is a fully managed service used by scientists, VFX artists, developers to easily and efficiently run batch workloads on Google Cloud. This service manages provisioning of resources to satisfy the requirements of the batch jobs for a variety of workloads including ML, HPC, VFX rendering, transcoding, genomics and others.",
 -    ruby_cloud_title = "Batch V1alpha",
+-    service_yaml = "batch_v1alpha.yaml",
 -    deps = [
 -        ":batch_ruby_grpc",
 -        ":batch_ruby_proto",
@@ -24406,8 +24232,8 @@
 -    name = "batch_csharp_gapic",
 -    srcs = [":batch_proto_with_info"],
 -    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
--    grpc_service_config = "batch_grpc_service_config.json",
--    service_yaml = None,
+-    grpc_service_config = "batch_v1alpha_grpc_service_config.json",
+-    service_yaml = "batch_v1alpha.yaml",
 -    deps = [
 -        ":batch_csharp_grpc",
 -        ":batch_csharp_proto",
@@ -24490,7 +24316,7 @@
 diff -urN a/google/cloud/beyondcorp/appconnections/v1/BUILD.bazel b/google/cloud/beyondcorp/appconnections/v1/BUILD.bazel
 --- a/google/cloud/beyondcorp/appconnections/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/beyondcorp/appconnections/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,327 +0,0 @@
+@@ -1,342 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -24532,6 +24358,7 @@
 -    "proto_library_with_info",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -    "ruby_cloud_gapic_library",
 -    "ruby_gapic_assembly_pkg",
 -    "ruby_grpc_library",
@@ -24667,12 +24494,25 @@
 -    name = "appconnections_py_gapic",
 -    srcs = [":appconnections_proto"],
 -    grpc_service_config = "beyondcorp-appconnections_grpc_service_config.json",
--    service_yaml = "beyondcorp_v1.yaml",
 -    opt_args = [
 -        "warehouse-package-name=google-cloud-beyondcorp-appconnections",
 -        "python-gapic-namespace=google.cloud",
 -        "python-gapic-name=beyondcorp_appconnections",
 -    ],
+-    service_yaml = "beyondcorp_v1.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "appconnections_py_gapic_test",
+-    srcs = [
+-        "appconnections_py_gapic_pytest.py",
+-        "appconnections_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":appconnections_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -24753,6 +24593,7 @@
 -        "ruby-cloud-product-url=https://cloud.google.com/beyondcorp/",
 -        "ruby-cloud-api-id=beyondcorp.googleapis.com",
 -        "ruby-cloud-api-shortname=beyondcorp",
+-        "ruby-cloud-wrapper-gem-override=google-cloud-beyond_corp",
 -    ],
 -    grpc_service_config = "beyondcorp-appconnections_grpc_service_config.json",
 -    ruby_cloud_description = "Beyondcorp Enterprise provides identity and context aware access controls for enterprise resources and enables zero-trust access. Using the Beyondcorp Enterprise APIs, enterprises can set up multi-cloud and on-prem connectivity using the App Connector hybrid connectivity solution.",
@@ -24864,7 +24705,7 @@
 diff -urN a/google/cloud/beyondcorp/appconnectors/v1/BUILD.bazel b/google/cloud/beyondcorp/appconnectors/v1/BUILD.bazel
 --- a/google/cloud/beyondcorp/appconnectors/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/beyondcorp/appconnectors/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,331 +0,0 @@
+@@ -1,346 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -24906,6 +24747,7 @@
 -    "proto_library_with_info",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -    "ruby_cloud_gapic_library",
 -    "ruby_gapic_assembly_pkg",
 -    "ruby_grpc_library",
@@ -25045,12 +24887,25 @@
 -    name = "appconnectors_py_gapic",
 -    srcs = [":appconnectors_proto"],
 -    grpc_service_config = "beyondcorp-appconnectors_grpc_service_config.json",
--    service_yaml = "beyondcorp_v1.yaml",
 -    opt_args = [
 -        "warehouse-package-name=google-cloud-beyondcorp-appconnectors",
 -        "python-gapic-namespace=google.cloud",
 -        "python-gapic-name=beyondcorp_appconnectors",
 -    ],
+-    service_yaml = "beyondcorp_v1.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "appconnectors_py_gapic_test",
+-    srcs = [
+-        "appconnectors_py_gapic_pytest.py",
+-        "appconnectors_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":appconnectors_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -25131,6 +24986,7 @@
 -        "ruby-cloud-product-url=https://cloud.google.com/beyondcorp/",
 -        "ruby-cloud-api-id=beyondcorp.googleapis.com",
 -        "ruby-cloud-api-shortname=beyondcorp",
+-        "ruby-cloud-wrapper-gem-override=google-cloud-beyond_corp",
 -    ],
 -    grpc_service_config = "beyondcorp-appconnectors_grpc_service_config.json",
 -    ruby_cloud_description = "Beyondcorp Enterprise provides identity and context aware access controls for enterprise resources and enables zero-trust access. Using the Beyondcorp Enterprise APIs, enterprises can set up multi-cloud and on-prem connectivity using the App Connector hybrid connectivity solution.",
@@ -25242,7 +25098,7 @@
 diff -urN a/google/cloud/beyondcorp/appgateways/v1/BUILD.bazel b/google/cloud/beyondcorp/appgateways/v1/BUILD.bazel
 --- a/google/cloud/beyondcorp/appgateways/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/beyondcorp/appgateways/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,326 +0,0 @@
+@@ -1,341 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -25284,6 +25140,7 @@
 -    "proto_library_with_info",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -    "ruby_cloud_gapic_library",
 -    "ruby_gapic_assembly_pkg",
 -    "ruby_grpc_library",
@@ -25418,12 +25275,25 @@
 -    name = "appgateways_py_gapic",
 -    srcs = [":appgateways_proto"],
 -    grpc_service_config = "beyondcorp-appgateways_grpc_service_config.json",
--    service_yaml = "beyondcorp_v1.yaml",
 -    opt_args = [
 -        "warehouse-package-name=google-cloud-beyondcorp-appgateways",
 -        "python-gapic-namespace=google.cloud",
 -        "python-gapic-name=beyondcorp_appgateways",
 -    ],
+-    service_yaml = "beyondcorp_v1.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "appgateways_py_gapic_test",
+-    srcs = [
+-        "appgateways_py_gapic_pytest.py",
+-        "appgateways_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":appgateways_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -25504,6 +25374,7 @@
 -        "ruby-cloud-product-url=https://cloud.google.com/beyondcorp/",
 -        "ruby-cloud-api-id=beyondcorp.googleapis.com",
 -        "ruby-cloud-api-shortname=beyondcorp",
+-        "ruby-cloud-wrapper-gem-override=google-cloud-beyond_corp",
 -    ],
 -    grpc_service_config = "beyondcorp-appgateways_grpc_service_config.json",
 -    ruby_cloud_description = "Beyondcorp Enterprise provides identity and context aware access controls for enterprise resources and enables zero-trust access. Using the Beyondcorp Enterprise APIs, enterprises can set up multi-cloud and on-prem connectivity using the App Connector hybrid connectivity solution.",
@@ -25615,7 +25486,7 @@
 diff -urN a/google/cloud/beyondcorp/clientconnectorservices/v1/BUILD.bazel b/google/cloud/beyondcorp/clientconnectorservices/v1/BUILD.bazel
 --- a/google/cloud/beyondcorp/clientconnectorservices/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/beyondcorp/clientconnectorservices/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,326 +0,0 @@
+@@ -1,341 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -25657,6 +25528,7 @@
 -    "proto_library_with_info",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -    "ruby_cloud_gapic_library",
 -    "ruby_gapic_assembly_pkg",
 -    "ruby_grpc_library",
@@ -25791,12 +25663,25 @@
 -    name = "clientconnectorservices_py_gapic",
 -    srcs = [":clientconnectorservices_proto"],
 -    grpc_service_config = "beyondcorp-clientconnectorservices_grpc_service_config.json",
--    service_yaml = "beyondcorp_v1.yaml",
 -    opt_args = [
 -        "warehouse-package-name=google-cloud-beyondcorp-clientconnectorservices",
 -        "python-gapic-namespace=google.cloud",
 -        "python-gapic-name=beyondcorp_clientconnectorservices",
 -    ],
+-    service_yaml = "beyondcorp_v1.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "clientconnectorservices_py_gapic_test",
+-    srcs = [
+-        "clientconnectorservices_py_gapic_pytest.py",
+-        "clientconnectorservices_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":clientconnectorservices_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -25877,11 +25762,12 @@
 -        "ruby-cloud-product-url=https://cloud.google.com/beyondcorp/",
 -        "ruby-cloud-api-id=beyondcorp.googleapis.com",
 -        "ruby-cloud-api-shortname=beyondcorp",
+-        "ruby-cloud-wrapper-gem-override=google-cloud-beyond_corp",
 -    ],
 -    grpc_service_config = "beyondcorp-clientconnectorservices_grpc_service_config.json",
--    service_yaml = "beyondcorp_v1.yaml",
 -    ruby_cloud_description = "Beyondcorp Enterprise provides identity and context aware access controls for enterprise resources and enables zero-trust access. Using the Beyondcorp Enterprise APIs, enterprises can set up multi-cloud and on-prem connectivity using the App Connector hybrid connectivity solution.",
 -    ruby_cloud_title = "BeyondCorp ClientConnectorServices V1",
+-    service_yaml = "beyondcorp_v1.yaml",
 -    deps = [
 -        ":clientconnectorservices_ruby_grpc",
 -        ":clientconnectorservices_ruby_proto",
@@ -25988,7 +25874,7 @@
 diff -urN a/google/cloud/beyondcorp/clientgateways/v1/BUILD.bazel b/google/cloud/beyondcorp/clientgateways/v1/BUILD.bazel
 --- a/google/cloud/beyondcorp/clientgateways/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/beyondcorp/clientgateways/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,326 +0,0 @@
+@@ -1,341 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -26030,6 +25916,7 @@
 -    "proto_library_with_info",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -    "ruby_cloud_gapic_library",
 -    "ruby_gapic_assembly_pkg",
 -    "ruby_grpc_library",
@@ -26164,12 +26051,25 @@
 -    name = "clientgateways_py_gapic",
 -    srcs = [":clientgateways_proto"],
 -    grpc_service_config = "beyondcorp-clientgateways_grpc_service_config.json",
--    service_yaml = "beyondcorp_v1.yaml",
 -    opt_args = [
 -        "warehouse-package-name=google-cloud-beyondcorp-clientgateways",
 -        "python-gapic-namespace=google.cloud",
 -        "python-gapic-name=beyondcorp_clientgateways",
 -    ],
+-    service_yaml = "beyondcorp_v1.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "clientgateways_py_gapic_test",
+-    srcs = [
+-        "clientgateways_py_gapic_pytest.py",
+-        "clientgateways_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":clientgateways_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -26250,6 +26150,7 @@
 -        "ruby-cloud-product-url=https://cloud.google.com/beyondcorp/",
 -        "ruby-cloud-api-id=beyondcorp.googleapis.com",
 -        "ruby-cloud-api-shortname=beyondcorp",
+-        "ruby-cloud-wrapper-gem-override=google-cloud-beyond_corp",
 -    ],
 -    grpc_service_config = "beyondcorp-clientgateways_grpc_service_config.json",
 -    ruby_cloud_description = "Beyondcorp Enterprise provides identity and context aware access controls for enterprise resources and enables zero-trust access. Using the Beyondcorp Enterprise APIs, enterprises can set up multi-cloud and on-prem connectivity using the App Connector hybrid connectivity solution.",
@@ -26362,7 +26263,7 @@
 diff -urN a/google/cloud/bigquery/connection/v1/BUILD.bazel b/google/cloud/bigquery/connection/v1/BUILD.bazel
 --- a/google/cloud/bigquery/connection/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/bigquery/connection/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,363 +0,0 @@
+@@ -1,377 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -26520,6 +26421,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -26530,6 +26432,19 @@
 -        "python-gapic-namespace=google.cloud",
 -        "python-gapic-name=bigquery_connection",
 -    ],
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "connection_py_gapic_test",
+-    srcs = [
+-        "connection_py_gapic_pytest.py",
+-        "connection_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":connection_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -26729,7 +26644,7 @@
 diff -urN a/google/cloud/bigquery/connection/v1beta1/BUILD.bazel b/google/cloud/bigquery/connection/v1beta1/BUILD.bazel
 --- a/google/cloud/bigquery/connection/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/bigquery/connection/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,331 +0,0 @@
+@@ -1,345 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -26892,8 +26807,22 @@
 -    name = "connection_py_gapic",
 -    srcs = [":connection_proto"],
 -    grpc_service_config = "bigqueryconnection_grpc_service_config.json",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1372 is fixed
+-#py_test(
+-#    name = "connection_py_gapic_test",
+-#    srcs = [
+-#        "connection_py_gapic_pytest.py",
+-#        "connection_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":connection_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "bigquery-connection-v1beta1-py",
@@ -27104,177 +27033,10 @@
 -        ":dataexchange_ruby_wrapper",
 -    ],
 -)
-diff -urN a/google/cloud/bigquery/dataexchange/common/BUILD.bazel b/google/cloud/bigquery/dataexchange/common/BUILD.bazel
---- a/google/cloud/bigquery/dataexchange/common/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-+++ b/google/cloud/bigquery/dataexchange/common/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,163 +0,0 @@
--# This file was automatically generated by BuildFileGenerator
--
--# This is an API workspace, having public visibility by default makes perfect sense.
--package(default_visibility = ["//visibility:public"])
--
--##############################################################################
--# Common
--##############################################################################
--load("@rules_proto//proto:defs.bzl", "proto_library")
--
--proto_library(
--    name = "common_proto",
--    srcs = [
--        "common.proto",
--    ],
--    deps = [
--    ],
--)
--
--##############################################################################
--# Java
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "java_grpc_library",
--    "java_proto_library",
--)
--
--java_proto_library(
--    name = "common_java_proto",
--    deps = [":common_proto"],
--)
--
--java_grpc_library(
--    name = "common_java_grpc",
--    srcs = [":common_proto"],
--    deps = [":common_java_proto"],
--)
--
--##############################################################################
--# Go
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "go_proto_library",
--)
--
--go_proto_library(
--    name = "common_go_proto",
--    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
--    importpath = "google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/common",
--    protos = [":common_proto"],
--    deps = [
--    ],
--)
--
--##############################################################################
--# Python
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "py_gapic_library",
--)
--
--py_gapic_library(
--    name = "common_py_gapic",
--    srcs = [":common_proto"],
--    opt_args = [
--        "warehouse-package-name=google-cloud-bigquery-data-exchange-common",
--        "python-gapic-namespace=google.cloud.bigquery_data_exchange",
--        "python-gapic-name=common",
--    ],
--)
--
--##############################################################################
--# PHP
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "php_grpc_library",
--    "php_proto_library",
--)
--
--php_proto_library(
--    name = "common_php_proto",
--    deps = [":common_proto"],
--)
--
--php_grpc_library(
--    name = "common_php_grpc",
--    srcs = [":common_proto"],
--    deps = [":common_php_proto"],
--)
--
--##############################################################################
--# Node.js
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "nodejs_gapic_assembly_pkg",
--    "nodejs_gapic_library",
--)
--
--##############################################################################
--# Ruby
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "ruby_grpc_library",
--    "ruby_proto_library",
--)
--
--ruby_proto_library(
--    name = "common_ruby_proto",
--    deps = [":common_proto"],
--)
--
--ruby_grpc_library(
--    name = "common_ruby_grpc",
--    srcs = [":common_proto"],
--    deps = [":common_ruby_proto"],
--)
--
--##############################################################################
--# C#
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "csharp_grpc_library",
--    "csharp_proto_library",
--)
--
--csharp_proto_library(
--    name = "common_csharp_proto",
--    deps = [":common_proto"],
--)
--
--csharp_grpc_library(
--    name = "common_csharp_grpc",
--    srcs = [":common_proto"],
--    deps = [":common_csharp_proto"],
--)
--
--##############################################################################
--# C++
--##############################################################################
--load(
--    "@com_google_googleapis_imports//:imports.bzl",
--    "cc_grpc_library",
--    "cc_proto_library",
--)
--
--cc_proto_library(
--    name = "common_cc_proto",
--    deps = [":common_proto"],
--)
--
--cc_grpc_library(
--    name = "common_cc_grpc",
--    srcs = [":common_proto"],
--    grpc_only = True,
--    deps = [":common_cc_proto"],
--)
 diff -urN a/google/cloud/bigquery/dataexchange/v1beta1/BUILD.bazel b/google/cloud/bigquery/dataexchange/v1beta1/BUILD.bazel
 --- a/google/cloud/bigquery/dataexchange/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/bigquery/dataexchange/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,388 +0,0 @@
+@@ -1,396 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -27305,7 +27067,6 @@
 -        "//google/api:client_proto",
 -        "//google/api:field_behavior_proto",
 -        "//google/api:resource_proto",
--        "//google/cloud/bigquery/dataexchange/common:common_proto",
 -        "//google/iam/v1:iam_policy_proto",
 -        "//google/iam/v1:policy_proto",
 -        "@com_google_protobuf//:empty_proto",
@@ -27319,6 +27080,7 @@
 -    deps = [
 -        ":dataexchange_proto",
 -        "//google/cloud:common_resources_proto",
+-        "//google/cloud/location:location_proto",
 -    ],
 -)
 -
@@ -27349,17 +27111,18 @@
 -    name = "dataexchange_java_gapic",
 -    srcs = [":dataexchange_proto_with_info"],
 -    gapic_yaml = None,
--    grpc_service_config = "analyticshub_grpc_service_config.json",
+-    grpc_service_config = "analyticshub_v1beta1_grpc_service_config.json",
 -    service_yaml = "analyticshub_v1beta1.yaml",
 -    test_deps = [
 -        ":dataexchange_java_grpc",
+-        "//google/cloud/location:location_java_grpc",
 -        "//google/iam/v1:iam_java_grpc",
 -    ],
 -    transport = "grpc+rest",
 -    deps = [
 -        ":dataexchange_java_proto",
 -        "//google/api:api_java_proto",
--        "//google/cloud/bigquery/dataexchange/common:common_java_proto",
+-        "//google/cloud/location:location_java_proto",
 -        "//google/iam/v1:iam_java_proto",
 -    ],
 -)
@@ -27383,7 +27146,6 @@
 -        ":dataexchange_java_grpc",
 -        ":dataexchange_java_proto",
 -        ":dataexchange_proto",
--        "//google/cloud/bigquery/dataexchange/common:common_java_proto",
 -    ],
 -)
 -
@@ -27405,7 +27167,6 @@
 -    protos = [":dataexchange_proto"],
 -    deps = [
 -        "//google/api:annotations_go_proto",
--        "//google/cloud/bigquery/dataexchange/common:common_go_proto",
 -        "//google/iam/v1:iam_go_proto",
 -    ],
 -)
@@ -27413,14 +27174,14 @@
 -go_gapic_library(
 -    name = "dataexchange_go_gapic",
 -    srcs = [":dataexchange_proto_with_info"],
--    grpc_service_config = "analyticshub_grpc_service_config.json",
+-    grpc_service_config = "analyticshub_v1beta1_grpc_service_config.json",
 -    importpath = "cloud.google.com/go/bigquery/dataexchange/apiv1beta1;dataexchange",
 -    metadata = True,
 -    service_yaml = "analyticshub_v1beta1.yaml",
 -    transport = "grpc+rest",
 -    deps = [
 -        ":dataexchange_go_proto",
--        "//google/cloud/bigquery/dataexchange/common:common_go_proto",
+-        "//google/cloud/location:location_go_proto",
 -        "//google/iam/v1:iam_go_proto",
 -    ],
 -)
@@ -27450,17 +27211,32 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "dataexchange_py_gapic",
 -    srcs = [":dataexchange_proto"],
--    grpc_service_config = "analyticshub_grpc_service_config.json",
+-    grpc_service_config = "analyticshub_v1beta1_grpc_service_config.json",
 -    opt_args = [
--        "warehouse-package-name=google-cloud-bigquery-data-exchange",
--        "python-gapic-namespace=google.cloud",
 -        "python-gapic-name=bigquery_data_exchange",
+-        "python-gapic-namespace=google.cloud",
+-        "warehouse-package-name=google-cloud-bigquery-data-exchange",
 -    ],
+-    service_yaml = "analyticshub_v1beta1.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "dataexchange_py_gapic_test",
+-    srcs = [
+-        "dataexchange_py_gapic_pytest.py",
+-        "dataexchange_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":dataexchange_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -27468,7 +27244,6 @@
 -    name = "bigquery-dataexchange-v1beta1-py",
 -    deps = [
 -        ":dataexchange_py_gapic",
--        "//google/cloud/bigquery/dataexchange/common:common_py_gapic",
 -    ],
 -)
 -
@@ -27497,7 +27272,7 @@
 -php_gapic_library(
 -    name = "dataexchange_php_gapic",
 -    srcs = [":dataexchange_proto_with_info"],
--    grpc_service_config = "analyticshub_grpc_service_config.json",
+-    grpc_service_config = "analyticshub_v1beta1_grpc_service_config.json",
 -    service_yaml = "analyticshub_v1beta1.yaml",
 -    deps = [
 -        ":dataexchange_php_grpc",
@@ -27529,7 +27304,7 @@
 -    package_name = "@google-cloud/bigquery-data-exchange",
 -    src = ":dataexchange_proto_with_info",
 -    extra_protoc_parameters = ["metadata"],
--    grpc_service_config = "analyticshub_grpc_service_config.json",
+-    grpc_service_config = "analyticshub_v1beta1_grpc_service_config.json",
 -    package = "google.cloud.bigquery.dataexchange.v1beta1",
 -    service_yaml = "analyticshub_v1beta1.yaml",
 -    deps = [],
@@ -27540,7 +27315,6 @@
 -    deps = [
 -        ":dataexchange_nodejs_gapic",
 -        ":dataexchange_proto",
--        "//google/cloud/bigquery/dataexchange/common:common_proto",
 -    ],
 -)
 -
@@ -27555,11 +27329,6 @@
 -    "ruby_proto_library",
 -)
 -
--_RUBY_SUBPACKAGE_DEPS = [
--    "//google/cloud/bigquery/dataexchange/common:common_ruby_proto",
--    "//google/cloud/bigquery/dataexchange/common:common_ruby_grpc",
--]
--
 -ruby_proto_library(
 -    name = "dataexchange_ruby_proto",
 -    deps = [":dataexchange_proto"],
@@ -27580,13 +27349,14 @@
 -        "ruby-cloud-gem-name=google-cloud-bigquery-data_exchange-v1beta1",
 -        "ruby-cloud-product-url=https://cloud.google.com/analytics-hub/",
 -    ],
--    grpc_service_config = "analyticshub_grpc_service_config.json",
+-    grpc_service_config = "analyticshub_v1beta1_grpc_service_config.json",
 -    ruby_cloud_description = "Analytics Hub is a data exchange that allows you to efficiently and securely exchange data assets across organizations to address challenges of data reliability and cost. Curate a library of internal and external assets, including unique datasets like Google Trends, backed by the power of BigQuery.",
 -    ruby_cloud_title = "Analytics Hub V1beta1",
+-    service_yaml = "analyticshub_v1beta1.yaml",
 -    deps = [
 -        ":dataexchange_ruby_grpc",
 -        ":dataexchange_ruby_proto",
--    ] + _RUBY_SUBPACKAGE_DEPS,
+-    ],
 -)
 -
 -# Open Source Packages
@@ -27596,7 +27366,7 @@
 -        ":dataexchange_ruby_gapic",
 -        ":dataexchange_ruby_grpc",
 -        ":dataexchange_ruby_proto",
--    ] + _RUBY_SUBPACKAGE_DEPS,
+-    ],
 -)
 -
 -##############################################################################
@@ -27625,7 +27395,7 @@
 -    name = "dataexchange_csharp_gapic",
 -    srcs = [":dataexchange_proto_with_info"],
 -    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
--    grpc_service_config = "analyticshub_grpc_service_config.json",
+-    grpc_service_config = "analyticshub_v1beta1_grpc_service_config.json",
 -    service_yaml = "analyticshub_v1beta1.yaml",
 -    deps = [
 -        ":dataexchange_csharp_grpc",
@@ -27663,6 +27433,391 @@
 -    grpc_only = True,
 -    deps = [":dataexchange_cc_proto"],
 -)
+diff -urN a/google/cloud/bigquery/datapolicies/v1beta1/BUILD.bazel b/google/cloud/bigquery/datapolicies/v1beta1/BUILD.bazel
+--- a/google/cloud/bigquery/datapolicies/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
++++ b/google/cloud/bigquery/datapolicies/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
+@@ -1,381 +0,0 @@
+-# This file was automatically generated by BuildFileGenerator
+-# https://github.com/googleapis/rules_gapic/tree/master/bazel
+-
+-# Most of the manual changes to this file will be overwritten.
+-# It's **only** allowed to change the following rule attribute values:
+-# - names of *_gapic_assembly_* rules
+-# - certain parameters of *_gapic_library rules, including but not limited to:
+-#    * extra_protoc_parameters
+-#    * extra_protoc_file_parameters
+-# The complete list of preserved parameters can be found in the source code.
+-
+-# This is an API workspace, having public visibility by default makes perfect sense.
+-package(default_visibility = ["//visibility:public"])
+-
+-##############################################################################
+-# Common
+-##############################################################################
+-load("@rules_proto//proto:defs.bzl", "proto_library")
+-load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
+-
+-proto_library(
+-    name = "datapolicies_proto",
+-    srcs = [
+-        "datapolicy.proto",
+-    ],
+-    deps = [
+-        "//google/api:annotations_proto",
+-        "//google/api:client_proto",
+-        "//google/api:field_behavior_proto",
+-        "//google/api:resource_proto",
+-        "//google/iam/v1:iam_policy_proto",
+-        "//google/iam/v1:policy_proto",
+-        "@com_google_protobuf//:empty_proto",
+-        "@com_google_protobuf//:field_mask_proto",
+-    ],
+-)
+-
+-proto_library_with_info(
+-    name = "datapolicies_proto_with_info",
+-    deps = [
+-        ":datapolicies_proto",
+-        "//google/cloud:common_resources_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Java
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "java_gapic_assembly_gradle_pkg",
+-    "java_gapic_library",
+-    "java_gapic_test",
+-    "java_grpc_library",
+-    "java_proto_library",
+-)
+-
+-java_proto_library(
+-    name = "datapolicies_java_proto",
+-    deps = [":datapolicies_proto"],
+-)
+-
+-java_grpc_library(
+-    name = "datapolicies_java_grpc",
+-    srcs = [":datapolicies_proto"],
+-    deps = [":datapolicies_java_proto"],
+-)
+-
+-java_gapic_library(
+-    name = "datapolicies_java_gapic",
+-    srcs = [":datapolicies_proto_with_info"],
+-    gapic_yaml = None,
+-    grpc_service_config = "datapolicies_v1beta1_grpc_service_config.json",
+-    service_yaml = "bigquerydatapolicy_v1beta1.yaml",
+-    test_deps = [
+-        ":datapolicies_java_grpc",
+-        "//google/iam/v1:iam_java_grpc",
+-    ],
+-    transport = "grpc+rest",
+-    deps = [
+-        ":datapolicies_java_proto",
+-        "//google/api:api_java_proto",
+-        "//google/iam/v1:iam_java_proto",
+-    ],
+-)
+-
+-java_gapic_test(
+-    name = "datapolicies_java_gapic_test_suite",
+-    test_classes = [
+-        "com.google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClientHttpJsonTest",
+-        "com.google.cloud.bigquery.datapolicies.v1beta1.DataPolicyServiceClientTest",
+-    ],
+-    runtime_deps = [":datapolicies_java_gapic_test"],
+-)
+-
+-# Open Source Packages
+-java_gapic_assembly_gradle_pkg(
+-    name = "google-cloud-bigquery-datapolicies-v1beta1-java",
+-    transport = "grpc+rest",
+-    deps = [
+-        ":datapolicies_java_gapic",
+-        ":datapolicies_java_grpc",
+-        ":datapolicies_java_proto",
+-        ":datapolicies_proto",
+-    ],
+-    include_samples = True,
+-)
+-
+-##############################################################################
+-# Go
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "go_gapic_assembly_pkg",
+-    "go_gapic_library",
+-    "go_proto_library",
+-    "go_test",
+-)
+-
+-go_proto_library(
+-    name = "datapolicies_go_proto",
+-    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
+-    importpath = "google.golang.org/genproto/googleapis/cloud/bigquery/datapolicies/v1beta1",
+-    protos = [":datapolicies_proto"],
+-    deps = [
+-        "//google/api:annotations_go_proto",
+-        "//google/iam/v1:iam_go_proto",
+-    ],
+-)
+-
+-go_gapic_library(
+-    name = "datapolicies_go_gapic",
+-    srcs = [":datapolicies_proto_with_info"],
+-    grpc_service_config = "datapolicies_v1beta1_grpc_service_config.json",
+-    importpath = "cloud.google.com/go/bigquery/datapolicies/apiv1beta1;datapolicies",
+-    metadata = True,
+-    service_yaml = "bigquerydatapolicy_v1beta1.yaml",
+-    transport = "grpc+rest",
+-    deps = [
+-        ":datapolicies_go_proto",
+-        "//google/iam/v1:iam_go_proto",
+-    ],
+-)
+-
+-go_test(
+-    name = "datapolicies_go_gapic_test",
+-    srcs = [":datapolicies_go_gapic_srcjar_test"],
+-    embed = [":datapolicies_go_gapic"],
+-    importpath = "cloud.google.com/go/bigquery/datapolicies/apiv1beta1",
+-)
+-
+-# Open Source Packages
+-go_gapic_assembly_pkg(
+-    name = "gapi-cloud-bigquery-datapolicies-v1beta1-go",
+-    deps = [
+-        ":datapolicies_go_gapic",
+-        ":datapolicies_go_gapic_srcjar-test.srcjar",
+-        ":datapolicies_go_gapic_srcjar-metadata.srcjar",
+-        ":datapolicies_go_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Python
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "py_gapic_assembly_pkg",
+-    "py_gapic_library",
+-    "py_test",
+-)
+-
+-py_gapic_library(
+-    name = "datapolicies_py_gapic",
+-    srcs = [":datapolicies_proto"],
+-    grpc_service_config = "datapolicies_v1beta1_grpc_service_config.json",
+-    service_yaml = "bigquerydatapolicy_v1beta1.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "datapolicies_py_gapic_test",
+-    srcs = [
+-        "datapolicies_py_gapic_pytest.py",
+-        "datapolicies_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":datapolicies_py_gapic"],
+-)
+-
+-# Open Source Packages
+-py_gapic_assembly_pkg(
+-    name = "bigquery-datapolicies-v1beta1-py",
+-    deps = [
+-        ":datapolicies_py_gapic",
+-    ],
+-)
+-
+-##############################################################################
+-# PHP
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "php_gapic_assembly_pkg",
+-    "php_gapic_library",
+-    "php_grpc_library",
+-    "php_proto_library",
+-)
+-
+-php_proto_library(
+-    name = "datapolicies_php_proto",
+-    deps = [":datapolicies_proto"],
+-)
+-
+-php_grpc_library(
+-    name = "datapolicies_php_grpc",
+-    srcs = [":datapolicies_proto"],
+-    deps = [":datapolicies_php_proto"],
+-)
+-
+-php_gapic_library(
+-    name = "datapolicies_php_gapic",
+-    srcs = [":datapolicies_proto_with_info"],
+-    grpc_service_config = "datapolicies_v1beta1_grpc_service_config.json",
+-    service_yaml = "bigquerydatapolicy_v1beta1.yaml",
+-    deps = [
+-        ":datapolicies_php_grpc",
+-        ":datapolicies_php_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-php_gapic_assembly_pkg(
+-    name = "google-cloud-bigquery-datapolicies-v1beta1-php",
+-    deps = [
+-        ":datapolicies_php_gapic",
+-        ":datapolicies_php_grpc",
+-        ":datapolicies_php_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Node.js
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "nodejs_gapic_assembly_pkg",
+-    "nodejs_gapic_library",
+-)
+-
+-nodejs_gapic_library(
+-    name = "datapolicies_nodejs_gapic",
+-    package_name = "@google-cloud/datapolicies",
+-    src = ":datapolicies_proto_with_info",
+-    extra_protoc_parameters = ["metadata"],
+-    grpc_service_config = "datapolicies_v1beta1_grpc_service_config.json",
+-    package = "google.cloud.bigquery.datapolicies.v1beta1",
+-    service_yaml = "bigquerydatapolicy_v1beta1.yaml",
+-    deps = [],
+-)
+-
+-nodejs_gapic_assembly_pkg(
+-    name = "bigquery-datapolicies-v1beta1-nodejs",
+-    deps = [
+-        ":datapolicies_nodejs_gapic",
+-        ":datapolicies_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Ruby
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "ruby_gapic_assembly_pkg",
+-    "ruby_cloud_gapic_library",
+-    "ruby_grpc_library",
+-    "ruby_proto_library",
+-)
+-
+-ruby_proto_library(
+-    name = "datapolicies_ruby_proto",
+-    deps = [":datapolicies_proto"],
+-)
+-
+-ruby_grpc_library(
+-    name = "datapolicies_ruby_grpc",
+-    srcs = [":datapolicies_proto"],
+-    deps = [":datapolicies_ruby_proto"],
+-)
+-
+-ruby_cloud_gapic_library(
+-    name = "datapolicies_ruby_gapic",
+-    srcs = [":datapolicies_proto_with_info"],
+-    extra_protoc_parameters = [
+-        "ruby-cloud-gem-name=google-cloud-bigquery-datapolicies-v1beta1",
+-    ],
+-    grpc_service_config = "datapolicies_v1beta1_grpc_service_config.json",
+-    service_yaml = "bigquerydatapolicy_v1beta1.yaml",
+-    deps = [
+-        ":datapolicies_ruby_grpc",
+-        ":datapolicies_ruby_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-ruby_gapic_assembly_pkg(
+-    name = "google-cloud-bigquery-datapolicies-v1beta1-ruby",
+-    deps = [
+-        ":datapolicies_ruby_gapic",
+-        ":datapolicies_ruby_grpc",
+-        ":datapolicies_ruby_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# C#
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "csharp_gapic_assembly_pkg",
+-    "csharp_gapic_library",
+-    "csharp_grpc_library",
+-    "csharp_proto_library",
+-)
+-
+-csharp_proto_library(
+-    name = "datapolicies_csharp_proto",
+-    deps = [":datapolicies_proto"],
+-)
+-
+-csharp_grpc_library(
+-    name = "datapolicies_csharp_grpc",
+-    srcs = [":datapolicies_proto"],
+-    deps = [":datapolicies_csharp_proto"],
+-)
+-
+-csharp_gapic_library(
+-    name = "datapolicies_csharp_gapic",
+-    srcs = [":datapolicies_proto_with_info"],
+-    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
+-    grpc_service_config = "datapolicies_v1beta1_grpc_service_config.json",
+-    service_yaml = "bigquerydatapolicy_v1beta1.yaml",
+-    deps = [
+-        ":datapolicies_csharp_grpc",
+-        ":datapolicies_csharp_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-csharp_gapic_assembly_pkg(
+-    name = "google-cloud-bigquery-datapolicies-v1beta1-csharp",
+-    deps = [
+-        ":datapolicies_csharp_gapic",
+-        ":datapolicies_csharp_grpc",
+-        ":datapolicies_csharp_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# C++
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "cc_grpc_library",
+-    "cc_proto_library",
+-)
+-
+-cc_proto_library(
+-    name = "datapolicies_cc_proto",
+-    deps = [":datapolicies_proto"],
+-)
+-
+-cc_grpc_library(
+-    name = "datapolicies_cc_grpc",
+-    srcs = [":datapolicies_proto"],
+-    grpc_only = True,
+-    deps = [":datapolicies_cc_proto"],
+-)
 diff -urN a/google/cloud/bigquery/datatransfer/BUILD.bazel b/google/cloud/bigquery/datatransfer/BUILD.bazel
 --- a/google/cloud/bigquery/datatransfer/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/bigquery/datatransfer/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
@@ -27711,7 +27866,7 @@
 diff -urN a/google/cloud/bigquery/datatransfer/v1/BUILD.bazel b/google/cloud/bigquery/datatransfer/v1/BUILD.bazel
 --- a/google/cloud/bigquery/datatransfer/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/bigquery/datatransfer/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,363 +0,0 @@
+@@ -1,374 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -27870,6 +28025,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -27882,6 +28038,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "datatransfer_py_gapic_test",
+-    srcs = [
+-        "datatransfer_py_gapic_pytest.py",
+-        "datatransfer_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":datatransfer_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "bigquery-datatransfer-v1-py",
 -    deps = [
@@ -28078,7 +28244,7 @@
 diff -urN a/google/cloud/bigquery/logging/v1/BUILD.bazel b/google/cloud/bigquery/logging/v1/BUILD.bazel
 --- a/google/cloud/bigquery/logging/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/bigquery/logging/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,180 +0,0 @@
+@@ -1,179 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -28147,8 +28313,8 @@
 -##############################################################################
 -load(
 -    "@com_google_googleapis_imports//:imports.bzl",
+-    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
--    "py_gapic_assembly_pkg"
 -)
 -
 -py_gapic_library(
@@ -28198,7 +28364,6 @@
 -    "nodejs_gapic_library",
 -)
 -
--
 -##############################################################################
 -# Ruby
 -##############################################################################
@@ -28305,7 +28470,7 @@
 diff -urN a/google/cloud/bigquery/migration/v2/BUILD.bazel b/google/cloud/bigquery/migration/v2/BUILD.bazel
 --- a/google/cloud/bigquery/migration/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/bigquery/migration/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,380 +0,0 @@
+@@ -1,391 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -28481,6 +28646,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -28493,6 +28659,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "migration_py_gapic_test",
+-    srcs = [
+-        "migration_py_gapic_pytest.py",
+-        "migration_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":migration_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "bigquery-migration-v2-py",
@@ -28555,7 +28731,7 @@
 -
 -nodejs_gapic_library(
 -    name = "migration_nodejs_gapic",
--    package_name = "@google-cloud/migration",
+-    package_name = "@google-cloud/bigquery-migration",
 -    src = ":migration_proto_with_info",
 -    extra_protoc_parameters = ["metadata"],
 -    grpc_service_config = "bigquerymigration_grpc_service_config.json",
@@ -28689,7 +28865,7 @@
 diff -urN a/google/cloud/bigquery/migration/v2alpha/BUILD.bazel b/google/cloud/bigquery/migration/v2alpha/BUILD.bazel
 --- a/google/cloud/bigquery/migration/v2alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/bigquery/migration/v2alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,356 +0,0 @@
+@@ -1,367 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -28863,6 +29039,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -28875,6 +29052,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "migration_py_gapic_test",
+-    srcs = [
+-        "migration_py_gapic_pytest.py",
+-        "migration_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":migration_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "bigquery-migration-v2alpha-py",
@@ -28937,7 +29124,7 @@
 -
 -nodejs_gapic_library(
 -    name = "migration_nodejs_gapic",
--    package_name = "@google-cloud/migration",
+-    package_name = "@google-cloud/bigquery-migration",
 -    src = ":migration_proto_with_info",
 -    extra_protoc_parameters = ["metadata"],
 -    grpc_service_config = "bigquerymigration_grpc_service_config.json",
@@ -29093,7 +29280,7 @@
 diff -urN a/google/cloud/bigquery/reservation/v1/BUILD.bazel b/google/cloud/bigquery/reservation/v1/BUILD.bazel
 --- a/google/cloud/bigquery/reservation/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/bigquery/reservation/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,372 +0,0 @@
+@@ -1,383 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -29260,6 +29447,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -29272,6 +29460,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "reservation_py_gapic_test",
+-    srcs = [
+-        "reservation_py_gapic_pytest.py",
+-        "reservation_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":reservation_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "bigquery-reservation-v1-py",
@@ -29469,7 +29667,7 @@
 diff -urN a/google/cloud/bigquery/reservation/v1beta1/BUILD.bazel b/google/cloud/bigquery/reservation/v1beta1/BUILD.bazel
 --- a/google/cloud/bigquery/reservation/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/bigquery/reservation/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,331 +0,0 @@
+@@ -1,342 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -29626,6 +29824,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -29634,6 +29833,16 @@
 -    grpc_service_config = "bigqueryreservation_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "reservation_py_gapic_test",
+-    srcs = [
+-        "reservation_py_gapic_pytest.py",
+-        "reservation_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":reservation_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "bigquery-reservation-v1beta1-py",
@@ -29848,7 +30057,7 @@
 diff -urN a/google/cloud/bigquery/storage/v1/BUILD.bazel b/google/cloud/bigquery/storage/v1/BUILD.bazel
 --- a/google/cloud/bigquery/storage/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/bigquery/storage/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,359 +0,0 @@
+@@ -1,370 +0,0 @@
 -# This is an API workspace, having public visibility by default makes perfect sense.
 -package(default_visibility = ["//visibility:public"])
 -
@@ -30014,6 +30223,17 @@
 -    ],
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1374 is fixed
+-#py_test(
+-#    name = "storage_py_gapic_test",
+-#    srcs = [
+-#        "storage_py_gapic_pytest.py",
+-#        "storage_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":storage_py_gapic"],
+-#)
+-
 -py_gapic_assembly_pkg(
 -    name = "bigquery-storage-v1-py",
 -    deps = [
@@ -30211,7 +30431,7 @@
 diff -urN a/google/cloud/bigquery/storage/v1beta1/BUILD.bazel b/google/cloud/bigquery/storage/v1beta1/BUILD.bazel
 --- a/google/cloud/bigquery/storage/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/bigquery/storage/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,342 +0,0 @@
+@@ -1,353 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -30362,6 +30582,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -30370,6 +30591,16 @@
 -    grpc_service_config = "bigquerystorage_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "storage_py_gapic_test",
+-    srcs = [
+-        "storage_py_gapic_pytest.py",
+-        "storage_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":storage_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "bigquery-storage-v1beta1-py",
 -    deps = [
@@ -30557,7 +30788,7 @@
 diff -urN a/google/cloud/bigquery/storage/v1beta2/BUILD.bazel b/google/cloud/bigquery/storage/v1beta2/BUILD.bazel
 --- a/google/cloud/bigquery/storage/v1beta2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/bigquery/storage/v1beta2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,348 +0,0 @@
+@@ -1,359 +0,0 @@
 -# This is an API workspace, having public visibility by default makes perfect sense.
 -package(default_visibility = ["//visibility:public"])
 -
@@ -30724,6 +30955,17 @@
 -    ],
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1374 is fixed
+-#py_test(
+-#    name = "storage_py_gapic_test",
+-#    srcs = [
+-#        "storage_py_gapic_pytest.py",
+-#        "storage_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":storage_py_gapic"],
+-#)
+-
 -py_gapic_assembly_pkg(
 -    name = "bigquery-storage-v1beta2-py",
 -    deps = [
@@ -30909,7 +31151,7 @@
 diff -urN a/google/cloud/bigquery/v2/BUILD.bazel b/google/cloud/bigquery/v2/BUILD.bazel
 --- a/google/cloud/bigquery/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/bigquery/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,347 +0,0 @@
+@@ -1,358 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -31072,6 +31314,17 @@
 -    opt_args = ["autogen-snippets=False"],
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1372 is fixed
+-#py_test(
+-#    name = "bigquery_py_gapic_test",
+-#    srcs = [
+-#        "bigquery_py_gapic_pytest.py",
+-#        "bigquery_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":bigquery_py_gapic"],
+-#)
+-
 -py_gapic_assembly_pkg(
 -    name = "bigquery-v2-py",
 -    deps = [
@@ -31349,7 +31602,7 @@
 diff -urN a/google/cloud/billing/budgets/v1/BUILD.bazel b/google/cloud/billing/budgets/v1/BUILD.bazel
 --- a/google/cloud/billing/budgets/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/billing/budgets/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,322 +0,0 @@
+@@ -1,333 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -31389,6 +31642,7 @@
 -    "proto_library_with_info",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -    "ruby_cloud_gapic_library",
 -    "ruby_gapic_assembly_pkg",
 -    "ruby_grpc_library",
@@ -31520,6 +31774,16 @@
 -    grpc_service_config = "billingbudgets_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "budgets_py_gapic_test",
+-    srcs = [
+-        "budgets_py_gapic_pytest.py",
+-        "budgets_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":budgets_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "billing-budgets-v1-py",
@@ -31675,7 +31939,7 @@
 diff -urN a/google/cloud/billing/budgets/v1beta1/BUILD.bazel b/google/cloud/billing/budgets/v1beta1/BUILD.bazel
 --- a/google/cloud/billing/budgets/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/billing/budgets/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,347 +0,0 @@
+@@ -1,358 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -31838,6 +32102,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -31846,6 +32111,16 @@
 -    grpc_service_config = "billingbudgets_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "budgets_py_gapic_test",
+-    srcs = [
+-        "budgets_py_gapic_pytest.py",
+-        "budgets_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":budgets_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "billing-budgets-v1beta1-py",
@@ -32026,7 +32301,7 @@
 diff -urN a/google/cloud/billing/v1/BUILD.bazel b/google/cloud/billing/v1/BUILD.bazel
 --- a/google/cloud/billing/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/billing/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,361 +0,0 @@
+@@ -1,375 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -32187,12 +32462,26 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "billing_py_gapic",
 -    srcs = [":billing_proto"],
 -    grpc_service_config = "cloud_billing_grpc_service_config.json",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "billing_py_gapic_test",
+-    srcs = [
+-        "billing_py_gapic_pytest.py",
+-        "billing_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":billing_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -32436,7 +32725,7 @@
 diff -urN a/google/cloud/binaryauthorization/v1/BUILD.bazel b/google/cloud/binaryauthorization/v1/BUILD.bazel
 --- a/google/cloud/binaryauthorization/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/binaryauthorization/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,377 +0,0 @@
+@@ -1,391 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -32608,12 +32897,26 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "binaryauthorization_py_gapic",
 -    srcs = [":binaryauthorization_proto"],
 -    grpc_service_config = "binaryauthorization_grpc_service_config.json",
+-    deps = [
+-        "//grafeas/v1:grafeas_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "binaryauthorization_py_gapic_test",
+-    srcs = [
+-        "binaryauthorization_py_gapic_pytest.py",
+-        "binaryauthorization_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":binaryauthorization_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -32817,7 +33120,7 @@
 diff -urN a/google/cloud/binaryauthorization/v1beta1/BUILD.bazel b/google/cloud/binaryauthorization/v1beta1/BUILD.bazel
 --- a/google/cloud/binaryauthorization/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/binaryauthorization/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,349 +0,0 @@
+@@ -1,360 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -32980,6 +33283,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -32988,6 +33292,16 @@
 -    grpc_service_config = "binaryauthorization_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "binaryauthorization_py_gapic_test",
+-    srcs = [
+-        "binaryauthorization_py_gapic_pytest.py",
+-        "binaryauthorization_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":binaryauthorization_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "binaryauthorization-v1beta1-py",
@@ -33210,10 +33524,189 @@
 -        ":certificatemanager_ruby_wrapper",
 -    ],
 -)
+diff -urN a/google/cloud/certificatemanager/logging/v1/BUILD.bazel b/google/cloud/certificatemanager/logging/v1/BUILD.bazel
+--- a/google/cloud/certificatemanager/logging/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
++++ b/google/cloud/certificatemanager/logging/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
+@@ -1,175 +0,0 @@
+-# This file was automatically generated by BuildFileGenerator
+-
+-# This is an API workspace, having public visibility by default makes perfect sense.
+-package(default_visibility = ["//visibility:public"])
+-
+-##############################################################################
+-# Common
+-##############################################################################
+-load("@rules_proto//proto:defs.bzl", "proto_library")
+-
+-proto_library(
+-    name = "logging_proto",
+-    srcs = [
+-        "logs.proto",
+-    ],
+-    deps = [
+-        "@com_google_protobuf//:timestamp_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Java
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "java_grpc_library",
+-    "java_proto_library",
+-)
+-
+-java_proto_library(
+-    name = "logging_java_proto",
+-    deps = [":logging_proto"],
+-)
+-
+-java_grpc_library(
+-    name = "logging_java_grpc",
+-    srcs = [":logging_proto"],
+-    deps = [":logging_java_proto"],
+-)
+-
+-##############################################################################
+-# Go
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "go_proto_library",
+-)
+-
+-go_proto_library(
+-    name = "logging_go_proto",
+-    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
+-    importpath = "google.golang.org/genproto/googleapis/cloud/certificatemanager/logging/v1",
+-    protos = [":logging_proto"],
+-    deps = [
+-    ],
+-)
+-
+-##############################################################################
+-# Python
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "moved_proto_library",
+-    "py_grpc_library",
+-    "py_proto_library",
+-)
+-
+-moved_proto_library(
+-    name = "logging_moved_proto",
+-    srcs = [":logging_proto"],
+-    deps = [
+-        "@com_google_protobuf//:timestamp_proto",
+-    ],
+-)
+-
+-py_proto_library(
+-    name = "logging_py_proto",
+-    deps = [":logging_moved_proto"],
+-)
+-
+-py_grpc_library(
+-    name = "logging_py_grpc",
+-    srcs = [":logging_moved_proto"],
+-    deps = [":logging_py_proto"],
+-)
+-
+-##############################################################################
+-# PHP
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "php_grpc_library",
+-    "php_proto_library",
+-)
+-
+-php_proto_library(
+-    name = "logging_php_proto",
+-    deps = [":logging_proto"],
+-)
+-
+-php_grpc_library(
+-    name = "logging_php_grpc",
+-    srcs = [":logging_proto"],
+-    deps = [":logging_php_proto"],
+-)
+-
+-##############################################################################
+-# Node.js
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "nodejs_gapic_assembly_pkg",
+-    "nodejs_gapic_library",
+-)
+-
+-##############################################################################
+-# Ruby
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "ruby_grpc_library",
+-    "ruby_proto_library",
+-)
+-
+-ruby_proto_library(
+-    name = "logging_ruby_proto",
+-    deps = [":logging_proto"],
+-)
+-
+-ruby_grpc_library(
+-    name = "logging_ruby_grpc",
+-    srcs = [":logging_proto"],
+-    deps = [":logging_ruby_proto"],
+-)
+-
+-##############################################################################
+-# C#
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "csharp_grpc_library",
+-    "csharp_proto_library",
+-)
+-
+-csharp_proto_library(
+-    name = "logging_csharp_proto",
+-    deps = [":logging_proto"],
+-)
+-
+-csharp_grpc_library(
+-    name = "logging_csharp_grpc",
+-    srcs = [":logging_proto"],
+-    deps = [":logging_csharp_proto"],
+-)
+-
+-##############################################################################
+-# C++
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "cc_grpc_library",
+-    "cc_proto_library",
+-)
+-
+-cc_proto_library(
+-    name = "logging_cc_proto",
+-    deps = [":logging_proto"],
+-)
+-
+-cc_grpc_library(
+-    name = "logging_cc_grpc",
+-    srcs = [":logging_proto"],
+-    grpc_only = True,
+-    deps = [":logging_cc_proto"],
+-)
 diff -urN a/google/cloud/certificatemanager/v1/BUILD.bazel b/google/cloud/certificatemanager/v1/BUILD.bazel
 --- a/google/cloud/certificatemanager/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/certificatemanager/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,380 +0,0 @@
+@@ -1,391 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -33386,6 +33879,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -33400,6 +33894,16 @@
 -    service_yaml = "certificatemanager_v1.yaml",
 -)
 -
+-py_test(
+-    name = "certificatemanager_py_gapic_test",
+-    srcs = [
+-        "certificatemanager_py_gapic_pytest.py",
+-        "certificatemanager_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":certificatemanager_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "certificatemanager-v1-py",
@@ -33641,7 +34145,7 @@
 diff -urN a/google/cloud/channel/v1/BUILD.bazel b/google/cloud/channel/v1/BUILD.bazel
 --- a/google/cloud/channel/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/channel/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,391 +0,0 @@
+@@ -1,402 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -33830,6 +34334,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -33839,6 +34344,16 @@
 -    service_yaml = "cloudchannel_v1.yaml",
 -)
 -
+-py_test(
+-    name = "channel_py_gapic_test",
+-    srcs = [
+-        "channel_py_gapic_pytest.py",
+-        "channel_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":channel_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "channel-v1-py",
@@ -34268,7 +34783,7 @@
 diff -urN a/google/cloud/clouddms/v1/BUILD.bazel b/google/cloud/clouddms/v1/BUILD.bazel
 --- a/google/cloud/clouddms/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/clouddms/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,372 +0,0 @@
+@@ -1,383 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -34436,6 +34951,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -34445,6 +34961,16 @@
 -    opt_args = ["warehouse-package-name=google-cloud-dms"],
 -)
 -
+-py_test(
+-    name = "clouddms_py_gapic_test",
+-    srcs = [
+-        "clouddms_py_gapic_pytest.py",
+-        "clouddms_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":clouddms_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "clouddms-v1-py",
@@ -34641,10 +35167,194 @@
 -    grpc_only = True,
 -    deps = [":clouddms_cc_proto"],
 -)
+diff -urN a/google/cloud/cloudsetup/logging/v1/BUILD.bazel b/google/cloud/cloudsetup/logging/v1/BUILD.bazel
+--- a/google/cloud/cloudsetup/logging/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
++++ b/google/cloud/cloudsetup/logging/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
+@@ -1,180 +0,0 @@
+-# This file was automatically generated by BuildFileGenerator
+-
+-# This is an API workspace, having public visibility by default makes perfect sense.
+-package(default_visibility = ["//visibility:public"])
+-
+-##############################################################################
+-# Common
+-##############################################################################
+-load("@rules_proto//proto:defs.bzl", "proto_library")
+-
+-proto_library(
+-    name = "logging_proto",
+-    srcs = [
+-        "complete_deployment.proto",
+-    ],
+-    deps = [
+-        "//google/api:resource_proto",
+-        "//google/rpc:status_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Java
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "java_grpc_library",
+-    "java_proto_library",
+-)
+-
+-java_proto_library(
+-    name = "logging_java_proto",
+-    deps = [":logging_proto"],
+-)
+-
+-java_grpc_library(
+-    name = "logging_java_grpc",
+-    srcs = [":logging_proto"],
+-    deps = [":logging_java_proto"],
+-)
+-
+-##############################################################################
+-# Go
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "go_proto_library",
+-)
+-
+-go_proto_library(
+-    name = "logging_go_proto",
+-    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
+-    importpath = "google.golang.org/genproto/googleapis/cloud/cloudsetup/logging/v1",
+-    protos = [":logging_proto"],
+-    deps = [
+-        "//google/api:annotations_go_proto",
+-        "//google/rpc:status_go_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Python
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "moved_proto_library",
+-    "py_grpc_library",
+-    "py_proto_library",
+-)
+-
+-moved_proto_library(
+-    name = "logging_moved_proto",
+-    srcs = [":logging_proto"],
+-    deps = [
+-        "//google/api:resource_proto",
+-        "//google/rpc:status_proto",
+-    ],
+-)
+-
+-py_proto_library(
+-    name = "logging_py_proto",
+-    deps = [":logging_moved_proto"],
+-)
+-
+-py_grpc_library(
+-    name = "logging_py_grpc",
+-    srcs = [":logging_moved_proto"],
+-    deps = [":logging_py_proto"],
+-)
+-
+-##############################################################################
+-# PHP
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "php_grpc_library",
+-    "php_proto_library",
+-)
+-
+-php_proto_library(
+-    name = "logging_php_proto",
+-    deps = [":logging_proto"],
+-)
+-
+-php_grpc_library(
+-    name = "logging_php_grpc",
+-    srcs = [":logging_proto"],
+-    deps = [":logging_php_proto"],
+-)
+-
+-##############################################################################
+-# Node.js
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "nodejs_gapic_assembly_pkg",
+-    "nodejs_gapic_library",
+-)
+-
+-
+-##############################################################################
+-# Ruby
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "ruby_grpc_library",
+-    "ruby_proto_library",
+-)
+-
+-ruby_proto_library(
+-    name = "logging_ruby_proto",
+-    deps = [":logging_proto"],
+-)
+-
+-ruby_grpc_library(
+-    name = "logging_ruby_grpc",
+-    srcs = [":logging_proto"],
+-    deps = [":logging_ruby_proto"],
+-)
+-
+-##############################################################################
+-# C#
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "csharp_grpc_library",
+-    "csharp_proto_library",
+-)
+-
+-csharp_proto_library(
+-    name = "logging_csharp_proto",
+-    deps = [":logging_proto"],
+-)
+-
+-csharp_grpc_library(
+-    name = "logging_csharp_grpc",
+-    srcs = [":logging_proto"],
+-    deps = [":logging_csharp_proto"],
+-)
+-
+-##############################################################################
+-# C++
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "cc_grpc_library",
+-    "cc_proto_library",
+-)
+-
+-cc_proto_library(
+-    name = "logging_cc_proto",
+-    deps = [":logging_proto"],
+-)
+-
+-cc_grpc_library(
+-    name = "logging_cc_grpc",
+-    srcs = [":logging_proto"],
+-    grpc_only = True,
+-    deps = [":logging_cc_proto"],
+-)
 diff -urN a/google/cloud/commerce/consumer/procurement/v1alpha1/BUILD.bazel b/google/cloud/commerce/consumer/procurement/v1alpha1/BUILD.bazel
 --- a/google/cloud/commerce/consumer/procurement/v1alpha1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/commerce/consumer/procurement/v1alpha1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,366 +0,0 @@
+@@ -1,377 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -34740,6 +35450,7 @@
 -# Open Source Packages
 -java_gapic_assembly_gradle_pkg(
 -    name = "google-cloud-consumer-procurement-v1alpha1-java",
+-    include_samples = True,
 -    transport = "grpc+rest",
 -    deps = [
 -        ":procurement_java_gapic",
@@ -34747,7 +35458,6 @@
 -        ":procurement_java_proto",
 -        ":procurement_proto",
 -    ],
--    include_samples = True,
 -)
 -
 -##############################################################################
@@ -34783,8 +35493,8 @@
 -    deps = [
 -        ":procurement_go_proto",
 -        "//google/longrunning:longrunning_go_proto",
--        "@com_google_cloud_go//longrunning/autogen:go_default_library",
 -        "@com_google_cloud_go//longrunning:go_default_library",
+-        "@com_google_cloud_go//longrunning/autogen:go_default_library",
 -    ],
 -)
 -
@@ -34800,8 +35510,8 @@
 -    name = "gapi-cloud-consumer-procurement-v1alpha1-go",
 -    deps = [
 -        ":procurement_go_gapic",
--        ":procurement_go_gapic_srcjar-test.srcjar",
 -        ":procurement_go_gapic_srcjar-metadata.srcjar",
+-        ":procurement_go_gapic_srcjar-test.srcjar",
 -        ":procurement_go_proto",
 -    ],
 -)
@@ -34813,6 +35523,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -34822,6 +35533,16 @@
 -    service_yaml = "cloudcommerceconsumerprocurement_v1alpha1.yaml",
 -)
 -
+-py_test(
+-    name = "procurement_py_gapic_test",
+-    srcs = [
+-        "procurement_py_gapic_pytest.py",
+-        "procurement_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":procurement_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "consumer-procurement-v1alpha1-py",
@@ -34906,8 +35627,8 @@
 -##############################################################################
 -load(
 -    "@com_google_googleapis_imports//:imports.bzl",
--    "ruby_gapic_assembly_pkg",
 -    "ruby_cloud_gapic_library",
+-    "ruby_gapic_assembly_pkg",
 -    "ruby_grpc_library",
 -    "ruby_proto_library",
 -)
@@ -35014,7 +35735,7 @@
 diff -urN a/google/cloud/common/BUILD.bazel b/google/cloud/common/BUILD.bazel
 --- a/google/cloud/common/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/common/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,179 +0,0 @@
+@@ -1,184 +0,0 @@
 -package(default_visibility = ["//visibility:public"])
 -
 -##############################################################################
@@ -35080,7 +35801,6 @@
 -    ],
 -)
 -
--
 -##############################################################################
 -# PHP
 -##############################################################################
@@ -35108,6 +35828,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_proto_library",
 -)
 -
 -py_gapic_library(
@@ -35115,6 +35836,11 @@
 -    srcs = [":common_proto"],
 -)
 -
+-py_proto_library(
+-    name = "common_py_proto",
+-    deps = [":common_proto"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "common-py",
@@ -35242,7 +35968,7 @@
 diff -urN a/google/cloud/compute/v1/BUILD.bazel b/google/cloud/compute/v1/BUILD.bazel
 --- a/google/cloud/compute/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/compute/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,399 +0,0 @@
+@@ -1,411 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -35472,6 +36198,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -35485,6 +36212,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "compute_py_gapic_test",
+-    srcs = [
+-        "compute_py_gapic_pytest.py",
+-        "compute_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":compute_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "compute-v1-py",
@@ -35627,6 +36364,7 @@
 -    srcs = [":compute_proto_with_info"],
 -    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
 -    grpc_service_config = ":compute_grpc_service_config.json",
+-    transport = "rest",
 -    deps = [
 -        ":compute_csharp_grpc",
 -        ":compute_csharp_proto",
@@ -35828,6 +36566,408 @@
 -# C#
 -##############################################################################
 -# Put your C# rules here
+diff -urN a/google/cloud/connectors/v1/BUILD.bazel b/google/cloud/connectors/v1/BUILD.bazel
+--- a/google/cloud/connectors/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
++++ b/google/cloud/connectors/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
+@@ -1,398 +0,0 @@
+-# This file was automatically generated by BuildFileGenerator
+-# https://github.com/googleapis/rules_gapic/tree/master/bazel
+-
+-# Most of the manual changes to this file will be overwritten.
+-# It's **only** allowed to change the following rule attribute values:
+-# - names of *_gapic_assembly_* rules
+-# - certain parameters of *_gapic_library rules, including but not limited to:
+-#    * extra_protoc_parameters
+-#    * extra_protoc_file_parameters
+-# The complete list of preserved parameters can be found in the source code.
+-
+-# This is an API workspace, having public visibility by default makes perfect sense.
+-package(default_visibility = ["//visibility:public"])
+-
+-##############################################################################
+-# Common
+-##############################################################################
+-load("@rules_proto//proto:defs.bzl", "proto_library")
+-load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
+-
+-proto_library(
+-    name = "connectors_proto",
+-    srcs = [
+-        "authconfig.proto",
+-        "common.proto",
+-        "connection.proto",
+-        "connector.proto",
+-        "connector_version.proto",
+-        "connectors_service.proto",
+-        "destination_config.proto",
+-        "provider.proto",
+-        "runtime.proto",
+-    ],
+-    deps = [
+-        "//google/api:annotations_proto",
+-        "//google/api:client_proto",
+-        "//google/api:field_behavior_proto",
+-        "//google/api:resource_proto",
+-        "//google/longrunning:operations_proto",
+-        "@com_google_protobuf//:field_mask_proto",
+-        "@com_google_protobuf//:struct_proto",
+-        "@com_google_protobuf//:timestamp_proto",
+-    ],
+-)
+-
+-proto_library_with_info(
+-    name = "connectors_proto_with_info",
+-    deps = [
+-        ":connectors_proto",
+-        "//google/cloud/location:location_proto",
+-        "//google/cloud:common_resources_proto",
+-        "//google/iam/v1:iam_policy_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Java
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "java_gapic_assembly_gradle_pkg",
+-    "java_gapic_library",
+-    "java_gapic_test",
+-    "java_grpc_library",
+-    "java_proto_library",
+-)
+-
+-java_proto_library(
+-    name = "connectors_java_proto",
+-    deps = [":connectors_proto"],
+-)
+-
+-java_grpc_library(
+-    name = "connectors_java_grpc",
+-    srcs = [":connectors_proto"],
+-    deps = [":connectors_java_proto"],
+-)
+-
+-java_gapic_library(
+-    name = "connectors_java_gapic",
+-    srcs = [":connectors_proto_with_info"],
+-    gapic_yaml = None,
+-    grpc_service_config = "connectors_grpc_service_config.json",
+-    service_yaml = "connectors_v1.yaml",
+-    test_deps = [
+-        ":connectors_java_grpc",
+-        "//google/cloud/location:location_java_grpc",
+-        "//google/iam/v1:iam_java_grpc",
+-    ],
+-    transport = "grpc+rest",
+-    deps = [
+-        ":connectors_java_proto",
+-        "//google/api:api_java_proto",
+-        "//google/cloud/location:location_java_proto",
+-        "//google/iam/v1:iam_java_proto",
+-    ],
+-)
+-
+-java_gapic_test(
+-    name = "connectors_java_gapic_test_suite",
+-    test_classes = [
+-        "com.google.cloud.connectors.v1.ConnectorsClientHttpJsonTest",
+-        "com.google.cloud.connectors.v1.ConnectorsClientTest",
+-    ],
+-    runtime_deps = [":connectors_java_gapic_test"],
+-)
+-
+-# Open Source Packages
+-java_gapic_assembly_gradle_pkg(
+-    name = "google-cloud-connectors-v1-java",
+-    transport = "grpc+rest",
+-    deps = [
+-        ":connectors_java_gapic",
+-        ":connectors_java_grpc",
+-        ":connectors_java_proto",
+-        ":connectors_proto",
+-    ],
+-    include_samples = True,
+-)
+-
+-##############################################################################
+-# Go
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "go_gapic_assembly_pkg",
+-    "go_gapic_library",
+-    "go_proto_library",
+-    "go_test",
+-)
+-
+-go_proto_library(
+-    name = "connectors_go_proto",
+-    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
+-    importpath = "google.golang.org/genproto/googleapis/cloud/connectors/v1",
+-    protos = [":connectors_proto"],
+-    deps = [
+-        "//google/api:annotations_go_proto",
+-        "//google/longrunning:longrunning_go_proto",
+-    ],
+-)
+-
+-go_gapic_library(
+-    name = "connectors_go_gapic",
+-    srcs = [":connectors_proto_with_info"],
+-    grpc_service_config = "connectors_grpc_service_config.json",
+-    importpath = "cloud.google.com/go/connectors/apiv1;connectors",
+-    metadata = True,
+-    service_yaml = "connectors_v1.yaml",
+-    transport = "grpc+rest",
+-    deps = [
+-        ":connectors_go_proto",
+-        "//google/cloud/location:location_go_proto",
+-        "//google/iam/v1:iam_go_proto",
+-        "//google/longrunning:longrunning_go_proto",
+-        "@com_google_cloud_go//longrunning/autogen:go_default_library",
+-        "@com_google_cloud_go//longrunning:go_default_library",
+-        "@io_bazel_rules_go//proto/wkt:struct_go_proto",
+-    ],
+-)
+-
+-go_test(
+-    name = "connectors_go_gapic_test",
+-    srcs = [":connectors_go_gapic_srcjar_test"],
+-    embed = [":connectors_go_gapic"],
+-    importpath = "cloud.google.com/go/connectors/apiv1",
+-)
+-
+-# Open Source Packages
+-go_gapic_assembly_pkg(
+-    name = "gapi-cloud-connectors-v1-go",
+-    deps = [
+-        ":connectors_go_gapic",
+-        ":connectors_go_gapic_srcjar-test.srcjar",
+-        ":connectors_go_gapic_srcjar-metadata.srcjar",
+-        ":connectors_go_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Python
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "py_gapic_assembly_pkg",
+-    "py_gapic_library",
+-    "py_test",
+-)
+-
+-py_gapic_library(
+-    name = "connectors_py_gapic",
+-    srcs = [":connectors_proto"],
+-    grpc_service_config = "connectors_grpc_service_config.json",
+-    service_yaml = "connectors_v1.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "connectors_py_gapic_test",
+-    srcs = [
+-        "connectors_py_gapic_pytest.py",
+-        "connectors_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":connectors_py_gapic"],
+-)
+-
+-# Open Source Packages
+-py_gapic_assembly_pkg(
+-    name = "connectors-v1-py",
+-    deps = [
+-        ":connectors_py_gapic",
+-    ],
+-)
+-
+-##############################################################################
+-# PHP
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "php_gapic_assembly_pkg",
+-    "php_gapic_library",
+-    "php_grpc_library",
+-    "php_proto_library",
+-)
+-
+-php_proto_library(
+-    name = "connectors_php_proto",
+-    deps = [":connectors_proto"],
+-)
+-
+-php_grpc_library(
+-    name = "connectors_php_grpc",
+-    srcs = [":connectors_proto"],
+-    deps = [":connectors_php_proto"],
+-)
+-
+-php_gapic_library(
+-    name = "connectors_php_gapic",
+-    srcs = [":connectors_proto_with_info"],
+-    grpc_service_config = "connectors_grpc_service_config.json",
+-    service_yaml = "connectors_v1.yaml",
+-    deps = [
+-        ":connectors_php_grpc",
+-        ":connectors_php_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-php_gapic_assembly_pkg(
+-    name = "google-cloud-connectors-v1-php",
+-    deps = [
+-        ":connectors_php_gapic",
+-        ":connectors_php_grpc",
+-        ":connectors_php_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Node.js
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "nodejs_gapic_assembly_pkg",
+-    "nodejs_gapic_library",
+-)
+-
+-nodejs_gapic_library(
+-    name = "connectors_nodejs_gapic",
+-    package_name = "@google-cloud/connectors",
+-    src = ":connectors_proto_with_info",
+-    extra_protoc_parameters = ["metadata"],
+-    grpc_service_config = "connectors_grpc_service_config.json",
+-    package = "google.cloud.connectors.v1",
+-    service_yaml = "connectors_v1.yaml",
+-    deps = [],
+-)
+-
+-nodejs_gapic_assembly_pkg(
+-    name = "connectors-v1-nodejs",
+-    deps = [
+-        ":connectors_nodejs_gapic",
+-        ":connectors_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Ruby
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "ruby_gapic_assembly_pkg",
+-    "ruby_cloud_gapic_library",
+-    "ruby_grpc_library",
+-    "ruby_proto_library",
+-)
+-
+-ruby_proto_library(
+-    name = "connectors_ruby_proto",
+-    deps = [":connectors_proto"],
+-)
+-
+-ruby_grpc_library(
+-    name = "connectors_ruby_grpc",
+-    srcs = [":connectors_proto"],
+-    deps = [":connectors_ruby_proto"],
+-)
+-
+-ruby_cloud_gapic_library(
+-    name = "connectors_ruby_gapic",
+-    srcs = [":connectors_proto_with_info"],
+-    extra_protoc_parameters = [
+-        "ruby-cloud-gem-name=google-cloud-connectors-v1",
+-    ],
+-    grpc_service_config = "connectors_grpc_service_config.json",
+-    service_yaml = "connectors_v1.yaml",
+-    deps = [
+-        ":connectors_ruby_grpc",
+-        ":connectors_ruby_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-ruby_gapic_assembly_pkg(
+-    name = "google-cloud-connectors-v1-ruby",
+-    deps = [
+-        ":connectors_ruby_gapic",
+-        ":connectors_ruby_grpc",
+-        ":connectors_ruby_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# C#
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "csharp_gapic_assembly_pkg",
+-    "csharp_gapic_library",
+-    "csharp_grpc_library",
+-    "csharp_proto_library",
+-)
+-
+-csharp_proto_library(
+-    name = "connectors_csharp_proto",
+-    deps = [":connectors_proto"],
+-)
+-
+-csharp_grpc_library(
+-    name = "connectors_csharp_grpc",
+-    srcs = [":connectors_proto"],
+-    deps = [":connectors_csharp_proto"],
+-)
+-
+-csharp_gapic_library(
+-    name = "connectors_csharp_gapic",
+-    srcs = [":connectors_proto_with_info"],
+-    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
+-    grpc_service_config = "connectors_grpc_service_config.json",
+-    service_yaml = "connectors_v1.yaml",
+-    deps = [
+-        ":connectors_csharp_grpc",
+-        ":connectors_csharp_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-csharp_gapic_assembly_pkg(
+-    name = "google-cloud-connectors-v1-csharp",
+-    deps = [
+-        ":connectors_csharp_gapic",
+-        ":connectors_csharp_grpc",
+-        ":connectors_csharp_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# C++
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "cc_grpc_library",
+-    "cc_proto_library",
+-)
+-
+-cc_proto_library(
+-    name = "connectors_cc_proto",
+-    deps = [":connectors_proto"],
+-)
+-
+-cc_grpc_library(
+-    name = "connectors_cc_grpc",
+-    srcs = [":connectors_proto"],
+-    grpc_only = True,
+-    deps = [":connectors_cc_proto"],
+-)
 diff -urN a/google/cloud/contactcenterinsights/BUILD.bazel b/google/cloud/contactcenterinsights/BUILD.bazel
 --- a/google/cloud/contactcenterinsights/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/contactcenterinsights/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
@@ -35874,7 +37014,7 @@
 diff -urN a/google/cloud/contactcenterinsights/v1/BUILD.bazel b/google/cloud/contactcenterinsights/v1/BUILD.bazel
 --- a/google/cloud/contactcenterinsights/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/contactcenterinsights/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,377 +0,0 @@
+@@ -1,388 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -36046,6 +37186,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -36059,6 +37200,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "contactcenterinsights_py_gapic_test",
+-    srcs = [
+-        "contactcenterinsights_py_gapic_pytest.py",
+-        "contactcenterinsights_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":contactcenterinsights_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "contactcenterinsights-v1-py",
@@ -36299,7 +37450,7 @@
 diff -urN a/google/cloud/datacatalog/v1/BUILD.bazel b/google/cloud/datacatalog/v1/BUILD.bazel
 --- a/google/cloud/datacatalog/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/datacatalog/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,381 +0,0 @@
+@@ -1,400 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -36391,6 +37542,7 @@
 -        ":datacatalog_java_grpc",
 -        "//google/iam/v1:iam_java_grpc",
 -    ],
+-    transport = "grpc+rest",
 -    deps = [
 -        ":datacatalog_java_proto",
 -        "//google/iam/v1:iam_java_proto",
@@ -36400,8 +37552,11 @@
 -java_gapic_test(
 -    name = "datacatalog_java_gapic_test_suite",
 -    test_classes = [
+-        "com.google.cloud.datacatalog.v1.DataCatalogClientHttpJsonTest",
 -        "com.google.cloud.datacatalog.v1.DataCatalogClientTest",
+-        "com.google.cloud.datacatalog.v1.PolicyTagManagerClientHttpJsonTest",
 -        "com.google.cloud.datacatalog.v1.PolicyTagManagerClientTest",
+-        "com.google.cloud.datacatalog.v1.PolicyTagManagerSerializationClientHttpJsonTest",
 -        "com.google.cloud.datacatalog.v1.PolicyTagManagerSerializationClientTest",
 -    ],
 -    runtime_deps = [":datacatalog_java_gapic_test"],
@@ -36448,6 +37603,7 @@
 -    importpath = "cloud.google.com/go/datacatalog/apiv1;datacatalog",
 -    metadata = True,
 -    service_yaml = "datacatalog_v1.yaml",
+-    transport = "grpc+rest",
 -    deps = [
 -        ":datacatalog_go_proto",
 -        "//google/iam/v1:iam_go_proto",
@@ -36479,12 +37635,26 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "datacatalog_py_gapic",
 -    srcs = [":datacatalog_proto"],
 -    grpc_service_config = "datacatalog_grpc_service_config.json",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "datacatalog_py_gapic_test",
+-    srcs = [
+-        "datacatalog_py_gapic_pytest.py",
+-        "datacatalog_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":datacatalog_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -36684,7 +37854,7 @@
 diff -urN a/google/cloud/datacatalog/v1beta1/BUILD.bazel b/google/cloud/datacatalog/v1beta1/BUILD.bazel
 --- a/google/cloud/datacatalog/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/datacatalog/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,340 +0,0 @@
+@@ -1,359 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -36762,6 +37932,7 @@
 -        ":datacatalog_java_grpc",
 -        "//google/iam/v1:iam_java_grpc",
 -    ],
+-    transport = "grpc+rest",
 -    deps = [
 -        ":datacatalog_java_proto",
 -        "//google/iam/v1:iam_java_proto",
@@ -36772,8 +37943,11 @@
 -    name = "datacatalog_java_gapic_test_suite",
 -    test_classes = [
 -        "com.google.cloud.datacatalog.v1beta1.DataCatalogClientTest",
+-        "com.google.cloud.datacatalog.v1beta1.DataCatalogClientHttpJsonTest",
 -        "com.google.cloud.datacatalog.v1beta1.PolicyTagManagerClientTest",
+-        "com.google.cloud.datacatalog.v1beta1.PolicyTagManagerClientHttpJsonTest",
 -        "com.google.cloud.datacatalog.v1beta1.PolicyTagManagerSerializationClientTest",
+-        "com.google.cloud.datacatalog.v1beta1.PolicyTagManagerSerializationClientHttpJsonTest",
 -    ],
 -    runtime_deps = [":datacatalog_java_gapic_test"],
 -)
@@ -36818,6 +37992,7 @@
 -    grpc_service_config = "datacatalog_grpc_service_config.json",
 -    importpath = "cloud.google.com/go/datacatalog/apiv1beta1;datacatalog",
 -    service_yaml = "datacatalog_v1beta1.yaml",
+-    transport = "grpc+rest",
 -    deps = [
 -        ":datacatalog_go_proto",
 -        "//google/iam/v1:iam_go_proto",
@@ -36848,12 +38023,26 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "datacatalog_py_gapic",
 -    srcs = [":datacatalog_proto"],
 -    grpc_service_config = "datacatalog_grpc_service_config.json",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "datacatalog_py_gapic_test",
+-    srcs = [
+-        "datacatalog_py_gapic_pytest.py",
+-        "datacatalog_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":datacatalog_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -37033,7 +38222,7 @@
 diff -urN a/google/cloud/dataform/v1alpha2/BUILD.bazel b/google/cloud/dataform/v1alpha2/BUILD.bazel
 --- a/google/cloud/dataform/v1alpha2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/dataform/v1alpha2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,325 +0,0 @@
+@@ -1,380 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -37135,6 +38324,7 @@
 -# Open Source Packages
 -java_gapic_assembly_gradle_pkg(
 -    name = "google-cloud-dataform-v1alpha2-java",
+-    include_samples = True,
 -    transport = "grpc+rest",
 -    deps = [
 -        ":dataform_java_gapic",
@@ -37215,6 +38405,17 @@
 -    service_yaml = "dataform_v1alpha2.yaml",
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1348 is fixed
+-#py_test(
+-#    name = "dataform_py_gapic_test",
+-#    srcs = [
+-#        "dataform_py_gapic_pytest.py",
+-#        "dataform_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":dataform_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "dataform-v1alpha2-py",
@@ -37319,10 +38520,9 @@
 -ruby_cloud_gapic_library(
 -    name = "dataform_ruby_gapic",
 -    srcs = [":dataform_proto_with_info"],
--    extra_protoc_parameters = [
--        "ruby-cloud-gem-name=google-cloud-dataform-v1alpha2",
--    ],
+-    extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-dataform-v1alpha2"],
 -    grpc_service_config = "dataform_grpc_service_config.json",
+-    service_yaml = "dataform_v1alpha2.yaml",
 -    deps = [
 -        ":dataform_ruby_grpc",
 -        ":dataform_ruby_proto",
@@ -37340,6 +38540,423 @@
 -)
 -
 -##############################################################################
+-# C#
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "csharp_gapic_assembly_pkg",
+-    "csharp_gapic_library",
+-    "csharp_grpc_library",
+-    "csharp_proto_library",
+-)
+-
+-csharp_proto_library(
+-    name = "dataform_csharp_proto",
+-    deps = [":dataform_proto"],
+-)
+-
+-csharp_grpc_library(
+-    name = "dataform_csharp_grpc",
+-    srcs = [":dataform_proto"],
+-    deps = [":dataform_csharp_proto"],
+-)
+-
+-csharp_gapic_library(
+-    name = "dataform_csharp_gapic",
+-    srcs = [":dataform_proto_with_info"],
+-    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
+-    grpc_service_config = "dataform_grpc_service_config.json",
+-    service_yaml = "dataform_v1alpha2.yaml",
+-    deps = [
+-        ":dataform_csharp_grpc",
+-        ":dataform_csharp_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-csharp_gapic_assembly_pkg(
+-    name = "google-cloud-dataform-v1alpha2-csharp",
+-    deps = [
+-        ":dataform_csharp_gapic",
+-        ":dataform_csharp_grpc",
+-        ":dataform_csharp_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# C++
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "cc_grpc_library",
+-    "cc_proto_library",
+-)
+-
+-cc_proto_library(
+-    name = "dataform_cc_proto",
+-    deps = [":dataform_proto"],
+-)
+-
+-cc_grpc_library(
+-    name = "dataform_cc_grpc",
+-    srcs = [":dataform_proto"],
+-    grpc_only = True,
+-    deps = [":dataform_cc_proto"],
+-)
+diff -urN a/google/cloud/dataform/v1beta1/BUILD.bazel b/google/cloud/dataform/v1beta1/BUILD.bazel
+--- a/google/cloud/dataform/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
++++ b/google/cloud/dataform/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
+@@ -1,369 +0,0 @@
+-# This file was automatically generated by BuildFileGenerator
+-# https://github.com/googleapis/rules_gapic/tree/master/bazel
+-
+-# Most of the manual changes to this file will be overwritten.
+-# It's **only** allowed to change the following rule attribute values:
+-# - names of *_gapic_assembly_* rules
+-# - certain parameters of *_gapic_library rules, including but not limited to:
+-#    * extra_protoc_parameters
+-#    * extra_protoc_file_parameters
+-# The complete list of preserved parameters can be found in the source code.
+-
+-# This is an API workspace, having public visibility by default makes perfect sense.
+-package(default_visibility = ["//visibility:public"])
+-
+-##############################################################################
+-# Common
+-##############################################################################
+-load("@rules_proto//proto:defs.bzl", "proto_library")
+-load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
+-
+-proto_library(
+-    name = "dataform_proto",
+-    srcs = [
+-        "dataform.proto",
+-    ],
+-    deps = [
+-        "//google/api:annotations_proto",
+-        "//google/api:client_proto",
+-        "//google/api:field_behavior_proto",
+-        "//google/api:resource_proto",
+-        "//google/type:interval_proto",
+-        "@com_google_protobuf//:empty_proto",
+-        "@com_google_protobuf//:field_mask_proto",
+-    ],
+-)
+-
+-proto_library_with_info(
+-    name = "dataform_proto_with_info",
+-    deps = [
+-        ":dataform_proto",
+-        "//google/cloud:common_resources_proto",
+-        "//google/cloud/location:location_proto",
+-        "//google/iam/v1:iam_policy_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Java
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "java_gapic_assembly_gradle_pkg",
+-    "java_gapic_library",
+-    "java_gapic_test",
+-    "java_grpc_library",
+-    "java_proto_library",
+-)
+-
+-java_proto_library(
+-    name = "dataform_java_proto",
+-    deps = [":dataform_proto"],
+-)
+-
+-java_grpc_library(
+-    name = "dataform_java_grpc",
+-    srcs = [":dataform_proto"],
+-    deps = [":dataform_java_proto"],
+-)
+-
+-java_gapic_library(
+-    name = "dataform_java_gapic",
+-    srcs = [":dataform_proto_with_info"],
+-    gapic_yaml = None,
+-    grpc_service_config = "dataform_grpc_service_config.json",
+-    service_yaml = "dataform_v1beta1.yaml",
+-    test_deps = [
+-        ":dataform_java_grpc",
+-        "//google/cloud/location:location_java_grpc",
+-        "//google/iam/v1:iam_java_grpc",
+-    ],
+-    transport = "grpc+rest",
+-    deps = [
+-        ":dataform_java_proto",
+-        "//google/api:api_java_proto",
+-        "//google/cloud/location:location_java_proto",
+-        "//google/iam/v1:iam_java_proto",
+-    ],
+-)
+-
+-java_gapic_test(
+-    name = "dataform_java_gapic_test_suite",
+-    test_classes = [
+-        "com.google.cloud.dataform.v1beta1.DataformClientHttpJsonTest",
+-        "com.google.cloud.dataform.v1beta1.DataformClientTest",
+-    ],
+-    runtime_deps = [":dataform_java_gapic_test"],
+-)
+-
+-# Open Source Packages
+-java_gapic_assembly_gradle_pkg(
+-    name = "google-cloud-dataform-v1beta1-java",
+-    include_samples = True,
+-    transport = "grpc+rest",
+-    deps = [
+-        ":dataform_java_gapic",
+-        ":dataform_java_grpc",
+-        ":dataform_java_proto",
+-        ":dataform_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Go
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "go_gapic_assembly_pkg",
+-    "go_gapic_library",
+-    "go_proto_library",
+-    "go_test",
+-)
+-
+-go_proto_library(
+-    name = "dataform_go_proto",
+-    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
+-    importpath = "google.golang.org/genproto/googleapis/cloud/dataform/v1beta1",
+-    protos = [":dataform_proto"],
+-    deps = [
+-        "//google/api:annotations_go_proto",
+-        "//google/type:interval_go_proto",
+-    ],
+-)
+-
+-go_gapic_library(
+-    name = "dataform_go_gapic",
+-    srcs = [":dataform_proto_with_info"],
+-    grpc_service_config = "dataform_grpc_service_config.json",
+-    importpath = "cloud.google.com/go/dataform/apiv1beta1;dataform",
+-    metadata = True,
+-    service_yaml = "dataform_v1beta1.yaml",
+-    transport = "grpc+rest",
+-    deps = [
+-        ":dataform_go_proto",
+-        "//google/cloud/location:location_go_proto",
+-        "//google/iam/v1:iam_go_proto",
+-    ],
+-)
+-
+-go_test(
+-    name = "dataform_go_gapic_test",
+-    srcs = [":dataform_go_gapic_srcjar_test"],
+-    embed = [":dataform_go_gapic"],
+-    importpath = "cloud.google.com/go/dataform/apiv1beta1",
+-)
+-
+-# Open Source Packages
+-go_gapic_assembly_pkg(
+-    name = "gapi-cloud-dataform-v1beta1-go",
+-    deps = [
+-        ":dataform_go_gapic",
+-        ":dataform_go_gapic_srcjar-metadata.srcjar",
+-        ":dataform_go_gapic_srcjar-test.srcjar",
+-        ":dataform_go_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Python
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "py_gapic_assembly_pkg",
+-    "py_gapic_library",
+-)
+-
+-py_gapic_library(
+-    name = "dataform_py_gapic",
+-    srcs = [":dataform_proto"],
+-    grpc_service_config = "dataform_grpc_service_config.json",
+-    service_yaml = "dataform_v1beta1.yaml",
+-)
+-
+-# Open Source Packages
+-py_gapic_assembly_pkg(
+-    name = "dataform-v1beta1-py",
+-    deps = [
+-        ":dataform_py_gapic",
+-    ],
+-)
+-
+-##############################################################################
+-# PHP
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "php_gapic_assembly_pkg",
+-    "php_gapic_library",
+-    "php_grpc_library",
+-    "php_proto_library",
+-)
+-
+-php_proto_library(
+-    name = "dataform_php_proto",
+-    deps = [":dataform_proto"],
+-)
+-
+-php_grpc_library(
+-    name = "dataform_php_grpc",
+-    srcs = [":dataform_proto"],
+-    deps = [":dataform_php_proto"],
+-)
+-
+-php_gapic_library(
+-    name = "dataform_php_gapic",
+-    srcs = [":dataform_proto_with_info"],
+-    grpc_service_config = "dataform_grpc_service_config.json",
+-    service_yaml = "dataform_v1beta1.yaml",
+-    deps = [
+-        ":dataform_php_grpc",
+-        ":dataform_php_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-php_gapic_assembly_pkg(
+-    name = "google-cloud-dataform-v1beta1-php",
+-    deps = [
+-        ":dataform_php_gapic",
+-        ":dataform_php_grpc",
+-        ":dataform_php_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Node.js
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "nodejs_gapic_assembly_pkg",
+-    "nodejs_gapic_library",
+-)
+-
+-nodejs_gapic_library(
+-    name = "dataform_nodejs_gapic",
+-    package_name = "@google-cloud/dataform",
+-    src = ":dataform_proto_with_info",
+-    extra_protoc_parameters = ["metadata"],
+-    grpc_service_config = "dataform_grpc_service_config.json",
+-    package = "google.cloud.dataform.v1beta1",
+-    service_yaml = "dataform_v1beta1.yaml",
+-    deps = [],
+-)
+-
+-nodejs_gapic_assembly_pkg(
+-    name = "dataform-v1beta1-nodejs",
+-    deps = [
+-        ":dataform_nodejs_gapic",
+-        ":dataform_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Ruby
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "ruby_cloud_gapic_library",
+-    "ruby_gapic_assembly_pkg",
+-    "ruby_grpc_library",
+-    "ruby_proto_library",
+-)
+-
+-ruby_proto_library(
+-    name = "dataform_ruby_proto",
+-    deps = [":dataform_proto"],
+-)
+-
+-ruby_grpc_library(
+-    name = "dataform_ruby_grpc",
+-    srcs = [":dataform_proto"],
+-    deps = [":dataform_ruby_proto"],
+-)
+-
+-ruby_cloud_gapic_library(
+-    name = "dataform_ruby_gapic",
+-    srcs = [":dataform_proto_with_info"],
+-    extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-dataform-v1beta1"],
+-    grpc_service_config = "dataform_grpc_service_config.json",
+-    service_yaml = "dataform_v1beta1.yaml",
+-    deps = [
+-        ":dataform_ruby_grpc",
+-        ":dataform_ruby_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-ruby_gapic_assembly_pkg(
+-    name = "google-cloud-dataform-v1beta1-ruby",
+-    deps = [
+-        ":dataform_ruby_gapic",
+-        ":dataform_ruby_grpc",
+-        ":dataform_ruby_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# C#
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "csharp_gapic_assembly_pkg",
+-    "csharp_gapic_library",
+-    "csharp_grpc_library",
+-    "csharp_proto_library",
+-)
+-
+-csharp_proto_library(
+-    name = "dataform_csharp_proto",
+-    deps = [":dataform_proto"],
+-)
+-
+-csharp_grpc_library(
+-    name = "dataform_csharp_grpc",
+-    srcs = [":dataform_proto"],
+-    deps = [":dataform_csharp_proto"],
+-)
+-
+-csharp_gapic_library(
+-    name = "dataform_csharp_gapic",
+-    srcs = [":dataform_proto_with_info"],
+-    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
+-    grpc_service_config = "dataform_grpc_service_config.json",
+-    service_yaml = "dataform_v1beta1.yaml",
+-    deps = [
+-        ":dataform_csharp_grpc",
+-        ":dataform_csharp_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-csharp_gapic_assembly_pkg(
+-    name = "google-cloud-dataform-v1beta1-csharp",
+-    deps = [
+-        ":dataform_csharp_gapic",
+-        ":dataform_csharp_grpc",
+-        ":dataform_csharp_proto",
+-    ],
+-)
+-
+-##############################################################################
 -# C++
 -##############################################################################
 -load(
@@ -37405,7 +39022,7 @@
 diff -urN a/google/cloud/datafusion/v1/BUILD.bazel b/google/cloud/datafusion/v1/BUILD.bazel
 --- a/google/cloud/datafusion/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/datafusion/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,371 +0,0 @@
+@@ -1,382 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -37571,6 +39188,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -37584,6 +39202,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "datafusion_py_gapic_test",
+-    srcs = [
+-        "datafusion_py_gapic_pytest.py",
+-        "datafusion_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":datafusion_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "datafusion-v1-py",
@@ -37780,7 +39408,7 @@
 diff -urN a/google/cloud/datafusion/v1beta1/BUILD.bazel b/google/cloud/datafusion/v1beta1/BUILD.bazel
 --- a/google/cloud/datafusion/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/datafusion/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,357 +0,0 @@
+@@ -1,371 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -37953,12 +39581,26 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "datafusion_py_gapic",
 -    srcs = [":datafusion_proto"],
 -    grpc_service_config = "datafusion_grpc_service_config.json",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "datafusion_py_gapic_test",
+-    srcs = [
+-        "datafusion_py_gapic_pytest.py",
+-        "datafusion_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":datafusion_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -38185,7 +39827,7 @@
 diff -urN a/google/cloud/datalabeling/v1beta1/BUILD.bazel b/google/cloud/datalabeling/v1beta1/BUILD.bazel
 --- a/google/cloud/datalabeling/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/datalabeling/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,350 +0,0 @@
+@@ -1,361 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -38350,6 +39992,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -38358,6 +40001,16 @@
 -    grpc_service_config = "datalabeling_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "datalabeling_py_gapic_test",
+-    srcs = [
+-        "datalabeling_py_gapic_pytest.py",
+-        "datalabeling_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":datalabeling_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "datalabeling-v1beta1-py",
 -    deps = [
@@ -38582,7 +40235,7 @@
 diff -urN a/google/cloud/dataplex/v1/BUILD.bazel b/google/cloud/dataplex/v1/BUILD.bazel
 --- a/google/cloud/dataplex/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/dataplex/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,395 +0,0 @@
+@@ -1,409 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -38775,6 +40428,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -38782,6 +40436,19 @@
 -    srcs = [":dataplex_proto"],
 -    grpc_service_config = "dataplex_grpc_service_config.json",
 -    service_yaml = "dataplex_v1.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "dataplex_py_gapic_test",
+-    srcs = [
+-        "dataplex_py_gapic_pytest.py",
+-        "dataplex_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":dataplex_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -39206,7 +40873,7 @@
 diff -urN a/google/cloud/dataproc/v1/BUILD.bazel b/google/cloud/dataproc/v1/BUILD.bazel
 --- a/google/cloud/dataproc/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/dataproc/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,374 +0,0 @@
+@@ -1,385 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -39378,6 +41045,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -39386,6 +41054,16 @@
 -    grpc_service_config = "dataproc_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "dataproc_py_gapic_test",
+-    srcs = [
+-        "dataproc_py_gapic_pytest.py",
+-        "dataproc_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":dataproc_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "dataproc-v1-py",
 -    deps = [
@@ -39584,7 +41262,7 @@
 diff -urN a/google/cloud/dataqna/BUILD.bazel b/google/cloud/dataqna/BUILD.bazel
 --- a/google/cloud/dataqna/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/dataqna/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,42 +0,0 @@
+@@ -1,41 +0,0 @@
 -# This build file includes a target for the Ruby wrapper library for
 -# google-cloud-dataqna.
 -
@@ -39612,7 +41290,6 @@
 -        "ruby-cloud-wrapper-of=v1alpha:0.0",
 -        "ruby-cloud-path-override=data_qn_a=dataqna",
 -        "ruby-cloud-namespace-override=Dataqna=DataQnA",
--        "ruby-cloud-product-url=https://cloud.google.com/bigquery/docs/dataqna/",
 -        "ruby-cloud-api-id=dataqna.googleapis.com",
 -        "ruby-cloud-api-shortname=dataqna",
 -    ],
@@ -39630,7 +41307,7 @@
 diff -urN a/google/cloud/dataqna/v1alpha/BUILD.bazel b/google/cloud/dataqna/v1alpha/BUILD.bazel
 --- a/google/cloud/dataqna/v1alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/dataqna/v1alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,352 +0,0 @@
+@@ -1,363 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -39798,6 +41475,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -39806,6 +41484,16 @@
 -    grpc_service_config = "dataqna_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "dataqna_py_gapic_test",
+-    srcs = [
+-        "dataqna_py_gapic_pytest.py",
+-        "dataqna_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":dataqna_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "dataqna-v1alpha-py",
 -    deps = [
@@ -40029,7 +41717,7 @@
 diff -urN a/google/cloud/datastream/v1/BUILD.bazel b/google/cloud/datastream/v1/BUILD.bazel
 --- a/google/cloud/datastream/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/datastream/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,377 +0,0 @@
+@@ -1,396 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -40074,6 +41762,7 @@
 -        ":datastream_proto",
 -        "//google/cloud:common_resources_proto",
 -        "//google/cloud/location:location_proto",
+-        "//google/iam/v1:iam_policy_proto",
 -    ],
 -)
 -
@@ -40109,12 +41798,14 @@
 -    test_deps = [
 -        ":datastream_java_grpc",
 -        "//google/cloud/location:location_java_grpc",
+-        "//google/iam/v1:iam_java_grpc",
 -    ],
 -    transport = "grpc+rest",
 -    deps = [
 -        ":datastream_java_proto",
 -        "//google/api:api_java_proto",
 -        "//google/cloud/location:location_java_proto",
+-        "//google/iam/v1:iam_java_proto",
 -    ],
 -)
 -
@@ -40173,6 +41864,7 @@
 -    deps = [
 -        ":datastream_go_proto",
 -        "//google/cloud/location:location_go_proto",
+-        "//google/iam/v1:iam_go_proto",
 -        "//google/longrunning:longrunning_go_proto",
 -        "@com_google_cloud_go//longrunning:go_default_library",
 -        "@com_google_cloud_go//longrunning/autogen:go_default_library",
@@ -40205,12 +41897,27 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "datastream_py_gapic",
 -    srcs = [":datastream_proto"],
 -    grpc_service_config = "datastream_grpc_service_config.json",
+-    service_yaml = "datastream_v1.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "datastream_py_gapic_test",
+-    srcs = [
+-        "datastream_py_gapic_pytest.py",
+-        "datastream_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":datastream_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -40318,10 +42025,10 @@
 -    name = "datastream_ruby_gapic",
 -    srcs = [":datastream_proto_with_info"],
 -    extra_protoc_parameters = [
--        "ruby-cloud-gem-name=google-cloud-datastream-v1",
--        "ruby-cloud-product-url=https://cloud.google.com/datastream/",
 -        "ruby-cloud-api-id=datastream.googleapis.com",
 -        "ruby-cloud-api-shortname=datastream",
+-        "ruby-cloud-gem-name=google-cloud-datastream-v1",
+-        "ruby-cloud-product-url=https://cloud.google.com/datastream/",
 -    ],
 -    grpc_service_config = "datastream_grpc_service_config.json",
 -    ruby_cloud_description = "Datastream is a serverless and easy-to-use change data capture (CDC) and replication service. It allows you to synchronize data across heterogeneous databases and applications reliably, and with minimal latency and downtime.",
@@ -40410,7 +42117,7 @@
 diff -urN a/google/cloud/datastream/v1alpha1/BUILD.bazel b/google/cloud/datastream/v1alpha1/BUILD.bazel
 --- a/google/cloud/datastream/v1alpha1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/datastream/v1alpha1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,353 +0,0 @@
+@@ -1,364 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -40579,6 +42286,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -40587,6 +42295,16 @@
 -    grpc_service_config = "datastream_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "datastream_py_gapic_test",
+-    srcs = [
+-        "datastream_py_gapic_pytest.py",
+-        "datastream_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":datastream_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "datastream-v1alpha1-py",
@@ -40810,7 +42528,7 @@
 diff -urN a/google/cloud/deploy/v1/BUILD.bazel b/google/cloud/deploy/v1/BUILD.bazel
 --- a/google/cloud/deploy/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/deploy/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,378 +0,0 @@
+@@ -1,389 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -40987,6 +42705,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -40995,6 +42714,16 @@
 -    grpc_service_config = "clouddeploy_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "deploy_py_gapic_test",
+-    srcs = [
+-        "deploy_py_gapic_pytest.py",
+-        "deploy_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":deploy_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "deploy-v1-py",
@@ -41282,7 +43011,7 @@
 diff -urN a/google/cloud/dialogflow/cx/v3/BUILD.bazel b/google/cloud/dialogflow/cx/v3/BUILD.bazel
 --- a/google/cloud/dialogflow/cx/v3/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/dialogflow/cx/v3/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,440 +0,0 @@
+@@ -1,451 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -41527,6 +43256,17 @@
 -    service_yaml = "dialogflow_v3.yaml",
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1376 is fixed
+-#py_test(
+-#    name = "cx_py_gapic_test",
+-#    srcs = [
+-#        "cx_py_gapic_pytest.py",
+-#        "cx_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":cx_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "dialogflow-cx-v3-py",
@@ -41726,7 +43466,7 @@
 diff -urN a/google/cloud/dialogflow/cx/v3beta1/BUILD.bazel b/google/cloud/dialogflow/cx/v3beta1/BUILD.bazel
 --- a/google/cloud/dialogflow/cx/v3beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/dialogflow/cx/v3beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,440 +0,0 @@
+@@ -1,451 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -41971,6 +43711,17 @@
 -    service_yaml = "dialogflow_v3beta1.yaml",
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1376 is fixed
+-#py_test(
+-#    name = "cx_py_gapic_test",
+-#    srcs = [
+-#        "cx_py_gapic_pytest.py",
+-#        "cx_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":cx_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "dialogflow-cx-v3beta1-py",
@@ -42170,7 +43921,7 @@
 diff -urN a/google/cloud/dialogflow/v2/BUILD.bazel b/google/cloud/dialogflow/v2/BUILD.bazel
 --- a/google/cloud/dialogflow/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/dialogflow/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,440 +0,0 @@
+@@ -1,451 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -42406,6 +44157,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -42415,6 +44167,16 @@
 -    service_yaml = "dialogflow_v2.yaml",
 -)
 -
+-py_test(
+-    name = "dialogflow_py_gapic_test",
+-    srcs = [
+-        "dialogflow_py_gapic_pytest.py",
+-        "dialogflow_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":dialogflow_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "dialogflow-v2-py",
@@ -42614,7 +44376,7 @@
 diff -urN a/google/cloud/dialogflow/v2beta1/BUILD.bazel b/google/cloud/dialogflow/v2beta1/BUILD.bazel
 --- a/google/cloud/dialogflow/v2beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/dialogflow/v2beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,434 +0,0 @@
+@@ -1,445 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -42844,6 +44606,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -42853,6 +44616,16 @@
 -    service_yaml = "dialogflow_v2beta1.yaml",
 -)
 -
+-py_test(
+-    name = "dialogflow_py_gapic_test",
+-    srcs = [
+-        "dialogflow_py_gapic_pytest.py",
+-        "dialogflow_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":dialogflow_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "dialogflow-v2beta1-py",
@@ -43097,9 +44870,9 @@
 diff -urN a/google/cloud/documentai/v1/BUILD.bazel b/google/cloud/documentai/v1/BUILD.bazel
 --- a/google/cloud/documentai/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/documentai/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,385 +0,0 @@
+@@ -1,413 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
--# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
+-# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
 -# Most of the manual changes to this file will be overwritten.
 -# It's **only** allowed to change the following rule attribute values:
@@ -43121,16 +44894,21 @@
 -proto_library(
 -    name = "documentai_proto",
 -    srcs = [
+-        "barcode.proto",
 -        "document.proto",
 -        "document_io.proto",
 -        "document_processor_service.proto",
+-        "document_schema.proto",
 -        "geometry.proto",
 -        "operation_metadata.proto",
+-        "processor.proto",
+-        "processor_type.proto",
 -    ],
 -    deps = [
 -        "//google/api:annotations_proto",
 -        "//google/api:client_proto",
 -        "//google/api:field_behavior_proto",
+-        "//google/api:launch_stage_proto",
 -        "//google/api:resource_proto",
 -        "//google/longrunning:operations_proto",
 -        "//google/rpc:status_proto",
@@ -43149,6 +44927,7 @@
 -    deps = [
 -        ":documentai_proto",
 -        "//google/cloud:common_resources_proto",
+-        "//google/cloud/location:location_proto",
 -    ],
 -)
 -
@@ -43178,13 +44957,18 @@
 -java_gapic_library(
 -    name = "documentai_java_gapic",
 -    srcs = [":documentai_proto_with_info"],
+-    gapic_yaml = None,
 -    grpc_service_config = "documentai_v1_grpc_service_config.json",
+-    service_yaml = "documentai_v1.yaml",
 -    test_deps = [
 -        ":documentai_java_grpc",
+-        "//google/cloud/location:location_java_grpc",
 -    ],
 -    transport = "grpc+rest",
 -    deps = [
 -        ":documentai_java_proto",
+-        "//google/api:api_java_proto",
+-        "//google/cloud/location:location_java_proto",
 -    ],
 -)
 -
@@ -43228,6 +45012,7 @@
 -    protos = [":documentai_proto"],
 -    deps = [
 -        "//google/api:annotations_go_proto",
+-        "//google/api:api_go_proto",
 -        "//google/longrunning:longrunning_go_proto",
 -        "//google/rpc:status_go_proto",
 -        "//google/type:color_go_proto",
@@ -43243,10 +45028,12 @@
 -    srcs = [":documentai_proto_with_info"],
 -    grpc_service_config = "documentai_v1_grpc_service_config.json",
 -    importpath = "cloud.google.com/go/documentai/apiv1;documentai",
+-    metadata = True,
 -    service_yaml = "documentai_v1.yaml",
 -    transport = "grpc+rest",
 -    deps = [
 -        ":documentai_go_proto",
+-        "//google/cloud/location:location_go_proto",
 -        "//google/longrunning:longrunning_go_proto",
 -        "@com_google_cloud_go//longrunning:go_default_library",
 -        "@com_google_cloud_go//longrunning/autogen:go_default_library",
@@ -43265,6 +45052,7 @@
 -    name = "gapi-cloud-documentai-v1-go",
 -    deps = [
 -        ":documentai_go_gapic",
+-        ":documentai_go_gapic_srcjar-metadata.srcjar",
 -        ":documentai_go_gapic_srcjar-test.srcjar",
 -        ":documentai_go_proto",
 -    ],
@@ -43277,17 +45065,29 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "documentai_py_gapic",
 -    srcs = [":documentai_proto"],
 -    grpc_service_config = "documentai_v1_grpc_service_config.json",
--    opt_args = [
--        "autogen-snippets",
+-    opt_args = ["autogen-snippets"],
+-    service_yaml = "documentai_v1.yaml",
+-    deps = [
 -    ],
 -)
 -
+-py_test(
+-    name = "documentai_py_gapic_test",
+-    srcs = [
+-        "documentai_py_gapic_pytest.py",
+-        "documentai_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":documentai_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "documentai-v1-py",
@@ -43393,16 +45193,17 @@
 -    name = "documentai_ruby_gapic",
 -    srcs = [":documentai_proto_with_info"],
 -    extra_protoc_parameters = [
--        "ruby-cloud-gem-name=google-cloud-document_ai-v1",
--        "ruby-cloud-env-prefix=DOCUMENT_AI",
--        "ruby-cloud-product-url=https://cloud.google.com/document-ai/",
 -        "ruby-cloud-api-id=us-documentai.googleapis.com",
 -        "ruby-cloud-api-shortname=documentai",
+-        "ruby-cloud-env-prefix=DOCUMENT_AI",
+-        "ruby-cloud-gem-name=google-cloud-document_ai-v1",
 -        "ruby-cloud-namespace-override=DocumentAi=DocumentAI",
+-        "ruby-cloud-product-url=https://cloud.google.com/document-ai/",
 -    ],
 -    grpc_service_config = "documentai_v1_grpc_service_config.json",
 -    ruby_cloud_description = "Document AI uses machine learning on a single cloud-based platform to automatically classify, extract, and enrich data within your documents to unlock insights.",
 -    ruby_cloud_title = "Document AI V1",
+-    service_yaml = "documentai_v1.yaml",
 -    deps = [
 -        ":documentai_ruby_grpc",
 -        ":documentai_ruby_proto",
@@ -43486,7 +45287,7 @@
 diff -urN a/google/cloud/documentai/v1beta1/BUILD.bazel b/google/cloud/documentai/v1beta1/BUILD.bazel
 --- a/google/cloud/documentai/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/documentai/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,340 +0,0 @@
+@@ -1,351 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -43650,6 +45451,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -43658,6 +45460,16 @@
 -    grpc_service_config = "documentai_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "documentai_py_gapic_test",
+-    srcs = [
+-        "documentai_py_gapic_pytest.py",
+-        "documentai_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":documentai_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "documentai-v1beta1-py",
@@ -43830,7 +45642,7 @@
 diff -urN a/google/cloud/documentai/v1beta2/BUILD.bazel b/google/cloud/documentai/v1beta2/BUILD.bazel
 --- a/google/cloud/documentai/v1beta2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/documentai/v1beta2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,339 +0,0 @@
+@@ -1,350 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -43994,6 +45806,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -44002,6 +45815,16 @@
 -    grpc_service_config = "documentai_v1beta2_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "documentai_py_gapic_test",
+-    srcs = [
+-        "documentai_py_gapic_pytest.py",
+-        "documentai_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":documentai_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "documentai-v1beta2-py",
@@ -44173,9 +45996,9 @@
 diff -urN a/google/cloud/documentai/v1beta3/BUILD.bazel b/google/cloud/documentai/v1beta3/BUILD.bazel
 --- a/google/cloud/documentai/v1beta3/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/documentai/v1beta3/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,370 +0,0 @@
+@@ -1,413 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
--# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
+-# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
 -# Most of the manual changes to this file will be overwritten.
 -# It's **only** allowed to change the following rule attribute values:
@@ -44197,9 +46020,11 @@
 -proto_library(
 -    name = "documentai_proto",
 -    srcs = [
+-        "barcode.proto",
 -        "document.proto",
 -        "document_io.proto",
 -        "document_processor_service.proto",
+-        "document_schema.proto",
 -        "geometry.proto",
 -        "operation_metadata.proto",
 -        "processor.proto",
@@ -44209,6 +46034,7 @@
 -        "//google/api:annotations_proto",
 -        "//google/api:client_proto",
 -        "//google/api:field_behavior_proto",
+-        "//google/api:launch_stage_proto",
 -        "//google/api:resource_proto",
 -        "//google/longrunning:operations_proto",
 -        "//google/rpc:status_proto",
@@ -44227,6 +46053,7 @@
 -    deps = [
 -        ":documentai_proto",
 -        "//google/cloud:common_resources_proto",
+-        "//google/cloud/location:location_proto",
 -    ],
 -)
 -
@@ -44256,13 +46083,18 @@
 -java_gapic_library(
 -    name = "documentai_java_gapic",
 -    srcs = [":documentai_proto_with_info"],
+-    gapic_yaml = None,
 -    grpc_service_config = "documentai_v1beta3_grpc_service_config.json",
+-    service_yaml = "documentai_v1beta3.yaml",
 -    test_deps = [
 -        ":documentai_java_grpc",
+-        "//google/cloud/location:location_java_grpc",
 -    ],
 -    transport = "grpc+rest",
 -    deps = [
 -        ":documentai_java_proto",
+-        "//google/api:api_java_proto",
+-        "//google/cloud/location:location_java_proto",
 -    ],
 -)
 -
@@ -44306,6 +46138,7 @@
 -    protos = [":documentai_proto"],
 -    deps = [
 -        "//google/api:annotations_go_proto",
+-        "//google/api:api_go_proto",
 -        "//google/longrunning:longrunning_go_proto",
 -        "//google/rpc:status_go_proto",
 -        "//google/type:color_go_proto",
@@ -44321,10 +46154,12 @@
 -    srcs = [":documentai_proto_with_info"],
 -    grpc_service_config = "documentai_v1beta3_grpc_service_config.json",
 -    importpath = "cloud.google.com/go/documentai/apiv1beta3;documentai",
+-    metadata = True,
 -    service_yaml = "documentai_v1beta3.yaml",
 -    transport = "grpc+rest",
 -    deps = [
 -        ":documentai_go_proto",
+-        "//google/cloud/location:location_go_proto",
 -        "//google/longrunning:longrunning_go_proto",
 -        "@com_google_cloud_go//longrunning:go_default_library",
 -        "@com_google_cloud_go//longrunning/autogen:go_default_library",
@@ -44343,6 +46178,7 @@
 -    name = "gapi-cloud-documentai-v1beta3-go",
 -    deps = [
 -        ":documentai_go_gapic",
+-        ":documentai_go_gapic_srcjar-metadata.srcjar",
 -        ":documentai_go_gapic_srcjar-test.srcjar",
 -        ":documentai_go_proto",
 -    ],
@@ -44355,17 +46191,29 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "documentai_py_gapic",
 -    srcs = [":documentai_proto"],
 -    grpc_service_config = "documentai_v1beta3_grpc_service_config.json",
--    opt_args = [
--        "autogen-snippets",
+-    opt_args = ["autogen-snippets"],
+-    service_yaml = "documentai_v1beta3.yaml",
+-    deps = [
 -    ],
 -)
 -
+-py_test(
+-    name = "documentai_py_gapic_test",
+-    srcs = [
+-        "documentai_py_gapic_pytest.py",
+-        "documentai_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":documentai_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "documentai-v1beta3-py",
@@ -44400,6 +46248,7 @@
 -    name = "documentai_php_gapic",
 -    srcs = [":documentai_proto_with_info"],
 -    grpc_service_config = "documentai_v1beta3_grpc_service_config.json",
+-    service_yaml = "documentai_v1beta3.yaml",
 -    deps = [
 -        ":documentai_php_grpc",
 -        ":documentai_php_proto",
@@ -44470,16 +46319,17 @@
 -    name = "documentai_ruby_gapic",
 -    srcs = [":documentai_proto_with_info"],
 -    extra_protoc_parameters = [
--        "ruby-cloud-gem-name=google-cloud-document_ai-v1beta3",
--        "ruby-cloud-env-prefix=DOCUMENT_AI",
--        "ruby-cloud-product-url=https://cloud.google.com/document-ai/",
 -        "ruby-cloud-api-id=us-documentai.googleapis.com",
 -        "ruby-cloud-api-shortname=documentai",
+-        "ruby-cloud-env-prefix=DOCUMENT_AI",
+-        "ruby-cloud-gem-name=google-cloud-document_ai-v1beta3",
 -        "ruby-cloud-namespace-override=DocumentAi=DocumentAI",
+-        "ruby-cloud-product-url=https://cloud.google.com/document-ai/",
 -    ],
 -    grpc_service_config = "documentai_v1beta3_grpc_service_config.json",
 -    ruby_cloud_description = "Document AI uses machine learning on a single cloud-based platform to automatically classify, extract, and enrich data within your documents to unlock insights.",
 -    ruby_cloud_title = "Document AI V1beta3",
+-    service_yaml = "documentai_v1beta3.yaml",
 -    deps = [
 -        ":documentai_ruby_grpc",
 -        ":documentai_ruby_proto",
@@ -44543,7 +46393,23 @@
 -##############################################################################
 -# C++
 -##############################################################################
--# Put your C++ rules here
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "cc_grpc_library",
+-    "cc_proto_library",
+-)
+-
+-cc_proto_library(
+-    name = "documentai_cc_proto",
+-    deps = [":documentai_proto"],
+-)
+-
+-cc_grpc_library(
+-    name = "documentai_cc_grpc",
+-    srcs = [":documentai_proto"],
+-    grpc_only = True,
+-    deps = [":documentai_cc_proto"],
+-)
 diff -urN a/google/cloud/domains/BUILD.bazel b/google/cloud/domains/BUILD.bazel
 --- a/google/cloud/domains/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/domains/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
@@ -44591,7 +46457,7 @@
 diff -urN a/google/cloud/domains/v1/BUILD.bazel b/google/cloud/domains/v1/BUILD.bazel
 --- a/google/cloud/domains/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/domains/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,375 +0,0 @@
+@@ -1,386 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -44765,6 +46631,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -44773,6 +46640,16 @@
 -    grpc_service_config = "domains_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "domains_py_gapic_test",
+-    srcs = [
+-        "domains_py_gapic_pytest.py",
+-        "domains_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":domains_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "domains-v1-py",
@@ -44970,7 +46847,7 @@
 diff -urN a/google/cloud/domains/v1alpha2/BUILD.bazel b/google/cloud/domains/v1alpha2/BUILD.bazel
 --- a/google/cloud/domains/v1alpha2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/domains/v1alpha2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,359 +0,0 @@
+@@ -1,370 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -45144,6 +47021,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -45152,6 +47030,16 @@
 -    grpc_service_config = "domains_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "domains_py_gapic_test",
+-    srcs = [
+-        "domains_py_gapic_pytest.py",
+-        "domains_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":domains_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "domains-v1alpha2-py",
@@ -45333,7 +47221,7 @@
 diff -urN a/google/cloud/domains/v1beta1/BUILD.bazel b/google/cloud/domains/v1beta1/BUILD.bazel
 --- a/google/cloud/domains/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/domains/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,359 +0,0 @@
+@@ -1,370 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -45507,6 +47395,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -45515,6 +47404,16 @@
 -    grpc_service_config = "domains_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "domains_py_gapic_test",
+-    srcs = [
+-        "domains_py_gapic_pytest.py",
+-        "domains_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":domains_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "domains-v1beta1-py",
@@ -45693,6 +47592,390 @@
 -# C++
 -##############################################################################
 -# Put your C++ rules here
+diff -urN a/google/cloud/edgecontainer/v1/BUILD.bazel b/google/cloud/edgecontainer/v1/BUILD.bazel
+--- a/google/cloud/edgecontainer/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
++++ b/google/cloud/edgecontainer/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
+@@ -1,380 +0,0 @@
+-# This file was automatically generated by BuildFileGenerator
+-# https://github.com/googleapis/rules_gapic/tree/master/bazel
+-
+-# Most of the manual changes to this file will be overwritten.
+-# It's **only** allowed to change the following rule attribute values:
+-# - names of *_gapic_assembly_* rules
+-# - certain parameters of *_gapic_library rules, including but not limited to:
+-#    * extra_protoc_parameters
+-#    * extra_protoc_file_parameters
+-# The complete list of preserved parameters can be found in the source code.
+-
+-# This is an API workspace, having public visibility by default makes perfect sense.
+-package(default_visibility = ["//visibility:public"])
+-
+-##############################################################################
+-# Common
+-##############################################################################
+-load("@rules_proto//proto:defs.bzl", "proto_library")
+-load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
+-
+-proto_library(
+-    name = "edgecontainer_proto",
+-    srcs = [
+-        "resources.proto",
+-        "service.proto",
+-    ],
+-    deps = [
+-        "//google/api:annotations_proto",
+-        "//google/api:client_proto",
+-        "//google/api:field_behavior_proto",
+-        "//google/api:resource_proto",
+-        "//google/longrunning:operations_proto",
+-        "//google/rpc:status_proto",
+-        "@com_google_protobuf//:field_mask_proto",
+-        "@com_google_protobuf//:timestamp_proto",
+-    ],
+-)
+-
+-proto_library_with_info(
+-    name = "edgecontainer_proto_with_info",
+-    deps = [
+-        ":edgecontainer_proto",
+-        "//google/cloud:common_resources_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Java
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "java_gapic_assembly_gradle_pkg",
+-    "java_gapic_library",
+-    "java_gapic_test",
+-    "java_grpc_library",
+-    "java_proto_library",
+-)
+-
+-java_proto_library(
+-    name = "edgecontainer_java_proto",
+-    deps = [":edgecontainer_proto"],
+-)
+-
+-java_grpc_library(
+-    name = "edgecontainer_java_grpc",
+-    srcs = [":edgecontainer_proto"],
+-    deps = [":edgecontainer_java_proto"],
+-)
+-
+-java_gapic_library(
+-    name = "edgecontainer_java_gapic",
+-    srcs = [":edgecontainer_proto_with_info"],
+-    gapic_yaml = None,
+-    grpc_service_config = "edgecontainer_grpc_service_config.json",
+-    service_yaml = None,
+-    test_deps = [
+-        ":edgecontainer_java_grpc",
+-    ],
+-    transport = "grpc+rest",
+-    deps = [
+-        ":edgecontainer_java_proto",
+-        "//google/api:api_java_proto",
+-    ],
+-)
+-
+-java_gapic_test(
+-    name = "edgecontainer_java_gapic_test_suite",
+-    test_classes = [
+-        "com.google.cloud.edgecontainer.v1.EdgeContainerClientHttpJsonTest",
+-        "com.google.cloud.edgecontainer.v1.EdgeContainerClientTest",
+-    ],
+-    runtime_deps = [":edgecontainer_java_gapic_test"],
+-)
+-
+-# Open Source Packages
+-java_gapic_assembly_gradle_pkg(
+-    name = "google-cloud-edgecontainer-v1-java",
+-    include_samples = True,
+-    transport = "grpc+rest",
+-    deps = [
+-        ":edgecontainer_java_gapic",
+-        ":edgecontainer_java_grpc",
+-        ":edgecontainer_java_proto",
+-        ":edgecontainer_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Go
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "go_gapic_assembly_pkg",
+-    "go_gapic_library",
+-    "go_proto_library",
+-    "go_test",
+-)
+-
+-go_proto_library(
+-    name = "edgecontainer_go_proto",
+-    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
+-    importpath = "google.golang.org/genproto/googleapis/cloud/edgecontainer/v1",
+-    protos = [":edgecontainer_proto"],
+-    deps = [
+-        "//google/api:annotations_go_proto",
+-        "//google/longrunning:longrunning_go_proto",
+-        "//google/rpc:status_go_proto",
+-    ],
+-)
+-
+-go_gapic_library(
+-    name = "edgecontainer_go_gapic",
+-    srcs = [":edgecontainer_proto_with_info"],
+-    grpc_service_config = "edgecontainer_grpc_service_config.json",
+-    importpath = "cloud.google.com/go/edgecontainer/apiv1;edgecontainer",
+-    metadata = True,
+-    service_yaml = None,
+-    transport = "grpc+rest",
+-    deps = [
+-        ":edgecontainer_go_proto",
+-        "//google/longrunning:longrunning_go_proto",
+-        "@com_google_cloud_go//longrunning:go_default_library",
+-        "@com_google_cloud_go//longrunning/autogen:go_default_library",
+-    ],
+-)
+-
+-go_test(
+-    name = "edgecontainer_go_gapic_test",
+-    srcs = [":edgecontainer_go_gapic_srcjar_test"],
+-    embed = [":edgecontainer_go_gapic"],
+-    importpath = "cloud.google.com/go/edgecontainer/apiv1",
+-)
+-
+-# Open Source Packages
+-go_gapic_assembly_pkg(
+-    name = "gapi-cloud-edgecontainer-v1-go",
+-    deps = [
+-        ":edgecontainer_go_gapic",
+-        ":edgecontainer_go_gapic_srcjar-metadata.srcjar",
+-        ":edgecontainer_go_gapic_srcjar-test.srcjar",
+-        ":edgecontainer_go_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Python
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "py_gapic_assembly_pkg",
+-    "py_gapic_library",
+-    "py_test",
+-)
+-
+-py_gapic_library(
+-    name = "edgecontainer_py_gapic",
+-    srcs = [":edgecontainer_proto"],
+-    grpc_service_config = "edgecontainer_grpc_service_config.json",
+-    service_yaml = None,
+-    deps = [
+-    ],
+-)
+-
+-py_test(
+-    name = "edgecontainer_py_gapic_test",
+-    srcs = [
+-        "edgecontainer_py_gapic_pytest.py",
+-        "edgecontainer_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":edgecontainer_py_gapic"],
+-)
+-
+-# Open Source Packages
+-py_gapic_assembly_pkg(
+-    name = "edgecontainer-v1-py",
+-    deps = [
+-        ":edgecontainer_py_gapic",
+-    ],
+-)
+-
+-##############################################################################
+-# PHP
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "php_gapic_assembly_pkg",
+-    "php_gapic_library",
+-    "php_grpc_library",
+-    "php_proto_library",
+-)
+-
+-php_proto_library(
+-    name = "edgecontainer_php_proto",
+-    deps = [":edgecontainer_proto"],
+-)
+-
+-php_grpc_library(
+-    name = "edgecontainer_php_grpc",
+-    srcs = [":edgecontainer_proto"],
+-    deps = [":edgecontainer_php_proto"],
+-)
+-
+-php_gapic_library(
+-    name = "edgecontainer_php_gapic",
+-    srcs = [":edgecontainer_proto_with_info"],
+-    grpc_service_config = "edgecontainer_grpc_service_config.json",
+-    service_yaml = None,
+-    deps = [
+-        ":edgecontainer_php_grpc",
+-        ":edgecontainer_php_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-php_gapic_assembly_pkg(
+-    name = "google-cloud-edgecontainer-v1-php",
+-    deps = [
+-        ":edgecontainer_php_gapic",
+-        ":edgecontainer_php_grpc",
+-        ":edgecontainer_php_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Node.js
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "nodejs_gapic_assembly_pkg",
+-    "nodejs_gapic_library",
+-)
+-
+-nodejs_gapic_library(
+-    name = "edgecontainer_nodejs_gapic",
+-    package_name = "@google-cloud/edgecontainer",
+-    src = ":edgecontainer_proto_with_info",
+-    extra_protoc_parameters = ["metadata"],
+-    grpc_service_config = "edgecontainer_grpc_service_config.json",
+-    package = "google.cloud.edgecontainer.v1",
+-    service_yaml = None,
+-    deps = [],
+-)
+-
+-nodejs_gapic_assembly_pkg(
+-    name = "edgecontainer-v1-nodejs",
+-    deps = [
+-        ":edgecontainer_nodejs_gapic",
+-        ":edgecontainer_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Ruby
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "ruby_cloud_gapic_library",
+-    "ruby_gapic_assembly_pkg",
+-    "ruby_grpc_library",
+-    "ruby_proto_library",
+-)
+-
+-ruby_proto_library(
+-    name = "edgecontainer_ruby_proto",
+-    deps = [":edgecontainer_proto"],
+-)
+-
+-ruby_grpc_library(
+-    name = "edgecontainer_ruby_grpc",
+-    srcs = [":edgecontainer_proto"],
+-    deps = [":edgecontainer_ruby_proto"],
+-)
+-
+-ruby_cloud_gapic_library(
+-    name = "edgecontainer_ruby_gapic",
+-    srcs = [":edgecontainer_proto_with_info"],
+-    extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-edgecontainer-v1"],
+-    grpc_service_config = "edgecontainer_grpc_service_config.json",
+-    service_yaml = None,
+-    deps = [
+-        ":edgecontainer_ruby_grpc",
+-        ":edgecontainer_ruby_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-ruby_gapic_assembly_pkg(
+-    name = "google-cloud-edgecontainer-v1-ruby",
+-    deps = [
+-        ":edgecontainer_ruby_gapic",
+-        ":edgecontainer_ruby_grpc",
+-        ":edgecontainer_ruby_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# C#
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "csharp_gapic_assembly_pkg",
+-    "csharp_gapic_library",
+-    "csharp_grpc_library",
+-    "csharp_proto_library",
+-)
+-
+-csharp_proto_library(
+-    name = "edgecontainer_csharp_proto",
+-    deps = [":edgecontainer_proto"],
+-)
+-
+-csharp_grpc_library(
+-    name = "edgecontainer_csharp_grpc",
+-    srcs = [":edgecontainer_proto"],
+-    deps = [":edgecontainer_csharp_proto"],
+-)
+-
+-csharp_gapic_library(
+-    name = "edgecontainer_csharp_gapic",
+-    srcs = [":edgecontainer_proto_with_info"],
+-    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
+-    grpc_service_config = "edgecontainer_grpc_service_config.json",
+-    service_yaml = None,
+-    deps = [
+-        ":edgecontainer_csharp_grpc",
+-        ":edgecontainer_csharp_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-csharp_gapic_assembly_pkg(
+-    name = "google-cloud-edgecontainer-v1-csharp",
+-    deps = [
+-        ":edgecontainer_csharp_gapic",
+-        ":edgecontainer_csharp_grpc",
+-        ":edgecontainer_csharp_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# C++
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "cc_grpc_library",
+-    "cc_proto_library",
+-)
+-
+-cc_proto_library(
+-    name = "edgecontainer_cc_proto",
+-    deps = [":edgecontainer_proto"],
+-)
+-
+-cc_grpc_library(
+-    name = "edgecontainer_cc_grpc",
+-    srcs = [":edgecontainer_proto"],
+-    grpc_only = True,
+-    deps = [":edgecontainer_cc_proto"],
+-)
 diff -urN a/google/cloud/essentialcontacts/BUILD.bazel b/google/cloud/essentialcontacts/BUILD.bazel
 --- a/google/cloud/essentialcontacts/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/essentialcontacts/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
@@ -45740,7 +48023,7 @@
 diff -urN a/google/cloud/essentialcontacts/v1/BUILD.bazel b/google/cloud/essentialcontacts/v1/BUILD.bazel
 --- a/google/cloud/essentialcontacts/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/essentialcontacts/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,323 +0,0 @@
+@@ -1,334 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -45780,6 +48063,7 @@
 -    "proto_library_with_info",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -    "ruby_cloud_gapic_library",
 -    "ruby_gapic_assembly_pkg",
 -    "ruby_grpc_library",
@@ -45912,6 +48196,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "essentialcontacts_py_gapic_test",
+-    srcs = [
+-        "essentialcontacts_py_gapic_pytest.py",
+-        "essentialcontacts_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":essentialcontacts_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "essentialcontacts-v1-py",
@@ -46155,7 +48449,7 @@
 diff -urN a/google/cloud/eventarc/publishing/v1/BUILD.bazel b/google/cloud/eventarc/publishing/v1/BUILD.bazel
 --- a/google/cloud/eventarc/publishing/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/eventarc/publishing/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,367 +0,0 @@
+@@ -1,378 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -46316,6 +48610,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -46329,6 +48624,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "publishing_py_gapic_test",
+-    srcs = [
+-        "publishing_py_gapic_pytest.py",
+-        "publishing_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":publishing_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "eventarc-publishing-v1-py",
@@ -46526,7 +48831,7 @@
 diff -urN a/google/cloud/eventarc/v1/BUILD.bazel b/google/cloud/eventarc/v1/BUILD.bazel
 --- a/google/cloud/eventarc/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/eventarc/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,377 +0,0 @@
+@@ -1,388 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -46701,6 +49006,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -46710,6 +49016,16 @@
 -    service_yaml = "eventarc_v1.yaml",
 -)
 -
+-py_test(
+-    name = "eventarc_py_gapic_test",
+-    srcs = [
+-        "eventarc_py_gapic_pytest.py",
+-        "eventarc_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":eventarc_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "eventarc-v1-py",
@@ -46950,7 +49266,7 @@
 diff -urN a/google/cloud/filestore/v1/BUILD.bazel b/google/cloud/filestore/v1/BUILD.bazel
 --- a/google/cloud/filestore/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/filestore/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,376 +0,0 @@
+@@ -1,390 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -47124,12 +49440,26 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "filestore_py_gapic",
 -    srcs = [":filestore_proto"],
 -    grpc_service_config = "file_grpc_service_config.json",
+-    deps = [
+-        "//google/cloud/common:common_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "filestore_py_gapic_test",
+-    srcs = [
+-        "filestore_py_gapic_pytest.py",
+-        "filestore_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":filestore_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -47330,7 +49660,7 @@
 diff -urN a/google/cloud/filestore/v1beta1/BUILD.bazel b/google/cloud/filestore/v1beta1/BUILD.bazel
 --- a/google/cloud/filestore/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/filestore/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,367 +0,0 @@
+@@ -1,368 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -47510,6 +49840,7 @@
 -#     "@com_google_googleapis_imports//:imports.bzl",
 -#     "py_gapic_assembly_pkg",
 -#     "py_gapic_library",
+-#     "py_test",
 -# )
 -
 -# py_gapic_library(
@@ -47745,7 +50076,7 @@
 diff -urN a/google/cloud/functions/v1/BUILD.bazel b/google/cloud/functions/v1/BUILD.bazel
 --- a/google/cloud/functions/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/functions/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,382 +0,0 @@
+@@ -1,396 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -47925,6 +50256,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -47932,6 +50264,19 @@
 -    srcs = [":functions_proto"],
 -    grpc_service_config = "functions_grpc_service_config.json",
 -    service_yaml = "cloudfunctions_v1.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "functions_py_gapic_test",
+-    srcs = [
+-        "functions_py_gapic_pytest.py",
+-        "functions_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":functions_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -48131,7 +50476,7 @@
 diff -urN a/google/cloud/functions/v2/BUILD.bazel b/google/cloud/functions/v2/BUILD.bazel
 --- a/google/cloud/functions/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/functions/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,374 +0,0 @@
+@@ -1,396 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -48310,6 +50655,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -48317,6 +50663,19 @@
 -    srcs = [":functions_proto"],
 -    grpc_service_config = "functions_grpc_service_config.json",
 -    service_yaml = "cloudfunctions_v2.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "functions_py_gapic_test",
+-    srcs = [
+-        "functions_py_gapic_pytest.py",
+-        "functions_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":functions_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -48423,9 +50782,17 @@
 -ruby_cloud_gapic_library(
 -    name = "functions_ruby_gapic",
 -    srcs = [":functions_proto_with_info"],
--    extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-functions-v2"],
+-    extra_protoc_parameters = [
+-        "ruby-cloud-api-id=cloudfunctions.googleapis.com",
+-        "ruby-cloud-api-shortname=cloudfunctions",
+-        "ruby-cloud-env-prefix=FUNCTIONS",
+-        "ruby-cloud-gem-name=google-cloud-functions-v2",
+-        "ruby-cloud-product-url=https://cloud.google.com/functions",
+-    ],
 -    grpc_service_config = "functions_grpc_service_config.json",
 -    service_yaml = "cloudfunctions_v2.yaml",
+-    ruby_cloud_description = "The Cloud Functions API manages lightweight user-provided functions executed in response to events.",
+-    ruby_cloud_title = "Cloud Functions V2",
 -    deps = [
 -        ":functions_ruby_grpc",
 -        ":functions_ruby_proto",
@@ -48509,7 +50876,7 @@
 diff -urN a/google/cloud/functions/v2alpha/BUILD.bazel b/google/cloud/functions/v2alpha/BUILD.bazel
 --- a/google/cloud/functions/v2alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/functions/v2alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,374 +0,0 @@
+@@ -1,388 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -48687,6 +51054,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -48694,6 +51062,19 @@
 -    srcs = [":functions_proto"],
 -    grpc_service_config = "functions_grpc_service_config.json",
 -    service_yaml = "cloudfunctions_v2alpha.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "functions_py_gapic_test",
+-    srcs = [
+-        "functions_py_gapic_pytest.py",
+-        "functions_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":functions_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -48887,7 +51268,7 @@
 diff -urN a/google/cloud/functions/v2beta/BUILD.bazel b/google/cloud/functions/v2beta/BUILD.bazel
 --- a/google/cloud/functions/v2beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/functions/v2beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,374 +0,0 @@
+@@ -1,388 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -49065,6 +51446,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -49072,6 +51454,19 @@
 -    srcs = [":functions_proto"],
 -    grpc_service_config = "functions_grpc_service_config.json",
 -    service_yaml = "cloudfunctions_v2beta.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "functions_py_gapic_test",
+-    srcs = [
+-        "functions_py_gapic_pytest.py",
+-        "functions_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":functions_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -49309,7 +51704,7 @@
 diff -urN a/google/cloud/gaming/v1/BUILD.bazel b/google/cloud/gaming/v1/BUILD.bazel
 --- a/google/cloud/gaming/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/gaming/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,384 +0,0 @@
+@@ -1,395 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -49489,6 +51884,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -49500,6 +51896,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "gaming_py_gapic_test",
+-    srcs = [
+-        "gaming_py_gapic_pytest.py",
+-        "gaming_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":gaming_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "gaming-v1-py",
@@ -49697,7 +52103,7 @@
 diff -urN a/google/cloud/gaming/v1beta/BUILD.bazel b/google/cloud/gaming/v1beta/BUILD.bazel
 --- a/google/cloud/gaming/v1beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/gaming/v1beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,349 +0,0 @@
+@@ -1,360 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -49868,6 +52274,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -49879,6 +52286,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "gaming_py_gapic_test",
+-    srcs = [
+-        "gaming_py_gapic_pytest.py",
+-        "gaming_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":gaming_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "gaming-v1beta-py",
@@ -50281,7 +52698,7 @@
 diff -urN a/google/cloud/gkebackup/v1/BUILD.bazel b/google/cloud/gkebackup/v1/BUILD.bazel
 --- a/google/cloud/gkebackup/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/gkebackup/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,327 +0,0 @@
+@@ -1,338 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -50323,6 +52740,7 @@
 -    "proto_library_with_info",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -    "ruby_cloud_gapic_library",
 -    "ruby_gapic_assembly_pkg",
 -    "ruby_grpc_library",
@@ -50467,6 +52885,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "gkebackup_py_gapic_test",
+-    srcs = [
+-        "gkebackup_py_gapic_pytest.py",
+-        "gkebackup_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":gkebackup_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "gkebackup-v1-py",
@@ -51030,7 +53458,7 @@
 diff -urN a/google/cloud/gkeconnect/gateway/v1beta1/BUILD.bazel b/google/cloud/gkeconnect/gateway/v1beta1/BUILD.bazel
 --- a/google/cloud/gkeconnect/gateway/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/gkeconnect/gateway/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,343 +0,0 @@
+@@ -1,354 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -51187,6 +53615,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -51196,6 +53625,16 @@
 -    opt_args = ["warehouse-package-name=google-cloud-gke-connect-gateway"],
 -)
 -
+-py_test(
+-    name = "gateway_py_gapic_test",
+-    srcs = [
+-        "gateway_py_gapic_pytest.py",
+-        "gateway_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":gateway_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "gkeconnect-gateway-v1beta1-py",
@@ -51421,7 +53860,7 @@
 diff -urN a/google/cloud/gkehub/v1/BUILD.bazel b/google/cloud/gkehub/v1/BUILD.bazel
 --- a/google/cloud/gkehub/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/gkehub/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,395 +0,0 @@
+@@ -1,406 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -51615,6 +54054,17 @@
 -    opt_args = ["warehouse-package-name=google-cloud-gke-hub"],
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1376 is fixed
+-#py_test(
+-#    name = "gkehub_py_gapic_test",
+-#    srcs = [
+-#        "gkehub_py_gapic_pytest.py",
+-#        "gkehub_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":gkehub_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "gkehub-v1-py",
@@ -51820,7 +54270,7 @@
 diff -urN a/google/cloud/gkehub/v1/configmanagement/BUILD.bazel b/google/cloud/gkehub/v1/configmanagement/BUILD.bazel
 --- a/google/cloud/gkehub/v1/configmanagement/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/gkehub/v1/configmanagement/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,162 +0,0 @@
+@@ -1,161 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -51922,7 +54372,6 @@
 -    "nodejs_gapic_library",
 -)
 -
--
 -##############################################################################
 -# Ruby
 -##############################################################################
@@ -51986,7 +54435,7 @@
 diff -urN a/google/cloud/gkehub/v1/multiclusteringress/BUILD.bazel b/google/cloud/gkehub/v1/multiclusteringress/BUILD.bazel
 --- a/google/cloud/gkehub/v1/multiclusteringress/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/gkehub/v1/multiclusteringress/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,161 +0,0 @@
+@@ -1,160 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -52087,7 +54536,6 @@
 -    "nodejs_gapic_library",
 -)
 -
--
 -##############################################################################
 -# Ruby
 -##############################################################################
@@ -52151,7 +54599,7 @@
 diff -urN a/google/cloud/gkehub/v1alpha/BUILD.bazel b/google/cloud/gkehub/v1alpha/BUILD.bazel
 --- a/google/cloud/gkehub/v1alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/gkehub/v1alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,380 +0,0 @@
+@@ -1,391 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -52352,6 +54800,17 @@
 -    opt_args = ["warehouse-package-name=google-cloud-gke-hub"],
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1376 is fixed
+-#py_test(
+-#    name = "gkehub_py_gapic_test",
+-#    srcs = [
+-#        "gkehub_py_gapic_pytest.py",
+-#        "gkehub_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":gkehub_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "gkehub-v1alpha-py",
@@ -52535,7 +54994,7 @@
 diff -urN a/google/cloud/gkehub/v1alpha/cloudauditlogging/BUILD.bazel b/google/cloud/gkehub/v1alpha/cloudauditlogging/BUILD.bazel
 --- a/google/cloud/gkehub/v1alpha/cloudauditlogging/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/gkehub/v1alpha/cloudauditlogging/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,145 +0,0 @@
+@@ -1,144 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -52636,7 +55095,6 @@
 -    "nodejs_gapic_library",
 -)
 -
--
 -##############################################################################
 -# Ruby
 -##############################################################################
@@ -52684,7 +55142,7 @@
 diff -urN a/google/cloud/gkehub/v1alpha/configmanagement/BUILD.bazel b/google/cloud/gkehub/v1alpha/configmanagement/BUILD.bazel
 --- a/google/cloud/gkehub/v1alpha/configmanagement/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/gkehub/v1alpha/configmanagement/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,146 +0,0 @@
+@@ -1,145 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -52786,7 +55244,6 @@
 -    "nodejs_gapic_library",
 -)
 -
--
 -##############################################################################
 -# Ruby
 -##############################################################################
@@ -52834,7 +55291,7 @@
 diff -urN a/google/cloud/gkehub/v1alpha/metering/BUILD.bazel b/google/cloud/gkehub/v1alpha/metering/BUILD.bazel
 --- a/google/cloud/gkehub/v1alpha/metering/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/gkehub/v1alpha/metering/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,146 +0,0 @@
+@@ -1,145 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -52936,7 +55393,6 @@
 -    "nodejs_gapic_library",
 -)
 -
--
 -##############################################################################
 -# Ruby
 -##############################################################################
@@ -52984,7 +55440,7 @@
 diff -urN a/google/cloud/gkehub/v1alpha/multiclusteringress/BUILD.bazel b/google/cloud/gkehub/v1alpha/multiclusteringress/BUILD.bazel
 --- a/google/cloud/gkehub/v1alpha/multiclusteringress/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/gkehub/v1alpha/multiclusteringress/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,145 +0,0 @@
+@@ -1,144 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -53085,7 +55541,6 @@
 -    "nodejs_gapic_library",
 -)
 -
--
 -##############################################################################
 -# Ruby
 -##############################################################################
@@ -53200,6 +55655,7 @@
 -load(
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -53236,7 +55692,6 @@
 -    "nodejs_gapic_library",
 -)
 -
--
 -##############################################################################
 -# Ruby
 -##############################################################################
@@ -53284,7 +55739,7 @@
 diff -urN a/google/cloud/gkehub/v1alpha2/BUILD.bazel b/google/cloud/gkehub/v1alpha2/BUILD.bazel
 --- a/google/cloud/gkehub/v1alpha2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/gkehub/v1alpha2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,363 +0,0 @@
+@@ -1,374 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -53453,6 +55908,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -53462,6 +55918,16 @@
 -    opt_args = ["warehouse-package-name=google-cloud-gke-hub"],
 -)
 -
+-py_test(
+-    name = "gkehub_py_gapic_test",
+-    srcs = [
+-        "gkehub_py_gapic_pytest.py",
+-        "gkehub_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":gkehub_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "gkehub-v1alpha2-py",
@@ -53651,7 +56117,7 @@
 diff -urN a/google/cloud/gkehub/v1beta/BUILD.bazel b/google/cloud/gkehub/v1beta/BUILD.bazel
 --- a/google/cloud/gkehub/v1beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/gkehub/v1beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,378 +0,0 @@
+@@ -1,389 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -53846,6 +56312,17 @@
 -    ],
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1376 is fixed
+-#py_test(
+-#    name = "gkehub_py_gapic_test",
+-#    srcs = [
+-#        "gkehub_py_gapic_pytest.py",
+-#        "gkehub_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":gkehub_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "gkehub-v1beta-py",
@@ -54033,7 +56510,7 @@
 diff -urN a/google/cloud/gkehub/v1beta/configmanagement/BUILD.bazel b/google/cloud/gkehub/v1beta/configmanagement/BUILD.bazel
 --- a/google/cloud/gkehub/v1beta/configmanagement/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/gkehub/v1beta/configmanagement/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,146 +0,0 @@
+@@ -1,145 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -54135,7 +56612,6 @@
 -    "nodejs_gapic_library",
 -)
 -
--
 -##############################################################################
 -# Ruby
 -##############################################################################
@@ -54183,7 +56659,7 @@
 diff -urN a/google/cloud/gkehub/v1beta/metering/BUILD.bazel b/google/cloud/gkehub/v1beta/metering/BUILD.bazel
 --- a/google/cloud/gkehub/v1beta/metering/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/gkehub/v1beta/metering/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,146 +0,0 @@
+@@ -1,145 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -54285,7 +56761,6 @@
 -    "nodejs_gapic_library",
 -)
 -
--
 -##############################################################################
 -# Ruby
 -##############################################################################
@@ -54333,7 +56808,7 @@
 diff -urN a/google/cloud/gkehub/v1beta/multiclusteringress/BUILD.bazel b/google/cloud/gkehub/v1beta/multiclusteringress/BUILD.bazel
 --- a/google/cloud/gkehub/v1beta/multiclusteringress/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/gkehub/v1beta/multiclusteringress/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,145 +0,0 @@
+@@ -1,144 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -54434,7 +56909,6 @@
 -    "nodejs_gapic_library",
 -)
 -
--
 -##############################################################################
 -# Ruby
 -##############################################################################
@@ -54482,7 +56956,7 @@
 diff -urN a/google/cloud/gkehub/v1beta1/BUILD.bazel b/google/cloud/gkehub/v1beta1/BUILD.bazel
 --- a/google/cloud/gkehub/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/gkehub/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,387 +0,0 @@
+@@ -1,401 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -54665,6 +57139,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -54673,6 +57148,19 @@
 -    grpc_service_config = "membership_grpc_service_config.json",
 -    opt_args = ["warehouse-package-name=google-cloud-gke-hub"],
 -    service_yaml = "gkehub_v1beta1.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "gkehub_py_gapic_test",
+-    srcs = [
+-        "gkehub_py_gapic_pytest.py",
+-        "gkehub_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":gkehub_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -54916,7 +57404,7 @@
 diff -urN a/google/cloud/gkemulticloud/v1/BUILD.bazel b/google/cloud/gkemulticloud/v1/BUILD.bazel
 --- a/google/cloud/gkemulticloud/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/gkemulticloud/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,381 +0,0 @@
+@@ -1,392 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -55091,18 +57579,29 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "gkemulticloud_py_gapic",
 -    srcs = [":gkemulticloud_proto"],
 -    grpc_service_config = "gkemulticloud_grpc_service_config.json",
--    service_yaml = "gkemulticloud_v1.yaml",
 -    opt_args = [
 -        "warehouse-package-name=google-cloud-gke-multicloud",
 -        "python-gapic-namespace=google.cloud",
 -        "python-gapic-name=gke_multicloud",
 -    ],
+-    service_yaml = "gkemulticloud_v1.yaml",
+-)
+-
+-py_test(
+-    name = "gkemulticloud_py_gapic_test",
+-    srcs = [
+-        "gkemulticloud_py_gapic_pytest.py",
+-        "gkemulticloud_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":gkemulticloud_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -55481,7 +57980,7 @@
 diff -urN a/google/cloud/gsuiteaddons/v1/BUILD.bazel b/google/cloud/gsuiteaddons/v1/BUILD.bazel
 --- a/google/cloud/gsuiteaddons/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/gsuiteaddons/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,345 +0,0 @@
+@@ -1,365 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -55521,6 +58020,7 @@
 -    "proto_library_with_info",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -    "ruby_cloud_gapic_library",
 -    "ruby_gapic_assembly_pkg",
 -    "ruby_grpc_library",
@@ -55664,6 +58164,25 @@
 -        "python-gapic-namespace=google.cloud",
 -        "python-gapic-name=workspace_add_ons",
 -    ],
+-    deps = [
+-        "//google/apps/script/type:type_py_original_proto",
+-        "//google/apps/script/type/calendar:calendar_py_original_proto",
+-        "//google/apps/script/type/docs:docs_py_original_proto",
+-        "//google/apps/script/type/drive:drive_py_original_proto",
+-        "//google/apps/script/type/gmail:gmail_py_original_proto",
+-        "//google/apps/script/type/sheets:sheets_py_original_proto",
+-        "//google/apps/script/type/slides:slides_py_original_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "gsuiteaddons_py_gapic_test",
+-    srcs = [
+-        "gsuiteaddons_py_gapic_pytest.py",
+-        "gsuiteaddons_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":gsuiteaddons_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -55874,7 +58393,7 @@
 diff -urN a/google/cloud/iap/v1/BUILD.bazel b/google/cloud/iap/v1/BUILD.bazel
 --- a/google/cloud/iap/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/iap/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,376 +0,0 @@
+@@ -1,390 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -56049,12 +58568,26 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "iap_py_gapic",
 -    srcs = [":iap_proto"],
 -    grpc_service_config = "iap_grpc_service_config.json",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "iap_py_gapic_test",
+-    srcs = [
+-        "iap_py_gapic_pytest.py",
+-        "iap_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":iap_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -56254,7 +58787,7 @@
 diff -urN a/google/cloud/iap/v1beta1/BUILD.bazel b/google/cloud/iap/v1beta1/BUILD.bazel
 --- a/google/cloud/iap/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/iap/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,348 +0,0 @@
+@@ -1,362 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -56417,12 +58950,26 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "iap_py_gapic",
 -    srcs = [":iap_proto"],
 -    grpc_service_config = "iap_grpc_service_config.json",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "iap_py_gapic_test",
+-    srcs = [
+-        "iap_py_gapic_pytest.py",
+-        "iap_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":iap_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -56789,7 +59336,7 @@
 diff -urN a/google/cloud/identitytoolkit/v2/BUILD.bazel b/google/cloud/identitytoolkit/v2/BUILD.bazel
 --- a/google/cloud/identitytoolkit/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/identitytoolkit/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,371 +0,0 @@
+@@ -1,382 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -56955,6 +59502,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -56968,6 +59516,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "identitytoolkit_py_gapic_test",
+-    srcs = [
+-        "identitytoolkit_py_gapic_pytest.py",
+-        "identitytoolkit_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":identitytoolkit_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "identitytoolkit-v2-py",
@@ -57208,7 +59766,7 @@
 diff -urN a/google/cloud/ids/v1/BUILD.bazel b/google/cloud/ids/v1/BUILD.bazel
 --- a/google/cloud/ids/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/ids/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,371 +0,0 @@
+@@ -1,382 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -57377,6 +59935,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -57385,6 +59944,16 @@
 -    grpc_service_config = "ids_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "ids_py_gapic_test",
+-    srcs = [
+-        "ids_py_gapic_pytest.py",
+-        "ids_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":ids_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "ids-v1-py",
@@ -57799,7 +60368,7 @@
 diff -urN a/google/cloud/iot/v1/BUILD.bazel b/google/cloud/iot/v1/BUILD.bazel
 --- a/google/cloud/iot/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/iot/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,360 +0,0 @@
+@@ -1,374 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -57959,12 +60528,26 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "iot_py_gapic",
 -    srcs = [":iot_proto"],
 -    grpc_service_config = "cloudiot_grpc_service_config.json",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "iot_py_gapic_test",
+-    srcs = [
+-        "iot_py_gapic_pytest.py",
+-        "iot_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":iot_py_gapic"],
 -)
 -
 -py_gapic_assembly_pkg(
@@ -58208,7 +60791,7 @@
 diff -urN a/google/cloud/kms/v1/BUILD.bazel b/google/cloud/kms/v1/BUILD.bazel
 --- a/google/cloud/kms/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/kms/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,383 +0,0 @@
+@@ -1,398 +0,0 @@
 -load("@rules_proto//proto:defs.bzl", "proto_library")
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -58380,6 +60963,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -58387,6 +60971,20 @@
 -    srcs = [":kms_proto"],
 -    grpc_service_config = "cloudkms_grpc_service_config.json",
 -    opt_args = ["add-iam-methods"],
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-        "//google/iam/v1:policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "kms_py_gapic_test",
+-    srcs = [
+-        "kms_py_gapic_pytest.py",
+-        "kms_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":kms_py_gapic"],
 -)
 -
 -py_gapic_assembly_pkg(
@@ -58640,7 +61238,7 @@
 diff -urN a/google/cloud/language/v1/BUILD.bazel b/google/cloud/language/v1/BUILD.bazel
 --- a/google/cloud/language/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/language/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,359 +0,0 @@
+@@ -1,370 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -58798,6 +61396,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -58806,6 +61405,16 @@
 -    grpc_service_config = "language_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "language_py_gapic_test",
+-    srcs = [
+-        "language_py_gapic_pytest.py",
+-        "language_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":language_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "language-v1-py",
@@ -59168,7 +61777,7 @@
 diff -urN a/google/cloud/language/v1beta2/BUILD.bazel b/google/cloud/language/v1beta2/BUILD.bazel
 --- a/google/cloud/language/v1beta2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/language/v1beta2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,344 +0,0 @@
+@@ -1,355 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -59327,6 +61936,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -59335,6 +61945,16 @@
 -    grpc_service_config = "language_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "language_py_gapic_test",
+-    srcs = [
+-        "language_py_gapic_pytest.py",
+-        "language_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":language_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "language-v1beta2-py",
@@ -59561,7 +62181,7 @@
 diff -urN a/google/cloud/lifesciences/v2beta/BUILD.bazel b/google/cloud/lifesciences/v2beta/BUILD.bazel
 --- a/google/cloud/lifesciences/v2beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/lifesciences/v2beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,355 +0,0 @@
+@@ -1,366 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -59729,6 +62349,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -59738,6 +62359,16 @@
 -    opt_args = ["warehouse-package-name=google-cloud-life-sciences"],
 -)
 -
+-py_test(
+-    name = "lifesciences_py_gapic_test",
+-    srcs = [
+-        "lifesciences_py_gapic_pytest.py",
+-        "lifesciences_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":lifesciences_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "lifesciences-v2beta-py",
@@ -60217,7 +62848,7 @@
 diff -urN a/google/cloud/managedidentities/v1/BUILD.bazel b/google/cloud/managedidentities/v1/BUILD.bazel
 --- a/google/cloud/managedidentities/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/managedidentities/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,364 +0,0 @@
+@@ -1,375 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -60379,6 +63010,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -60388,6 +63020,16 @@
 -    opt_args = ["warehouse-package-name=google-cloud-managed-identities"],
 -)
 -
+-py_test(
+-    name = "managedidentities_py_gapic_test",
+-    srcs = [
+-        "managedidentities_py_gapic_pytest.py",
+-        "managedidentities_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":managedidentities_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "managedidentities-v1-py",
@@ -60585,7 +63227,7 @@
 diff -urN a/google/cloud/managedidentities/v1beta1/BUILD.bazel b/google/cloud/managedidentities/v1beta1/BUILD.bazel
 --- a/google/cloud/managedidentities/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/managedidentities/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,360 +0,0 @@
+@@ -1,371 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -60752,6 +63394,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -60760,6 +63403,16 @@
 -    grpc_service_config = "managedidentities_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "managedidentities_py_gapic_test",
+-    srcs = [
+-        "managedidentities_py_gapic_pytest.py",
+-        "managedidentities_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":managedidentities_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "managedidentities-v1beta1-py",
@@ -61163,7 +63816,7 @@
 diff -urN a/google/cloud/mediatranslation/v1beta1/BUILD.bazel b/google/cloud/mediatranslation/v1beta1/BUILD.bazel
 --- a/google/cloud/mediatranslation/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/mediatranslation/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,346 +0,0 @@
+@@ -1,358 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -61321,6 +63974,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -61330,6 +63984,17 @@
 -    opt_args = [
 -        "warehouse-package-name=google-cloud-media-translation",
 -    ],
+-    transport = "grpc",
+-)
+-
+-py_test(
+-    name = "mediatranslation_py_gapic_test",
+-    srcs = [
+-        "mediatranslation_py_gapic_pytest.py",
+-        "mediatranslation_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":mediatranslation_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -61557,7 +64222,7 @@
 diff -urN a/google/cloud/memcache/v1/BUILD.bazel b/google/cloud/memcache/v1/BUILD.bazel
 --- a/google/cloud/memcache/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/memcache/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,362 +0,0 @@
+@@ -1,373 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -61719,6 +64384,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -61727,6 +64393,16 @@
 -    grpc_service_config = "memcache_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "memcache_py_gapic_test",
+-    srcs = [
+-        "memcache_py_gapic_pytest.py",
+-        "memcache_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":memcache_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "memcache-v1-py",
@@ -61923,7 +64599,7 @@
 diff -urN a/google/cloud/memcache/v1beta2/BUILD.bazel b/google/cloud/memcache/v1beta2/BUILD.bazel
 --- a/google/cloud/memcache/v1beta2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/memcache/v1beta2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,347 +0,0 @@
+@@ -1,358 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -62085,6 +64761,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -62093,6 +64770,16 @@
 -    grpc_service_config = "memcache_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "memcache_py_gapic_test",
+-    srcs = [
+-        "memcache_py_gapic_pytest.py",
+-        "memcache_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":memcache_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "memcache-v1beta2-py",
@@ -62493,7 +65180,7 @@
 diff -urN a/google/cloud/metastore/v1/BUILD.bazel b/google/cloud/metastore/v1/BUILD.bazel
 --- a/google/cloud/metastore/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/metastore/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,371 +0,0 @@
+@@ -1,382 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -62663,6 +65350,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -62671,6 +65359,16 @@
 -    grpc_service_config = "metastore_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "metastore_py_gapic_test",
+-    srcs = [
+-        "metastore_py_gapic_pytest.py",
+-        "metastore_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":metastore_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "metastore-v1-py",
@@ -62868,7 +65566,7 @@
 diff -urN a/google/cloud/metastore/v1alpha/BUILD.bazel b/google/cloud/metastore/v1alpha/BUILD.bazel
 --- a/google/cloud/metastore/v1alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/metastore/v1alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,365 +0,0 @@
+@@ -1,376 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -63040,6 +65738,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -63048,6 +65747,16 @@
 -    grpc_service_config = "metastore_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "metastore_py_gapic_test",
+-    srcs = [
+-        "metastore_py_gapic_pytest.py",
+-        "metastore_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":metastore_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "metastore-v1alpha-py",
@@ -63237,7 +65946,7 @@
 diff -urN a/google/cloud/metastore/v1beta/BUILD.bazel b/google/cloud/metastore/v1beta/BUILD.bazel
 --- a/google/cloud/metastore/v1beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/metastore/v1beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,357 +0,0 @@
+@@ -1,368 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -63407,6 +66116,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -63416,6 +66126,16 @@
 -    opt_args = ["warehouse-package-name=google-cloud-dataproc-metastore"],
 -)
 -
+-py_test(
+-    name = "metastore_py_gapic_test",
+-    srcs = [
+-        "metastore_py_gapic_pytest.py",
+-        "metastore_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":metastore_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "metastore-v1beta-py",
@@ -63822,7 +66542,7 @@
 diff -urN a/google/cloud/networkconnectivity/v1/BUILD.bazel b/google/cloud/networkconnectivity/v1/BUILD.bazel
 --- a/google/cloud/networkconnectivity/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/networkconnectivity/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,367 +0,0 @@
+@@ -1,378 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -63988,6 +66708,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -63996,6 +66717,16 @@
 -    grpc_service_config = "networkconnectivity_v1_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "networkconnectivity_py_gapic_test",
+-    srcs = [
+-        "networkconnectivity_py_gapic_pytest.py",
+-        "networkconnectivity_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":networkconnectivity_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "networkconnectivity-v1-py",
@@ -64193,7 +66924,7 @@
 diff -urN a/google/cloud/networkconnectivity/v1alpha1/BUILD.bazel b/google/cloud/networkconnectivity/v1alpha1/BUILD.bazel
 --- a/google/cloud/networkconnectivity/v1alpha1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/networkconnectivity/v1alpha1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,349 +0,0 @@
+@@ -1,360 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -64356,6 +67087,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -64365,6 +67097,16 @@
 -    opt_args = ["warehouse-package-name=google-cloud-network-connectivity"],
 -)
 -
+-py_test(
+-    name = "networkconnectivity_py_gapic_test",
+-    srcs = [
+-        "networkconnectivity_py_gapic_pytest.py",
+-        "networkconnectivity_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":networkconnectivity_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "networkconnectivity-v1alpha1-py",
@@ -64589,7 +67331,7 @@
 diff -urN a/google/cloud/networkmanagement/v1/BUILD.bazel b/google/cloud/networkmanagement/v1/BUILD.bazel
 --- a/google/cloud/networkmanagement/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/networkmanagement/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,375 +0,0 @@
+@@ -1,386 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -64772,6 +67514,17 @@
 -    ],
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1376 is fixed
+-#py_test(
+-#    name = "networkmanagement_py_gapic_test",
+-#    srcs = [
+-#        "networkmanagement_py_gapic_pytest.py",
+-#        "networkmanagement_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":networkmanagement_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "networkmanagement-v1-py",
@@ -64968,7 +67721,7 @@
 diff -urN a/google/cloud/networkmanagement/v1beta1/BUILD.bazel b/google/cloud/networkmanagement/v1beta1/BUILD.bazel
 --- a/google/cloud/networkmanagement/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/networkmanagement/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,354 +0,0 @@
+@@ -1,365 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -65146,6 +67899,17 @@
 -    grpc_service_config = "networkmanagement_grpc_service_config.json",
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1376 is fixed
+-#py_test(
+-#    name = "networkmanagement_py_gapic_test",
+-#    srcs = [
+-#        "networkmanagement_py_gapic_pytest.py",
+-#        "networkmanagement_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":networkmanagement_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "networkmanagement-v1beta1-py",
@@ -65369,7 +68133,7 @@
 diff -urN a/google/cloud/networksecurity/v1/BUILD.bazel b/google/cloud/networksecurity/v1/BUILD.bazel
 --- a/google/cloud/networksecurity/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/networksecurity/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,352 +0,0 @@
+@@ -1,368 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -65506,15 +68270,15 @@
 -    srcs = [":networksecurity_proto_with_info"],
 -    grpc_service_config = "networksecurity_v1_grpc_service_config.json",
 -    importpath = "cloud.google.com/go/networksecurity/apiv1;networksecurity",
--    service_yaml = "networksecurity_v1.yaml",
 -    metadata = True,
+-    service_yaml = "networksecurity_v1.yaml",
 -    deps = [
 -        ":networksecurity_go_proto",
 -        "//google/cloud/location:location_go_proto",
 -        "//google/iam/v1:iam_go_proto",
 -        "//google/longrunning:longrunning_go_proto",
--        "@com_google_cloud_go//longrunning/autogen:go_default_library",
 -        "@com_google_cloud_go//longrunning:go_default_library",
+-        "@com_google_cloud_go//longrunning/autogen:go_default_library",
 -    ],
 -)
 -
@@ -65530,8 +68294,8 @@
 -    name = "gapi-cloud-networksecurity-v1-go",
 -    deps = [
 -        ":networksecurity_go_gapic",
--        ":networksecurity_go_gapic_srcjar-test.srcjar",
 -        ":networksecurity_go_gapic_srcjar-metadata.srcjar",
+-        ":networksecurity_go_gapic_srcjar-test.srcjar",
 -        ":networksecurity_go_proto",
 -    ],
 -)
@@ -65543,12 +68307,28 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "networksecurity_py_gapic",
 -    srcs = [":networksecurity_proto"],
 -    grpc_service_config = "networksecurity_v1_grpc_service_config.json",
+-    opt_args = [
+-        "warehouse-package-name=google-cloud-network-security",
+-        "python-gapic-namespace=google.cloud",
+-        "python-gapic-name=network_security",
+-    ],
+-)
+-
+-py_test(
+-    name = "networksecurity_py_gapic_test",
+-    srcs = [
+-        "networksecurity_py_gapic_pytest.py",
+-        "networksecurity_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":networksecurity_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -65635,8 +68415,8 @@
 -##############################################################################
 -load(
 -    "@com_google_googleapis_imports//:imports.bzl",
--    "ruby_gapic_assembly_pkg",
 -    "ruby_cloud_gapic_library",
+-    "ruby_gapic_assembly_pkg",
 -    "ruby_grpc_library",
 -    "ruby_proto_library",
 -)
@@ -65725,7 +68505,7 @@
 diff -urN a/google/cloud/networksecurity/v1beta1/BUILD.bazel b/google/cloud/networksecurity/v1beta1/BUILD.bazel
 --- a/google/cloud/networksecurity/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/networksecurity/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,356 +0,0 @@
+@@ -1,403 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -65772,6 +68552,8 @@
 -    deps = [
 -        ":networksecurity_proto",
 -        "//google/cloud:common_resources_proto",
+-        "//google/cloud/location:location_proto",
+-        "//google/iam/v1:iam_policy_proto",
 -    ],
 -)
 -
@@ -65801,18 +68583,27 @@
 -java_gapic_library(
 -    name = "networksecurity_java_gapic",
 -    srcs = [":networksecurity_proto_with_info"],
+-    gapic_yaml = None,
 -    grpc_service_config = "networksecurity_v1beta1_grpc_service_config.json",
+-    service_yaml = "networksecurity_v1beta1.yaml",
 -    test_deps = [
 -        ":networksecurity_java_grpc",
+-        "//google/cloud/location:location_java_grpc",
+-        "//google/iam/v1:iam_java_grpc",
 -    ],
+-    transport = "grpc+rest",
 -    deps = [
 -        ":networksecurity_java_proto",
+-        "//google/api:api_java_proto",
+-        "//google/cloud/location:location_java_proto",
+-        "//google/iam/v1:iam_java_proto",
 -    ],
 -)
 -
 -java_gapic_test(
 -    name = "networksecurity_java_gapic_test_suite",
 -    test_classes = [
+-        "com.google.cloud.networksecurity.v1beta1.NetworkSecurityClientHttpJsonTest",
 -        "com.google.cloud.networksecurity.v1beta1.NetworkSecurityClientTest",
 -    ],
 -    runtime_deps = [":networksecurity_java_gapic_test"],
@@ -65822,6 +68613,7 @@
 -java_gapic_assembly_gradle_pkg(
 -    name = "google-cloud-networksecurity-v1beta1-java",
 -    include_samples = True,
+-    transport = "grpc+rest",
 -    deps = [
 -        ":networksecurity_java_gapic",
 -        ":networksecurity_java_grpc",
@@ -65859,8 +68651,11 @@
 -    importpath = "cloud.google.com/go/networksecurity/apiv1beta1;networksecurity",
 -    metadata = True,
 -    service_yaml = "networksecurity_v1beta1.yaml",
+-    transport = "grpc+rest",
 -    deps = [
 -        ":networksecurity_go_proto",
+-        "//google/cloud/location:location_go_proto",
+-        "//google/iam/v1:iam_go_proto",
 -        "//google/longrunning:longrunning_go_proto",
 -        "@com_google_cloud_go//longrunning:go_default_library",
 -        "@com_google_cloud_go//longrunning/autogen:go_default_library",
@@ -65892,6 +68687,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -65901,8 +68697,22 @@
 -    opt_args = [
 -        "warehouse-package-name=google-cloud-network-security",
 -        "python-gapic-namespace=google.cloud",
--        "python-gapic-name=network-security",
+-        "python-gapic-name=network_security",
 -    ],
+-    service_yaml = "networksecurity_v1beta1.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "networksecurity_py_gapic_test",
+-    srcs = [
+-        "networksecurity_py_gapic_pytest.py",
+-        "networksecurity_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":networksecurity_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -66018,6 +68828,7 @@
 -    grpc_service_config = "networksecurity_v1beta1_grpc_service_config.json",
 -    ruby_cloud_description = "The client library for the Google Network Security V1beta1 API.",
 -    ruby_cloud_title = "Network Security V1beta1",
+-    service_yaml = "networksecurity_v1beta1.yaml",
 -    deps = [
 -        ":networksecurity_ruby_grpc",
 -        ":networksecurity_ruby_proto",
@@ -66081,11 +68892,27 @@
 -##############################################################################
 -# C++
 -##############################################################################
--# Put your C++ rules here
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "cc_grpc_library",
+-    "cc_proto_library",
+-)
+-
+-cc_proto_library(
+-    name = "networksecurity_cc_proto",
+-    deps = [":networksecurity_proto"],
+-)
+-
+-cc_grpc_library(
+-    name = "networksecurity_cc_grpc",
+-    srcs = [":networksecurity_proto"],
+-    grpc_only = True,
+-    deps = [":networksecurity_cc_proto"],
+-)
 diff -urN a/google/cloud/networkservices/v1/BUILD.bazel b/google/cloud/networkservices/v1/BUILD.bazel
 --- a/google/cloud/networkservices/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/networkservices/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,388 +0,0 @@
+@@ -1,399 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -66287,6 +69114,17 @@
 -    service_yaml = "networkservices_v1.yaml",
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1348 is fixed
+-#py_test(
+-#    name = "networkservices_py_gapic_test",
+-#    srcs = [
+-#        "networkservices_py_gapic_pytest.py",
+-#        "networkservices_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":networkservices_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "networkservices-v1-py",
@@ -66477,7 +69315,7 @@
 diff -urN a/google/cloud/networkservices/v1beta1/BUILD.bazel b/google/cloud/networkservices/v1beta1/BUILD.bazel
 --- a/google/cloud/networkservices/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/networkservices/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,364 +0,0 @@
+@@ -1,375 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -66648,6 +69486,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -66656,6 +69495,16 @@
 -    grpc_service_config = "networkservices_v1beta1_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "networkservices_py_gapic_test",
+-    srcs = [
+-        "networkservices_py_gapic_pytest.py",
+-        "networkservices_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":networkservices_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "networkservices-v1beta1-py",
@@ -67070,7 +69919,7 @@
 diff -urN a/google/cloud/notebooks/v1/BUILD.bazel b/google/cloud/notebooks/v1/BUILD.bazel
 --- a/google/cloud/notebooks/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/notebooks/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,383 +0,0 @@
+@@ -1,394 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -67252,6 +70101,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -67260,6 +70110,16 @@
 -    grpc_service_config = "notebooks_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "notebooks_py_gapic_test",
+-    srcs = [
+-        "notebooks_py_gapic_pytest.py",
+-        "notebooks_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":notebooks_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "notebooks-v1-py",
@@ -67457,7 +70317,7 @@
 diff -urN a/google/cloud/notebooks/v1beta1/BUILD.bazel b/google/cloud/notebooks/v1beta1/BUILD.bazel
 --- a/google/cloud/notebooks/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/notebooks/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,347 +0,0 @@
+@@ -1,358 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -67619,6 +70479,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -67627,6 +70488,16 @@
 -    grpc_service_config = "notebooks_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "notebooks_py_gapic_test",
+-    srcs = [
+-        "notebooks_py_gapic_pytest.py",
+-        "notebooks_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":notebooks_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "notebooks-v1beta1-py",
@@ -67851,7 +70722,7 @@
 diff -urN a/google/cloud/optimization/v1/BUILD.bazel b/google/cloud/optimization/v1/BUILD.bazel
 --- a/google/cloud/optimization/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/optimization/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,373 +0,0 @@
+@@ -1,384 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -68023,6 +70894,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -68031,6 +70903,16 @@
 -    grpc_service_config = "cloudoptimization_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "optimization_py_gapic_test",
+-    srcs = [
+-        "optimization_py_gapic_pytest.py",
+-        "optimization_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":optimization_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "optimization-v1-py",
@@ -68271,7 +71153,7 @@
 diff -urN a/google/cloud/orchestration/airflow/service/v1/BUILD.bazel b/google/cloud/orchestration/airflow/service/v1/BUILD.bazel
 --- a/google/cloud/orchestration/airflow/service/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/orchestration/airflow/service/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,375 +0,0 @@
+@@ -1,386 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -68443,6 +71325,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -68454,6 +71337,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "service_py_gapic_test",
+-    srcs = [
+-        "service_py_gapic_pytest.py",
+-        "service_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":service_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "airflow-service-v1-py",
@@ -68650,7 +71543,7 @@
 diff -urN a/google/cloud/orchestration/airflow/service/v1beta1/BUILD.bazel b/google/cloud/orchestration/airflow/service/v1beta1/BUILD.bazel
 --- a/google/cloud/orchestration/airflow/service/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/orchestration/airflow/service/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,356 +0,0 @@
+@@ -1,367 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -68822,6 +71715,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -68830,6 +71724,16 @@
 -    grpc_service_config = "composer_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "service_py_gapic_test",
+-    srcs = [
+-        "service_py_gapic_pytest.py",
+-        "service_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":service_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "airflow-service-v1beta1-py",
@@ -69054,7 +71958,7 @@
 diff -urN a/google/cloud/orgpolicy/v1/BUILD.bazel b/google/cloud/orgpolicy/v1/BUILD.bazel
 --- a/google/cloud/orgpolicy/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/orgpolicy/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,217 +0,0 @@
+@@ -1,222 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -69154,6 +72058,11 @@
 -    deps = [":orgpolicy_moved_proto"],
 -)
 -
+-py_proto_library(
+-    name = "orgpolicy_py_original_proto",
+-    deps = [":orgpolicy_proto"],
+-)
+-
 -py_grpc_library(
 -    name = "orgpolicy_py_grpc",
 -    srcs = [":orgpolicy_moved_proto"],
@@ -69275,7 +72184,7 @@
 diff -urN a/google/cloud/orgpolicy/v2/BUILD.bazel b/google/cloud/orgpolicy/v2/BUILD.bazel
 --- a/google/cloud/orgpolicy/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/orgpolicy/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,362 +0,0 @@
+@@ -1,373 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -69437,6 +72346,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -69445,6 +72355,16 @@
 -    grpc_service_config = "orgpolicy_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "orgpolicy_py_gapic_test",
+-    srcs = [
+-        "orgpolicy_py_gapic_pytest.py",
+-        "orgpolicy_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":orgpolicy_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "orgpolicy-v2-py",
@@ -69685,7 +72605,7 @@
 diff -urN a/google/cloud/osconfig/agentendpoint/v1/BUILD.bazel b/google/cloud/osconfig/agentendpoint/v1/BUILD.bazel
 --- a/google/cloud/osconfig/agentendpoint/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/osconfig/agentendpoint/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,363 +0,0 @@
+@@ -1,374 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -69855,6 +72775,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -69863,6 +72784,16 @@
 -    grpc_service_config = "agentendpoint_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "agentendpoint_py_gapic_test",
+-    srcs = [
+-        "agentendpoint_py_gapic_pytest.py",
+-        "agentendpoint_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":agentendpoint_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "osconfig-agentendpoint-v1-py",
@@ -70052,7 +72983,7 @@
 diff -urN a/google/cloud/osconfig/agentendpoint/v1beta/BUILD.bazel b/google/cloud/osconfig/agentendpoint/v1beta/BUILD.bazel
 --- a/google/cloud/osconfig/agentendpoint/v1beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/osconfig/agentendpoint/v1beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,357 +0,0 @@
+@@ -1,368 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -70216,6 +73147,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -70224,6 +73156,16 @@
 -    grpc_service_config = "agentendpoint_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "agentendpoint_py_gapic_test",
+-    srcs = [
+-        "agentendpoint_py_gapic_pytest.py",
+-        "agentendpoint_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":agentendpoint_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "osconfig-agentendpoint-v1beta-py",
@@ -70413,7 +73355,7 @@
 diff -urN a/google/cloud/osconfig/v1/BUILD.bazel b/google/cloud/osconfig/v1/BUILD.bazel
 --- a/google/cloud/osconfig/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/osconfig/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,394 +0,0 @@
+@@ -1,411 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -70604,6 +73546,8 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
+-    "py_proto_library",
 -)
 -
 -py_gapic_library(
@@ -70613,6 +73557,16 @@
 -    opt_args = ["warehouse-package-name=google-cloud-os-config"],
 -)
 -
+-py_test(
+-    name = "osconfig_py_gapic_test",
+-    srcs = [
+-        "osconfig_py_gapic_pytest.py",
+-        "osconfig_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":osconfig_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "osconfig-v1-py",
@@ -70621,6 +73575,11 @@
 -    ],
 -)
 -
+-py_proto_library(
+-    name = "osconfig_py_proto",
+-    deps = [":osconfig_proto"],
+-)
+-
 -##############################################################################
 -# PHP
 -##############################################################################
@@ -70811,7 +73770,7 @@
 diff -urN a/google/cloud/osconfig/v1alpha/BUILD.bazel b/google/cloud/osconfig/v1alpha/BUILD.bazel
 --- a/google/cloud/osconfig/v1alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/osconfig/v1alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,383 +0,0 @@
+@@ -1,394 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -70992,6 +73951,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -71001,6 +73961,16 @@
 -    opt_args = ["warehouse-package-name=google-cloud-os-config"],
 -)
 -
+-py_test(
+-    name = "osconfig_py_gapic_test",
+-    srcs = [
+-        "osconfig_py_gapic_pytest.py",
+-        "osconfig_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":osconfig_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "osconfig-v1alpha-py",
@@ -71198,7 +74168,7 @@
 diff -urN a/google/cloud/osconfig/v1beta/BUILD.bazel b/google/cloud/osconfig/v1beta/BUILD.bazel
 --- a/google/cloud/osconfig/v1beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/osconfig/v1beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,371 +0,0 @@
+@@ -1,382 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -71375,6 +74345,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -71384,6 +74355,16 @@
 -    opt_args = ["warehouse-package-name=google-cloud-os-config"],
 -)
 -
+-py_test(
+-    name = "osconfig_py_gapic_test",
+-    srcs = [
+-        "osconfig_py_gapic_pytest.py",
+-        "osconfig_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":osconfig_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "osconfig-v1beta-py",
@@ -71618,7 +74599,7 @@
 diff -urN a/google/cloud/oslogin/common/BUILD.bazel b/google/cloud/oslogin/common/BUILD.bazel
 --- a/google/cloud/oslogin/common/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/oslogin/common/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,190 +0,0 @@
+@@ -1,196 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -71692,6 +74673,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_proto_library",
 -)
 -
 -py_gapic_library(
@@ -71699,6 +74681,11 @@
 -    srcs = [":common_proto"],
 -)
 -
+-py_proto_library(
+-    name = "common_py_proto",
+-    deps = [":common_proto"],
+-)
+-
 -##############################################################################
 -# PHP
 -##############################################################################
@@ -71812,7 +74799,7 @@
 diff -urN a/google/cloud/oslogin/v1/BUILD.bazel b/google/cloud/oslogin/v1/BUILD.bazel
 --- a/google/cloud/oslogin/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/oslogin/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,381 +0,0 @@
+@@ -1,398 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -71984,13 +74971,30 @@
 -        ":oslogin_proto",
 -    ],
 -    grpc_service_config = "oslogin_grpc_service_config.json",
+-    deps = [
+-        "//google/cloud/oslogin/common:common_py_proto",
+-    ],
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1376 is fixed
+-#py_test(
+-#    name = "oslogin_py_gapic_test",
+-#    srcs = [
+-#        "oslogin_py_gapic_pytest.py",
+-#        "oslogin_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [
+-#        ":oslogin_py_gapic",
+-#    ],
+-#)
+-
 -py_gapic_assembly_pkg(
 -    name = "oslogin-v1-py",
 -    deps = [
 -        ":oslogin_py_gapic",
--        "//google/cloud/oslogin/common:common_py_gapic",
+-        #        "//google/cloud/oslogin/common:common_py_gapic",
+-        "//google/cloud/oslogin/common:common_py_proto",
 -    ],
 -)
 -
@@ -72197,7 +75201,7 @@
 diff -urN a/google/cloud/oslogin/v1beta/BUILD.bazel b/google/cloud/oslogin/v1beta/BUILD.bazel
 --- a/google/cloud/oslogin/v1beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/oslogin/v1beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,362 +0,0 @@
+@@ -1,373 +0,0 @@
 -load("@rules_proto//proto:defs.bzl", "proto_library")
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -72325,7 +75329,7 @@
 -    srcs = [":oslogin_proto_with_info"],
 -    grpc_service_config = "oslogin_grpc_service_config.json",
 -    importpath = "cloud.google.com/go/oslogin/apiv1beta;oslogin",
--    service_yaml = "//google/cloud/oslogin:oslogin_v1beta.yaml",
+-    service_yaml = "oslogin_v1beta.yaml",
 -    transport = "grpc+rest",
 -    deps = [
 -        ":oslogin_go_proto",
@@ -72368,6 +75372,17 @@
 -    grpc_service_config = "oslogin_grpc_service_config.json",
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1376 is fixed
+-#py_test(
+-#    name = "oslogin_py_gapic_test",
+-#    srcs = [
+-#        "oslogin_py_gapic_pytest.py",
+-#        "oslogin_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":oslogin_py_gapic"],
+-#)
+-
 -py_gapic_assembly_pkg(
 -    name = "oslogin-v1beta-py",
 -    deps = [
@@ -72539,7 +75554,7 @@
 -    srcs = [":oslogin_proto_with_info"],
 -    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
 -    grpc_service_config = "oslogin_grpc_service_config.json",
--    service_yaml = "//google/cloud/oslogin:oslogin_v1beta.yaml",
+-    service_yaml = "oslogin_v1beta.yaml",
 -    deps = [
 -        ":oslogin_csharp_grpc",
 -        ":oslogin_csharp_proto",
@@ -72563,7 +75578,7 @@
 diff -urN a/google/cloud/paymentgateway/issuerswitch/v1/BUILD.bazel b/google/cloud/paymentgateway/issuerswitch/v1/BUILD.bazel
 --- a/google/cloud/paymentgateway/issuerswitch/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/paymentgateway/issuerswitch/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,380 +0,0 @@
+@@ -1,391 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -72743,18 +75758,29 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "issuerswitch_py_gapic",
 -    srcs = [":issuerswitch_proto"],
 -    grpc_service_config = "issuerswitch_grpc_service_config.json",
--    service_yaml = "issuerswitch_v1.yaml",
 -    opt_args = [
 -        "warehouse-package-name=google-cloud-payment-gateway-issuer-switch",
 -        "python-gapic-namespace=google.cloud",
 -        "python-gapic-name=payment_gateway_issuer_switch",
 -    ],
+-    service_yaml = "issuerswitch_v1.yaml",
+-)
+-
+-py_test(
+-    name = "issuerswitch_py_gapic_test",
+-    srcs = [
+-        "issuerswitch_py_gapic_pytest.py",
+-        "issuerswitch_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":issuerswitch_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -72993,7 +76019,7 @@
 diff -urN a/google/cloud/phishingprotection/v1beta1/BUILD.bazel b/google/cloud/phishingprotection/v1beta1/BUILD.bazel
 --- a/google/cloud/phishingprotection/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/phishingprotection/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,333 +0,0 @@
+@@ -1,344 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -73142,6 +76168,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -73150,6 +76177,16 @@
 -    grpc_service_config = "phishingprotection_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "phishingprotection_py_gapic_test",
+-    srcs = [
+-        "phishingprotection_py_gapic_pytest.py",
+-        "phishingprotection_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":phishingprotection_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "phishingprotection-v1beta1-py",
 -    deps = [
@@ -73374,7 +76411,7 @@
 diff -urN a/google/cloud/policytroubleshooter/v1/BUILD.bazel b/google/cloud/policytroubleshooter/v1/BUILD.bazel
 --- a/google/cloud/policytroubleshooter/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/policytroubleshooter/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,365 +0,0 @@
+@@ -1,379 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -73538,6 +76575,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -73545,6 +76583,19 @@
 -    srcs = [":policytroubleshooter_proto"],
 -    grpc_service_config = "checker_grpc_service_config.json",
 -    opt_args = ["warehouse-package-name=google-cloud-policy-troubleshooter"],
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "policytroubleshooter_py_gapic_test",
+-    srcs = [
+-        "policytroubleshooter_py_gapic_pytest.py",
+-        "policytroubleshooter_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":policytroubleshooter_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -73787,7 +76838,7 @@
 diff -urN a/google/cloud/privatecatalog/v1beta1/BUILD.bazel b/google/cloud/privatecatalog/v1beta1/BUILD.bazel
 --- a/google/cloud/privatecatalog/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/privatecatalog/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,361 +0,0 @@
+@@ -1,372 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -73958,6 +77009,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -73970,6 +77022,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "privatecatalog_py_gapic_test",
+-    srcs = [
+-        "privatecatalog_py_gapic_pytest.py",
+-        "privatecatalog_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":privatecatalog_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "privatecatalog-v1beta1-py",
@@ -74152,7 +77214,7 @@
 diff -urN a/google/cloud/pubsublite/v1/BUILD.bazel b/google/cloud/pubsublite/v1/BUILD.bazel
 --- a/google/cloud/pubsublite/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/pubsublite/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,326 +0,0 @@
+@@ -1,339 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -74188,6 +77250,7 @@
 -        "//google/api:client_proto",
 -        "//google/api:field_behavior_proto",
 -        "//google/api:resource_proto",
+-        "//google/rpc:status_proto",
 -        "//google/longrunning:operations_proto",
 -        "@com_google_protobuf//:duration_proto",
 -        "@com_google_protobuf//:empty_proto",
@@ -74285,6 +77348,7 @@
 -    protos = [":pubsublite_proto"],
 -    deps = [
 -        "//google/api:annotations_go_proto",
+-        "//google/rpc:status_go_proto",
 -        "//google/longrunning:longrunning_go_proto",
 -    ],
 -)
@@ -74328,6 +77392,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -74336,6 +77401,16 @@
 -    grpc_service_config = "pubsublite_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "pubsublite_py_gapic_test",
+-    srcs = [
+-        "pubsublite_py_gapic_pytest.py",
+-        "pubsublite_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":pubsublite_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "pubsublite-v1-py",
@@ -74527,7 +77602,7 @@
 diff -urN a/google/cloud/recaptchaenterprise/v1/BUILD.bazel b/google/cloud/recaptchaenterprise/v1/BUILD.bazel
 --- a/google/cloud/recaptchaenterprise/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/recaptchaenterprise/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,360 +0,0 @@
+@@ -1,371 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -74684,6 +77759,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -74695,6 +77771,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "recaptchaenterprise_py_gapic_test",
+-    srcs = [
+-        "recaptchaenterprise_py_gapic_pytest.py",
+-        "recaptchaenterprise_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":recaptchaenterprise_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "recaptchaenterprise-v1-py",
@@ -74891,7 +77977,7 @@
 diff -urN a/google/cloud/recaptchaenterprise/v1beta1/BUILD.bazel b/google/cloud/recaptchaenterprise/v1beta1/BUILD.bazel
 --- a/google/cloud/recaptchaenterprise/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/recaptchaenterprise/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,349 +0,0 @@
+@@ -1,360 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -75052,6 +78138,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -75063,6 +78150,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "recaptchaenterprise_py_gapic_test",
+-    srcs = [
+-        "recaptchaenterprise_py_gapic_pytest.py",
+-        "recaptchaenterprise_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":recaptchaenterprise_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "recaptchaenterprise-v1beta1-py",
@@ -75288,7 +78385,7 @@
 diff -urN a/google/cloud/recommendationengine/v1beta1/BUILD.bazel b/google/cloud/recommendationengine/v1beta1/BUILD.bazel
 --- a/google/cloud/recommendationengine/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/recommendationengine/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,322 +0,0 @@
+@@ -1,333 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -##############################################################################
@@ -75475,6 +78572,17 @@
 -    opt_args = ["warehouse-package-name=google-cloud-recommendations-ai"],
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1370 is fixed
+-#py_test(
+-#    name = "recommendationengine_py_gapic_test",
+-#    srcs = [
+-#        "recommendationengine_py_gapic_pytest.py",
+-#        "recommendationengine_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":recommendationengine_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "recommendationengine-v1beta1-py",
@@ -76013,7 +79121,7 @@
 diff -urN a/google/cloud/recommender/v1/BUILD.bazel b/google/cloud/recommender/v1/BUILD.bazel
 --- a/google/cloud/recommender/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/recommender/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,376 +0,0 @@
+@@ -1,387 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -76186,6 +79294,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -76195,6 +79304,16 @@
 -    service_yaml = "recommender_v1.yaml",
 -)
 -
+-py_test(
+-    name = "recommender_py_gapic_test",
+-    srcs = [
+-        "recommender_py_gapic_pytest.py",
+-        "recommender_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":recommender_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "recommender-v1-py",
@@ -76393,7 +79512,7 @@
 diff -urN a/google/cloud/recommender/v1beta1/BUILD.bazel b/google/cloud/recommender/v1beta1/BUILD.bazel
 --- a/google/cloud/recommender/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/recommender/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,368 +0,0 @@
+@@ -1,379 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -76566,6 +79685,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -76575,6 +79695,16 @@
 -    service_yaml = "recommender_v1beta1.yaml",
 -)
 -
+-py_test(
+-    name = "recommender_py_gapic_test",
+-    srcs = [
+-        "recommender_py_gapic_pytest.py",
+-        "recommender_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":recommender_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "recommender-v1beta1-py",
@@ -76810,7 +79940,7 @@
 diff -urN a/google/cloud/redis/v1/BUILD.bazel b/google/cloud/redis/v1/BUILD.bazel
 --- a/google/cloud/redis/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/redis/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,376 +0,0 @@
+@@ -1,387 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -76985,6 +80115,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -76993,6 +80124,16 @@
 -    grpc_service_config = "redis_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "redis_py_gapic_test",
+-    srcs = [
+-        "redis_py_gapic_pytest.py",
+-        "redis_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":redis_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "redis-v1-py",
@@ -77190,7 +80331,7 @@
 diff -urN a/google/cloud/redis/v1beta1/BUILD.bazel b/google/cloud/redis/v1beta1/BUILD.bazel
 --- a/google/cloud/redis/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/redis/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,376 +0,0 @@
+@@ -1,387 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -77365,6 +80506,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -77373,6 +80515,16 @@
 -    grpc_service_config = "redis_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "redis_py_gapic_test",
+-    srcs = [
+-        "redis_py_gapic_pytest.py",
+-        "redis_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":redis_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "redis-v1beta1-py",
@@ -77769,7 +80921,7 @@
 diff -urN a/google/cloud/resourcemanager/v3/BUILD.bazel b/google/cloud/resourcemanager/v3/BUILD.bazel
 --- a/google/cloud/resourcemanager/v3/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/resourcemanager/v3/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,390 +0,0 @@
+@@ -1,404 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -77958,12 +81110,26 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "resourcemanager_py_gapic",
 -    srcs = [":resourcemanager_proto"],
 -    grpc_service_config = "cloudresourcemanager_v3_grpc_service_config.json",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "resourcemanager_py_gapic_test",
+-    srcs = [
+-        "resourcemanager_py_gapic_pytest.py",
+-        "resourcemanager_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":resourcemanager_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -78207,7 +81373,7 @@
 diff -urN a/google/cloud/resourcesettings/v1/BUILD.bazel b/google/cloud/resourcesettings/v1/BUILD.bazel
 --- a/google/cloud/resourcesettings/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/resourcesettings/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,360 +0,0 @@
+@@ -1,371 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -# Most of the manual changes to this file will be overwritten.
@@ -78365,6 +81531,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -78374,6 +81541,16 @@
 -    opt_args = ["warehouse-package-name=google-cloud-resource-settings"],
 -)
 -
+-py_test(
+-    name = "resourcesettings_py_gapic_test",
+-    srcs = [
+-        "resourcesettings_py_gapic_pytest.py",
+-        "resourcesettings_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":resourcesettings_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "resourcesettings-v1-py",
@@ -78596,7 +81773,7 @@
 -    extra_protoc_parameters = [
 -        "ruby-cloud-gem-name=google-cloud-retail",
 -        "ruby-cloud-env-prefix=RETAIL",
--        "ruby-cloud-wrapper-of=v2:0.4",
+-        "ruby-cloud-wrapper-of=v2:0.11",
 -        "ruby-cloud-product-url=https://cloud.google.com/retail/docs/apis",
 -        "ruby-cloud-api-id=retail.googleapis.com",
 -        "ruby-cloud-api-shortname=retail",
@@ -78615,7 +81792,7 @@
 diff -urN a/google/cloud/retail/v2/BUILD.bazel b/google/cloud/retail/v2/BUILD.bazel
 --- a/google/cloud/retail/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/retail/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,404 +0,0 @@
+@@ -1,423 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -78643,6 +81820,8 @@
 -        "catalog_service.proto",
 -        "common.proto",
 -        "completion_service.proto",
+-        "control.proto",
+-        "control_service.proto",
 -        "import_config.proto",
 -        "prediction_service.proto",
 -        "product.proto",
@@ -78650,6 +81829,8 @@
 -        "promotion.proto",
 -        "purge_config.proto",
 -        "search_service.proto",
+-        "serving_config.proto",
+-        "serving_config_service.proto",
 -        "user_event.proto",
 -        "user_event_service.proto",
 -    ],
@@ -78723,6 +81904,8 @@
 -    test_classes = [
 -        "com.google.cloud.retail.v2.CatalogServiceClientHttpJsonTest",
 -        "com.google.cloud.retail.v2.CatalogServiceClientTest",
+-        "com.google.cloud.retail.v2.ControlServiceClientHttpJsonTest",
+-        "com.google.cloud.retail.v2.ControlServiceClientTest",
 -        "com.google.cloud.retail.v2.CompletionServiceClientHttpJsonTest",
 -        "com.google.cloud.retail.v2.CompletionServiceClientTest",
 -        "com.google.cloud.retail.v2.PredictionServiceClientHttpJsonTest",
@@ -78731,6 +81914,8 @@
 -        "com.google.cloud.retail.v2.ProductServiceClientTest",
 -        "com.google.cloud.retail.v2.SearchServiceClientHttpJsonTest",
 -        "com.google.cloud.retail.v2.SearchServiceClientTest",
+-        "com.google.cloud.retail.v2.ServingConfigServiceClientHttpJsonTest",
+-        "com.google.cloud.retail.v2.ServingConfigServiceClientTest",
 -        "com.google.cloud.retail.v2.UserEventServiceClientHttpJsonTest",
 -        "com.google.cloud.retail.v2.UserEventServiceClientTest",
 -    ],
@@ -78818,6 +82003,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -78826,6 +82012,16 @@
 -    grpc_service_config = "retail_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "retail_py_gapic_test",
+-    srcs = [
+-        "retail_py_gapic_pytest.py",
+-        "retail_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":retail_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "retail-v2-py",
@@ -79023,7 +82219,7 @@
 diff -urN a/google/cloud/retail/v2alpha/BUILD.bazel b/google/cloud/retail/v2alpha/BUILD.bazel
 --- a/google/cloud/retail/v2alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/retail/v2alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,413 +0,0 @@
+@@ -1,428 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -79055,6 +82251,8 @@
 -        "control_service.proto",
 -        "export_config.proto",
 -        "import_config.proto",
+-        "model.proto",
+-        "model_service.proto",
 -        "prediction_service.proto",
 -        "product.proto",
 -        "product_service.proto",
@@ -79140,6 +82338,8 @@
 -        "com.google.cloud.retail.v2alpha.CompletionServiceClientTest",
 -        "com.google.cloud.retail.v2alpha.ControlServiceClientHttpJsonTest",
 -        "com.google.cloud.retail.v2alpha.ControlServiceClientTest",
+-        "com.google.cloud.retail.v2alpha.ModelServiceClientHttpJsonTest",
+-        "com.google.cloud.retail.v2alpha.ModelServiceClientTest",
 -        "com.google.cloud.retail.v2alpha.PredictionServiceClientHttpJsonTest",
 -        "com.google.cloud.retail.v2alpha.PredictionServiceClientTest",
 -        "com.google.cloud.retail.v2alpha.ProductServiceClientHttpJsonTest",
@@ -79235,6 +82435,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -79243,6 +82444,16 @@
 -    grpc_service_config = "retail_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "retail_py_gapic_test",
+-    srcs = [
+-        "retail_py_gapic_pytest.py",
+-        "retail_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":retail_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "retail-v2alpha-py",
@@ -79440,7 +82651,7 @@
 diff -urN a/google/cloud/retail/v2beta/BUILD.bazel b/google/cloud/retail/v2beta/BUILD.bazel
 --- a/google/cloud/retail/v2beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/retail/v2beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,413 +0,0 @@
+@@ -1,428 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -79472,6 +82683,8 @@
 -        "control_service.proto",
 -        "export_config.proto",
 -        "import_config.proto",
+-        "model.proto",
+-        "model_service.proto",
 -        "prediction_service.proto",
 -        "product.proto",
 -        "product_service.proto",
@@ -79557,6 +82770,8 @@
 -        "com.google.cloud.retail.v2beta.CompletionServiceClientTest",
 -        "com.google.cloud.retail.v2beta.ControlServiceClientHttpJsonTest",
 -        "com.google.cloud.retail.v2beta.ControlServiceClientTest",
+-        "com.google.cloud.retail.v2beta.ModelServiceClientHttpJsonTest",
+-        "com.google.cloud.retail.v2beta.ModelServiceClientTest",
 -        "com.google.cloud.retail.v2beta.PredictionServiceClientHttpJsonTest",
 -        "com.google.cloud.retail.v2beta.PredictionServiceClientTest",
 -        "com.google.cloud.retail.v2beta.ProductServiceClientHttpJsonTest",
@@ -79652,6 +82867,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -79660,6 +82876,16 @@
 -    grpc_service_config = "retail_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "retail_py_gapic_test",
+-    srcs = [
+-        "retail_py_gapic_pytest.py",
+-        "retail_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":retail_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "retail-v2beta-py",
@@ -79900,7 +83126,7 @@
 diff -urN a/google/cloud/run/v2/BUILD.bazel b/google/cloud/run/v2/BUILD.bazel
 --- a/google/cloud/run/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/run/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,389 +0,0 @@
+@@ -1,403 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -80095,8 +83321,22 @@
 -    srcs = [":run_proto"],
 -    grpc_service_config = "run_grpc_service_config.json",
 -    service_yaml = "run_v2.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1371 is fixed
+-#py_test(
+-#    name = "run_py_gapic_test",
+-#    srcs = [
+-#        "run_py_gapic_pytest.py",
+-#        "run_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":run_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "run-v2-py",
@@ -80518,7 +83758,7 @@
 diff -urN a/google/cloud/scheduler/v1/BUILD.bazel b/google/cloud/scheduler/v1/BUILD.bazel
 --- a/google/cloud/scheduler/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/scheduler/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,357 +0,0 @@
+@@ -1,368 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -80674,6 +83914,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -80682,6 +83923,16 @@
 -    grpc_service_config = "cloudscheduler_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "scheduler_py_gapic_test",
+-    srcs = [
+-        "scheduler_py_gapic_pytest.py",
+-        "scheduler_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":scheduler_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "scheduler-v1-py",
@@ -80879,7 +84130,7 @@
 diff -urN a/google/cloud/scheduler/v1beta1/BUILD.bazel b/google/cloud/scheduler/v1beta1/BUILD.bazel
 --- a/google/cloud/scheduler/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/scheduler/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,341 +0,0 @@
+@@ -1,352 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -81035,6 +84286,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -81043,6 +84295,16 @@
 -    grpc_service_config = "cloudscheduler_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "scheduler_py_gapic_test",
+-    srcs = [
+-        "scheduler_py_gapic_pytest.py",
+-        "scheduler_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":scheduler_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "scheduler-v1beta1-py",
@@ -81445,7 +84707,7 @@
 diff -urN a/google/cloud/secretmanager/v1/BUILD.bazel b/google/cloud/secretmanager/v1/BUILD.bazel
 --- a/google/cloud/secretmanager/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/secretmanager/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,371 +0,0 @@
+@@ -1,388 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -81616,12 +84878,29 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "secretmanager_py_gapic",
 -    srcs = [":secretmanager_proto"],
 -    grpc_service_config = "secretmanager_grpc_service_config.json",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-    opt_args = [
+-        "warehouse-package-name=google-cloud-secret-manager",
+-    ],
+-)
+-
+-py_test(
+-    name = "secretmanager_py_gapic_test",
+-    srcs = [
+-        "secretmanager_py_gapic_pytest.py",
+-        "secretmanager_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":secretmanager_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -81820,7 +85099,7 @@
 diff -urN a/google/cloud/secrets/v1beta1/BUILD.bazel b/google/cloud/secrets/v1beta1/BUILD.bazel
 --- a/google/cloud/secrets/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/secrets/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,343 +0,0 @@
+@@ -1,357 +0,0 @@
 -# This is an API workspace, having public visibility by default makes perfect sense.
 -package(default_visibility = ["//visibility:public"])
 -
@@ -81976,6 +85255,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -81986,6 +85266,19 @@
 -        "python-gapic-namespace=google.cloud",
 -        "python-gapic-name=secretmanager",
 -    ],
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "secretmanager_py_gapic_test",
+-    srcs = [
+-        "secretmanager_py_gapic_pytest.py",
+-        "secretmanager_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":secretmanager_py_gapic"],
 -)
 -
 -py_gapic_assembly_pkg(
@@ -82212,7 +85505,7 @@
 diff -urN a/google/cloud/security/privateca/v1/BUILD.bazel b/google/cloud/security/privateca/v1/BUILD.bazel
 --- a/google/cloud/security/privateca/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/security/privateca/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,389 +0,0 @@
+@@ -1,400 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -82395,6 +85688,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -82406,6 +85700,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "privateca_py_gapic_test",
+-    srcs = [
+-        "privateca_py_gapic_pytest.py",
+-        "privateca_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":privateca_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "security-privateca-v1-py",
@@ -82605,7 +85909,7 @@
 diff -urN a/google/cloud/security/privateca/v1beta1/BUILD.bazel b/google/cloud/security/privateca/v1beta1/BUILD.bazel
 --- a/google/cloud/security/privateca/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/security/privateca/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,355 +0,0 @@
+@@ -1,366 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -82773,6 +86077,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -82784,6 +86089,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "privateca_py_gapic_test",
+-    srcs = [
+-        "privateca_py_gapic_pytest.py",
+-        "privateca_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":privateca_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "security-privateca-v1beta1-py",
 -    deps = [
@@ -82964,7 +86279,7 @@
 diff -urN a/google/cloud/security/publicca/v1beta1/BUILD.bazel b/google/cloud/security/publicca/v1beta1/BUILD.bazel
 --- a/google/cloud/security/publicca/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/security/publicca/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,359 +0,0 @@
+@@ -1,371 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -83127,6 +86442,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -83134,6 +86450,18 @@
 -    srcs = [":publicca_proto"],
 -    grpc_service_config = "publicca_v1beta1_grpc_service_config.json",
 -    service_yaml = "publicca_v1beta1.yaml",
+-    deps = [
+-    ],
+-)
+-
+-py_test(
+-    name = "publicca_py_gapic_test",
+-    srcs = [
+-        "publicca_py_gapic_pytest.py",
+-        "publicca_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":publicca_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -83240,10 +86568,9 @@
 -ruby_cloud_gapic_library(
 -    name = "publicca_ruby_gapic",
 -    srcs = [":publicca_proto_with_info"],
--    extra_protoc_parameters = [
--        "ruby-cloud-gem-name=google-cloud-security-publicca-v1beta1",
--    ],
+-    extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-security-publicca-v1beta1"],
 -    grpc_service_config = "publicca_v1beta1_grpc_service_config.json",
+-    service_yaml = "publicca_v1beta1.yaml",
 -    deps = [
 -        ":publicca_ruby_grpc",
 -        ":publicca_ruby_proto",
@@ -83372,7 +86699,7 @@
 diff -urN a/google/cloud/securitycenter/settings/v1beta1/BUILD.bazel b/google/cloud/securitycenter/settings/v1beta1/BUILD.bazel
 --- a/google/cloud/securitycenter/settings/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/securitycenter/settings/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,334 +0,0 @@
+@@ -1,345 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -83532,6 +86859,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -83540,6 +86868,16 @@
 -    grpc_service_config = "securitycenter_settings_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "settings_py_gapic_test",
+-    srcs = [
+-        "settings_py_gapic_pytest.py",
+-        "settings_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":settings_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "securitycenter-settings-v1beta1-py",
@@ -83710,7 +87048,7 @@
 diff -urN a/google/cloud/securitycenter/v1/BUILD.bazel b/google/cloud/securitycenter/v1/BUILD.bazel
 --- a/google/cloud/securitycenter/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/securitycenter/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,352 +0,0 @@
+@@ -1,370 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -83752,6 +87090,7 @@
 -    "proto_library_with_info",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -    "ruby_cloud_gapic_library",
 -    "ruby_gapic_assembly_pkg",
 -    "ruby_grpc_library",
@@ -83770,6 +87109,8 @@
 -        "compliance.proto",
 -        "connection.proto",
 -        "contact_details.proto",
+-        "container.proto",
+-        "database.proto",
 -        "exfiltration.proto",
 -        "external_system.proto",
 -        "file.proto",
@@ -83777,6 +87118,8 @@
 -        "folder.proto",
 -        "iam_binding.proto",
 -        "indicator.proto",
+-        "kubernetes.proto",
+-        "label.proto",
 -        "mitre_attack.proto",
 -        "mute_config.proto",
 -        "notification_config.proto",
@@ -83918,6 +87261,19 @@
 -    name = "securitycenter_py_gapic",
 -    srcs = [":securitycenter_proto"],
 -    grpc_service_config = "securitycenter_grpc_service_config.json",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "securitycenter_py_gapic_test",
+-    srcs = [
+-        "securitycenter_py_gapic_pytest.py",
+-        "securitycenter_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":securitycenter_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -84066,7 +87422,7 @@
 diff -urN a/google/cloud/securitycenter/v1beta1/BUILD.bazel b/google/cloud/securitycenter/v1beta1/BUILD.bazel
 --- a/google/cloud/securitycenter/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/securitycenter/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,343 +0,0 @@
+@@ -1,357 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -84238,12 +87594,26 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "securitycenter_py_gapic",
 -    srcs = [":securitycenter_proto"],
 -    grpc_service_config = "securitycenter_grpc_service_config.json",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "securitycenter_py_gapic_test",
+-    srcs = [
+-        "securitycenter_py_gapic_pytest.py",
+-        "securitycenter_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":securitycenter_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -84413,7 +87783,7 @@
 diff -urN a/google/cloud/securitycenter/v1p1beta1/BUILD.bazel b/google/cloud/securitycenter/v1p1beta1/BUILD.bazel
 --- a/google/cloud/securitycenter/v1p1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/securitycenter/v1p1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,365 +0,0 @@
+@@ -1,379 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -84598,12 +87968,26 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "securitycenter_py_gapic",
 -    srcs = [":securitycenter_proto"],
 -    grpc_service_config = "securitycenter_grpc_service_config.json",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "securitycenter_py_gapic_test",
+-    srcs = [
+-        "securitycenter_py_gapic_pytest.py",
+-        "securitycenter_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":securitycenter_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -84826,7 +88210,7 @@
 diff -urN a/google/cloud/servicedirectory/v1/BUILD.bazel b/google/cloud/servicedirectory/v1/BUILD.bazel
 --- a/google/cloud/servicedirectory/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/servicedirectory/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,332 +0,0 @@
+@@ -1,346 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -84869,6 +88253,7 @@
 -    "py_gapic_library",
 -    "py_grpc_library",
 -    "py_proto_library",
+-    "py_test",
 -    "ruby_cloud_gapic_library",
 -    "ruby_gapic_assembly_pkg",
 -    "ruby_grpc_library",
@@ -85005,6 +88390,19 @@
 -    opt_args = [
 -        "warehouse-package-name=google-cloud-service-directory",
 -    ],
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "servicedirectory_py_gapic_test",
+-    srcs = [
+-        "servicedirectory_py_gapic_pytest.py",
+-        "servicedirectory_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":servicedirectory_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -85162,7 +88560,7 @@
 diff -urN a/google/cloud/servicedirectory/v1beta1/BUILD.bazel b/google/cloud/servicedirectory/v1beta1/BUILD.bazel
 --- a/google/cloud/servicedirectory/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/servicedirectory/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,361 +0,0 @@
+@@ -1,375 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -85336,6 +88734,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -85343,6 +88742,19 @@
 -    srcs = [":servicedirectory_proto"],
 -    grpc_service_config = "servicedirectory_grpc_service_config.json",
 -    opt_args = ["warehouse-package-name=google-cloud-service-directory"],
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "servicedirectory_py_gapic_test",
+-    srcs = [
+-        "servicedirectory_py_gapic_pytest.py",
+-        "servicedirectory_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":servicedirectory_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -85571,7 +88983,7 @@
 diff -urN a/google/cloud/shell/v1/BUILD.bazel b/google/cloud/shell/v1/BUILD.bazel
 --- a/google/cloud/shell/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/shell/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,367 +0,0 @@
+@@ -1,378 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -85737,6 +89149,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -85745,6 +89158,16 @@
 -    grpc_service_config = "cloudshell_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "shell_py_gapic_test",
+-    srcs = [
+-        "shell_py_gapic_pytest.py",
+-        "shell_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":shell_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "shell-v1-py",
@@ -85987,7 +89410,7 @@
 diff -urN a/google/cloud/speech/v1/BUILD.bazel b/google/cloud/speech/v1/BUILD.bazel
 --- a/google/cloud/speech/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/speech/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,381 +0,0 @@
+@@ -1,392 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -86166,6 +89589,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -86175,6 +89599,16 @@
 -    service_yaml = "speech_v1.yaml",
 -)
 -
+-py_test(
+-    name = "speech_py_gapic_test",
+-    srcs = [
+-        "speech_py_gapic_pytest.py",
+-        "speech_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":speech_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "speech-v1-py",
@@ -86372,7 +89806,7 @@
 diff -urN a/google/cloud/speech/v1p1beta1/BUILD.bazel b/google/cloud/speech/v1p1beta1/BUILD.bazel
 --- a/google/cloud/speech/v1p1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/speech/v1p1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,363 +0,0 @@
+@@ -1,374 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -86550,6 +89984,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -86558,6 +89993,16 @@
 -    grpc_service_config = "speech_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "speech_py_gapic_test",
+-    srcs = [
+-        "speech_py_gapic_pytest.py",
+-        "speech_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":speech_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "speech-v1p1beta1-py",
@@ -86739,7 +90184,7 @@
 diff -urN a/google/cloud/sql/v1/BUILD.bazel b/google/cloud/sql/v1/BUILD.bazel
 --- a/google/cloud/sql/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/sql/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,378 +0,0 @@
+@@ -1,389 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -86921,6 +90366,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -86929,6 +90375,16 @@
 -    grpc_service_config = "sqladmin_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "sql_py_gapic_test",
+-    srcs = [
+-        "sql_py_gapic_pytest.py",
+-        "sql_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":sql_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "sql-v1-py",
@@ -87121,7 +90577,7 @@
 diff -urN a/google/cloud/sql/v1beta4/BUILD.bazel b/google/cloud/sql/v1beta4/BUILD.bazel
 --- a/google/cloud/sql/v1beta4/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/sql/v1beta4/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,364 +0,0 @@
+@@ -1,375 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -87293,6 +90749,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -87301,6 +90758,16 @@
 -    grpc_service_config = "sqladmin_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "sql_py_gapic_test",
+-    srcs = [
+-        "sql_py_gapic_pytest.py",
+-        "sql_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":sql_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "sql-v1beta4-py",
@@ -87713,7 +91180,7 @@
 diff -urN a/google/cloud/talent/v4/BUILD.bazel b/google/cloud/talent/v4/BUILD.bazel
 --- a/google/cloud/talent/v4/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/talent/v4/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,398 +0,0 @@
+@@ -1,409 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -87912,6 +91379,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -87920,6 +91388,16 @@
 -    grpc_service_config = "talent_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "talent_py_gapic_test",
+-    srcs = [
+-        "talent_py_gapic_pytest.py",
+-        "talent_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":talent_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "talent-v4-py",
 -    deps = [
@@ -88115,7 +91593,7 @@
 diff -urN a/google/cloud/talent/v4beta1/BUILD.bazel b/google/cloud/talent/v4beta1/BUILD.bazel
 --- a/google/cloud/talent/v4beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/talent/v4beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,411 +0,0 @@
+@@ -1,422 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -88323,6 +91801,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -88332,6 +91811,16 @@
 -    service_yaml = "jobs_v4beta1.yaml",
 -)
 -
+-py_test(
+-    name = "talent_py_gapic_test",
+-    srcs = [
+-        "talent_py_gapic_pytest.py",
+-        "talent_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":talent_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "talent-v4beta1-py",
@@ -88575,7 +92064,7 @@
 diff -urN a/google/cloud/tasks/v2/BUILD.bazel b/google/cloud/tasks/v2/BUILD.bazel
 --- a/google/cloud/tasks/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/tasks/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,363 +0,0 @@
+@@ -1,377 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -88738,12 +92227,26 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "tasks_py_gapic",
 -    srcs = [":tasks_proto"],
 -    grpc_service_config = "cloudtasks_grpc_service_config.json",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "tasks_py_gapic_test",
+-    srcs = [
+-        "tasks_py_gapic_pytest.py",
+-        "tasks_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":tasks_py_gapic"],
 -)
 -
 -py_gapic_assembly_pkg(
@@ -88942,7 +92445,7 @@
 diff -urN a/google/cloud/tasks/v2beta2/BUILD.bazel b/google/cloud/tasks/v2beta2/BUILD.bazel
 --- a/google/cloud/tasks/v2beta2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/tasks/v2beta2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,348 +0,0 @@
+@@ -1,362 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -89106,12 +92609,26 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "tasks_py_gapic",
 -    srcs = [":tasks_proto"],
 -    grpc_service_config = "cloudtasks_grpc_service_config.json",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "tasks_py_gapic_test",
+-    srcs = [
+-        "tasks_py_gapic_pytest.py",
+-        "tasks_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":tasks_py_gapic"],
 -)
 -
 -py_gapic_assembly_pkg(
@@ -89294,7 +92811,7 @@
 diff -urN a/google/cloud/tasks/v2beta3/BUILD.bazel b/google/cloud/tasks/v2beta3/BUILD.bazel
 --- a/google/cloud/tasks/v2beta3/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/tasks/v2beta3/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,348 +0,0 @@
+@@ -1,362 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -89458,12 +92975,26 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "tasks_py_gapic",
 -    srcs = [":tasks_proto"],
 -    grpc_service_config = "cloudtasks_grpc_service_config.json",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "tasks_py_gapic_test",
+-    srcs = [
+-        "tasks_py_gapic_pytest.py",
+-        "tasks_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":tasks_py_gapic"],
 -)
 -
 -py_gapic_assembly_pkg(
@@ -89691,7 +93222,7 @@
 diff -urN a/google/cloud/texttospeech/v1/BUILD.bazel b/google/cloud/texttospeech/v1/BUILD.bazel
 --- a/google/cloud/texttospeech/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/texttospeech/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,363 +0,0 @@
+@@ -1,374 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -89853,6 +93384,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -89861,6 +93393,16 @@
 -    grpc_service_config = "texttospeech_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "texttospeech_py_gapic_test",
+-    srcs = [
+-        "texttospeech_py_gapic_pytest.py",
+-        "texttospeech_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":texttospeech_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "texttospeech-v1-py",
@@ -90058,7 +93600,7 @@
 diff -urN a/google/cloud/texttospeech/v1beta1/BUILD.bazel b/google/cloud/texttospeech/v1beta1/BUILD.bazel
 --- a/google/cloud/texttospeech/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/texttospeech/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,347 +0,0 @@
+@@ -1,358 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -90220,6 +93762,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -90228,6 +93771,16 @@
 -    grpc_service_config = "texttospeech_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "texttospeech_py_gapic_test",
+-    srcs = [
+-        "texttospeech_py_gapic_pytest.py",
+-        "texttospeech_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":texttospeech_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "texttospeech-v1beta1-py",
@@ -90406,6 +93959,392 @@
 -# C++
 -##############################################################################
 -# Put your C++ rules here
+diff -urN a/google/cloud/timeseriesinsights/v1/BUILD.bazel b/google/cloud/timeseriesinsights/v1/BUILD.bazel
+--- a/google/cloud/timeseriesinsights/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
++++ b/google/cloud/timeseriesinsights/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
+@@ -1,382 +0,0 @@
+-# This file was automatically generated by BuildFileGenerator
+-# https://github.com/googleapis/rules_gapic/tree/master/bazel
+-
+-# Most of the manual changes to this file will be overwritten.
+-# It's **only** allowed to change the following rule attribute values:
+-# - names of *_gapic_assembly_* rules
+-# - certain parameters of *_gapic_library rules, including but not limited to:
+-#    * extra_protoc_parameters
+-#    * extra_protoc_file_parameters
+-# The complete list of preserved parameters can be found in the source code.
+-
+-# This is an API workspace, having public visibility by default makes perfect sense.
+-package(default_visibility = ["//visibility:public"])
+-
+-##############################################################################
+-# Common
+-##############################################################################
+-load("@rules_proto//proto:defs.bzl", "proto_library")
+-load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
+-
+-proto_library(
+-    name = "timeseriesinsights_proto",
+-    srcs = [
+-        "timeseries_insights.proto",
+-    ],
+-    deps = [
+-        "//google/api:annotations_proto",
+-        "//google/api:client_proto",
+-        "//google/api:field_behavior_proto",
+-        "//google/api:resource_proto",
+-        "//google/rpc:status_proto",
+-        "@com_google_protobuf//:duration_proto",
+-        "@com_google_protobuf//:empty_proto",
+-        "@com_google_protobuf//:timestamp_proto",
+-    ],
+-)
+-
+-proto_library_with_info(
+-    name = "timeseriesinsights_proto_with_info",
+-    deps = [
+-        ":timeseriesinsights_proto",
+-        "//google/cloud:common_resources_proto",
+-        "//google/cloud/location:location_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Java
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "java_gapic_assembly_gradle_pkg",
+-    "java_gapic_library",
+-    "java_gapic_test",
+-    "java_grpc_library",
+-    "java_proto_library",
+-)
+-
+-java_proto_library(
+-    name = "timeseriesinsights_java_proto",
+-    deps = [":timeseriesinsights_proto"],
+-)
+-
+-java_grpc_library(
+-    name = "timeseriesinsights_java_grpc",
+-    srcs = [":timeseriesinsights_proto"],
+-    deps = [":timeseriesinsights_java_proto"],
+-)
+-
+-java_gapic_library(
+-    name = "timeseriesinsights_java_gapic",
+-    srcs = [":timeseriesinsights_proto_with_info"],
+-    gapic_yaml = None,
+-    grpc_service_config = "timeseries_insights_grpc_service_config.json",
+-    service_yaml = "timeseriesinsights_v1.yaml",
+-    test_deps = [
+-        ":timeseriesinsights_java_grpc",
+-        "//google/cloud/location:location_java_grpc",
+-    ],
+-    transport = "grpc+rest",
+-    deps = [
+-        ":timeseriesinsights_java_proto",
+-        "//google/api:api_java_proto",
+-        "//google/cloud/location:location_java_proto",
+-    ],
+-)
+-
+-java_gapic_test(
+-    name = "timeseriesinsights_java_gapic_test_suite",
+-    test_classes = [
+-        "com.google.cloud.timeseriesinsights.v1.TimeseriesInsightsControllerClientHttpJsonTest",
+-        "com.google.cloud.timeseriesinsights.v1.TimeseriesInsightsControllerClientTest",
+-    ],
+-    runtime_deps = [":timeseriesinsights_java_gapic_test"],
+-)
+-
+-# Open Source Packages
+-java_gapic_assembly_gradle_pkg(
+-    name = "google-cloud-timeseriesinsights-v1-java",
+-    include_samples = True,
+-    transport = "grpc+rest",
+-    deps = [
+-        ":timeseriesinsights_java_gapic",
+-        ":timeseriesinsights_java_grpc",
+-        ":timeseriesinsights_java_proto",
+-        ":timeseriesinsights_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Go
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "go_gapic_assembly_pkg",
+-    "go_gapic_library",
+-    "go_proto_library",
+-    "go_test",
+-)
+-
+-go_proto_library(
+-    name = "timeseriesinsights_go_proto",
+-    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
+-    importpath = "google.golang.org/genproto/googleapis/cloud/timeseriesinsights/v1",
+-    protos = [":timeseriesinsights_proto"],
+-    deps = [
+-        "//google/api:annotations_go_proto",
+-        "//google/rpc:status_go_proto",
+-    ],
+-)
+-
+-go_gapic_library(
+-    name = "timeseriesinsights_go_gapic",
+-    srcs = [":timeseriesinsights_proto_with_info"],
+-    grpc_service_config = "timeseries_insights_grpc_service_config.json",
+-    importpath = "cloud.google.com/go/timeseriesinsights/apiv1;timeseriesinsights",
+-    metadata = True,
+-    service_yaml = "timeseriesinsights_v1.yaml",
+-    transport = "grpc+rest",
+-    deps = [
+-        ":timeseriesinsights_go_proto",
+-        "//google/cloud/location:location_go_proto",
+-        "@io_bazel_rules_go//proto/wkt:duration_go_proto",
+-    ],
+-)
+-
+-go_test(
+-    name = "timeseriesinsights_go_gapic_test",
+-    srcs = [":timeseriesinsights_go_gapic_srcjar_test"],
+-    embed = [":timeseriesinsights_go_gapic"],
+-    importpath = "cloud.google.com/go/timeseriesinsights/apiv1",
+-)
+-
+-# Open Source Packages
+-go_gapic_assembly_pkg(
+-    name = "gapi-cloud-timeseriesinsights-v1-go",
+-    deps = [
+-        ":timeseriesinsights_go_gapic",
+-        ":timeseriesinsights_go_gapic_srcjar-metadata.srcjar",
+-        ":timeseriesinsights_go_gapic_srcjar-test.srcjar",
+-        ":timeseriesinsights_go_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Python
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "py_gapic_assembly_pkg",
+-    "py_gapic_library",
+-    "py_test",
+-)
+-
+-py_gapic_library(
+-    name = "timeseriesinsights_py_gapic",
+-    srcs = [":timeseriesinsights_proto"],
+-    grpc_service_config = "timeseries_insights_grpc_service_config.json",
+-    service_yaml = "timeseriesinsights_v1.yaml",
+-    deps = [
+-    ],
+-)
+-
+-py_test(
+-    name = "timeseriesinsights_py_gapic_test",
+-    srcs = [
+-        "timeseriesinsights_py_gapic_pytest.py",
+-        "timeseriesinsights_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":timeseriesinsights_py_gapic"],
+-)
+-
+-# Open Source Packages
+-py_gapic_assembly_pkg(
+-    name = "timeseriesinsights-v1-py",
+-    deps = [
+-        ":timeseriesinsights_py_gapic",
+-    ],
+-)
+-
+-##############################################################################
+-# PHP
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "php_gapic_assembly_pkg",
+-    "php_gapic_library",
+-    "php_grpc_library",
+-    "php_proto_library",
+-)
+-
+-php_proto_library(
+-    name = "timeseriesinsights_php_proto",
+-    deps = [":timeseriesinsights_proto"],
+-)
+-
+-php_grpc_library(
+-    name = "timeseriesinsights_php_grpc",
+-    srcs = [":timeseriesinsights_proto"],
+-    deps = [":timeseriesinsights_php_proto"],
+-)
+-
+-php_gapic_library(
+-    name = "timeseriesinsights_php_gapic",
+-    srcs = [":timeseriesinsights_proto_with_info"],
+-    grpc_service_config = "timeseries_insights_grpc_service_config.json",
+-    service_yaml = "timeseriesinsights_v1.yaml",
+-    deps = [
+-        ":timeseriesinsights_php_grpc",
+-        ":timeseriesinsights_php_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-php_gapic_assembly_pkg(
+-    name = "google-cloud-timeseriesinsights-v1-php",
+-    deps = [
+-        ":timeseriesinsights_php_gapic",
+-        ":timeseriesinsights_php_grpc",
+-        ":timeseriesinsights_php_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Node.js
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "nodejs_gapic_assembly_pkg",
+-    "nodejs_gapic_library",
+-)
+-
+-nodejs_gapic_library(
+-    name = "timeseriesinsights_nodejs_gapic",
+-    package_name = "@google-cloud/timeseriesinsights",
+-    src = ":timeseriesinsights_proto_with_info",
+-    extra_protoc_parameters = ["metadata"],
+-    grpc_service_config = "timeseries_insights_grpc_service_config.json",
+-    package = "google.cloud.timeseriesinsights.v1",
+-    service_yaml = "timeseriesinsights_v1.yaml",
+-    deps = [],
+-)
+-
+-nodejs_gapic_assembly_pkg(
+-    name = "timeseriesinsights-v1-nodejs",
+-    deps = [
+-        ":timeseriesinsights_nodejs_gapic",
+-        ":timeseriesinsights_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Ruby
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "ruby_cloud_gapic_library",
+-    "ruby_gapic_assembly_pkg",
+-    "ruby_grpc_library",
+-    "ruby_proto_library",
+-)
+-
+-ruby_proto_library(
+-    name = "timeseriesinsights_ruby_proto",
+-    deps = [":timeseriesinsights_proto"],
+-)
+-
+-ruby_grpc_library(
+-    name = "timeseriesinsights_ruby_grpc",
+-    srcs = [":timeseriesinsights_proto"],
+-    deps = [":timeseriesinsights_ruby_proto"],
+-)
+-
+-ruby_cloud_gapic_library(
+-    name = "timeseriesinsights_ruby_gapic",
+-    srcs = [":timeseriesinsights_proto_with_info"],
+-    extra_protoc_parameters = [
+-        "ruby-cloud-gem-name=google-cloud-timeseriesinsights-v1",
+-    ],
+-    grpc_service_config = "timeseries_insights_grpc_service_config.json",
+-    service_yaml = "timeseriesinsights_v1.yaml",
+-    deps = [
+-        ":timeseriesinsights_ruby_grpc",
+-        ":timeseriesinsights_ruby_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-ruby_gapic_assembly_pkg(
+-    name = "google-cloud-timeseriesinsights-v1-ruby",
+-    deps = [
+-        ":timeseriesinsights_ruby_gapic",
+-        ":timeseriesinsights_ruby_grpc",
+-        ":timeseriesinsights_ruby_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# C#
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "csharp_gapic_assembly_pkg",
+-    "csharp_gapic_library",
+-    "csharp_grpc_library",
+-    "csharp_proto_library",
+-)
+-
+-csharp_proto_library(
+-    name = "timeseriesinsights_csharp_proto",
+-    deps = [":timeseriesinsights_proto"],
+-)
+-
+-csharp_grpc_library(
+-    name = "timeseriesinsights_csharp_grpc",
+-    srcs = [":timeseriesinsights_proto"],
+-    deps = [":timeseriesinsights_csharp_proto"],
+-)
+-
+-csharp_gapic_library(
+-    name = "timeseriesinsights_csharp_gapic",
+-    srcs = [":timeseriesinsights_proto_with_info"],
+-    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
+-    grpc_service_config = "timeseries_insights_grpc_service_config.json",
+-    service_yaml = "timeseriesinsights_v1.yaml",
+-    deps = [
+-        ":timeseriesinsights_csharp_grpc",
+-        ":timeseriesinsights_csharp_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-csharp_gapic_assembly_pkg(
+-    name = "google-cloud-timeseriesinsights-v1-csharp",
+-    deps = [
+-        ":timeseriesinsights_csharp_gapic",
+-        ":timeseriesinsights_csharp_grpc",
+-        ":timeseriesinsights_csharp_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# C++
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "cc_grpc_library",
+-    "cc_proto_library",
+-)
+-
+-cc_proto_library(
+-    name = "timeseriesinsights_cc_proto",
+-    deps = [":timeseriesinsights_proto"],
+-)
+-
+-cc_grpc_library(
+-    name = "timeseriesinsights_cc_grpc",
+-    srcs = [":timeseriesinsights_proto"],
+-    grpc_only = True,
+-    deps = [":timeseriesinsights_cc_proto"],
+-)
 diff -urN a/google/cloud/tpu/BUILD.bazel b/google/cloud/tpu/BUILD.bazel
 --- a/google/cloud/tpu/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/tpu/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
@@ -90453,7 +94392,7 @@
 diff -urN a/google/cloud/tpu/v1/BUILD.bazel b/google/cloud/tpu/v1/BUILD.bazel
 --- a/google/cloud/tpu/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/tpu/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,362 +0,0 @@
+@@ -1,373 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -90614,6 +94553,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -90622,6 +94562,16 @@
 -    grpc_service_config = "tpu_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "tpu_py_gapic_test",
+-    srcs = [
+-        "tpu_py_gapic_pytest.py",
+-        "tpu_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":tpu_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "tpu-v1-py",
@@ -90819,7 +94769,7 @@
 diff -urN a/google/cloud/tpu/v2alpha1/BUILD.bazel b/google/cloud/tpu/v2alpha1/BUILD.bazel
 --- a/google/cloud/tpu/v2alpha1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/tpu/v2alpha1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,344 +0,0 @@
+@@ -1,355 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -90984,6 +94934,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -90992,6 +94943,16 @@
 -    grpc_service_config = "tpu_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "tpu_py_gapic_test",
+-    srcs = [
+-        "tpu_py_gapic_pytest.py",
+-        "tpu_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":tpu_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "tpu-v2alpha1-py",
@@ -91212,7 +95173,7 @@
 diff -urN a/google/cloud/translate/v3/BUILD.bazel b/google/cloud/translate/v3/BUILD.bazel
 --- a/google/cloud/translate/v3/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/translate/v3/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,380 +0,0 @@
+@@ -1,391 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -91390,6 +95351,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -91399,6 +95361,16 @@
 -    opt_args = ["python-gapic-name=translate"],
 -)
 -
+-py_test(
+-    name = "translation_py_gapic_test",
+-    srcs = [
+-        "translation_py_gapic_pytest.py",
+-        "translation_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":translation_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "translation-v3-py",
@@ -91596,7 +95568,7 @@
 diff -urN a/google/cloud/translate/v3beta1/BUILD.bazel b/google/cloud/translate/v3beta1/BUILD.bazel
 --- a/google/cloud/translate/v3beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/translate/v3beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,355 +0,0 @@
+@@ -1,366 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -91773,6 +95745,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -91782,6 +95755,16 @@
 -    opt_args = ["python-gapic-name=translate"],
 -)
 -
+-py_test(
+-    name = "translation_py_gapic_test",
+-    srcs = [
+-        "translation_py_gapic_pytest.py",
+-        "translation_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":translation_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "translation-v3beta1-py",
@@ -92181,7 +96164,7 @@
 diff -urN a/google/cloud/video/livestream/v1/BUILD.bazel b/google/cloud/video/livestream/v1/BUILD.bazel
 --- a/google/cloud/video/livestream/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/video/livestream/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,381 +0,0 @@
+@@ -1,392 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -92357,6 +96340,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -92370,6 +96354,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "livestream_py_gapic_test",
+-    srcs = [
+-        "livestream_py_gapic_pytest.py",
+-        "livestream_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":livestream_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "video-livestream-v1-py",
@@ -92609,7 +96603,7 @@
 diff -urN a/google/cloud/video/stitcher/v1/BUILD.bazel b/google/cloud/video/stitcher/v1/BUILD.bazel
 --- a/google/cloud/video/stitcher/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/video/stitcher/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,371 +0,0 @@
+@@ -1,382 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -92779,6 +96773,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -92788,6 +96783,16 @@
 -    service_yaml = "videostitcher_v1.yaml",
 -)
 -
+-py_test(
+-    name = "stitcher_py_gapic_test",
+-    srcs = [
+-        "stitcher_py_gapic_pytest.py",
+-        "stitcher_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":stitcher_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "video-stitcher-v1-py",
@@ -93028,7 +97033,7 @@
 diff -urN a/google/cloud/video/transcoder/v1/BUILD.bazel b/google/cloud/video/transcoder/v1/BUILD.bazel
 --- a/google/cloud/video/transcoder/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/video/transcoder/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,367 +0,0 @@
+@@ -1,378 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -93194,6 +97199,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -93202,6 +97208,16 @@
 -    grpc_service_config = "transcoder_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "transcoder_py_gapic_test",
+-    srcs = [
+-        "transcoder_py_gapic_pytest.py",
+-        "transcoder_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":transcoder_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "video-transcoder-v1-py",
@@ -93444,7 +97460,7 @@
 diff -urN a/google/cloud/videointelligence/v1/BUILD.bazel b/google/cloud/videointelligence/v1/BUILD.bazel
 --- a/google/cloud/videointelligence/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/videointelligence/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,360 +0,0 @@
+@@ -1,371 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -93602,6 +97618,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -93610,6 +97627,16 @@
 -    grpc_service_config = "videointelligence_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "videointelligence_py_gapic_test",
+-    srcs = [
+-        "videointelligence_py_gapic_pytest.py",
+-        "videointelligence_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":videointelligence_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "videointelligence-v1-py",
 -    deps = [
@@ -93808,7 +97835,7 @@
 diff -urN a/google/cloud/videointelligence/v1beta2/BUILD.bazel b/google/cloud/videointelligence/v1beta2/BUILD.bazel
 --- a/google/cloud/videointelligence/v1beta2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/videointelligence/v1beta2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,342 +0,0 @@
+@@ -1,353 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -93966,6 +97993,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -93974,6 +98002,16 @@
 -    grpc_service_config = "videointelligence_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "videointelligence_py_gapic_test",
+-    srcs = [
+-        "videointelligence_py_gapic_pytest.py",
+-        "videointelligence_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":videointelligence_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "videointelligence-v1beta2-py",
 -    deps = [
@@ -94154,7 +98192,7 @@
 diff -urN a/google/cloud/videointelligence/v1p1beta1/BUILD.bazel b/google/cloud/videointelligence/v1p1beta1/BUILD.bazel
 --- a/google/cloud/videointelligence/v1p1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/videointelligence/v1p1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,344 +0,0 @@
+@@ -1,355 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -94312,6 +98350,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -94320,6 +98359,16 @@
 -    grpc_service_config = "videointelligence_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "videointelligence_py_gapic_test",
+-    srcs = [
+-        "videointelligence_py_gapic_pytest.py",
+-        "videointelligence_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":videointelligence_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "videointelligence-v1p1beta1-py",
 -    deps = [
@@ -94502,7 +98551,7 @@
 diff -urN a/google/cloud/videointelligence/v1p2beta1/BUILD.bazel b/google/cloud/videointelligence/v1p2beta1/BUILD.bazel
 --- a/google/cloud/videointelligence/v1p2beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/videointelligence/v1p2beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,344 +0,0 @@
+@@ -1,355 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -94660,6 +98709,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -94668,6 +98718,16 @@
 -    grpc_service_config = "videointelligence_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "videointelligence_py_gapic_test",
+-    srcs = [
+-        "videointelligence_py_gapic_pytest.py",
+-        "videointelligence_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":videointelligence_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "videointelligence-v1p2beta1-py",
 -    deps = [
@@ -94850,7 +98910,7 @@
 diff -urN a/google/cloud/videointelligence/v1p3beta1/BUILD.bazel b/google/cloud/videointelligence/v1p3beta1/BUILD.bazel
 --- a/google/cloud/videointelligence/v1p3beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/videointelligence/v1p3beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,345 +0,0 @@
+@@ -1,356 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -95009,6 +99069,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -95017,6 +99078,16 @@
 -    grpc_service_config = "videointelligence_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "videointelligence_py_gapic_test",
+-    srcs = [
+-        "videointelligence_py_gapic_pytest.py",
+-        "videointelligence_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":videointelligence_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "videointelligence-v1p3beta1-py",
 -    deps = [
@@ -95244,7 +99315,7 @@
 diff -urN a/google/cloud/vision/v1/BUILD.bazel b/google/cloud/vision/v1/BUILD.bazel
 --- a/google/cloud/vision/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/vision/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,388 +0,0 @@
+@@ -1,399 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -95427,6 +99498,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -95436,6 +99508,16 @@
 -    service_yaml = "vision_v1.yaml",
 -)
 -
+-py_test(
+-    name = "vision_py_gapic_test",
+-    srcs = [
+-        "vision_py_gapic_pytest.py",
+-        "vision_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":vision_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "vision-v1-py",
@@ -95636,7 +99718,7 @@
 diff -urN a/google/cloud/vision/v1p1beta1/BUILD.bazel b/google/cloud/vision/v1p1beta1/BUILD.bazel
 --- a/google/cloud/vision/v1p1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/vision/v1p1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,331 +0,0 @@
+@@ -1,342 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -95761,7 +99843,7 @@
 -    srcs = [":vision_proto_with_info"],
 -    grpc_service_config = "vision_grpc_service_config.json",
 -    importpath = "cloud.google.com/go/vision/apiv1p1beta1;vision",
--    service_yaml = "//google/cloud/vision:vision_v1p1beta1.yaml",
+-    service_yaml = "vision_v1p1beta1.yaml",
 -    transport = "grpc+rest",
 -    deps = [
 -        ":vision_go_proto",
@@ -95792,6 +99874,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -95800,6 +99883,16 @@
 -    grpc_service_config = "vision_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "vision_py_gapic_test",
+-    srcs = [
+-        "vision_py_gapic_pytest.py",
+-        "vision_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":vision_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "vision-v1p1beta1-py",
 -    deps = [
@@ -95867,7 +99960,7 @@
 -    grpc_service_config = "vision_grpc_service_config.json",
 -    main_service = "vision",
 -    package = "google.cloud.vision.v1p1beta1",
--    service_yaml = "//google/cloud/vision:vision_v1p1beta1.yaml",
+-    service_yaml = "vision_v1p1beta1.yaml",
 -    deps = [],
 -)
 -
@@ -95971,7 +100064,7 @@
 diff -urN a/google/cloud/vision/v1p2beta1/BUILD.bazel b/google/cloud/vision/v1p2beta1/BUILD.bazel
 --- a/google/cloud/vision/v1p2beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/vision/v1p2beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,338 +0,0 @@
+@@ -1,349 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -96100,7 +100193,7 @@
 -    srcs = [":vision_proto_with_info"],
 -    grpc_service_config = "vision_grpc_service_config.json",
 -    importpath = "cloud.google.com/go/vision/apiv1p2beta1;vision",
--    service_yaml = "//google/cloud/vision:vision_v1p2beta1.yaml",
+-    service_yaml = "vision_v1p2beta1.yaml",
 -    transport = "grpc+rest",
 -    deps = [
 -        ":vision_go_proto",
@@ -96134,6 +100227,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -96142,6 +100236,16 @@
 -    grpc_service_config = "vision_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "vision_py_gapic_test",
+-    srcs = [
+-        "vision_py_gapic_pytest.py",
+-        "vision_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":vision_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "vision-v1p2beta1-py",
 -    deps = [
@@ -96209,7 +100313,7 @@
 -    grpc_service_config = "vision_grpc_service_config.json",
 -    main_service = "vision",
 -    package = "google.cloud.vision.v1p2beta1",
--    service_yaml = "//google/cloud/vision:vision_v1p2beta1.yaml",
+-    service_yaml = "vision_v1p2beta1.yaml",
 -    deps = [],
 -)
 -
@@ -96313,7 +100417,7 @@
 diff -urN a/google/cloud/vision/v1p3beta1/BUILD.bazel b/google/cloud/vision/v1p3beta1/BUILD.bazel
 --- a/google/cloud/vision/v1p3beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/vision/v1p3beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,355 +0,0 @@
+@@ -1,366 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -96449,7 +100553,7 @@
 -    srcs = [":vision_proto_with_info"],
 -    grpc_service_config = "vision_grpc_service_config.json",
 -    importpath = "cloud.google.com/go/vision/apiv1p3beta1;vision",
--    service_yaml = "//google/cloud/vision:vision_v1p3beta1.yaml",
+-    service_yaml = "vision_v1p3beta1.yaml",
 -    transport = "grpc+rest",
 -    deps = [
 -        ":vision_go_proto",
@@ -96483,6 +100587,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -96491,6 +100596,16 @@
 -    grpc_service_config = "vision_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "vision_py_gapic_test",
+-    srcs = [
+-        "vision_py_gapic_pytest.py",
+-        "vision_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":vision_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "vision-v1p3beta1-py",
 -    deps = [
@@ -96525,7 +100640,7 @@
 -    srcs = [":vision_proto_with_info"],
 -    gapic_yaml = "vision_gapic.yaml",
 -    grpc_service_config = "vision_grpc_service_config.json",
--    service_yaml = "//google/cloud/vision:vision_v1p3beta1.yaml",
+-    service_yaml = "vision_v1p3beta1.yaml",
 -    deps = [
 -        ":vision_php_grpc",
 -        ":vision_php_proto",
@@ -96559,7 +100674,7 @@
 -    grpc_service_config = "vision_grpc_service_config.json",
 -    main_service = "vision",
 -    package = "google.cloud.vision.v1p3beta1",
--    service_yaml = "//google/cloud/vision:vision_v1p3beta1.yaml",
+-    service_yaml = "vision_v1p3beta1.yaml",
 -    deps = [],
 -)
 -
@@ -96672,7 +100787,7 @@
 diff -urN a/google/cloud/vision/v1p4beta1/BUILD.bazel b/google/cloud/vision/v1p4beta1/BUILD.bazel
 --- a/google/cloud/vision/v1p4beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/vision/v1p4beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,356 +0,0 @@
+@@ -1,367 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -96809,7 +100924,7 @@
 -    srcs = [":vision_proto_with_info"],
 -    grpc_service_config = "vision_grpc_service_config.json",
 -    importpath = "cloud.google.com/go/vision/apiv1p4beta1;vision",
--    service_yaml = "//google/cloud/vision:vision_v1p4beta1.yaml",
+-    service_yaml = "vision_v1p4beta1.yaml",
 -    transport = "grpc+rest",
 -    deps = [
 -        ":vision_go_proto",
@@ -96843,6 +100958,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -96851,6 +100967,16 @@
 -    grpc_service_config = "vision_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "vision_py_gapic_test",
+-    srcs = [
+-        "vision_py_gapic_pytest.py",
+-        "vision_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":vision_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "vision-v1p4beta1-py",
 -    deps = [
@@ -96885,7 +101011,7 @@
 -    srcs = [":vision_proto_with_info"],
 -    gapic_yaml = "vision_gapic.yaml",
 -    grpc_service_config = "vision_grpc_service_config.json",
--    service_yaml = "//google/cloud/vision:vision_v1p4beta1.yaml",
+-    service_yaml = "vision_v1p4beta1.yaml",
 -    deps = [
 -        ":vision_php_grpc",
 -        ":vision_php_proto",
@@ -96919,7 +101045,7 @@
 -    grpc_service_config = "vision_grpc_service_config.json",
 -    main_service = "vision",
 -    package = "google.cloud.vision.v1p4beta1",
--    service_yaml = "//google/cloud/vision:vision_v1p4beta1.yaml",
+-    service_yaml = "vision_v1p4beta1.yaml",
 -    deps = [],
 -)
 -
@@ -97076,7 +101202,7 @@
 diff -urN a/google/cloud/vmmigration/v1/BUILD.bazel b/google/cloud/vmmigration/v1/BUILD.bazel
 --- a/google/cloud/vmmigration/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/vmmigration/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,379 +0,0 @@
+@@ -1,390 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -97251,6 +101377,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -97262,6 +101389,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "vmmigration_py_gapic_test",
+-    srcs = [
+-        "vmmigration_py_gapic_pytest.py",
+-        "vmmigration_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":vmmigration_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "vmmigration-v1-py",
@@ -97503,7 +101640,7 @@
 diff -urN a/google/cloud/vpcaccess/v1/BUILD.bazel b/google/cloud/vpcaccess/v1/BUILD.bazel
 --- a/google/cloud/vpcaccess/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/vpcaccess/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,367 +0,0 @@
+@@ -1,389 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -97544,6 +101681,7 @@
 -    deps = [
 -        ":vpcaccess_proto",
 -        "//google/cloud:common_resources_proto",
+-        "//google/cloud/location:location_proto",
 -    ],
 -)
 -
@@ -97573,13 +101711,18 @@
 -java_gapic_library(
 -    name = "vpcaccess_java_gapic",
 -    srcs = [":vpcaccess_proto_with_info"],
+-    gapic_yaml = None,
 -    grpc_service_config = "vpcaccess_grpc_service_config.json",
+-    service_yaml = "vpcaccess_v1.yaml",
 -    test_deps = [
 -        ":vpcaccess_java_grpc",
+-        "//google/cloud/location:location_java_grpc",
 -    ],
 -    transport = "grpc+rest",
 -    deps = [
 -        ":vpcaccess_java_proto",
+-        "//google/api:api_java_proto",
+-        "//google/cloud/location:location_java_proto",
 -    ],
 -)
 -
@@ -97637,6 +101780,7 @@
 -    transport = "grpc+rest",
 -    deps = [
 -        ":vpcaccess_go_proto",
+-        "//google/cloud/location:location_go_proto",
 -        "//google/longrunning:longrunning_go_proto",
 -        "@com_google_cloud_go//longrunning:go_default_library",
 -        "@com_google_cloud_go//longrunning/autogen:go_default_library",
@@ -97668,6 +101812,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -97675,6 +101820,19 @@
 -    srcs = [":vpcaccess_proto"],
 -    grpc_service_config = "vpcaccess_grpc_service_config.json",
 -    opt_args = ["warehouse-package-name=google-cloud-vpc-access"],
+-    service_yaml = "vpcaccess_v1.yaml",
+-    deps = [
+-    ],
+-)
+-
+-py_test(
+-    name = "vpcaccess_py_gapic_test",
+-    srcs = [
+-        "vpcaccess_py_gapic_pytest.py",
+-        "vpcaccess_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":vpcaccess_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -97782,15 +101940,16 @@
 -    name = "vpcaccess_ruby_gapic",
 -    srcs = [":vpcaccess_proto_with_info"],
 -    extra_protoc_parameters = [
--        "ruby-cloud-gem-name=google-cloud-vpc_access-v1",
--        "ruby-cloud-env-prefix=VPC_ACCESS",
--        "ruby-cloud-product-url=https://cloud.google.com/vpc/docs/serverless-vpc-access",
 -        "ruby-cloud-api-id=vpcaccess.googleapis.com",
 -        "ruby-cloud-api-shortname=vpcaccess",
+-        "ruby-cloud-env-prefix=VPC_ACCESS",
+-        "ruby-cloud-gem-name=google-cloud-vpc_access-v1",
+-        "ruby-cloud-product-url=https://cloud.google.com/vpc/docs/serverless-vpc-access",
 -    ],
 -    grpc_service_config = "vpcaccess_grpc_service_config.json",
 -    ruby_cloud_description = "Serverless VPC Access enables you to connect from a serverless environment on Google Cloud (Cloud Run, Cloud Functions, or the App Engine standard environment) directly to your VPC network. This connection makes it possible for your serverless environment to access Compute Engine VM instances, Memorystore instances, and any other resources with an internal IP address.",
 -    ruby_cloud_title = "Serverless VPC Access V1",
+-    service_yaml = "vpcaccess_v1.yaml",
 -    deps = [
 -        ":vpcaccess_ruby_grpc",
 -        ":vpcaccess_ruby_proto",
@@ -97919,7 +102078,7 @@
 diff -urN a/google/cloud/webrisk/v1/BUILD.bazel b/google/cloud/webrisk/v1/BUILD.bazel
 --- a/google/cloud/webrisk/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/webrisk/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,350 +0,0 @@
+@@ -1,361 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -98070,6 +102229,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -98078,6 +102238,16 @@
 -    grpc_service_config = "webrisk_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "webrisk_py_gapic_test",
+-    srcs = [
+-        "webrisk_py_gapic_pytest.py",
+-        "webrisk_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":webrisk_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "webrisk-v1-py",
 -    deps = [
@@ -98273,7 +102443,7 @@
 diff -urN a/google/cloud/webrisk/v1beta1/BUILD.bazel b/google/cloud/webrisk/v1beta1/BUILD.bazel
 --- a/google/cloud/webrisk/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/webrisk/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,334 +0,0 @@
+@@ -1,345 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -98423,6 +102593,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -98431,6 +102602,16 @@
 -    grpc_service_config = "webrisk_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "webrisk_py_gapic_test",
+-    srcs = [
+-        "webrisk_py_gapic_pytest.py",
+-        "webrisk_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":webrisk_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "webrisk-v1beta1-py",
 -    deps = [
@@ -98655,8 +102836,17 @@
 diff -urN a/google/cloud/websecurityscanner/v1/BUILD.bazel b/google/cloud/websecurityscanner/v1/BUILD.bazel
 --- a/google/cloud/websecurityscanner/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/websecurityscanner/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,360 +0,0 @@
+@@ -1,391 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
+-# https://github.com/googleapis/rules_gapic/tree/master/bazel
+-
+-# Most of the manual changes to this file will be overwritten.
+-# It's **only** allowed to change the following rule attribute values:
+-# - names of *_gapic_assembly_* rules
+-# - certain parameters of *_gapic_library rules, including but not limited to:
+-#    * extra_protoc_parameters
+-#    * extra_protoc_file_parameters
+-# The complete list of preserved parameters can be found in the source code.
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
 -package(default_visibility = ["//visibility:public"])
@@ -98678,6 +102868,7 @@
 -        "scan_config_error.proto",
 -        "scan_run.proto",
 -        "scan_run_error_trace.proto",
+-        "scan_run_log.proto",
 -        "scan_run_warning_trace.proto",
 -        "web_security_scanner.proto",
 -    ],
@@ -98726,13 +102917,16 @@
 -java_gapic_library(
 -    name = "websecurityscanner_java_gapic",
 -    srcs = [":websecurityscanner_proto_with_info"],
+-    gapic_yaml = None,
 -    grpc_service_config = "websecurityscanner_grpc_service_config.json",
+-    service_yaml = "websecurityscanner_v1.yaml",
 -    test_deps = [
 -        ":websecurityscanner_java_grpc",
 -    ],
 -    transport = "grpc+rest",
 -    deps = [
 -        ":websecurityscanner_java_proto",
+-        "//google/api:api_java_proto",
 -    ],
 -)
 -
@@ -98784,6 +102978,7 @@
 -    srcs = [":websecurityscanner_proto_with_info"],
 -    grpc_service_config = "websecurityscanner_grpc_service_config.json",
 -    importpath = "cloud.google.com/go/websecurityscanner/apiv1;websecurityscanner",
+-    metadata = True,
 -    service_yaml = "websecurityscanner_v1.yaml",
 -    transport = "grpc+rest",
 -    deps = [
@@ -98803,6 +102998,7 @@
 -    name = "gapi-cloud-websecurityscanner-v1-go",
 -    deps = [
 -        ":websecurityscanner_go_gapic",
+-        ":websecurityscanner_go_gapic_srcjar-metadata.srcjar",
 -        ":websecurityscanner_go_gapic_srcjar-test.srcjar",
 -        ":websecurityscanner_go_proto",
 -    ],
@@ -98815,12 +103011,26 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "websecurityscanner_py_gapic",
 -    srcs = [":websecurityscanner_proto"],
 -    grpc_service_config = "websecurityscanner_grpc_service_config.json",
+-    service_yaml = "websecurityscanner_v1.yaml",
+-    deps = [
+-    ],
+-)
+-
+-py_test(
+-    name = "websecurityscanner_py_gapic_test",
+-    srcs = [
+-        "websecurityscanner_py_gapic_pytest.py",
+-        "websecurityscanner_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":websecurityscanner_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -98857,6 +103067,7 @@
 -    name = "websecurityscanner_php_gapic",
 -    srcs = [":websecurityscanner_proto_with_info"],
 -    grpc_service_config = "websecurityscanner_grpc_service_config.json",
+-    service_yaml = "websecurityscanner_v1.yaml",
 -    deps = [
 -        ":websecurityscanner_php_grpc",
 -        ":websecurityscanner_php_proto",
@@ -98927,15 +103138,16 @@
 -    name = "websecurityscanner_ruby_gapic",
 -    srcs = [":websecurityscanner_proto_with_info"],
 -    extra_protoc_parameters = [
--        "ruby-cloud-gem-name=google-cloud-web_security_scanner-v1",
--        "ruby-cloud-env-prefix=WEB_SECURITY_SCANNER",
--        "ruby-cloud-product-url=https://cloud.google.com/security-command-center/docs/concepts-web-security-scanner-overview/",
 -        "ruby-cloud-api-id=websecurityscanner.googleapis.com",
 -        "ruby-cloud-api-shortname=websecurityscanner",
+-        "ruby-cloud-env-prefix=WEB_SECURITY_SCANNER",
+-        "ruby-cloud-gem-name=google-cloud-web_security_scanner-v1",
+-        "ruby-cloud-product-url=https://cloud.google.com/security-command-center/docs/concepts-web-security-scanner-overview/",
 -    ],
 -    grpc_service_config = "websecurityscanner_grpc_service_config.json",
 -    ruby_cloud_description = "Web Security Scanner scans your Compute and App Engine apps for common web vulnerabilities.",
 -    ruby_cloud_title = "Web Security Scanner V1",
+-    service_yaml = "websecurityscanner_v1.yaml",
 -    deps = [
 -        ":websecurityscanner_ruby_grpc",
 -        ":websecurityscanner_ruby_proto",
@@ -99019,7 +103231,7 @@
 diff -urN a/google/cloud/websecurityscanner/v1alpha/BUILD.bazel b/google/cloud/websecurityscanner/v1alpha/BUILD.bazel
 --- a/google/cloud/websecurityscanner/v1alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/websecurityscanner/v1alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,331 +0,0 @@
+@@ -1,342 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -99176,6 +103388,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -99184,6 +103397,16 @@
 -    grpc_service_config = "websecurityscanner_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "websecurityscanner_py_gapic_test",
+-    srcs = [
+-        "websecurityscanner_py_gapic_pytest.py",
+-        "websecurityscanner_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":websecurityscanner_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "websecurityscanner-v1alpha-py",
 -    deps = [
@@ -99354,7 +103577,7 @@
 diff -urN a/google/cloud/websecurityscanner/v1beta/BUILD.bazel b/google/cloud/websecurityscanner/v1beta/BUILD.bazel
 --- a/google/cloud/websecurityscanner/v1beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/websecurityscanner/v1beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,343 +0,0 @@
+@@ -1,354 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -99514,6 +103737,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -99522,6 +103746,16 @@
 -    grpc_service_config = "websecurityscanner_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "websecurityscanner_py_gapic_test",
+-    srcs = [
+-        "websecurityscanner_py_gapic_pytest.py",
+-        "websecurityscanner_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":websecurityscanner_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "websecurityscanner-v1beta-py",
 -    deps = [
@@ -99789,7 +104023,7 @@
 diff -urN a/google/cloud/workflows/executions/v1/BUILD.bazel b/google/cloud/workflows/executions/v1/BUILD.bazel
 --- a/google/cloud/workflows/executions/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/workflows/executions/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,365 +0,0 @@
+@@ -1,376 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -99952,6 +104186,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -99960,6 +104195,16 @@
 -    grpc_service_config = "executions_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "executions_py_gapic_test",
+-    srcs = [
+-        "executions_py_gapic_pytest.py",
+-        "executions_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":executions_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "workflows-executions-v1-py",
@@ -100158,7 +104403,7 @@
 diff -urN a/google/cloud/workflows/executions/v1beta/BUILD.bazel b/google/cloud/workflows/executions/v1beta/BUILD.bazel
 --- a/google/cloud/workflows/executions/v1beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/workflows/executions/v1beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,335 +0,0 @@
+@@ -1,346 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -100307,6 +104552,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -100315,6 +104561,16 @@
 -    grpc_service_config = "executions_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "executions_py_gapic_test",
+-    srcs = [
+-        "executions_py_gapic_pytest.py",
+-        "executions_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":executions_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "workflows-executions-v1beta-py",
@@ -100681,7 +104937,7 @@
 diff -urN a/google/cloud/workflows/v1/BUILD.bazel b/google/cloud/workflows/v1/BUILD.bazel
 --- a/google/cloud/workflows/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/workflows/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,370 +0,0 @@
+@@ -1,381 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -100850,6 +105106,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -100858,6 +105115,16 @@
 -    grpc_service_config = "workflows_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "workflows_py_gapic_test",
+-    srcs = [
+-        "workflows_py_gapic_pytest.py",
+-        "workflows_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":workflows_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "workflows-v1-py",
@@ -101055,7 +105322,7 @@
 diff -urN a/google/cloud/workflows/v1beta/BUILD.bazel b/google/cloud/workflows/v1beta/BUILD.bazel
 --- a/google/cloud/workflows/v1beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/cloud/workflows/v1beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,340 +0,0 @@
+@@ -1,351 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -101210,6 +105477,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -101218,6 +105486,16 @@
 -    grpc_service_config = "workflows_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "workflows_py_gapic_test",
+-    srcs = [
+-        "workflows_py_gapic_pytest.py",
+-        "workflows_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":workflows_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "workflows-v1beta-py",
@@ -101444,7 +105722,7 @@
 diff -urN a/google/container/v1/BUILD.bazel b/google/container/v1/BUILD.bazel
 --- a/google/container/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/container/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,370 +0,0 @@
+@@ -1,381 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -101609,6 +105887,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -101621,6 +105900,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "container_py_gapic_test",
+-    srcs = [
+-        "container_py_gapic_pytest.py",
+-        "container_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":container_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "container-v1-py",
@@ -102000,7 +106289,7 @@
 diff -urN a/google/container/v1beta1/BUILD.bazel b/google/container/v1beta1/BUILD.bazel
 --- a/google/container/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/container/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,372 +0,0 @@
+@@ -1,383 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -102167,6 +106456,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -102179,6 +106469,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "container_py_gapic_test",
+-    srcs = [
+-        "container_py_gapic_pytest.py",
+-        "container_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":container_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "container-v1beta1-py",
@@ -102421,7 +106721,7 @@
 diff -urN a/google/dataflow/v1beta3/BUILD.bazel b/google/dataflow/v1beta3/BUILD.bazel
 --- a/google/dataflow/v1beta3/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/dataflow/v1beta3/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,390 +0,0 @@
+@@ -1,402 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -102604,6 +106904,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -102615,6 +106916,17 @@
 -        "python-gapic-namespace=google.cloud",
 -        "warehouse-package-name=google-cloud-dataflow-client",
 -    ],
+-    transport = "grpc+rest",
+-)
+-
+-py_test(
+-    name = "dataflow_py_gapic_test",
+-    srcs = [
+-        "dataflow_py_gapic_pytest.py",
+-        "dataflow_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":dataflow_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -102825,7 +107137,7 @@
 diff -urN a/google/datastore/admin/v1/BUILD.bazel b/google/datastore/admin/v1/BUILD.bazel
 --- a/google/datastore/admin/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/datastore/admin/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,371 +0,0 @@
+@@ -1,382 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -102993,6 +107305,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -103002,6 +107315,16 @@
 -    opt_args = ["python-gapic-namespace=google.cloud, python-gapic-name=datastore-admin"],
 -)
 -
+-py_test(
+-    name = "admin_py_gapic_test",
+-    srcs = [
+-        "admin_py_gapic_pytest.py",
+-        "admin_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":admin_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "datastore-admin-v1-py",
@@ -103200,7 +107523,7 @@
 diff -urN a/google/datastore/v1/BUILD.bazel b/google/datastore/v1/BUILD.bazel
 --- a/google/datastore/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/datastore/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,355 +0,0 @@
+@@ -1,370 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -103327,6 +107650,10 @@
 -    transport = "grpc+rest",
 -    deps = [
 -        ":datastore_go_proto",
+-        "//google/longrunning:longrunning_go_gapic",
+-        "//google/longrunning:longrunning_go_proto",
+-        "@com_google_cloud_go//longrunning:go_default_library",
+-        "@com_google_cloud_go//longrunning/autogen:go_default_library",
 -    ],
 -)
 -
@@ -103354,6 +107681,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -103363,6 +107691,16 @@
 -    opt_args = ["python-gapic-namespace=google.cloud"],
 -)
 -
+-py_test(
+-    name = "datastore_py_gapic_test",
+-    srcs = [
+-        "datastore_py_gapic_pytest.py",
+-        "datastore_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":datastore_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "datastore-v1-py",
 -    deps = [
@@ -103603,7 +107941,7 @@
 diff -urN a/google/devtools/artifactregistry/v1/BUILD.bazel b/google/devtools/artifactregistry/v1/BUILD.bazel
 --- a/google/devtools/artifactregistry/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/devtools/artifactregistry/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,394 +0,0 @@
+@@ -1,408 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -103791,6 +108129,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -103802,6 +108141,19 @@
 -        "python-gapic-namespace=google.cloud",
 -        "warehouse-package-name=google-cloud-artifact-registry",
 -    ],
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "artifactregistry_py_gapic_test",
+-    srcs = [
+-        "artifactregistry_py_gapic_pytest.py",
+-        "artifactregistry_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":artifactregistry_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -104001,7 +108353,7 @@
 diff -urN a/google/devtools/artifactregistry/v1beta2/BUILD.bazel b/google/devtools/artifactregistry/v1beta2/BUILD.bazel
 --- a/google/devtools/artifactregistry/v1beta2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/devtools/artifactregistry/v1beta2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,371 +0,0 @@
+@@ -1,385 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -104182,6 +108534,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -104193,6 +108546,19 @@
 -        "python-gapic-name=artifactregistry",
 -        "warehouse-package-name=google-cloud-artifact-registry",
 -    ],
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "artifactregistry_py_gapic_test",
+-    srcs = [
+-        "artifactregistry_py_gapic_pytest.py",
+-        "artifactregistry_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":artifactregistry_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -104381,7 +108747,7 @@
 diff -urN a/google/devtools/build/v1/BUILD.bazel b/google/devtools/build/v1/BUILD.bazel
 --- a/google/devtools/build/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/devtools/build/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,353 +0,0 @@
+@@ -1,364 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -104552,6 +108918,17 @@
 -    grpc_service_config = "buildeventservice_grpc_service_config.json",
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1374 is fixed
+-#py_test(
+-#    name = "build_py_gapic_test",
+-#    srcs = [
+-#        "build_py_gapic_pytest.py",
+-#        "build_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":build_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "devtools-build-v1-py",
@@ -104782,7 +109159,7 @@
 diff -urN a/google/devtools/cloudbuild/v1/BUILD.bazel b/google/devtools/cloudbuild/v1/BUILD.bazel
 --- a/google/devtools/cloudbuild/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/devtools/cloudbuild/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,347 +0,0 @@
+@@ -1,358 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -##############################################################################
@@ -104809,6 +109186,7 @@
 -    "proto_library_with_info",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -    "ruby_cloud_gapic_library",
 -    "ruby_gapic_assembly_pkg",
 -    "ruby_grpc_library",
@@ -104951,6 +109329,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "cloudbuild_py_gapic_test",
+-    srcs = [
+-        "cloudbuild_py_gapic_pytest.py",
+-        "cloudbuild_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":cloudbuild_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "devtools-cloudbuild-v1-py",
 -    deps = [
@@ -105138,7 +109526,7 @@
 diff -urN a/google/devtools/clouddebugger/v2/BUILD.bazel b/google/devtools/clouddebugger/v2/BUILD.bazel
 --- a/google/devtools/clouddebugger/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/devtools/clouddebugger/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,373 +0,0 @@
+@@ -1,384 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -105307,6 +109695,17 @@
 -    ],
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1376 is fixed
+-#py_test(
+-#    name = "clouddebugger_py_gapic_test",
+-#    srcs = [
+-#        "clouddebugger_py_gapic_pytest.py",
+-#        "clouddebugger_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":clouddebugger_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "devtools-clouddebugger-v2-py",
@@ -105520,7 +109919,7 @@
 diff -urN a/google/devtools/clouderrorreporting/v1beta1/BUILD.bazel b/google/devtools/clouderrorreporting/v1beta1/BUILD.bazel
 --- a/google/devtools/clouderrorreporting/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/devtools/clouderrorreporting/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,355 +0,0 @@
+@@ -1,366 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -105687,6 +110086,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -105699,6 +110099,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "clouderrorreporting_py_gapic_test",
+-    srcs = [
+-        "clouderrorreporting_py_gapic_pytest.py",
+-        "clouderrorreporting_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":clouderrorreporting_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "devtools-clouderrorreporting-v1beta1-py",
@@ -105923,7 +110333,7 @@
 diff -urN a/google/devtools/cloudprofiler/v2/BUILD.bazel b/google/devtools/cloudprofiler/v2/BUILD.bazel
 --- a/google/devtools/cloudprofiler/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/devtools/cloudprofiler/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,357 +0,0 @@
+@@ -1,368 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -106080,6 +110490,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -106088,6 +110499,16 @@
 -    grpc_service_config = "cloudprofiler_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "cloudprofiler_py_gapic_test",
+-    srcs = [
+-        "cloudprofiler_py_gapic_pytest.py",
+-        "cloudprofiler_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":cloudprofiler_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "devtools-cloudprofiler-v2-py",
@@ -106289,7 +110710,7 @@
 diff -urN a/google/devtools/cloudtrace/v1/BUILD.bazel b/google/devtools/cloudtrace/v1/BUILD.bazel
 --- a/google/devtools/cloudtrace/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/devtools/cloudtrace/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,363 +0,0 @@
+@@ -1,374 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -106448,6 +110869,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -106460,6 +110882,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "cloudtrace_py_gapic_test",
+-    srcs = [
+-        "cloudtrace_py_gapic_pytest.py",
+-        "cloudtrace_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":cloudtrace_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "devtools-cloudtrace-v1-py",
@@ -106656,7 +111088,7 @@
 diff -urN a/google/devtools/cloudtrace/v2/BUILD.bazel b/google/devtools/cloudtrace/v2/BUILD.bazel
 --- a/google/devtools/cloudtrace/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/devtools/cloudtrace/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,368 +0,0 @@
+@@ -1,379 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -106820,6 +111252,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -106832,6 +111265,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "cloudtrace_py_gapic_test",
+-    srcs = [
+-        "cloudtrace_py_gapic_pytest.py",
+-        "cloudtrace_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":cloudtrace_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "devtools-cloudtrace-v2-py",
@@ -107073,7 +111516,7 @@
 diff -urN a/google/devtools/containeranalysis/v1/BUILD.bazel b/google/devtools/containeranalysis/v1/BUILD.bazel
 --- a/google/devtools/containeranalysis/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/devtools/containeranalysis/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,390 +0,0 @@
+@@ -1,406 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -107256,6 +111699,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -107263,6 +111707,21 @@
 -    srcs = [":containeranalysis_proto"],
 -    grpc_service_config = "containeranalysis_grpc_service_config.json",
 -    opt_args = ["python-gapic-namespace=google.cloud.devtools"],
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-        "//google/iam/v1:policy_py_proto",
+-        "//grafeas/v1:grafeas_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "containeranalysis_py_gapic_test",
+-    srcs = [
+-        "containeranalysis_py_gapic_pytest.py",
+-        "containeranalysis_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":containeranalysis_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -107633,7 +112092,7 @@
 -    srcs = [":containeranalysis_proto_with_info"],
 -    grpc_service_config = "containeranalysis_grpc_service_config.json",
 -    importpath = "cloud.google.com/go/containeranalysis/apiv1beta1;containeranalysis",
--    service_yaml = "//google/devtools/containeranalysis:containeranalysis_v1beta1.yaml",
+-    service_yaml = "containeranalysis_v1beta1.yaml",
 -    transport = "grpc+rest",
 -    deps = [
 -        ":containeranalysis_go_proto",
@@ -108473,7 +112932,7 @@
 diff -urN a/google/devtools/remoteworkers/v1test2/BUILD.bazel b/google/devtools/remoteworkers/v1test2/BUILD.bazel
 --- a/google/devtools/remoteworkers/v1test2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/devtools/remoteworkers/v1test2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,340 +0,0 @@
+@@ -1,351 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -108647,6 +113106,17 @@
 -    grpc_service_config = "remoteworkers_grpc_service_config.json",
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1370 is fixed
+-#py_test(
+-#    name = "remoteworkers_py_gapic_test",
+-#    srcs = [
+-#        "remoteworkers_py_gapic_pytest.py",
+-#        "remoteworkers_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":remoteworkers_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "devtools-remoteworkers-v1test2-py",
@@ -109229,7 +113699,7 @@
 diff -urN a/google/devtools/testing/v1/BUILD.bazel b/google/devtools/testing/v1/BUILD.bazel
 --- a/google/devtools/testing/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/devtools/testing/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,370 +0,0 @@
+@@ -1,381 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -109409,6 +113879,17 @@
 -    grpc_service_config = "testing_grpc_service_config.json",
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1376 is fixed
+-#py_test(
+-#    name = "testing_py_gapic_test",
+-#    srcs = [
+-#        "testing_py_gapic_pytest.py",
+-#        "testing_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":testing_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "devtools-testing-v1-py",
@@ -109613,7 +114094,7 @@
 diff -urN a/google/example/library/v1/BUILD.bazel b/google/example/library/v1/BUILD.bazel
 --- a/google/example/library/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/example/library/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,317 +0,0 @@
+@@ -1,328 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -109653,6 +114134,7 @@
 -    "proto_library_with_info",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -    "ruby_cloud_gapic_library",
 -    "ruby_gapic_assembly_pkg",
 -    "ruby_grpc_library",
@@ -109778,6 +114260,16 @@
 -    grpc_service_config = "library_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "library_py_gapic_test",
+-    srcs = [
+-        "library_py_gapic_pytest.py",
+-        "library_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":library_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "example-library-v1-py",
@@ -109944,7 +114436,7 @@
 diff -urN a/google/firestore/admin/v1/BUILD.bazel b/google/firestore/admin/v1/BUILD.bazel
 --- a/google/firestore/admin/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/firestore/admin/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,384 +0,0 @@
+@@ -1,395 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -110122,6 +114614,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -110134,6 +114627,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "admin_py_gapic_test",
+-    srcs = [
+-        "admin_py_gapic_pytest.py",
+-        "admin_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":admin_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "firestore-admin-v1-py",
@@ -110455,7 +114958,7 @@
 diff -urN a/google/firestore/v1/BUILD.bazel b/google/firestore/v1/BUILD.bazel
 --- a/google/firestore/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/firestore/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,358 +0,0 @@
+@@ -1,374 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -110573,6 +115076,7 @@
 -    protos = [":firestore_proto"],
 -    deps = [
 -        "//google/api:annotations_go_proto",
+-        "//google/longrunning:longrunning_go_proto",
 -        "//google/rpc:status_go_proto",
 -        "//google/type:latlng_go_proto",
 -    ],
@@ -110583,10 +115087,14 @@
 -    srcs = [":firestore_proto_with_info"],
 -    grpc_service_config = "firestore_grpc_service_config.json",
 -    importpath = "cloud.google.com/go/firestore/apiv1;firestore",
--    service_yaml = "//google/firestore:firestore_v1.yaml",
+-    service_yaml = "firestore_v1.yaml",
 -    transport = "grpc+rest",
 -    deps = [
 -        ":firestore_go_proto",
+-        "//google/longrunning:longrunning_go_proto",
+-        "@com_google_cloud_go//longrunning:go_default_library",
+-        "@com_google_cloud_go//longrunning/autogen:go_default_library",
+-        "@io_bazel_rules_go//proto/wkt:any_go_proto",
 -    ],
 -)
 -
@@ -110614,6 +115122,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -110623,6 +115132,16 @@
 -    opt_args = ["python-gapic-namespace=google.cloud"],
 -)
 -
+-py_test(
+-    name = "firestore_py_gapic_test",
+-    srcs = [
+-        "firestore_py_gapic_pytest.py",
+-        "firestore_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":firestore_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "firestore-v1-py",
 -    deps = [
@@ -110687,7 +115206,7 @@
 -    extra_protoc_parameters = ["metadata"],
 -    grpc_service_config = "firestore_grpc_service_config.json",
 -    package = "google.firestore.v1",
--    service_yaml = "//google/firestore:firestore_v1.yaml",
+-    service_yaml = "firestore_v1.yaml",
 -    deps = [],
 -)
 -
@@ -110777,7 +115296,7 @@
 -    srcs = [":firestore_proto_with_info"],
 -    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
 -    grpc_service_config = "firestore_grpc_service_config.json",
--    service_yaml = "//google/firestore:firestore_v1.yaml",
+-    service_yaml = "firestore_v1.yaml",
 -    deps = [
 -        ":firestore_csharp_grpc",
 -        ":firestore_csharp_proto",
@@ -110817,7 +115336,7 @@
 diff -urN a/google/firestore/v1beta1/BUILD.bazel b/google/firestore/v1beta1/BUILD.bazel
 --- a/google/firestore/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/firestore/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,341 +0,0 @@
+@@ -1,352 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -110954,7 +115473,7 @@
 -    srcs = [":firestore_proto_with_info"],
 -    grpc_service_config = "firestore_grpc_service_config.json",
 -    importpath = "cloud.google.com/go/firestore/apiv1beta1;firestore",
--    service_yaml = "//google/firestore:firestore_v1beta1.yaml",
+-    service_yaml = "firestore_v1beta1.yaml",
 -    transport = "grpc+rest",
 -    deps = [
 -        ":firestore_go_proto",
@@ -110985,6 +115504,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -110993,6 +115513,16 @@
 -    grpc_service_config = "firestore_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "firestore_py_gapic_test",
+-    srcs = [
+-        "firestore_py_gapic_pytest.py",
+-        "firestore_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":firestore_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "firestore-v1beta1-py",
@@ -111057,7 +115587,7 @@
 -    extra_protoc_parameters = ["metadata"],
 -    grpc_service_config = "firestore_grpc_service_config.json",
 -    package = "google.firestore.v1beta1",
--    service_yaml = "//google/firestore:firestore_v1beta1.yaml",
+-    service_yaml = "firestore_v1beta1.yaml",
 -    deps = [],
 -)
 -
@@ -111138,7 +115668,7 @@
 -    srcs = [":firestore_proto_with_info"],
 -    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
 -    grpc_service_config = "firestore_grpc_service_config.json",
--    service_yaml = "//google/firestore:firestore_v1beta1.yaml",
+-    service_yaml = "firestore_v1beta1.yaml",
 -    deps = [
 -        ":firestore_csharp_grpc",
 -        ":firestore_csharp_proto",
@@ -111162,7 +115692,7 @@
 diff -urN a/google/geo/type/BUILD.bazel b/google/geo/type/BUILD.bazel
 --- a/google/geo/type/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/geo/type/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,59 +0,0 @@
+@@ -1,69 +0,0 @@
 -load("@rules_proto//proto:defs.bzl", "proto_library")
 -load(
 -    "@com_google_googleapis_imports//:imports.bzl",
@@ -111170,6 +115700,8 @@
 -    "go_proto_library",
 -    "java_gapic_assembly_gradle_pkg",
 -    "java_proto_library",
+-    "py_gapic_library",
+-    "py_proto_library",
 -)
 -
 -package(default_visibility = ["//visibility:public"])
@@ -111216,6 +115748,14 @@
 -)
 -
 -##############################################################################
+-# Python
+-##############################################################################
+-py_proto_library(
+-    name = "viewport_py_proto",
+-    deps = [":viewport_proto"],
+-)
+-
+-##############################################################################
 -# C++
 -##############################################################################
 -cc_proto_library(
@@ -111225,7 +115765,7 @@
 diff -urN a/google/home/enterprise/sdm/v1/BUILD.bazel b/google/home/enterprise/sdm/v1/BUILD.bazel
 --- a/google/home/enterprise/sdm/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/home/enterprise/sdm/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,334 +0,0 @@
+@@ -1,345 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -111384,6 +115924,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -111392,6 +115933,16 @@
 -    grpc_service_config = "smart_device_management_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "sdm_py_gapic_test",
+-    srcs = [
+-        "sdm_py_gapic_pytest.py",
+-        "sdm_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":sdm_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "enterprise-sdm-v1-py",
@@ -111568,7 +116119,7 @@
 diff -urN a/google/home/graph/v1/BUILD.bazel b/google/home/graph/v1/BUILD.bazel
 --- a/google/home/graph/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/home/graph/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,323 +0,0 @@
+@@ -1,334 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -111726,6 +116277,17 @@
 -    grpc_service_config = "homegraph_grpc_service_config.json",
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1370 is fixed
+-#py_test(
+-#    name = "graph_py_gapic_test",
+-#    srcs = [
+-#        "graph_py_gapic_pytest.py",
+-#        "graph_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":graph_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "home-graph-v1-py",
@@ -111895,12 +116457,50 @@
 diff -urN a/google/iam/BUILD.bazel b/google/iam/BUILD.bazel
 --- a/google/iam/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/iam/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1 +0,0 @@
+@@ -1,39 +0,0 @@
+-# This build file includes a target for the Ruby wrapper library for
+-# google-iam.
+-
+-# This is an API workspace, having public visibility by default makes perfect sense.
+-package(default_visibility = ["//visibility:public"])
+-
+-# Export yaml configs.
 -exports_files(glob(["*.yaml"]))
+-
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "ruby_cloud_gapic_library",
+-    "ruby_gapic_assembly_pkg",
+-)
+-
+-# Generates a Ruby wrapper client for iam.
+-# Ruby wrapper clients are versionless, but are generated from source protos
+-# for a particular service version, v2 in this case.
+-ruby_cloud_gapic_library(
+-    name = "iam_ruby_wrapper",
+-    srcs = ["//google/iam/v2:iam_proto_with_info"],
+-    extra_protoc_parameters = [
+-        "ruby-cloud-gem-name=google-iam",
+-        "ruby-cloud-wrapper-of=v2:0.0",
+-        "ruby-cloud-product-url=https://cloud.google.com/iam",
+-        "ruby-cloud-api-id=iam.googleapis.com",
+-        "ruby-cloud-api-shortname=iam",
+-    ],
+-    ruby_cloud_description = "Manages identity and access control policies for Google Cloud Platform resources.",
+-    ruby_cloud_title = "IAM",
+-)
+-
+-# Open Source package.
+-ruby_gapic_assembly_pkg(
+-    name = "google-iam-ruby",
+-    deps = [
+-        ":iam_ruby_wrapper",
+-    ],
+-)
 diff -urN a/google/iam/admin/v1/BUILD.bazel b/google/iam/admin/v1/BUILD.bazel
 --- a/google/iam/admin/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/iam/admin/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,365 +0,0 @@
+@@ -1,379 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -112073,12 +116673,26 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "admin_py_gapic",
 -    srcs = [":admin_proto"],
 -    grpc_service_config = "iam_grpc_service_config.json",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "admin_py_gapic_test",
+-    srcs = [
+-        "admin_py_gapic_pytest.py",
+-        "admin_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":admin_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -112313,7 +116927,7 @@
 diff -urN a/google/iam/credentials/v1/BUILD.bazel b/google/iam/credentials/v1/BUILD.bazel
 --- a/google/iam/credentials/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/iam/credentials/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,355 +0,0 @@
+@@ -1,366 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -112432,7 +117046,7 @@
 -    srcs = [":credentials_proto_with_info"],
 -    grpc_service_config = "iamcredentials_grpc_service_config.json",
 -    importpath = "cloud.google.com/go/iam/credentials/apiv1;credentials",
--    service_yaml = "//google/iam/credentials:iamcredentials_v1.yaml",
+-    service_yaml = "iamcredentials_v1.yaml",
 -    transport = "grpc+rest",
 -    deps = [
 -        ":credentials_go_proto",
@@ -112464,6 +117078,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -112477,6 +117092,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "credentials_py_gapic_test",
+-    srcs = [
+-        "credentials_py_gapic_pytest.py",
+-        "credentials_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":credentials_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "iam-credentials-v1-py",
 -    deps = [
@@ -112542,7 +117167,7 @@
 -    extra_protoc_parameters = ["metadata"],
 -    grpc_service_config = "iamcredentials_grpc_service_config.json",
 -    package = "google.iam.credentials.v1",
--    service_yaml = "//google/iam/credentials:iamcredentials_v1.yaml",
+-    service_yaml = "iamcredentials_v1.yaml",
 -    deps = [],
 -)
 -
@@ -112632,7 +117257,7 @@
 -    srcs = [":credentials_proto_with_info"],
 -    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
 -    grpc_service_config = "iamcredentials_grpc_service_config.json",
--    service_yaml = "//google/iam/credentials:iamcredentials_v1.yaml",
+-    service_yaml = "iamcredentials_v1.yaml",
 -    deps = [
 -        ":credentials_csharp_grpc",
 -        ":credentials_csharp_proto",
@@ -113014,13 +117639,13 @@
 -##############################################################################
 -load(
 -    "@com_google_googleapis_imports//:imports.bzl",
+-    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
--    "py_gapic_assembly_pkg"
 -)
 -
 -py_gapic_library(
 -    name = "logging_py_gapic",
--    srcs =[":audit_data_proto"],
+-    srcs = [":audit_data_proto"],
 -    opt_args = [
 -        "warehouse-package-name=google-cloud-iam-logging",
 -        "python-gapic-namespace=google.cloud",
@@ -113059,7 +117684,7 @@
 diff -urN a/google/iam/v1beta/BUILD.bazel b/google/iam/v1beta/BUILD.bazel
 --- a/google/iam/v1beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/iam/v1beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,344 +0,0 @@
+@@ -1,355 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -113219,6 +117844,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -113227,6 +117853,16 @@
 -    grpc_service_config = "iam_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "iam_py_gapic_test",
+-    srcs = [
+-        "iam_py_gapic_pytest.py",
+-        "iam_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":iam_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "iam-v1beta-py",
@@ -113404,10 +118040,10 @@
 -# C++
 -##############################################################################
 -# Put your C++ rules here
-diff -urN a/google/iam/v2beta/BUILD.bazel b/google/iam/v2beta/BUILD.bazel
---- a/google/iam/v2beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-+++ b/google/iam/v2beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,367 +0,0 @@
+diff -urN a/google/iam/v2/BUILD.bazel b/google/iam/v2/BUILD.bazel
+--- a/google/iam/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
++++ b/google/iam/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
+@@ -1,390 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -113438,7 +118074,400 @@
 -        "//google/api:annotations_proto",
 -        "//google/api:client_proto",
 -        "//google/api:field_behavior_proto",
--        "//google/api:resource_proto",
+-        "//google/longrunning:operations_proto",
+-        "//google/type:expr_proto",
+-        "@com_google_protobuf//:timestamp_proto",
+-    ],
+-)
+-
+-proto_library_with_info(
+-    name = "iam_proto_with_info",
+-    deps = [
+-        ":iam_proto",
+-        "//google/cloud:common_resources_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Java
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "java_gapic_assembly_gradle_pkg",
+-    "java_gapic_library",
+-    "java_gapic_test",
+-    "java_grpc_library",
+-    "java_proto_library",
+-)
+-
+-java_proto_library(
+-    name = "iam_java_proto",
+-    deps = [":iam_proto"],
+-)
+-
+-java_grpc_library(
+-    name = "iam_java_grpc",
+-    srcs = [":iam_proto"],
+-    deps = [":iam_java_proto"],
+-)
+-
+-java_gapic_library(
+-    name = "iam_java_gapic",
+-    srcs = [":iam_proto_with_info"],
+-    gapic_yaml = None,
+-    grpc_service_config = "iam_grpc_service_config.json",
+-    service_yaml = "iam_v2.yaml",
+-    test_deps = [
+-        ":iam_java_grpc",
+-    ],
+-    transport = "grpc+rest",
+-    deps = [
+-        ":iam_java_proto",
+-        "//google/api:api_java_proto",
+-    ],
+-)
+-
+-java_gapic_test(
+-    name = "iam_java_gapic_test_suite",
+-    test_classes = [
+-        "com.google.iam.v2.PoliciesClientHttpJsonTest",
+-        "com.google.iam.v2.PoliciesClientTest",
+-    ],
+-    runtime_deps = [":iam_java_gapic_test"],
+-)
+-
+-# Open Source Packages
+-java_gapic_assembly_gradle_pkg(
+-    name = "google-cloud-iam-v2-java",
+-    include_samples = True,
+-    transport = "grpc+rest",
+-    deps = [
+-        ":iam_java_gapic",
+-        ":iam_java_grpc",
+-        ":iam_java_proto",
+-        ":iam_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Go
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "go_gapic_assembly_pkg",
+-    "go_gapic_library",
+-    "go_proto_library",
+-    "go_test",
+-)
+-
+-go_proto_library(
+-    name = "iam_go_proto",
+-    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
+-    importpath = "google.golang.org/genproto/googleapis/iam/v2",
+-    protos = [":iam_proto"],
+-    deps = [
+-        "//google/api:annotations_go_proto",
+-        "//google/longrunning:longrunning_go_proto",
+-        "//google/type:expr_go_proto",
+-    ],
+-)
+-
+-go_gapic_library(
+-    name = "iam_go_gapic",
+-    srcs = [":iam_proto_with_info"],
+-    grpc_service_config = "iam_grpc_service_config.json",
+-    importpath = "cloud.google.com/go/iam/apiv2;iam",
+-    metadata = True,
+-    service_yaml = "iam_v2.yaml",
+-    transport = "grpc+rest",
+-    deps = [
+-        ":iam_go_proto",
+-        "//google/longrunning:longrunning_go_proto",
+-        "@com_google_cloud_go//longrunning:go_default_library",
+-        "@com_google_cloud_go//longrunning/autogen:go_default_library",
+-    ],
+-)
+-
+-go_test(
+-    name = "iam_go_gapic_test",
+-    srcs = [":iam_go_gapic_srcjar_test"],
+-    embed = [":iam_go_gapic"],
+-    importpath = "cloud.google.com/go/iam/apiv2",
+-)
+-
+-# Open Source Packages
+-go_gapic_assembly_pkg(
+-    name = "gapi-cloud-iam-v2-go",
+-    deps = [
+-        ":iam_go_gapic",
+-        ":iam_go_gapic_srcjar-metadata.srcjar",
+-        ":iam_go_gapic_srcjar-test.srcjar",
+-        ":iam_go_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Python
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "py_gapic_assembly_pkg",
+-    "py_gapic_library",
+-    "py_test",
+-)
+-
+-py_gapic_library(
+-    name = "iam_py_gapic",
+-    srcs = [":iam_proto"],
+-    grpc_service_config = "iam_grpc_service_config.json",
+-    service_yaml = "iam_v2.yaml",
+-    deps = [
+-    ],
+-    opt_args = [
+-        "python-gapic-name=iam",
+-        "python-gapic-namespace=google.cloud",
+-        "warehouse-package-name=google-cloud-iam",
+-    ],
+-)
+-
+-py_test(
+-    name = "iam_py_gapic_test",
+-    srcs = [
+-        "iam_py_gapic_pytest.py",
+-        "iam_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":iam_py_gapic"],
+-)
+-
+-# Open Source Packages
+-py_gapic_assembly_pkg(
+-    name = "iam-v2-py",
+-    deps = [
+-        ":iam_py_gapic",
+-    ],
+-)
+-
+-##############################################################################
+-# PHP
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "php_gapic_assembly_pkg",
+-    "php_gapic_library",
+-    "php_grpc_library",
+-    "php_proto_library",
+-)
+-
+-php_proto_library(
+-    name = "iam_php_proto",
+-    deps = [":iam_proto"],
+-)
+-
+-php_grpc_library(
+-    name = "iam_php_grpc",
+-    srcs = [":iam_proto"],
+-    deps = [":iam_php_proto"],
+-)
+-
+-php_gapic_library(
+-    name = "iam_php_gapic",
+-    srcs = [":iam_proto_with_info"],
+-    grpc_service_config = "iam_grpc_service_config.json",
+-    service_yaml = "iam_v2.yaml",
+-    deps = [
+-        ":iam_php_grpc",
+-        ":iam_php_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-php_gapic_assembly_pkg(
+-    name = "google-cloud-iam-v2-php",
+-    deps = [
+-        ":iam_php_gapic",
+-        ":iam_php_grpc",
+-        ":iam_php_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Node.js
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "nodejs_gapic_assembly_pkg",
+-    "nodejs_gapic_library",
+-)
+-
+-nodejs_gapic_library(
+-    name = "iam_nodejs_gapic",
+-    package_name = "@google-cloud/iam",
+-    src = ":iam_proto_with_info",
+-    extra_protoc_parameters = ["metadata"],
+-    grpc_service_config = "iam_grpc_service_config.json",
+-    package = "google.iam.v2",
+-    service_yaml = "iam_v2.yaml",
+-    deps = [],
+-)
+-
+-nodejs_gapic_assembly_pkg(
+-    name = "iam-v2-nodejs",
+-    deps = [
+-        ":iam_nodejs_gapic",
+-        ":iam_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Ruby
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "ruby_cloud_gapic_library",
+-    "ruby_gapic_assembly_pkg",
+-    "ruby_grpc_library",
+-    "ruby_proto_library",
+-)
+-
+-ruby_proto_library(
+-    name = "iam_ruby_proto",
+-    deps = [":iam_proto"],
+-)
+-
+-ruby_grpc_library(
+-    name = "iam_ruby_grpc",
+-    srcs = [":iam_proto"],
+-    deps = [":iam_ruby_proto"],
+-)
+-
+-ruby_cloud_gapic_library(
+-    name = "iam_ruby_gapic",
+-    srcs = [":iam_proto_with_info"],
+-    extra_protoc_parameters = [
+-        "ruby-cloud-api-id=iam.googleapis.com",
+-        "ruby-cloud-api-shortname=iam",
+-        "ruby-cloud-gem-name=google-iam-v2",
+-        "ruby-cloud-product-url=https://cloud.google.com/iam",
+-    ],
+-    grpc_service_config = "iam_grpc_service_config.json",
+-    service_yaml = "iam_v2.yaml",
+-    ruby_cloud_description = "Manages identity and access control policies for Google Cloud Platform resources.",
+-    ruby_cloud_title = "IAM V2",
+-    deps = [
+-        ":iam_ruby_grpc",
+-        ":iam_ruby_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-ruby_gapic_assembly_pkg(
+-    name = "google-cloud-iam-v2-ruby",
+-    deps = [
+-        ":iam_ruby_gapic",
+-        ":iam_ruby_grpc",
+-        ":iam_ruby_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# C#
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "csharp_gapic_assembly_pkg",
+-    "csharp_gapic_library",
+-    "csharp_grpc_library",
+-    "csharp_proto_library",
+-)
+-
+-csharp_proto_library(
+-    name = "iam_csharp_proto",
+-    deps = [":iam_proto"],
+-)
+-
+-csharp_grpc_library(
+-    name = "iam_csharp_grpc",
+-    srcs = [":iam_proto"],
+-    deps = [":iam_csharp_proto"],
+-)
+-
+-csharp_gapic_library(
+-    name = "iam_csharp_gapic",
+-    srcs = [":iam_proto_with_info"],
+-    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
+-    grpc_service_config = "iam_grpc_service_config.json",
+-    service_yaml = "iam_v2.yaml",
+-    deps = [
+-        ":iam_csharp_grpc",
+-        ":iam_csharp_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-csharp_gapic_assembly_pkg(
+-    name = "google-cloud-iam-v2-csharp",
+-    deps = [
+-        ":iam_csharp_gapic",
+-        ":iam_csharp_grpc",
+-        ":iam_csharp_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# C++
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "cc_grpc_library",
+-    "cc_proto_library",
+-)
+-
+-cc_proto_library(
+-    name = "iam_cc_proto",
+-    deps = [":iam_proto"],
+-)
+-
+-cc_grpc_library(
+-    name = "iam_cc_grpc",
+-    srcs = [":iam_proto"],
+-    grpc_only = True,
+-    deps = [":iam_cc_proto"],
+-)
+diff -urN a/google/iam/v2beta/BUILD.bazel b/google/iam/v2beta/BUILD.bazel
+--- a/google/iam/v2beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
++++ b/google/iam/v2beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
+@@ -1,383 +0,0 @@
+-# This file was automatically generated by BuildFileGenerator
+-# https://github.com/googleapis/rules_gapic/tree/master/bazel
+-
+-# Most of the manual changes to this file will be overwritten.
+-# It's **only** allowed to change the following rule attribute values:
+-# - names of *_gapic_assembly_* rules
+-# - certain parameters of *_gapic_library rules, including but not limited to:
+-#    * extra_protoc_parameters
+-#    * extra_protoc_file_parameters
+-# The complete list of preserved parameters can be found in the source code.
+-
+-# This is an API workspace, having public visibility by default makes perfect sense.
+-package(default_visibility = ["//visibility:public"])
+-
+-##############################################################################
+-# Common
+-##############################################################################
+-load("@rules_proto//proto:defs.bzl", "proto_library")
+-load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
+-
+-proto_library(
+-    name = "iam_proto",
+-    srcs = [
+-        "deny.proto",
+-        "policy.proto",
+-    ],
+-    deps = [
+-        "//google/api:annotations_proto",
+-        "//google/api:client_proto",
+-        "//google/api:field_behavior_proto",
 -        "//google/longrunning:operations_proto",
 -        "//google/type:expr_proto",
 -        "@com_google_protobuf//:timestamp_proto",
@@ -113485,6 +118514,7 @@
 -    test_deps = [
 -        ":iam_java_grpc",
 -    ],
+-    transport = "grpc+rest",
 -    deps = [
 -        ":iam_java_proto",
 -        "//google/api:api_java_proto",
@@ -113494,6 +118524,7 @@
 -java_gapic_test(
 -    name = "iam_java_gapic_test_suite",
 -    test_classes = [
+-        "com.google.iam.v2beta.PoliciesClientHttpJsonTest",
 -        "com.google.iam.v2beta.PoliciesClientTest",
 -    ],
 -    runtime_deps = [":iam_java_gapic_test"],
@@ -113502,6 +118533,8 @@
 -# Open Source Packages
 -java_gapic_assembly_gradle_pkg(
 -    name = "google-cloud-iam-v2beta-java",
+-    include_samples = True,
+-    transport = "grpc+rest",
 -    deps = [
 -        ":iam_java_gapic",
 -        ":iam_java_grpc",
@@ -113540,6 +118573,7 @@
 -    importpath = "cloud.google.com/go/iam/apiv2beta;iam",
 -    metadata = True,
 -    service_yaml = "iam_v2beta.yaml",
+-    transport = "grpc+rest",
 -    deps = [
 -        ":iam_go_proto",
 -        "//google/longrunning:longrunning_go_proto",
@@ -113573,18 +118607,31 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "iam_py_gapic",
 -    srcs = [":iam_proto"],
 -    grpc_service_config = "iam_grpc_service_config.json",
--    service_yaml = "iam_v2beta.yaml",
 -    opt_args = [
--        "warehouse-package-name=google-cloud-iam",
--        "python-gapic-namespace=google.cloud",
 -        "python-gapic-name=iam",
+-        "python-gapic-namespace=google.cloud",
+-        "warehouse-package-name=google-cloud-iam",
 -    ],
+-    service_yaml = "iam_v2beta.yaml",
+-    deps = [
+-    ],
+-)
+-
+-py_test(
+-    name = "iam_py_gapic_test",
+-    srcs = [
+-        "iam_py_gapic_pytest.py",
+-        "iam_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":iam_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -113691,10 +118738,9 @@
 -ruby_cloud_gapic_library(
 -    name = "iam_ruby_gapic",
 -    srcs = [":iam_proto_with_info"],
--    extra_protoc_parameters = [
--        "ruby-cloud-gem-name=google-cloud-iam-v2beta",
--    ],
+-    extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-iam-v2beta"],
 -    grpc_service_config = "iam_grpc_service_config.json",
+-    service_yaml = "iam_v2beta.yaml",
 -    deps = [
 -        ":iam_ruby_grpc",
 -        ":iam_ruby_proto",
@@ -114024,7 +119070,7 @@
 diff -urN a/google/identity/accesscontextmanager/v1/BUILD.bazel b/google/identity/accesscontextmanager/v1/BUILD.bazel
 --- a/google/identity/accesscontextmanager/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/identity/accesscontextmanager/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,377 +0,0 @@
+@@ -1,439 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -114075,6 +119121,41 @@
 -    ],
 -)
 -
+-proto_library(
+-    name = "access_level_proto",
+-    srcs = [
+-        "access_level.proto",
+-    ],
+-    deps = [
+-        "//google/api:resource_proto",
+-        "//google/identity/accesscontextmanager/type:type_proto",
+-        "//google/type:expr_proto",
+-        "@com_google_protobuf//:timestamp_proto",
+-    ],
+-)
+-
+-proto_library(
+-    name = "access_policy_proto",
+-    srcs = [
+-        "access_policy.proto",
+-    ],
+-    deps = [
+-        "//google/api:resource_proto",
+-        "@com_google_protobuf//:timestamp_proto",
+-    ],
+-)
+-
+-proto_library(
+-    name = "service_perimeter_proto",
+-    srcs = [
+-        "service_perimeter.proto",
+-    ],
+-    deps = [
+-        "//google/api:resource_proto",
+-        "@com_google_protobuf//:timestamp_proto",
+-    ],
+-)
+-
 -##############################################################################
 -# Java
 -##############################################################################
@@ -114197,6 +119278,22 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_proto_library",
+-)
+-
+-py_proto_library(
+-    name = "access_level_py_proto",
+-    deps = ["access_level_proto"],
+-)
+-
+-py_proto_library(
+-    name = "access_policy_py_proto",
+-    deps = ["access_policy_proto"],
+-)
+-
+-py_proto_library(
+-    name = "service_perimeter_py_proto",
+-    deps = ["service_perimeter_proto"],
 -)
 -
 -py_gapic_library(
@@ -114205,6 +119302,17 @@
 -    grpc_service_config = "accesscontextmanager_grpc_service_config.json",
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1376 is fixed
+-#py_test(
+-#    name = "accesscontextmanager_py_gapic_test",
+-#    srcs = [
+-#        "accesscontextmanager_py_gapic_pytest.py",
+-#        "accesscontextmanager_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":accesscontextmanager_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "identity-accesscontextmanager-v1-py",
@@ -114618,7 +119726,7 @@
 diff -urN a/google/logging/v2/BUILD.bazel b/google/logging/v2/BUILD.bazel
 --- a/google/logging/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/logging/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,397 +0,0 @@
+@@ -1,408 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -114818,6 +119926,17 @@
 -    ],
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1359 is fixed
+-#py_test(
+-#    name = "logging_py_gapic_test",
+-#    srcs = [
+-#        "logging_py_gapic_pytest.py",
+-#        "logging_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":logging_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "logging-v2-py",
@@ -115019,7 +120138,7 @@
 diff -urN a/google/longrunning/BUILD.bazel b/google/longrunning/BUILD.bazel
 --- a/google/longrunning/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/longrunning/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,177 +0,0 @@
+@@ -1,211 +0,0 @@
 -load("@rules_proto//proto:defs.bzl", "proto_library")
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -115091,7 +120210,6 @@
 -    "go_gapic_assembly_pkg",
 -    "go_gapic_library",
 -    "go_proto_library",
--    "go_test",
 -)
 -
 -go_proto_library(
@@ -115116,19 +120234,11 @@
 -    deps = [":longrunning_go_proto"],
 -)
 -
--go_test(
--    name = "longrunning_go_gapic_test",
--    srcs = [":longrunning_go_gapic_srcjar_test"],
--    embed = [":longrunning_go_gapic"],
--    importpath = "cloud.google.com/go/longrunning/autogen",
--)
--
 -# Open Source Packages
 -go_gapic_assembly_pkg(
 -    name = "gapi-cloud-longrunning-go",
 -    deps = [
 -        ":longrunning_go_gapic",
--        ":longrunning_go_gapic_srcjar-test.srcjar",
 -        ":longrunning_go_proto",
 -    ],
 -)
@@ -115197,6 +120307,49 @@
 -        ":longrunning_csharp_proto",
 -    ],
 -)
+-
+-##############################################################################
+-# PHP
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "php_gapic_assembly_pkg",
+-    "php_gapic_library",
+-    "php_grpc_library",
+-    "php_proto_library",
+-)
+-
+-php_proto_library(
+-    name = "longrunning_php_proto",
+-    deps = [":operations_proto"],
+-)
+-
+-php_grpc_library(
+-    name = "longrunning_php_grpc",
+-    srcs = [":operations_proto"],
+-    deps = [":longrunning_php_proto"],
+-)
+-
+-php_gapic_library(
+-    name = "longrunning_php_gapic",
+-    srcs = [":longrunning_proto_with_info"],
+-    grpc_service_config = "longrunning_grpc_service_config.json",
+-    service_yaml = "//google/longrunning:longrunning.yaml",
+-    deps = [
+-        ":longrunning_php_grpc",
+-        ":longrunning_php_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-php_gapic_assembly_pkg(
+-    name = "google-longrunning-php",
+-    deps = [
+-        ":longrunning_php_gapic",
+-        ":longrunning_php_grpc",
+-        ":longrunning_php_proto",
+-    ],
+-)
 diff -urN a/google/maps/BUILD.bazel b/google/maps/BUILD.bazel
 --- a/google/maps/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/maps/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
@@ -115212,10 +120365,392 @@
 -    name = "postprocessing_py",
 -    srcs = ["postprocessing_py.sh"],
 -)
+diff -urN a/google/maps/addressvalidation/v1/BUILD.bazel b/google/maps/addressvalidation/v1/BUILD.bazel
+--- a/google/maps/addressvalidation/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
++++ b/google/maps/addressvalidation/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
+@@ -1,378 +0,0 @@
+-# This file was automatically generated by BuildFileGenerator
+-# https://github.com/googleapis/rules_gapic/tree/master/bazel
+-
+-# Most of the manual changes to this file will be overwritten.
+-# It's **only** allowed to change the following rule attribute values:
+-# - names of *_gapic_assembly_* rules
+-# - certain parameters of *_gapic_library rules, including but not limited to:
+-#    * extra_protoc_parameters
+-#    * extra_protoc_file_parameters
+-# The complete list of preserved parameters can be found in the source code.
+-
+-# This is an API workspace, having public visibility by default makes perfect sense.
+-package(default_visibility = ["//visibility:public"])
+-
+-##############################################################################
+-# Common
+-##############################################################################
+-load("@rules_proto//proto:defs.bzl", "proto_library")
+-load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
+-
+-proto_library(
+-    name = "addressvalidation_proto",
+-    srcs = [
+-        "address.proto",
+-        "address_validation_service.proto",
+-        "geocode.proto",
+-        "metadata.proto",
+-        "usps_data.proto",
+-    ],
+-    deps = [
+-        "//google/api:annotations_proto",
+-        "//google/api:client_proto",
+-        "//google/api:field_behavior_proto",
+-        "//google/geo/type:viewport_proto",
+-        "//google/type:latlng_proto",
+-        "//google/type:postal_address_proto",
+-    ],
+-)
+-
+-proto_library_with_info(
+-    name = "addressvalidation_proto_with_info",
+-    deps = [
+-        ":addressvalidation_proto",
+-        "//google/cloud:common_resources_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Java
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "java_gapic_assembly_gradle_pkg",
+-    "java_gapic_library",
+-    "java_gapic_test",
+-    "java_grpc_library",
+-    "java_proto_library",
+-)
+-
+-java_proto_library(
+-    name = "addressvalidation_java_proto",
+-    deps = [":addressvalidation_proto"],
+-)
+-
+-java_grpc_library(
+-    name = "addressvalidation_java_grpc",
+-    srcs = [":addressvalidation_proto"],
+-    deps = [":addressvalidation_java_proto"],
+-)
+-
+-java_gapic_library(
+-    name = "addressvalidation_java_gapic",
+-    srcs = [":addressvalidation_proto_with_info"],
+-    gapic_yaml = None,
+-    grpc_service_config = "addressvalidation_grpc_service_config.json",
+-    service_yaml = "addressvalidation_v1.yaml",
+-    test_deps = [
+-        ":addressvalidation_java_grpc",
+-    ],
+-    transport = "grpc+rest",
+-    deps = [
+-        ":addressvalidation_java_proto",
+-        "//google/api:api_java_proto",
+-    ],
+-)
+-
+-java_gapic_test(
+-    name = "addressvalidation_java_gapic_test_suite",
+-    test_classes = [
+-        "com.google.maps.addressvalidation.v1.AddressValidationClientHttpJsonTest",
+-        "com.google.maps.addressvalidation.v1.AddressValidationClientTest",
+-    ],
+-    runtime_deps = [":addressvalidation_java_gapic_test"],
+-)
+-
+-# Open Source Packages
+-java_gapic_assembly_gradle_pkg(
+-    name = "google-cloud-maps-addressvalidation-v1-java",
+-    transport = "grpc+rest",
+-    deps = [
+-        ":addressvalidation_java_gapic",
+-        ":addressvalidation_java_grpc",
+-        ":addressvalidation_java_proto",
+-        ":addressvalidation_proto",
+-    ],
+-    include_samples = True,
+-)
+-
+-##############################################################################
+-# Go
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "go_gapic_assembly_pkg",
+-    "go_gapic_library",
+-    "go_proto_library",
+-    "go_test",
+-)
+-
+-go_proto_library(
+-    name = "addressvalidation_go_proto",
+-    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
+-    importpath = "google.golang.org/genproto/googleapis/maps/addressvalidation/v1",
+-    protos = [":addressvalidation_proto"],
+-    deps = [
+-        "//google/api:annotations_go_proto",
+-        "//google/geo/type:viewport_go_proto",
+-        "//google/type:latlng_go_proto",
+-        "//google/type:postaladdress_go_proto",
+-    ],
+-)
+-
+-go_gapic_library(
+-    name = "addressvalidation_go_gapic",
+-    srcs = [":addressvalidation_proto_with_info"],
+-    grpc_service_config = "addressvalidation_grpc_service_config.json",
+-    importpath = "google.golang.org/google/maps/addressvalidation/v1;addressvalidation",
+-    metadata = True,
+-    service_yaml = "addressvalidation_v1.yaml",
+-    transport = "grpc+rest",
+-    rest_numeric_enums = True,
+-    deps = [
+-        ":addressvalidation_go_proto",
+-    ],
+-)
+-
+-go_test(
+-    name = "addressvalidation_go_gapic_test",
+-    srcs = [":addressvalidation_go_gapic_srcjar_test"],
+-    embed = [":addressvalidation_go_gapic"],
+-    importpath = "google.golang.org/google/maps/addressvalidation/v1",
+-)
+-
+-# Open Source Packages
+-go_gapic_assembly_pkg(
+-    name = "gapi-cloud-maps-addressvalidation-v1-go",
+-    deps = [
+-        ":addressvalidation_go_gapic",
+-        ":addressvalidation_go_gapic_srcjar-test.srcjar",
+-        ":addressvalidation_go_gapic_srcjar-metadata.srcjar",
+-        ":addressvalidation_go_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Python
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "py_gapic_assembly_pkg",
+-    "py_gapic_library",
+-    "py_test",
+-)
+-
+-py_gapic_library(
+-    name = "addressvalidation_py_gapic",
+-    srcs = [":addressvalidation_proto"],
+-    grpc_service_config = "addressvalidation_grpc_service_config.json",
+-    service_yaml = "addressvalidation_v1.yaml",
+-    deps = [
+-
+-    ],
+-)
+-
+-# Open Source Packages
+-py_gapic_assembly_pkg(
+-    name = "maps-addressvalidation-v1-py",
+-    deps = [
+-        ":addressvalidation_py_gapic",
+-    ],
+-)
+-
+-##############################################################################
+-# PHP
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "php_gapic_assembly_pkg",
+-    "php_gapic_library",
+-    "php_grpc_library",
+-    "php_proto_library",
+-)
+-
+-php_proto_library(
+-    name = "addressvalidation_php_proto",
+-    deps = [":addressvalidation_proto"],
+-)
+-
+-php_grpc_library(
+-    name = "addressvalidation_php_grpc",
+-    srcs = [":addressvalidation_proto"],
+-    deps = [":addressvalidation_php_proto"],
+-)
+-
+-php_gapic_library(
+-    name = "addressvalidation_php_gapic",
+-    srcs = [":addressvalidation_proto_with_info"],
+-    grpc_service_config = "addressvalidation_grpc_service_config.json",
+-    service_yaml = "addressvalidation_v1.yaml",
+-    deps = [
+-        ":addressvalidation_php_grpc",
+-        ":addressvalidation_php_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-php_gapic_assembly_pkg(
+-    name = "google-cloud-maps-addressvalidation-v1-php",
+-    deps = [
+-        ":addressvalidation_php_gapic",
+-        ":addressvalidation_php_grpc",
+-        ":addressvalidation_php_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Node.js
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "nodejs_gapic_assembly_pkg",
+-    "nodejs_gapic_library",
+-)
+-
+-nodejs_gapic_library(
+-    name = "addressvalidation_nodejs_gapic",
+-    package_name = "@google-cloud/addressvalidation",
+-    src = ":addressvalidation_proto_with_info",
+-    extra_protoc_parameters = ["metadata"],
+-    grpc_service_config = "addressvalidation_grpc_service_config.json",
+-    package = "google.maps.addressvalidation.v1",
+-    service_yaml = "addressvalidation_v1.yaml",
+-    deps = [],
+-)
+-
+-nodejs_gapic_assembly_pkg(
+-    name = "maps-addressvalidation-v1-nodejs",
+-    deps = [
+-        ":addressvalidation_nodejs_gapic",
+-        ":addressvalidation_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Ruby
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "ruby_gapic_assembly_pkg",
+-    "ruby_cloud_gapic_library",
+-    "ruby_grpc_library",
+-    "ruby_proto_library",
+-)
+-
+-ruby_proto_library(
+-    name = "addressvalidation_ruby_proto",
+-    deps = [":addressvalidation_proto"],
+-)
+-
+-ruby_grpc_library(
+-    name = "addressvalidation_ruby_grpc",
+-    srcs = [":addressvalidation_proto"],
+-    deps = [":addressvalidation_ruby_proto"],
+-)
+-
+-ruby_cloud_gapic_library(
+-    name = "addressvalidation_ruby_gapic",
+-    srcs = [":addressvalidation_proto_with_info"],
+-    extra_protoc_parameters = [
+-        "ruby-cloud-api-id=addressvalidation.googleapis.com",
+-        "ruby-cloud-api-shortname=addressvalidation",
+-        "ruby-cloud-gem-name=google-maps-address_validation-v1",
+-        "ruby-cloud-product-url=https://developers.google.com/maps/documentation/address-validation/",
+-    ],
+-    grpc_service_config = "addressvalidation_grpc_service_config.json",
+-    service_yaml = "addressvalidation_v1.yaml",
+-    ruby_cloud_description = "Address Validation is an API that accepts an address, identifies its components, validates them, normalizes the address for mailing and finds the best known location for it. It can help understand if an address refers to a real place. If the address does not refer to a real place, it can identify possibly wrong components, enabling users to correct them.",
+-    ruby_cloud_title = "Address Validation V1",
+-    deps = [
+-        ":addressvalidation_ruby_grpc",
+-        ":addressvalidation_ruby_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-ruby_gapic_assembly_pkg(
+-    name = "google-cloud-maps-addressvalidation-v1-ruby",
+-    deps = [
+-        ":addressvalidation_ruby_gapic",
+-        ":addressvalidation_ruby_grpc",
+-        ":addressvalidation_ruby_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# C#
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "csharp_gapic_assembly_pkg",
+-    "csharp_gapic_library",
+-    "csharp_grpc_library",
+-    "csharp_proto_library",
+-)
+-
+-csharp_proto_library(
+-    name = "addressvalidation_csharp_proto",
+-    deps = [":addressvalidation_proto"],
+-)
+-
+-csharp_grpc_library(
+-    name = "addressvalidation_csharp_grpc",
+-    srcs = [":addressvalidation_proto"],
+-    deps = [":addressvalidation_csharp_proto"],
+-)
+-
+-csharp_gapic_library(
+-    name = "addressvalidation_csharp_gapic",
+-    srcs = [":addressvalidation_proto_with_info"],
+-    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
+-    grpc_service_config = "addressvalidation_grpc_service_config.json",
+-    service_yaml = "addressvalidation_v1.yaml",
+-    deps = [
+-        ":addressvalidation_csharp_grpc",
+-        ":addressvalidation_csharp_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-csharp_gapic_assembly_pkg(
+-    name = "google-cloud-maps-addressvalidation-v1-csharp",
+-    deps = [
+-        ":addressvalidation_csharp_gapic",
+-        ":addressvalidation_csharp_grpc",
+-        ":addressvalidation_csharp_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# C++
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "cc_grpc_library",
+-    "cc_proto_library",
+-)
+-
+-cc_proto_library(
+-    name = "addressvalidation_cc_proto",
+-    deps = [":addressvalidation_proto"],
+-)
+-
+-cc_grpc_library(
+-    name = "addressvalidation_cc_grpc",
+-    srcs = [":addressvalidation_proto"],
+-    grpc_only = True,
+-    deps = [":addressvalidation_cc_proto"],
+-)
 diff -urN a/google/maps/fleetengine/delivery/v1/BUILD.bazel b/google/maps/fleetengine/delivery/v1/BUILD.bazel
 --- a/google/maps/fleetengine/delivery/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/maps/fleetengine/delivery/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,354 +0,0 @@
+@@ -1,369 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -115250,6 +120785,7 @@
 -        "//google/api:client_proto",
 -        "//google/api:field_behavior_proto",
 -        "//google/api:resource_proto",
+-        "//google/api:routing_proto",
 -        "//google/geo/type:viewport_proto",
 -        "//google/type:latlng_proto",
 -        "@com_google_protobuf//:duration_proto",
@@ -115396,8 +120932,22 @@
 -    name = "delivery_py_gapic",
 -    srcs = [":delivery_proto"],
 -    grpc_service_config = "//google/maps/fleetengine/v1:fleetengine_grpc_service_config.json",
+-    deps = [
+-        "//google/geo/type:viewport_py_proto",
+-    ],
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1371 is fixed
+-#py_test(
+-#    name = "delivery_py_gapic_test",
+-#    srcs = [
+-#        "delivery_py_gapic_pytest.py",
+-#        "delivery_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":delivery_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "maps-fleetengine-delivery-v1-py",
@@ -115573,7 +121123,7 @@
 diff -urN a/google/maps/fleetengine/v1/BUILD.bazel b/google/maps/fleetengine/v1/BUILD.bazel
 --- a/google/maps/fleetengine/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/maps/fleetengine/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,348 +0,0 @@
+@@ -1,360 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -115610,6 +121160,7 @@
 -        "//google/api:client_proto",
 -        "//google/api:field_behavior_proto",
 -        "//google/api:resource_proto",
+-        "//google/api:routing_proto",
 -        "//google/type:latlng_proto",
 -        "@com_google_protobuf//:duration_proto",
 -        "@com_google_protobuf//:empty_proto",
@@ -115753,6 +121304,17 @@
 -    grpc_service_config = "fleetengine_grpc_service_config.json",
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1371 is fixed
+-#py_test(
+-#    name = "fleetengine_py_gapic_test",
+-#    srcs = [
+-#        "fleetengine_py_gapic_pytest.py",
+-#        "fleetengine_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":fleetengine_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "maps-fleetengine-v1-py",
@@ -115922,6 +121484,386 @@
 -# C++
 -##############################################################################
 -# Put your C++ rules here
+diff -urN a/google/maps/mapsplatformdatasets/v1alpha/BUILD.bazel b/google/maps/mapsplatformdatasets/v1alpha/BUILD.bazel
+--- a/google/maps/mapsplatformdatasets/v1alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
++++ b/google/maps/mapsplatformdatasets/v1alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
+@@ -1,376 +0,0 @@
+-# This file was automatically generated by BuildFileGenerator
+-# https://github.com/googleapis/rules_gapic/tree/master/bazel
+-
+-# Most of the manual changes to this file will be overwritten.
+-# It's **only** allowed to change the following rule attribute values:
+-# - names of *_gapic_assembly_* rules
+-# - certain parameters of *_gapic_library rules, including but not limited to:
+-#    * extra_protoc_parameters
+-#    * extra_protoc_file_parameters
+-# The complete list of preserved parameters can be found in the source code.
+-
+-# This is an API workspace, having public visibility by default makes perfect sense.
+-package(default_visibility = ["//visibility:public"])
+-
+-##############################################################################
+-# Common
+-##############################################################################
+-load("@rules_proto//proto:defs.bzl", "proto_library")
+-load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
+-
+-proto_library(
+-    name = "mapsplatformdatasets_proto",
+-    srcs = [
+-        "data_source.proto",
+-        "dataset.proto",
+-        "maps_platform_datasets.proto",
+-        "maps_platform_datasets_alpha_service.proto",
+-    ],
+-    deps = [
+-        "//google/api:annotations_proto",
+-        "//google/api:client_proto",
+-        "//google/api:field_behavior_proto",
+-        "//google/api:resource_proto",
+-        "@com_google_protobuf//:empty_proto",
+-        "@com_google_protobuf//:field_mask_proto",
+-        "@com_google_protobuf//:timestamp_proto",
+-    ],
+-)
+-
+-proto_library_with_info(
+-    name = "mapsplatformdatasets_proto_with_info",
+-    deps = [
+-        ":mapsplatformdatasets_proto",
+-        "//google/cloud:common_resources_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Java
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "java_gapic_assembly_gradle_pkg",
+-    "java_gapic_library",
+-    "java_gapic_test",
+-    "java_grpc_library",
+-    "java_proto_library",
+-)
+-
+-java_proto_library(
+-    name = "mapsplatformdatasets_java_proto",
+-    deps = [":mapsplatformdatasets_proto"],
+-)
+-
+-java_grpc_library(
+-    name = "mapsplatformdatasets_java_grpc",
+-    srcs = [":mapsplatformdatasets_proto"],
+-    deps = [":mapsplatformdatasets_java_proto"],
+-)
+-
+-java_gapic_library(
+-    name = "mapsplatformdatasets_java_gapic",
+-    srcs = [":mapsplatformdatasets_proto_with_info"],
+-    gapic_yaml = None,
+-    grpc_service_config = "mapsplatformdatasets_grpc_service_config.json",
+-    service_yaml = "mapsplatformdatasets_v1alpha.yaml",
+-    test_deps = [
+-        ":mapsplatformdatasets_java_grpc",
+-    ],
+-    transport = "grpc+rest",
+-    deps = [
+-        ":mapsplatformdatasets_java_proto",
+-        "//google/api:api_java_proto",
+-    ],
+-)
+-
+-java_gapic_test(
+-    name = "mapsplatformdatasets_java_gapic_test_suite",
+-    test_classes = [
+-        "com.google.maps.mapsplatformdatasets.v1alpha.MapsPlatformDatasetsV1AlphaClientHttpJsonTest",
+-        "com.google.maps.mapsplatformdatasets.v1alpha.MapsPlatformDatasetsV1AlphaClientTest",
+-    ],
+-    runtime_deps = [":mapsplatformdatasets_java_gapic_test"],
+-)
+-
+-# Open Source Packages
+-java_gapic_assembly_gradle_pkg(
+-    name = "google-cloud-maps-mapsplatformdatasets-v1alpha-java",
+-    include_samples = True,
+-    transport = "grpc+rest",
+-    deps = [
+-        ":mapsplatformdatasets_java_gapic",
+-        ":mapsplatformdatasets_java_grpc",
+-        ":mapsplatformdatasets_java_proto",
+-        ":mapsplatformdatasets_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Go
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "go_gapic_assembly_pkg",
+-    "go_gapic_library",
+-    "go_proto_library",
+-    "go_test",
+-)
+-
+-go_proto_library(
+-    name = "mapsplatformdatasets_go_proto",
+-    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
+-    importpath = "google.golang.org/genproto/googleapis/maps/mapsplatformdatasets/v1alpha",
+-    protos = [":mapsplatformdatasets_proto"],
+-    deps = [
+-        "//google/api:annotations_go_proto",
+-    ],
+-)
+-
+-go_gapic_library(
+-    name = "mapsplatformdatasets_go_gapic",
+-    srcs = [":mapsplatformdatasets_proto_with_info"],
+-    grpc_service_config = "mapsplatformdatasets_grpc_service_config.json",
+-    importpath = "cloud.google.com/go/maps/mapsplatformdatasets/apiv1alpha;mapsplatformdatasets",
+-    metadata = True,
+-    service_yaml = "mapsplatformdatasets_v1alpha.yaml",
+-    transport = "grpc+rest",
+-    deps = [
+-        ":mapsplatformdatasets_go_proto",
+-    ],
+-)
+-
+-go_test(
+-    name = "mapsplatformdatasets_go_gapic_test",
+-    srcs = [":mapsplatformdatasets_go_gapic_srcjar_test"],
+-    embed = [":mapsplatformdatasets_go_gapic"],
+-    importpath = "cloud.google.com/go/maps/mapsplatformdatasets/apiv1alpha",
+-)
+-
+-# Open Source Packages
+-go_gapic_assembly_pkg(
+-    name = "gapi-cloud-maps-mapsplatformdatasets-v1alpha-go",
+-    deps = [
+-        ":mapsplatformdatasets_go_gapic",
+-        ":mapsplatformdatasets_go_gapic_srcjar-metadata.srcjar",
+-        ":mapsplatformdatasets_go_gapic_srcjar-test.srcjar",
+-        ":mapsplatformdatasets_go_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Python
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "py_gapic_assembly_pkg",
+-    "py_gapic_library",
+-    "py_test",
+-)
+-
+-py_gapic_library(
+-    name = "mapsplatformdatasets_py_gapic",
+-    srcs = [":mapsplatformdatasets_proto"],
+-    grpc_service_config = "mapsplatformdatasets_grpc_service_config.json",
+-    service_yaml = "mapsplatformdatasets_v1alpha.yaml",
+-    deps = [
+-    ],
+-)
+-
+-py_test(
+-    name = "mapsplatformdatasets_py_gapic_test",
+-    srcs = [
+-        "mapsplatformdatasets_py_gapic_pytest.py",
+-        "mapsplatformdatasets_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":mapsplatformdatasets_py_gapic"],
+-)
+-
+-# Open Source Packages
+-py_gapic_assembly_pkg(
+-    name = "maps-mapsplatformdatasets-v1alpha-py",
+-    deps = [
+-        ":mapsplatformdatasets_py_gapic",
+-    ],
+-)
+-
+-##############################################################################
+-# PHP
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "php_gapic_assembly_pkg",
+-    "php_gapic_library",
+-    "php_grpc_library",
+-    "php_proto_library",
+-)
+-
+-php_proto_library(
+-    name = "mapsplatformdatasets_php_proto",
+-    deps = [":mapsplatformdatasets_proto"],
+-)
+-
+-php_grpc_library(
+-    name = "mapsplatformdatasets_php_grpc",
+-    srcs = [":mapsplatformdatasets_proto"],
+-    deps = [":mapsplatformdatasets_php_proto"],
+-)
+-
+-php_gapic_library(
+-    name = "mapsplatformdatasets_php_gapic",
+-    srcs = [":mapsplatformdatasets_proto_with_info"],
+-    grpc_service_config = "mapsplatformdatasets_grpc_service_config.json",
+-    service_yaml = "mapsplatformdatasets_v1alpha.yaml",
+-    deps = [
+-        ":mapsplatformdatasets_php_grpc",
+-        ":mapsplatformdatasets_php_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-php_gapic_assembly_pkg(
+-    name = "google-cloud-maps-mapsplatformdatasets-v1alpha-php",
+-    deps = [
+-        ":mapsplatformdatasets_php_gapic",
+-        ":mapsplatformdatasets_php_grpc",
+-        ":mapsplatformdatasets_php_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Node.js
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "nodejs_gapic_assembly_pkg",
+-    "nodejs_gapic_library",
+-)
+-
+-nodejs_gapic_library(
+-    name = "mapsplatformdatasets_nodejs_gapic",
+-    package_name = "@google-cloud/mapsplatformdatasets",
+-    src = ":mapsplatformdatasets_proto_with_info",
+-    extra_protoc_parameters = ["metadata"],
+-    grpc_service_config = "mapsplatformdatasets_grpc_service_config.json",
+-    package = "google.maps.mapsplatformdatasets.v1alpha",
+-    service_yaml = "mapsplatformdatasets_v1alpha.yaml",
+-    deps = [],
+-)
+-
+-nodejs_gapic_assembly_pkg(
+-    name = "maps-mapsplatformdatasets-v1alpha-nodejs",
+-    deps = [
+-        ":mapsplatformdatasets_nodejs_gapic",
+-        ":mapsplatformdatasets_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Ruby
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "ruby_cloud_gapic_library",
+-    "ruby_gapic_assembly_pkg",
+-    "ruby_grpc_library",
+-    "ruby_proto_library",
+-)
+-
+-ruby_proto_library(
+-    name = "mapsplatformdatasets_ruby_proto",
+-    deps = [":mapsplatformdatasets_proto"],
+-)
+-
+-ruby_grpc_library(
+-    name = "mapsplatformdatasets_ruby_grpc",
+-    srcs = [":mapsplatformdatasets_proto"],
+-    deps = [":mapsplatformdatasets_ruby_proto"],
+-)
+-
+-ruby_cloud_gapic_library(
+-    name = "mapsplatformdatasets_ruby_gapic",
+-    srcs = [":mapsplatformdatasets_proto_with_info"],
+-    extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-maps-mapsplatformdatasets-v1alpha"],
+-    grpc_service_config = "mapsplatformdatasets_grpc_service_config.json",
+-    service_yaml = "mapsplatformdatasets_v1alpha.yaml",
+-    deps = [
+-        ":mapsplatformdatasets_ruby_grpc",
+-        ":mapsplatformdatasets_ruby_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-ruby_gapic_assembly_pkg(
+-    name = "google-cloud-maps-mapsplatformdatasets-v1alpha-ruby",
+-    deps = [
+-        ":mapsplatformdatasets_ruby_gapic",
+-        ":mapsplatformdatasets_ruby_grpc",
+-        ":mapsplatformdatasets_ruby_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# C#
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "csharp_gapic_assembly_pkg",
+-    "csharp_gapic_library",
+-    "csharp_grpc_library",
+-    "csharp_proto_library",
+-)
+-
+-csharp_proto_library(
+-    name = "mapsplatformdatasets_csharp_proto",
+-    deps = [":mapsplatformdatasets_proto"],
+-)
+-
+-csharp_grpc_library(
+-    name = "mapsplatformdatasets_csharp_grpc",
+-    srcs = [":mapsplatformdatasets_proto"],
+-    deps = [":mapsplatformdatasets_csharp_proto"],
+-)
+-
+-csharp_gapic_library(
+-    name = "mapsplatformdatasets_csharp_gapic",
+-    srcs = [":mapsplatformdatasets_proto_with_info"],
+-    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
+-    grpc_service_config = "mapsplatformdatasets_grpc_service_config.json",
+-    service_yaml = "mapsplatformdatasets_v1alpha.yaml",
+-    deps = [
+-        ":mapsplatformdatasets_csharp_grpc",
+-        ":mapsplatformdatasets_csharp_proto",
+-    ],
+-)
+-
+-# Open Source Packages
+-csharp_gapic_assembly_pkg(
+-    name = "google-cloud-maps-mapsplatformdatasets-v1alpha-csharp",
+-    deps = [
+-        ":mapsplatformdatasets_csharp_gapic",
+-        ":mapsplatformdatasets_csharp_grpc",
+-        ":mapsplatformdatasets_csharp_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# C++
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "cc_grpc_library",
+-    "cc_proto_library",
+-)
+-
+-cc_proto_library(
+-    name = "mapsplatformdatasets_cc_proto",
+-    deps = [":mapsplatformdatasets_proto"],
+-)
+-
+-cc_grpc_library(
+-    name = "mapsplatformdatasets_cc_grpc",
+-    srcs = [":mapsplatformdatasets_proto"],
+-    grpc_only = True,
+-    deps = [":mapsplatformdatasets_cc_proto"],
+-)
 diff -urN a/google/maps/playablelocations/v3/BUILD.bazel b/google/maps/playablelocations/v3/BUILD.bazel
 --- a/google/maps/playablelocations/v3/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/maps/playablelocations/v3/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
@@ -116376,7 +122318,7 @@
 diff -urN a/google/maps/regionlookup/v1alpha/BUILD.bazel b/google/maps/regionlookup/v1alpha/BUILD.bazel
 --- a/google/maps/regionlookup/v1alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/maps/regionlookup/v1alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,361 +0,0 @@
+@@ -1,372 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -116541,6 +122483,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -116550,6 +122493,16 @@
 -    service_yaml = "regionlookup_v1alpha.yaml",
 -)
 -
+-py_test(
+-    name = "regionlookup_py_gapic_test",
+-    srcs = [
+-        "regionlookup_py_gapic_pytest.py",
+-        "regionlookup_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":regionlookup_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "maps-regionlookup-v1alpha-py",
@@ -116741,7 +122694,7 @@
 diff -urN a/google/maps/roads/v1op/BUILD.bazel b/google/maps/roads/v1op/BUILD.bazel
 --- a/google/maps/roads/v1op/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/maps/roads/v1op/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,363 +0,0 @@
+@@ -1,374 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -116897,6 +122850,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -116905,6 +122859,16 @@
 -    grpc_service_config = "roads_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "roads_py_gapic_test",
+-    srcs = [
+-        "roads_py_gapic_pytest.py",
+-        "roads_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":roads_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "roads-v1op-py",
@@ -117108,7 +123072,7 @@
 diff -urN a/google/maps/routes/v1/BUILD.bazel b/google/maps/routes/v1/BUILD.bazel
 --- a/google/maps/routes/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/maps/routes/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,211 +0,0 @@
+@@ -1,225 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -117222,12 +123186,26 @@
 -load(
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
 -    name = "routes_py_gapic",
 -    srcs = [":routes_proto"],
 -    grpc_service_config = "routes_grpc_service_config.json",
+-    deps = [
+-        "//google/geo/type:viewport_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "routes_py_gapic_test",
+-    srcs = [
+-        "routes_py_gapic_pytest.py",
+-        "routes_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":routes_py_gapic"],
 -)
 -
 -##############################################################################
@@ -117609,7 +123587,7 @@
 diff -urN a/google/maps/routing/v2/BUILD.bazel b/google/maps/routing/v2/BUILD.bazel
 --- a/google/maps/routing/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/maps/routing/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,392 +0,0 @@
+@@ -1,407 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -117724,7 +123702,7 @@
 -
 -# Open Source Packages
 -java_gapic_assembly_gradle_pkg(
--    name = "google-cloud-maps-routing-v2-java",
+-    name = "google-maps-routing-v2-java",
 -    include_samples = True,
 -    transport = "grpc+rest",
 -    deps = [
@@ -117783,7 +123761,7 @@
 -
 -# Open Source Packages
 -go_gapic_assembly_pkg(
--    name = "gapi-cloud-maps-routing-v2-go",
+-    name = "gapi-maps-routing-v2-go",
 -    deps = [
 -        ":routing_go_gapic",
 -        ":routing_go_gapic_srcjar-metadata.srcjar",
@@ -117799,6 +123777,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -117806,6 +123785,19 @@
 -    srcs = [":routing_proto"],
 -    grpc_service_config = "library_grpc_service_config.json",
 -    service_yaml = "routes_v2.yaml",
+-    deps = [
+-        "//google/geo/type:viewport_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "routing_py_gapic_test",
+-    srcs = [
+-        "routing_py_gapic_pytest.py",
+-        "routing_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":routing_py_gapic"],
 -)
 -
 -# Open Source Packages
@@ -117851,7 +123843,7 @@
 -
 -# Open Source Packages
 -php_gapic_assembly_pkg(
--    name = "google-cloud-maps-routing-v2-php",
+-    name = "google-maps-routing-v2-php",
 -    deps = [
 -        ":routing_php_gapic",
 -        ":routing_php_grpc",
@@ -117870,7 +123862,7 @@
 -
 -nodejs_gapic_library(
 -    name = "routing_nodejs_gapic",
--    package_name = "@google-cloud/routing",
+-    package_name = "@googlemaps/routing",
 -    src = ":routing_proto_with_info",
 -    extra_protoc_parameters = ["metadata"],
 -    grpc_service_config = "library_grpc_service_config.json",
@@ -117883,6 +123875,7 @@
 -    name = "maps-routing-v2-nodejs",
 -    deps = [
 -        ":routing_nodejs_gapic",
+-        "//google/geo/type:viewport_proto",
 -        ":routing_proto",
 -    ],
 -)
@@ -117930,7 +123923,7 @@
 -
 -# Open Source Packages
 -ruby_gapic_assembly_pkg(
--    name = "google-cloud-maps-routing-v2-ruby",
+-    name = "google-maps-routing-v2-ruby",
 -    deps = [
 -        ":routing_ruby_gapic",
 -        ":routing_ruby_grpc",
@@ -117974,7 +123967,7 @@
 -
 -# Open Source Packages
 -csharp_gapic_assembly_pkg(
--    name = "google-cloud-maps-routing-v2-csharp",
+-    name = "google-maps-routing-v2-csharp",
 -    deps = [
 -        ":routing_csharp_gapic",
 -        ":routing_csharp_grpc",
@@ -118227,7 +124220,7 @@
 diff -urN a/google/monitoring/dashboard/v1/BUILD.bazel b/google/monitoring/dashboard/v1/BUILD.bazel
 --- a/google/monitoring/dashboard/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/monitoring/dashboard/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,382 +0,0 @@
+@@ -1,393 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -118407,6 +124400,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -118415,6 +124409,16 @@
 -    grpc_service_config = "dashboards_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "dashboard_py_gapic_test",
+-    srcs = [
+-        "dashboard_py_gapic_pytest.py",
+-        "dashboard_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":dashboard_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "monitoring-dashboard-v1-py",
@@ -118657,7 +124661,7 @@
 diff -urN a/google/monitoring/metricsscope/v1/BUILD.bazel b/google/monitoring/metricsscope/v1/BUILD.bazel
 --- a/google/monitoring/metricsscope/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/monitoring/metricsscope/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,370 +0,0 @@
+@@ -1,381 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -118821,6 +124825,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -118834,6 +124839,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "metricsscope_py_gapic_test",
+-    srcs = [
+-        "metricsscope_py_gapic_pytest.py",
+-        "metricsscope_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":metricsscope_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "monitoring-metricsscope-v1-py",
@@ -119031,7 +125046,7 @@
 diff -urN a/google/monitoring/v3/BUILD.bazel b/google/monitoring/v3/BUILD.bazel
 --- a/google/monitoring/v3/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/monitoring/v3/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,412 +0,0 @@
+@@ -1,423 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -119248,6 +125263,17 @@
 -    opt_args = ["python-gapic-namespace=google.cloud"],
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1359 is fixed
+-#py_test(
+-#    name = "monitoring_py_gapic_test",
+-#    srcs = [
+-#        "monitoring_py_gapic_pytest.py",
+-#        "monitoring_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":monitoring_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "monitoring-v3-py",
@@ -119624,7 +125650,7 @@
 diff -urN a/google/partner/aistreams/v1alpha1/BUILD.bazel b/google/partner/aistreams/v1alpha1/BUILD.bazel
 --- a/google/partner/aistreams/v1alpha1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/partner/aistreams/v1alpha1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,356 +0,0 @@
+@@ -1,367 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel
 -
@@ -119787,6 +125813,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -119795,6 +125822,16 @@
 -    grpc_service_config = "aistreams_grpc_service_config.json",
 -)
 -
+-py_test(
+-    name = "aistreams_py_gapic_test",
+-    srcs = [
+-        "aistreams_py_gapic_pytest.py",
+-        "aistreams_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":aistreams_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "partner-aistreams-v1alpha1-py",
@@ -120029,7 +126066,7 @@
 diff -urN a/google/privacy/dlp/v2/BUILD.bazel b/google/privacy/dlp/v2/BUILD.bazel
 --- a/google/privacy/dlp/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/privacy/dlp/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,362 +0,0 @@
+@@ -1,373 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -120191,6 +126228,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -120200,6 +126238,16 @@
 -    opt_args = ["python-gapic-namespace=google.cloud"],
 -)
 -
+-py_test(
+-    name = "dlp_py_gapic_test",
+-    srcs = [
+-        "dlp_py_gapic_pytest.py",
+-        "dlp_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":dlp_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "privacy-dlp-v2-py",
 -    deps = [
@@ -120400,7 +126448,7 @@
 diff -urN a/google/pubsub/v1/BUILD.bazel b/google/pubsub/v1/BUILD.bazel
 --- a/google/pubsub/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/pubsub/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,368 +0,0 @@
+@@ -1,382 +0,0 @@
 -load("@rules_proto//proto:defs.bzl", "proto_library")
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -120509,6 +126557,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -120519,6 +126568,19 @@
 -        "warehouse-package-name=google-cloud-pubsub",
 -        "add-iam-methods",
 -    ],
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "pubsub_py_gapic_test",
+-    srcs = [
+-        "pubsub_py_gapic_pytest.py",
+-        "pubsub_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":pubsub_py_gapic"],
 -)
 -
 -py_gapic_assembly_pkg(
@@ -121218,8 +127280,17 @@
 diff -urN a/google/spanner/admin/database/v1/BUILD.bazel b/google/spanner/admin/database/v1/BUILD.bazel
 --- a/google/spanner/admin/database/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/spanner/admin/database/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,375 +0,0 @@
+@@ -1,401 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
+-# https://github.com/googleapis/rules_gapic/tree/master/bazel
+-
+-# Most of the manual changes to this file will be overwritten.
+-# It's **only** allowed to change the following rule attribute values:
+-# - names of *_gapic_assembly_* rules
+-# - certain parameters of *_gapic_library rules, including but not limited to:
+-#    * extra_protoc_parameters
+-#    * extra_protoc_file_parameters
+-# The complete list of preserved parameters can be found in the source code.
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
 -package(default_visibility = ["//visibility:public"])
@@ -121288,6 +127359,7 @@
 -    srcs = [":database_proto_with_info"],
 -    gapic_yaml = "spanner_admin_database_gapic.yaml",
 -    grpc_service_config = "spanner_admin_database_grpc_service_config.json",
+-    service_yaml = "spanner.yaml",
 -    test_deps = [
 -        ":database_java_grpc",
 -        "//google/iam/v1:iam_java_grpc",
@@ -121349,7 +127421,7 @@
 -    srcs = [":database_proto_with_info"],
 -    grpc_service_config = "spanner_admin_database_grpc_service_config.json",
 -    importpath = "cloud.google.com/go/spanner/admin/database/apiv1;database",
--    service_yaml = "spanner_admin_database.yaml",
+-    service_yaml = "spanner.yaml",
 -    transport = "grpc+rest",
 -    deps = [
 -        ":database_go_proto",
@@ -121384,6 +127456,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -121394,6 +127467,20 @@
 -        "python-gapic-namespace=google.cloud",
 -        "python-gapic-name=spanner_admin_database",
 -    ],
+-    service_yaml = "spanner.yaml",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "database_py_gapic_test",
+-    srcs = [
+-        "database_py_gapic_pytest.py",
+-        "database_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":database_py_gapic"],
 -)
 -
 -py_gapic_assembly_pkg(
@@ -121430,7 +127517,7 @@
 -    srcs = [":database_proto_with_info"],
 -    gapic_yaml = "spanner_admin_database_gapic.yaml",
 -    grpc_service_config = "spanner_admin_database_grpc_service_config.json",
--    service_yaml = "spanner_admin_database.yaml",
+-    service_yaml = "spanner.yaml",
 -    deps = [
 -        ":database_php_grpc",
 -        ":database_php_proto",
@@ -121466,7 +127553,7 @@
 -    ],
 -    grpc_service_config = "spanner_admin_database_grpc_service_config.json",
 -    package = "google.spanner.admin.database.v1",
--    service_yaml = "spanner_admin_database.yaml",
+-    service_yaml = "spanner.yaml",
 -    deps = [],
 -)
 -
@@ -121514,6 +127601,7 @@
 -    grpc_service_config = "spanner_admin_database_grpc_service_config.json",
 -    ruby_cloud_description = "Cloud Spanner is a managed, mission-critical, globally consistent and scalable relational database service.",
 -    ruby_cloud_title = "Cloud Spanner Database Admin V1",
+-    service_yaml = "spanner.yaml",
 -    deps = [
 -        ":database_ruby_grpc",
 -        ":database_ruby_proto",
@@ -121557,7 +127645,7 @@
 -    srcs = [":database_proto_with_info"],
 -    common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
 -    grpc_service_config = "spanner_admin_database_grpc_service_config.json",
--    service_yaml = "spanner_admin_database.yaml",
+-    service_yaml = "spanner.yaml",
 -    deps = [
 -        ":database_csharp_grpc",
 -        ":database_csharp_proto",
@@ -121602,7 +127690,7 @@
 diff -urN a/google/spanner/admin/instance/v1/BUILD.bazel b/google/spanner/admin/instance/v1/BUILD.bazel
 --- a/google/spanner/admin/instance/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/spanner/admin/instance/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,371 +0,0 @@
+@@ -1,385 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -121764,6 +127852,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -121774,6 +127863,19 @@
 -        "python-gapic-namespace=google.cloud",
 -        "python-gapic-name=spanner_admin_instance",
 -    ],
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-    ],
+-)
+-
+-py_test(
+-    name = "instance_py_gapic_test",
+-    srcs = [
+-        "instance_py_gapic_pytest.py",
+-        "instance_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":instance_py_gapic"],
 -)
 -
 -py_gapic_assembly_pkg(
@@ -121977,7 +128079,7 @@
 diff -urN a/google/spanner/v1/BUILD.bazel b/google/spanner/v1/BUILD.bazel
 --- a/google/spanner/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/spanner/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,368 +0,0 @@
+@@ -1,379 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -122139,6 +128241,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -122148,6 +128251,16 @@
 -    opt_args = ["python-gapic-namespace=google.cloud"],
 -)
 -
+-py_test(
+-    name = "spanner_py_gapic_test",
+-    srcs = [
+-        "spanner_py_gapic_pytest.py",
+-        "spanner_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":spanner_py_gapic"],
+-)
+-
 -py_gapic_assembly_pkg(
 -    name = "spanner-v1-py",
 -    deps = [
@@ -122349,7 +128462,7 @@
 diff -urN a/google/storage/v1/BUILD.bazel b/google/storage/v1/BUILD.bazel
 --- a/google/storage/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/storage/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,355 +0,0 @@
+@@ -1,187 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -
 -# This is an API workspace, having public visibility by default makes perfect sense.
@@ -122359,7 +128472,6 @@
 -# Common
 -##############################################################################
 -load("@rules_proto//proto:defs.bzl", "proto_library")
--load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info")
 -
 -proto_library(
 -    name = "storage_proto",
@@ -122368,33 +128480,19 @@
 -        "storage_resources.proto",
 -    ],
 -    deps = [
--        "//google/api:client_proto",
 -        "//google/api:field_behavior_proto",
 -        "//google/iam/v1:iam_policy_proto",
--        "//google/iam/v1:policy_proto",
--        "@com_google_protobuf//:empty_proto",
 -        "@com_google_protobuf//:field_mask_proto",
 -        "@com_google_protobuf//:timestamp_proto",
 -        "@com_google_protobuf//:wrappers_proto",
 -    ],
 -)
 -
--proto_library_with_info(
--    name = "storage_proto_with_info",
--    deps = [
--        ":storage_proto",
--        "//google/cloud:common_resources_proto",
--    ],
--)
--
 -##############################################################################
 -# Java
 -##############################################################################
 -load(
 -    "@com_google_googleapis_imports//:imports.bzl",
--    "java_gapic_assembly_gradle_pkg",
--    "java_gapic_library",
--    "java_gapic_test",
 -    "java_grpc_library",
 -    "java_proto_library",
 -)
@@ -122410,52 +128508,12 @@
 -    deps = [":storage_java_proto"],
 -)
 -
--java_gapic_library(
--    name = "storage_java_gapic",
--    srcs = [":storage_proto_with_info"],
--    gapic_yaml = "storage_gapic.yaml",
--    grpc_service_config = "storage_grpc_service_config.json",
--    test_deps = [
--        ":storage_java_grpc",
--        "//google/iam/v1:iam_java_grpc",
--    ],
--    transport = "grpc+rest",
--    deps = [
--        ":storage_java_proto",
--        "//google/iam/v1:iam_java_proto",
--    ],
--)
--
--java_gapic_test(
--    name = "storage_java_gapic_test_suite",
--    test_classes = [
--        "com.google.cloud.google.storage.v1.StorageClientHttpJsonTest",
--        "com.google.cloud.google.storage.v1.StorageClientTest",
--    ],
--    runtime_deps = [":storage_java_gapic_test"],
--)
--
--# Open Source Packages
--java_gapic_assembly_gradle_pkg(
--    name = "google-cloud-storage-v1-java",
--    transport = "grpc+rest",
--    deps = [
--        ":storage_java_gapic",
--        ":storage_java_grpc",
--        ":storage_java_proto",
--        ":storage_proto",
--    ],
--)
--
 -##############################################################################
 -# Go
 -##############################################################################
 -load(
 -    "@com_google_googleapis_imports//:imports.bzl",
--    "go_gapic_assembly_pkg",
--    "go_gapic_library",
 -    "go_proto_library",
--    "go_test",
 -)
 -
 -go_proto_library(
@@ -122469,107 +128527,58 @@
 -    ],
 -)
 -
--go_gapic_library(
--    name = "storage_go_gapic",
--    srcs = [":storage_proto_with_info"],
--    grpc_service_config = "storage_grpc_service_config.json",
--    importpath = "cloud.google.com/go/storage/apiv1;storage",
--    service_yaml = "storage_v1.yaml",
--    deps = [
--        ":storage_go_proto",
--        "//google/iam/v1:iam_go_proto",
--    ],
--)
--
--go_test(
--    name = "storage_go_gapic_test",
--    srcs = [":storage_go_gapic_srcjar_test"],
--    embed = [":storage_go_gapic"],
--    importpath = "cloud.google.com/go/storage/apiv1",
--)
--
--# Open Source Packages
--go_gapic_assembly_pkg(
--    name = "gapi-cloud-storage-v1-go",
--    deps = [
--        ":storage_go_gapic",
--        ":storage_go_gapic_srcjar-test.srcjar",
--        ":storage_go_proto",
--    ],
--)
--
 -##############################################################################
 -# Python
 -##############################################################################
 -load(
 -    "@com_google_googleapis_imports//:imports.bzl",
--    "py_gapic_assembly_pkg",
--    "py_gapic_library",
+-    "moved_proto_library",
+-    "py_grpc_library",
+-    "py_proto_library",
 -)
 -
--py_gapic_library(
--    name = "storage_py_gapic",
+-moved_proto_library(
+-    name = "storage_moved_proto",
 -    srcs = [":storage_proto"],
--    grpc_service_config = "storage_grpc_service_config.json",
+-    deps = [
+-        "//google/api:field_behavior_proto",
+-        "//google/iam/v1:iam_policy_proto",
+-        "@com_google_protobuf//:field_mask_proto",
+-        "@com_google_protobuf//:timestamp_proto",
+-        "@com_google_protobuf//:wrappers_proto",
+-    ],
 -)
 -
--# Open Source Packages
--py_gapic_assembly_pkg(
--    name = "storage-v1-py",
--    deps = [
--        ":storage_py_gapic",
--    ],
+-py_proto_library(
+-    name = "storage_py_proto",
+-    deps = [":storage_moved_proto"],
+-)
+-
+-py_grpc_library(
+-    name = "storage_py_grpc",
+-    srcs = [":storage_moved_proto"],
+-    deps = [":storage_py_proto"],
 -)
 -
 -##############################################################################
 -# PHP
 -##############################################################################
--# Note: The GCS gRPC API is launching without PHP client library support (see
--# https://buganizer.corp.google.com/issues/118459221#comment3), but we need to
--# generate Bazel build rules for all languages must be present else the
--# build_gen step will fail with NPE. We further needed to comment out the
--# PHP lines here because building PHP clients requires all RPCs in the service
--# definitions to contain http_rule annotations.
--#load(
--#    "@com_google_googleapis_imports//:imports.bzl",
--#    "php_gapic_assembly_pkg",
--#    "php_gapic_library",
--#    "php_grpc_library",
--#    "php_proto_library",
--#)
--#
--#php_proto_library(
--#    name = "storage_php_proto",
--#    deps = [":storage_proto"],
--#)
--#
--#php_grpc_library(
--#    name = "storage_php_grpc",
--#    srcs = [":storage_proto"],
--#    deps = [":storage_php_proto"],
--#)
--#
--#php_gapic_library(
--#    name = "storage_php_gapic",
--#    src = ":storage_proto_with_info",
--#    gapic_yaml = "storage_gapic.yaml",
--#    package = "google.storage.v1",
--#    service_yaml = "storage_v1.yaml",
--#    deps = [
--#        ":storage_php_grpc",
--#        ":storage_php_proto",
--#    ],
--#)
--#
--## Open Source Packages
--#php_gapic_assembly_pkg(
--#    name = "google-cloud-storage-v1-php",
--#    deps = [
--#        ":storage_php_gapic",
--#        ":storage_php_grpc",
--#        ":storage_php_proto",
--#    ],
--#)
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "php_grpc_library",
+-    "php_proto_library",
+-)
+-
+-php_proto_library(
+-    name = "storage_php_proto",
+-    deps = [":storage_proto"],
+-)
+-
+-php_grpc_library(
+-    name = "storage_php_grpc",
+-    srcs = [":storage_proto"],
+-    deps = [":storage_php_proto"],
+-)
 -
 -##############################################################################
 -# Node.js
@@ -122580,31 +128589,12 @@
 -    "nodejs_gapic_library",
 -)
 -
--nodejs_gapic_library(
--    name = "storage_nodejs_gapic",
--    src = ":storage_proto_with_info",
--    extra_protoc_parameters = ["metadata"],
--    grpc_service_config = "storage_grpc_service_config.json",
--    package = "google.storage.v1",
--    service_yaml = "storage_v1.yaml",
--    deps = [],
--)
--
--nodejs_gapic_assembly_pkg(
--    name = "storage-v1-nodejs",
--    deps = [
--        ":storage_nodejs_gapic",
--        ":storage_proto",
--    ],
--)
 -
 -##############################################################################
 -# Ruby
 -##############################################################################
 -load(
 -    "@com_google_googleapis_imports//:imports.bzl",
--    "ruby_cloud_gapic_library",
--    "ruby_gapic_assembly_pkg",
 -    "ruby_grpc_library",
 -    "ruby_proto_library",
 -)
@@ -122620,33 +128610,11 @@
 -    deps = [":storage_ruby_proto"],
 -)
 -
--ruby_cloud_gapic_library(
--    name = "storage_ruby_gapic",
--    srcs = [":storage_proto_with_info"],
--    extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-storage-v1"],
--    deps = [
--        ":storage_ruby_grpc",
--        ":storage_ruby_proto",
--    ],
--)
--
--# Open Source Packages
--ruby_gapic_assembly_pkg(
--    name = "google-cloud-storage-v1-ruby",
--    deps = [
--        ":storage_ruby_gapic",
--        ":storage_ruby_grpc",
--        ":storage_ruby_proto",
--    ],
--)
--
 -##############################################################################
 -# C#
 -##############################################################################
 -load(
 -    "@com_google_googleapis_imports//:imports.bzl",
--    "csharp_gapic_assembly_pkg",
--    "csharp_gapic_library",
 -    "csharp_grpc_library",
 -    "csharp_proto_library",
 -)
@@ -122662,28 +128630,6 @@
 -    deps = [":storage_csharp_proto"],
 -)
 -
--# Client streaming unsupported in C#, cannot build.
--# csharp_gapic_library(
--#     name = "storage_csharp_gapic",
--#     srcs = [":storage_proto_with_info"],
--#     grpc_service_config = "storage_grpc_service_config.json",
--#     common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json",
--#     deps = [
--#         ":storage_csharp_grpc",
--#         ":storage_csharp_proto",
--#     ],
--# )
--
--# # Open Source Packages
--# csharp_gapic_assembly_pkg(
--#     name = "google-cloud-storage-v1-csharp",
--#     deps = [
--#         ":storage_csharp_gapic",
--#         ":storage_csharp_grpc",
--#         ":storage_csharp_proto",
--#     ],
--# )
--
 -##############################################################################
 -# C++
 -##############################################################################
@@ -122701,14 +128647,13 @@
 -cc_grpc_library(
 -    name = "storage_cc_grpc",
 -    srcs = [":storage_proto"],
--    generate_mocks = True,
 -    grpc_only = True,
 -    deps = [":storage_cc_proto"],
 -)
 diff -urN a/google/storage/v2/BUILD.bazel b/google/storage/v2/BUILD.bazel
 --- a/google/storage/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/storage/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,365 +0,0 @@
+@@ -1,381 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -122738,6 +128683,7 @@
 -        "//google/api:client_proto",
 -        "//google/api:field_behavior_proto",
 -        "//google/api:resource_proto",
+-        "//google/api:routing_proto",
 -        "//google/iam/v1:iam_policy_proto",
 -        "//google/iam/v1:policy_proto",
 -        "//google/type:date_proto",
@@ -122881,8 +128827,23 @@
 -    name = "storage_py_gapic",
 -    srcs = [":storage_proto"],
 -    grpc_service_config = "storage_grpc_service_config.json",
+-    deps = [
+-        "//google/iam/v1:iam_policy_py_proto",
+-        "//google/iam/v1:policy_py_proto",
+-    ],
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1377 is fixed
+-#py_test(
+-#    name = "storage_py_gapic_test",
+-#    srcs = [
+-#        "storage_py_gapic_pytest.py",
+-#        "storage_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [":storage_py_gapic"],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "storage-v2-py",
@@ -123117,10 +129078,193 @@
 -        ":storagetransfer_ruby_wrapper",
 -    ],
 -)
+diff -urN a/google/storagetransfer/logging/BUILD.bazel b/google/storagetransfer/logging/BUILD.bazel
+--- a/google/storagetransfer/logging/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
++++ b/google/storagetransfer/logging/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
+@@ -1,179 +0,0 @@
+-# This file was automatically generated by BuildFileGenerator
+-
+-# This is an API workspace, having public visibility by default makes perfect sense.
+-package(default_visibility = ["//visibility:public"])
+-
+-##############################################################################
+-# Common
+-##############################################################################
+-load("@rules_proto//proto:defs.bzl", "proto_library")
+-
+-proto_library(
+-    name = "logging_proto",
+-    srcs = [
+-        "transfer_activity_log.proto",
+-    ],
+-    deps = [
+-        "//google/api:field_behavior_proto",
+-        "@com_google_protobuf//:timestamp_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Java
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "java_grpc_library",
+-    "java_proto_library",
+-)
+-
+-java_proto_library(
+-    name = "logging_java_proto",
+-    deps = [":logging_proto"],
+-)
+-
+-java_grpc_library(
+-    name = "logging_java_grpc",
+-    srcs = [":logging_proto"],
+-    deps = [":logging_java_proto"],
+-)
+-
+-##############################################################################
+-# Go
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "go_proto_library",
+-)
+-
+-go_proto_library(
+-    name = "logging_go_proto",
+-    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
+-    importpath = "google.golang.org/genproto/googleapis/storagetransfer/logging",
+-    protos = [":logging_proto"],
+-    deps = [
+-        "//google/api:annotations_go_proto",
+-    ],
+-)
+-
+-##############################################################################
+-# Python
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "moved_proto_library",
+-    "py_grpc_library",
+-    "py_proto_library",
+-)
+-
+-moved_proto_library(
+-    name = "logging_moved_proto",
+-    srcs = [":logging_proto"],
+-    deps = [
+-        "//google/api:field_behavior_proto",
+-        "@com_google_protobuf//:timestamp_proto",
+-    ],
+-)
+-
+-py_proto_library(
+-    name = "logging_py_proto",
+-    deps = [":logging_moved_proto"],
+-)
+-
+-py_grpc_library(
+-    name = "logging_py_grpc",
+-    srcs = [":logging_moved_proto"],
+-    deps = [":logging_py_proto"],
+-)
+-
+-##############################################################################
+-# PHP
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "php_grpc_library",
+-    "php_proto_library",
+-)
+-
+-php_proto_library(
+-    name = "logging_php_proto",
+-    deps = [":logging_proto"],
+-)
+-
+-php_grpc_library(
+-    name = "logging_php_grpc",
+-    srcs = [":logging_proto"],
+-    deps = [":logging_php_proto"],
+-)
+-
+-##############################################################################
+-# Node.js
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "nodejs_gapic_assembly_pkg",
+-    "nodejs_gapic_library",
+-)
+-
+-
+-##############################################################################
+-# Ruby
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "ruby_grpc_library",
+-    "ruby_proto_library",
+-)
+-
+-ruby_proto_library(
+-    name = "logging_ruby_proto",
+-    deps = [":logging_proto"],
+-)
+-
+-ruby_grpc_library(
+-    name = "logging_ruby_grpc",
+-    srcs = [":logging_proto"],
+-    deps = [":logging_ruby_proto"],
+-)
+-
+-##############################################################################
+-# C#
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "csharp_grpc_library",
+-    "csharp_proto_library",
+-)
+-
+-csharp_proto_library(
+-    name = "logging_csharp_proto",
+-    deps = [":logging_proto"],
+-)
+-
+-csharp_grpc_library(
+-    name = "logging_csharp_grpc",
+-    srcs = [":logging_proto"],
+-    deps = [":logging_csharp_proto"],
+-)
+-
+-##############################################################################
+-# C++
+-##############################################################################
+-load(
+-    "@com_google_googleapis_imports//:imports.bzl",
+-    "cc_grpc_library",
+-    "cc_proto_library",
+-)
+-
+-cc_proto_library(
+-    name = "logging_cc_proto",
+-    deps = [":logging_proto"],
+-)
+-
+-cc_grpc_library(
+-    name = "logging_cc_grpc",
+-    srcs = [":logging_proto"],
+-    grpc_only = True,
+-    deps = [":logging_cc_proto"],
+-)
 diff -urN a/google/storagetransfer/v1/BUILD.bazel b/google/storagetransfer/v1/BUILD.bazel
 --- a/google/storagetransfer/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/storagetransfer/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,383 +0,0 @@
+@@ -1,394 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -123298,6 +129442,7 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_test",
 -)
 -
 -py_gapic_library(
@@ -123311,6 +129456,16 @@
 -    ],
 -)
 -
+-py_test(
+-    name = "storagetransfer_py_gapic_test",
+-    srcs = [
+-        "storagetransfer_py_gapic_pytest.py",
+-        "storagetransfer_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":storagetransfer_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "storagetransfer-v1-py",
@@ -123512,7 +129667,7 @@
 diff -urN a/google/streetview/publish/v1/BUILD.bazel b/google/streetview/publish/v1/BUILD.bazel
 --- a/google/streetview/publish/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/google/streetview/publish/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,367 +0,0 @@
+@@ -1,380 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -123694,6 +129849,19 @@
 -    grpc_service_config = "streetview_publish_grpc_service_config.json",
 -)
 -
+-# Uncomment once https://github.com/googleapis/gapic-generator-python/issues/1375 is fixed
+-#py_test(
+-#    name = "publish_py_gapic_test",
+-#    srcs = [
+-#        "publish_py_gapic_pytest.py",
+-#        "publish_py_gapic_test.py",
+-#    ],
+-#    legacy_create_init = False,
+-#    deps = [
+-#        ":publish_py_gapic",
+-#    ],
+-#)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "streetview-publish-v1-py",
@@ -124469,7 +130637,7 @@
 diff -urN a/grafeas/v1/BUILD.bazel b/grafeas/v1/BUILD.bazel
 --- a/grafeas/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
 +++ b/grafeas/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-@@ -1,498 +0,0 @@
+@@ -1,515 +0,0 @@
 -# This file was automatically generated by BuildFileGenerator
 -# https://github.com/googleapis/rules_gapic/tree/master/bazel
 -
@@ -124767,6 +130935,13 @@
 -    "@com_google_googleapis_imports//:imports.bzl",
 -    "py_gapic_assembly_pkg",
 -    "py_gapic_library",
+-    "py_proto_library",
+-    "py_test",
+-)
+-
+-py_proto_library(
+-    name = "grafeas_py_proto",
+-    deps = ["grafeas_proto"],
 -)
 -
 -py_gapic_library(
@@ -124776,6 +130951,16 @@
 -    opt_args = ["python-gapic-namespace=grafeas"],
 -)
 -
+-py_test(
+-    name = "grafeas_py_gapic_test",
+-    srcs = [
+-        "grafeas_py_gapic_pytest.py",
+-        "grafeas_py_gapic_test.py",
+-    ],
+-    legacy_create_init = False,
+-    deps = [":grafeas_py_gapic"],
+-)
+-
 -# Open Source Packages
 -py_gapic_assembly_pkg(
 -    name = "grafeas-v1-py",
diff --git a/third_party/go_googleapis-gazelle.patch b/third_party/go_googleapis-gazelle.patch
index 8f94fd5..5a643a3 100644
--- a/third_party/go_googleapis-gazelle.patch
+++ b/third_party/go_googleapis-gazelle.patch
@@ -1292,7 +1292,7 @@
 diff -urN c/google/ads/googleads/v11/enums/BUILD.bazel d/google/ads/googleads/v11/enums/BUILD.bazel
 --- c/google/ads/googleads/v11/enums/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/ads/googleads/v11/enums/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,313 @@
+@@ -0,0 +1,315 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -1347,6 +1347,7 @@
 +        "bid_modifier_source.proto",
 +        "bidding_source.proto",
 +        "bidding_strategy_status.proto",
++        "bidding_strategy_system_status.proto",
 +        "bidding_strategy_type.proto",
 +        "billing_setup_status.proto",
 +        "brand_safety_suitability.proto",
@@ -1578,6 +1579,7 @@
 +        "user_list_combined_rule_operator.proto",
 +        "user_list_crm_data_source_type.proto",
 +        "user_list_date_rule_item_operator.proto",
++        "user_list_flexible_rule_operator.proto",
 +        "user_list_logical_rule_operator.proto",
 +        "user_list_membership_status.proto",
 +        "user_list_number_rule_item_operator.proto",
@@ -1609,7 +1611,7 @@
 diff -urN c/google/ads/googleads/v11/errors/BUILD.bazel d/google/ads/googleads/v11/errors/BUILD.bazel
 --- c/google/ads/googleads/v11/errors/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/ads/googleads/v11/errors/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,165 @@
+@@ -0,0 +1,166 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -1640,6 +1642,7 @@
 +        "asset_set_error.proto",
 +        "asset_set_link_error.proto",
 +        "audience_error.proto",
++        "audience_insights_error.proto",
 +        "authentication_error.proto",
 +        "authorization_error.proto",
 +        "batch_job_error.proto",
@@ -2106,839 +2109,6 @@
 +        "//google/rpc:status_go_proto",
 +    ],
 +)
-diff -urN c/google/ads/googleads/v8/common/BUILD.bazel d/google/ads/googleads/v8/common/BUILD.bazel
---- c/google/ads/googleads/v8/common/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-+++ d/google/ads/googleads/v8/common/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,54 @@
-+load("@rules_proto//proto:defs.bzl", "proto_library")
-+load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
-+
-+proto_library(
-+    name = "common_proto",
-+    srcs = [
-+        "ad_asset.proto",
-+        "ad_type_infos.proto",
-+        "asset_policy.proto",
-+        "asset_types.proto",
-+        "bidding.proto",
-+        "click_location.proto",
-+        "criteria.proto",
-+        "criterion_category_availability.proto",
-+        "custom_parameter.proto",
-+        "dates.proto",
-+        "explorer_auto_optimizer_setting.proto",
-+        "extensions.proto",
-+        "feed_common.proto",
-+        "feed_item_set_filter_type_infos.proto",
-+        "final_app_url.proto",
-+        "frequency_cap.proto",
-+        "keyword_plan_common.proto",
-+        "matching_function.proto",
-+        "metrics.proto",
-+        "offline_user_data.proto",
-+        "policy.proto",
-+        "real_time_bidding_setting.proto",
-+        "segments.proto",
-+        "simulation.proto",
-+        "tag_snippet.proto",
-+        "targeting_setting.proto",
-+        "text_label.proto",
-+        "url_collection.proto",
-+        "user_lists.proto",
-+        "value.proto",
-+    ],
-+    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/ads/googleads/v8/enums:enums_proto",
-+        "//google/api:annotations_proto",
-+    ],
-+)
-+
-+go_proto_library(
-+    name = "common_go_proto",
-+    importpath = "google.golang.org/genproto/googleapis/ads/googleads/v8/common",
-+    proto = ":common_proto",
-+    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/ads/googleads/v8/enums:enums_go_proto",
-+        "//google/api:annotations_go_proto",
-+    ],
-+)
-diff -urN c/google/ads/googleads/v8/enums/BUILD.bazel d/google/ads/googleads/v8/enums/BUILD.bazel
---- c/google/ads/googleads/v8/enums/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-+++ d/google/ads/googleads/v8/enums/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,277 @@
-+load("@rules_proto//proto:defs.bzl", "proto_library")
-+load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
-+
-+proto_library(
-+    name = "enums_proto",
-+    srcs = [
-+        "access_invitation_status.proto",
-+        "access_reason.proto",
-+        "access_role.proto",
-+        "account_budget_proposal_status.proto",
-+        "account_budget_proposal_type.proto",
-+        "account_budget_status.proto",
-+        "account_link_status.proto",
-+        "ad_customizer_placeholder_field.proto",
-+        "ad_destination_type.proto",
-+        "ad_group_ad_rotation_mode.proto",
-+        "ad_group_ad_status.proto",
-+        "ad_group_criterion_approval_status.proto",
-+        "ad_group_criterion_status.proto",
-+        "ad_group_status.proto",
-+        "ad_group_type.proto",
-+        "ad_network_type.proto",
-+        "ad_serving_optimization_status.proto",
-+        "ad_strength.proto",
-+        "ad_type.proto",
-+        "advertising_channel_sub_type.proto",
-+        "advertising_channel_type.proto",
-+        "affiliate_location_feed_relationship_type.proto",
-+        "affiliate_location_placeholder_field.proto",
-+        "age_range_type.proto",
-+        "app_campaign_app_store.proto",
-+        "app_campaign_bidding_strategy_goal_type.proto",
-+        "app_payment_model_type.proto",
-+        "app_placeholder_field.proto",
-+        "app_store.proto",
-+        "app_url_operating_system_type.proto",
-+        "asset_field_type.proto",
-+        "asset_link_status.proto",
-+        "asset_performance_label.proto",
-+        "asset_type.proto",
-+        "attribution_model.proto",
-+        "batch_job_status.proto",
-+        "bid_modifier_source.proto",
-+        "bidding_source.proto",
-+        "bidding_strategy_status.proto",
-+        "bidding_strategy_type.proto",
-+        "billing_setup_status.proto",
-+        "brand_safety_suitability.proto",
-+        "budget_campaign_association_status.proto",
-+        "budget_delivery_method.proto",
-+        "budget_period.proto",
-+        "budget_status.proto",
-+        "budget_type.proto",
-+        "call_conversion_reporting_state.proto",
-+        "call_placeholder_field.proto",
-+        "call_tracking_display_location.proto",
-+        "call_type.proto",
-+        "callout_placeholder_field.proto",
-+        "campaign_criterion_status.proto",
-+        "campaign_draft_status.proto",
-+        "campaign_experiment_status.proto",
-+        "campaign_experiment_traffic_split_type.proto",
-+        "campaign_experiment_type.proto",
-+        "campaign_serving_status.proto",
-+        "campaign_shared_set_status.proto",
-+        "campaign_status.proto",
-+        "change_client_type.proto",
-+        "change_event_resource_type.proto",
-+        "change_status_operation.proto",
-+        "change_status_resource_type.proto",
-+        "click_type.proto",
-+        "combined_audience_status.proto",
-+        "content_label_type.proto",
-+        "conversion_action_category.proto",
-+        "conversion_action_counting_type.proto",
-+        "conversion_action_status.proto",
-+        "conversion_action_type.proto",
-+        "conversion_adjustment_type.proto",
-+        "conversion_attribution_event_type.proto",
-+        "conversion_custom_variable_status.proto",
-+        "conversion_lag_bucket.proto",
-+        "conversion_or_adjustment_lag_bucket.proto",
-+        "conversion_value_rule_primary_dimension.proto",
-+        "conversion_value_rule_set_status.proto",
-+        "conversion_value_rule_status.proto",
-+        "criterion_category_channel_availability_mode.proto",
-+        "criterion_category_locale_availability_mode.proto",
-+        "criterion_system_serving_status.proto",
-+        "criterion_type.proto",
-+        "custom_audience_member_type.proto",
-+        "custom_audience_status.proto",
-+        "custom_audience_type.proto",
-+        "custom_interest_member_type.proto",
-+        "custom_interest_status.proto",
-+        "custom_interest_type.proto",
-+        "custom_placeholder_field.proto",
-+        "customer_match_upload_key_type.proto",
-+        "customer_pay_per_conversion_eligibility_failure_reason.proto",
-+        "data_driven_model_status.proto",
-+        "day_of_week.proto",
-+        "device.proto",
-+        "display_ad_format_setting.proto",
-+        "display_upload_product_type.proto",
-+        "distance_bucket.proto",
-+        "dsa_page_feed_criterion_field.proto",
-+        "education_placeholder_field.proto",
-+        "extension_setting_device.proto",
-+        "extension_type.proto",
-+        "external_conversion_source.proto",
-+        "feed_attribute_type.proto",
-+        "feed_item_quality_approval_status.proto",
-+        "feed_item_quality_disapproval_reason.proto",
-+        "feed_item_set_status.proto",
-+        "feed_item_set_string_filter_type.proto",
-+        "feed_item_status.proto",
-+        "feed_item_target_device.proto",
-+        "feed_item_target_status.proto",
-+        "feed_item_target_type.proto",
-+        "feed_item_validation_status.proto",
-+        "feed_link_status.proto",
-+        "feed_mapping_criterion_type.proto",
-+        "feed_mapping_status.proto",
-+        "feed_origin.proto",
-+        "feed_status.proto",
-+        "flight_placeholder_field.proto",
-+        "frequency_cap_event_type.proto",
-+        "frequency_cap_level.proto",
-+        "frequency_cap_time_unit.proto",
-+        "gender_type.proto",
-+        "geo_target_constant_status.proto",
-+        "geo_targeting_restriction.proto",
-+        "geo_targeting_type.proto",
-+        "google_ads_field_category.proto",
-+        "google_ads_field_data_type.proto",
-+        "google_voice_call_status.proto",
-+        "hotel_date_selection_type.proto",
-+        "hotel_placeholder_field.proto",
-+        "hotel_price_bucket.proto",
-+        "hotel_rate_type.proto",
-+        "image_placeholder_field.proto",
-+        "income_range_type.proto",
-+        "interaction_event_type.proto",
-+        "interaction_type.proto",
-+        "invoice_type.proto",
-+        "job_placeholder_field.proto",
-+        "keyword_match_type.proto",
-+        "keyword_plan_aggregate_metric_type.proto",
-+        "keyword_plan_competition_level.proto",
-+        "keyword_plan_concept_group_type.proto",
-+        "keyword_plan_forecast_interval.proto",
-+        "keyword_plan_keyword_annotation.proto",
-+        "keyword_plan_network.proto",
-+        "label_status.proto",
-+        "lead_form_call_to_action_type.proto",
-+        "lead_form_desired_intent.proto",
-+        "lead_form_field_user_input_type.proto",
-+        "lead_form_post_submit_call_to_action_type.proto",
-+        "legacy_app_install_ad_app_store.proto",
-+        "linked_account_type.proto",
-+        "listing_group_type.proto",
-+        "local_placeholder_field.proto",
-+        "location_extension_targeting_criterion_field.proto",
-+        "location_group_radius_units.proto",
-+        "location_placeholder_field.proto",
-+        "location_source_type.proto",
-+        "manager_link_status.proto",
-+        "matching_function_context_type.proto",
-+        "matching_function_operator.proto",
-+        "media_type.proto",
-+        "merchant_center_link_status.proto",
-+        "message_placeholder_field.proto",
-+        "mime_type.proto",
-+        "minute_of_hour.proto",
-+        "mobile_app_vendor.proto",
-+        "mobile_device_type.proto",
-+        "month_of_year.proto",
-+        "negative_geo_target_type.proto",
-+        "offline_user_data_job_failure_reason.proto",
-+        "offline_user_data_job_status.proto",
-+        "offline_user_data_job_type.proto",
-+        "operating_system_version_operator_type.proto",
-+        "optimization_goal_type.proto",
-+        "parental_status_type.proto",
-+        "payment_mode.proto",
-+        "placeholder_type.proto",
-+        "placement_type.proto",
-+        "policy_approval_status.proto",
-+        "policy_review_status.proto",
-+        "policy_topic_entry_type.proto",
-+        "policy_topic_evidence_destination_mismatch_url_type.proto",
-+        "policy_topic_evidence_destination_not_working_device.proto",
-+        "policy_topic_evidence_destination_not_working_dns_error_type.proto",
-+        "positive_geo_target_type.proto",
-+        "preferred_content_type.proto",
-+        "price_extension_price_qualifier.proto",
-+        "price_extension_price_unit.proto",
-+        "price_extension_type.proto",
-+        "price_placeholder_field.proto",
-+        "product_bidding_category_level.proto",
-+        "product_bidding_category_status.proto",
-+        "product_channel.proto",
-+        "product_channel_exclusivity.proto",
-+        "product_condition.proto",
-+        "product_custom_attribute_index.proto",
-+        "product_type_level.proto",
-+        "promotion_extension_discount_modifier.proto",
-+        "promotion_extension_occasion.proto",
-+        "promotion_placeholder_field.proto",
-+        "proximity_radius_units.proto",
-+        "quality_score_bucket.proto",
-+        "reach_plan_ad_length.proto",
-+        "reach_plan_age_range.proto",
-+        "reach_plan_network.proto",
-+        "real_estate_placeholder_field.proto",
-+        "recommendation_type.proto",
-+        "resource_change_operation.proto",
-+        "resource_limit_type.proto",
-+        "response_content_type.proto",
-+        "search_engine_results_page_type.proto",
-+        "search_term_match_type.proto",
-+        "search_term_targeting_status.proto",
-+        "seasonality_event_scope.proto",
-+        "seasonality_event_status.proto",
-+        "served_asset_field_type.proto",
-+        "shared_set_status.proto",
-+        "shared_set_type.proto",
-+        "simulation_modification_method.proto",
-+        "simulation_type.proto",
-+        "sitelink_placeholder_field.proto",
-+        "slot.proto",
-+        "spending_limit_type.proto",
-+        "structured_snippet_placeholder_field.proto",
-+        "summary_row_setting.proto",
-+        "system_managed_entity_source.proto",
-+        "target_cpa_opt_in_recommendation_goal.proto",
-+        "target_impression_share_location.proto",
-+        "targeting_dimension.proto",
-+        "time_type.proto",
-+        "tracking_code_page_format.proto",
-+        "tracking_code_type.proto",
-+        "travel_placeholder_field.proto",
-+        "user_identifier_source.proto",
-+        "user_interest_taxonomy_type.proto",
-+        "user_list_access_status.proto",
-+        "user_list_closing_reason.proto",
-+        "user_list_combined_rule_operator.proto",
-+        "user_list_crm_data_source_type.proto",
-+        "user_list_date_rule_item_operator.proto",
-+        "user_list_logical_rule_operator.proto",
-+        "user_list_membership_status.proto",
-+        "user_list_number_rule_item_operator.proto",
-+        "user_list_prepopulation_status.proto",
-+        "user_list_rule_type.proto",
-+        "user_list_size_range.proto",
-+        "user_list_string_rule_item_operator.proto",
-+        "user_list_type.proto",
-+        "value_rule_device_type.proto",
-+        "value_rule_geo_location_match_type.proto",
-+        "value_rule_operation.proto",
-+        "value_rule_set_attachment_type.proto",
-+        "value_rule_set_dimension.proto",
-+        "vanity_pharma_display_url_mode.proto",
-+        "vanity_pharma_text.proto",
-+        "webpage_condition_operand.proto",
-+        "webpage_condition_operator.proto",
-+    ],
-+    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_proto"],
-+)
-+
-+go_proto_library(
-+    name = "enums_go_proto",
-+    importpath = "google.golang.org/genproto/googleapis/ads/googleads/v8/enums",
-+    proto = ":enums_proto",
-+    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_go_proto"],
-+)
-diff -urN c/google/ads/googleads/v8/errors/BUILD.bazel d/google/ads/googleads/v8/errors/BUILD.bazel
---- c/google/ads/googleads/v8/errors/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-+++ d/google/ads/googleads/v8/errors/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,149 @@
-+load("@rules_proto//proto:defs.bzl", "proto_library")
-+load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
-+
-+proto_library(
-+    name = "errors_proto",
-+    srcs = [
-+        "access_invitation_error.proto",
-+        "account_budget_proposal_error.proto",
-+        "account_link_error.proto",
-+        "ad_customizer_error.proto",
-+        "ad_error.proto",
-+        "ad_group_ad_error.proto",
-+        "ad_group_bid_modifier_error.proto",
-+        "ad_group_criterion_error.proto",
-+        "ad_group_error.proto",
-+        "ad_group_feed_error.proto",
-+        "ad_parameter_error.proto",
-+        "ad_sharing_error.proto",
-+        "adx_error.proto",
-+        "asset_error.proto",
-+        "asset_link_error.proto",
-+        "authentication_error.proto",
-+        "authorization_error.proto",
-+        "batch_job_error.proto",
-+        "bidding_error.proto",
-+        "bidding_strategy_error.proto",
-+        "billing_setup_error.proto",
-+        "campaign_budget_error.proto",
-+        "campaign_criterion_error.proto",
-+        "campaign_draft_error.proto",
-+        "campaign_error.proto",
-+        "campaign_experiment_error.proto",
-+        "campaign_feed_error.proto",
-+        "campaign_shared_set_error.proto",
-+        "change_event_error.proto",
-+        "change_status_error.proto",
-+        "collection_size_error.proto",
-+        "context_error.proto",
-+        "conversion_action_error.proto",
-+        "conversion_adjustment_upload_error.proto",
-+        "conversion_custom_variable_error.proto",
-+        "conversion_upload_error.proto",
-+        "conversion_value_rule_error.proto",
-+        "conversion_value_rule_set_error.proto",
-+        "country_code_error.proto",
-+        "criterion_error.proto",
-+        "currency_code_error.proto",
-+        "custom_audience_error.proto",
-+        "custom_interest_error.proto",
-+        "customer_client_link_error.proto",
-+        "customer_error.proto",
-+        "customer_feed_error.proto",
-+        "customer_manager_link_error.proto",
-+        "customer_user_access_error.proto",
-+        "database_error.proto",
-+        "date_error.proto",
-+        "date_range_error.proto",
-+        "distinct_error.proto",
-+        "enum_error.proto",
-+        "errors.proto",
-+        "extension_feed_item_error.proto",
-+        "extension_setting_error.proto",
-+        "feed_attribute_reference_error.proto",
-+        "feed_error.proto",
-+        "feed_item_error.proto",
-+        "feed_item_set_error.proto",
-+        "feed_item_set_link_error.proto",
-+        "feed_item_target_error.proto",
-+        "feed_item_validation_error.proto",
-+        "feed_mapping_error.proto",
-+        "field_error.proto",
-+        "field_mask_error.proto",
-+        "function_error.proto",
-+        "function_parsing_error.proto",
-+        "geo_target_constant_suggestion_error.proto",
-+        "header_error.proto",
-+        "id_error.proto",
-+        "image_error.proto",
-+        "internal_error.proto",
-+        "invoice_error.proto",
-+        "keyword_plan_ad_group_error.proto",
-+        "keyword_plan_ad_group_keyword_error.proto",
-+        "keyword_plan_campaign_error.proto",
-+        "keyword_plan_campaign_keyword_error.proto",
-+        "keyword_plan_error.proto",
-+        "keyword_plan_idea_error.proto",
-+        "label_error.proto",
-+        "language_code_error.proto",
-+        "list_operation_error.proto",
-+        "manager_link_error.proto",
-+        "media_bundle_error.proto",
-+        "media_file_error.proto",
-+        "media_upload_error.proto",
-+        "multiplier_error.proto",
-+        "mutate_error.proto",
-+        "new_resource_creation_error.proto",
-+        "not_allowlisted_error.proto",
-+        "not_empty_error.proto",
-+        "null_error.proto",
-+        "offline_user_data_job_error.proto",
-+        "operation_access_denied_error.proto",
-+        "operator_error.proto",
-+        "partial_failure_error.proto",
-+        "payments_account_error.proto",
-+        "policy_finding_error.proto",
-+        "policy_validation_parameter_error.proto",
-+        "policy_violation_error.proto",
-+        "query_error.proto",
-+        "quota_error.proto",
-+        "range_error.proto",
-+        "reach_plan_error.proto",
-+        "recommendation_error.proto",
-+        "region_code_error.proto",
-+        "request_error.proto",
-+        "resource_access_denied_error.proto",
-+        "resource_count_limit_exceeded_error.proto",
-+        "setting_error.proto",
-+        "shared_criterion_error.proto",
-+        "shared_set_error.proto",
-+        "size_limit_error.proto",
-+        "string_format_error.proto",
-+        "string_length_error.proto",
-+        "third_party_app_analytics_link_error.proto",
-+        "time_zone_error.proto",
-+        "url_field_error.proto",
-+        "user_data_error.proto",
-+        "user_list_error.proto",
-+        "youtube_video_registration_error.proto",
-+    ],
-+    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/ads/googleads/v8/common:common_proto",
-+        "//google/ads/googleads/v8/enums:enums_proto",
-+        "//google/api:annotations_proto",
-+        "@com_google_protobuf//:duration_proto",
-+    ],
-+)
-+
-+go_proto_library(
-+    name = "errors_go_proto",
-+    importpath = "google.golang.org/genproto/googleapis/ads/googleads/v8/errors",
-+    proto = ":errors_proto",
-+    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/ads/googleads/v8/common:common_go_proto",
-+        "//google/ads/googleads/v8/enums:enums_go_proto",
-+        "//google/api:annotations_go_proto",
-+    ],
-+)
-diff -urN c/google/ads/googleads/v8/resources/BUILD.bazel d/google/ads/googleads/v8/resources/BUILD.bazel
---- c/google/ads/googleads/v8/resources/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-+++ d/google/ads/googleads/v8/resources/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,161 @@
-+load("@rules_proto//proto:defs.bzl", "proto_library")
-+load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
-+
-+proto_library(
-+    name = "resources_proto",
-+    srcs = [
-+        "accessible_bidding_strategy.proto",
-+        "account_budget.proto",
-+        "account_budget_proposal.proto",
-+        "account_link.proto",
-+        "ad.proto",
-+        "ad_group.proto",
-+        "ad_group_ad.proto",
-+        "ad_group_ad_asset_view.proto",
-+        "ad_group_ad_label.proto",
-+        "ad_group_asset.proto",
-+        "ad_group_audience_view.proto",
-+        "ad_group_bid_modifier.proto",
-+        "ad_group_criterion.proto",
-+        "ad_group_criterion_label.proto",
-+        "ad_group_criterion_simulation.proto",
-+        "ad_group_extension_setting.proto",
-+        "ad_group_feed.proto",
-+        "ad_group_label.proto",
-+        "ad_group_simulation.proto",
-+        "ad_parameter.proto",
-+        "ad_schedule_view.proto",
-+        "age_range_view.proto",
-+        "asset.proto",
-+        "asset_field_type_view.proto",
-+        "batch_job.proto",
-+        "bidding_data_exclusion.proto",
-+        "bidding_seasonality_adjustment.proto",
-+        "bidding_strategy.proto",
-+        "bidding_strategy_simulation.proto",
-+        "billing_setup.proto",
-+        "call_view.proto",
-+        "campaign.proto",
-+        "campaign_asset.proto",
-+        "campaign_audience_view.proto",
-+        "campaign_bid_modifier.proto",
-+        "campaign_budget.proto",
-+        "campaign_criterion.proto",
-+        "campaign_criterion_simulation.proto",
-+        "campaign_draft.proto",
-+        "campaign_experiment.proto",
-+        "campaign_extension_setting.proto",
-+        "campaign_feed.proto",
-+        "campaign_label.proto",
-+        "campaign_shared_set.proto",
-+        "campaign_simulation.proto",
-+        "carrier_constant.proto",
-+        "change_event.proto",
-+        "change_status.proto",
-+        "click_view.proto",
-+        "combined_audience.proto",
-+        "conversion_action.proto",
-+        "conversion_custom_variable.proto",
-+        "conversion_value_rule.proto",
-+        "conversion_value_rule_set.proto",
-+        "currency_constant.proto",
-+        "custom_audience.proto",
-+        "custom_interest.proto",
-+        "customer.proto",
-+        "customer_asset.proto",
-+        "customer_client.proto",
-+        "customer_client_link.proto",
-+        "customer_extension_setting.proto",
-+        "customer_feed.proto",
-+        "customer_label.proto",
-+        "customer_manager_link.proto",
-+        "customer_negative_criterion.proto",
-+        "customer_user_access.proto",
-+        "customer_user_access_invitation.proto",
-+        "detail_placement_view.proto",
-+        "detailed_demographic.proto",
-+        "display_keyword_view.proto",
-+        "distance_view.proto",
-+        "domain_category.proto",
-+        "dynamic_search_ads_search_term_view.proto",
-+        "expanded_landing_page_view.proto",
-+        "extension_feed_item.proto",
-+        "feed.proto",
-+        "feed_item.proto",
-+        "feed_item_set.proto",
-+        "feed_item_set_link.proto",
-+        "feed_item_target.proto",
-+        "feed_mapping.proto",
-+        "feed_placeholder_view.proto",
-+        "gender_view.proto",
-+        "geo_target_constant.proto",
-+        "geographic_view.proto",
-+        "google_ads_field.proto",
-+        "group_placement_view.proto",
-+        "hotel_group_view.proto",
-+        "hotel_performance_view.proto",
-+        "income_range_view.proto",
-+        "invoice.proto",
-+        "keyword_plan.proto",
-+        "keyword_plan_ad_group.proto",
-+        "keyword_plan_ad_group_keyword.proto",
-+        "keyword_plan_campaign.proto",
-+        "keyword_plan_campaign_keyword.proto",
-+        "keyword_theme_constant.proto",
-+        "keyword_view.proto",
-+        "label.proto",
-+        "landing_page_view.proto",
-+        "language_constant.proto",
-+        "life_event.proto",
-+        "location_view.proto",
-+        "managed_placement_view.proto",
-+        "media_file.proto",
-+        "merchant_center_link.proto",
-+        "mobile_app_category_constant.proto",
-+        "mobile_device_constant.proto",
-+        "offline_user_data_job.proto",
-+        "operating_system_version_constant.proto",
-+        "paid_organic_search_term_view.proto",
-+        "parental_status_view.proto",
-+        "payments_account.proto",
-+        "product_bidding_category_constant.proto",
-+        "product_group_view.proto",
-+        "recommendation.proto",
-+        "remarketing_action.proto",
-+        "search_term_view.proto",
-+        "shared_criterion.proto",
-+        "shared_set.proto",
-+        "shopping_performance_view.proto",
-+        "smart_campaign_search_term_view.proto",
-+        "smart_campaign_setting.proto",
-+        "third_party_app_analytics_link.proto",
-+        "topic_constant.proto",
-+        "topic_view.proto",
-+        "user_interest.proto",
-+        "user_list.proto",
-+        "user_location_view.proto",
-+        "video.proto",
-+        "webpage_view.proto",
-+    ],
-+    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/ads/googleads/v8/common:common_proto",
-+        "//google/ads/googleads/v8/enums:enums_proto",
-+        "//google/ads/googleads/v8/errors:errors_proto",
-+        "//google/api:annotations_proto",
-+        "@com_google_protobuf//:field_mask_proto",
-+    ],
-+)
-+
-+go_proto_library(
-+    name = "resources_go_proto",
-+    importpath = "google.golang.org/genproto/googleapis/ads/googleads/v8/resources",
-+    proto = ":resources_proto",
-+    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/ads/googleads/v8/common:common_go_proto",
-+        "//google/ads/googleads/v8/enums:enums_go_proto",
-+        "//google/ads/googleads/v8/errors:errors_go_proto",
-+        "//google/api:annotations_go_proto",
-+    ],
-+)
-diff -urN c/google/ads/googleads/v8/services/BUILD.bazel d/google/ads/googleads/v8/services/BUILD.bazel
---- c/google/ads/googleads/v8/services/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-+++ d/google/ads/googleads/v8/services/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,172 @@
-+load("@rules_proto//proto:defs.bzl", "proto_library")
-+load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
-+
-+proto_library(
-+    name = "services_proto",
-+    srcs = [
-+        "accessible_bidding_strategy_service.proto",
-+        "account_budget_proposal_service.proto",
-+        "account_budget_service.proto",
-+        "account_link_service.proto",
-+        "ad_group_ad_asset_view_service.proto",
-+        "ad_group_ad_label_service.proto",
-+        "ad_group_ad_service.proto",
-+        "ad_group_asset_service.proto",
-+        "ad_group_audience_view_service.proto",
-+        "ad_group_bid_modifier_service.proto",
-+        "ad_group_criterion_label_service.proto",
-+        "ad_group_criterion_service.proto",
-+        "ad_group_criterion_simulation_service.proto",
-+        "ad_group_extension_setting_service.proto",
-+        "ad_group_feed_service.proto",
-+        "ad_group_label_service.proto",
-+        "ad_group_service.proto",
-+        "ad_group_simulation_service.proto",
-+        "ad_parameter_service.proto",
-+        "ad_schedule_view_service.proto",
-+        "ad_service.proto",
-+        "age_range_view_service.proto",
-+        "asset_field_type_view_service.proto",
-+        "asset_service.proto",
-+        "batch_job_service.proto",
-+        "bidding_data_exclusion_service.proto",
-+        "bidding_seasonality_adjustment_service.proto",
-+        "bidding_strategy_service.proto",
-+        "bidding_strategy_simulation_service.proto",
-+        "billing_setup_service.proto",
-+        "campaign_asset_service.proto",
-+        "campaign_audience_view_service.proto",
-+        "campaign_bid_modifier_service.proto",
-+        "campaign_budget_service.proto",
-+        "campaign_criterion_service.proto",
-+        "campaign_criterion_simulation_service.proto",
-+        "campaign_draft_service.proto",
-+        "campaign_experiment_service.proto",
-+        "campaign_extension_setting_service.proto",
-+        "campaign_feed_service.proto",
-+        "campaign_label_service.proto",
-+        "campaign_service.proto",
-+        "campaign_shared_set_service.proto",
-+        "campaign_simulation_service.proto",
-+        "carrier_constant_service.proto",
-+        "change_status_service.proto",
-+        "click_view_service.proto",
-+        "combined_audience_service.proto",
-+        "conversion_action_service.proto",
-+        "conversion_adjustment_upload_service.proto",
-+        "conversion_custom_variable_service.proto",
-+        "conversion_upload_service.proto",
-+        "conversion_value_rule_service.proto",
-+        "conversion_value_rule_set_service.proto",
-+        "currency_constant_service.proto",
-+        "custom_audience_service.proto",
-+        "custom_interest_service.proto",
-+        "customer_asset_service.proto",
-+        "customer_client_link_service.proto",
-+        "customer_client_service.proto",
-+        "customer_extension_setting_service.proto",
-+        "customer_feed_service.proto",
-+        "customer_label_service.proto",
-+        "customer_manager_link_service.proto",
-+        "customer_negative_criterion_service.proto",
-+        "customer_service.proto",
-+        "customer_user_access_invitation_service.proto",
-+        "customer_user_access_service.proto",
-+        "detail_placement_view_service.proto",
-+        "detailed_demographic_service.proto",
-+        "display_keyword_view_service.proto",
-+        "distance_view_service.proto",
-+        "domain_category_service.proto",
-+        "dynamic_search_ads_search_term_view_service.proto",
-+        "expanded_landing_page_view_service.proto",
-+        "extension_feed_item_service.proto",
-+        "feed_item_service.proto",
-+        "feed_item_set_link_service.proto",
-+        "feed_item_set_service.proto",
-+        "feed_item_target_service.proto",
-+        "feed_mapping_service.proto",
-+        "feed_placeholder_view_service.proto",
-+        "feed_service.proto",
-+        "gender_view_service.proto",
-+        "geo_target_constant_service.proto",
-+        "geographic_view_service.proto",
-+        "google_ads_field_service.proto",
-+        "google_ads_service.proto",
-+        "group_placement_view_service.proto",
-+        "hotel_group_view_service.proto",
-+        "hotel_performance_view_service.proto",
-+        "income_range_view_service.proto",
-+        "invoice_service.proto",
-+        "keyword_plan_ad_group_keyword_service.proto",
-+        "keyword_plan_ad_group_service.proto",
-+        "keyword_plan_campaign_keyword_service.proto",
-+        "keyword_plan_campaign_service.proto",
-+        "keyword_plan_idea_service.proto",
-+        "keyword_plan_service.proto",
-+        "keyword_theme_constant_service.proto",
-+        "keyword_view_service.proto",
-+        "label_service.proto",
-+        "landing_page_view_service.proto",
-+        "language_constant_service.proto",
-+        "life_event_service.proto",
-+        "location_view_service.proto",
-+        "managed_placement_view_service.proto",
-+        "media_file_service.proto",
-+        "merchant_center_link_service.proto",
-+        "mobile_app_category_constant_service.proto",
-+        "mobile_device_constant_service.proto",
-+        "offline_user_data_job_service.proto",
-+        "operating_system_version_constant_service.proto",
-+        "paid_organic_search_term_view_service.proto",
-+        "parental_status_view_service.proto",
-+        "payments_account_service.proto",
-+        "product_bidding_category_constant_service.proto",
-+        "product_group_view_service.proto",
-+        "reach_plan_service.proto",
-+        "recommendation_service.proto",
-+        "remarketing_action_service.proto",
-+        "search_term_view_service.proto",
-+        "shared_criterion_service.proto",
-+        "shared_set_service.proto",
-+        "shopping_performance_view_service.proto",
-+        "smart_campaign_search_term_view_service.proto",
-+        "smart_campaign_setting_service.proto",
-+        "smart_campaign_suggest_service.proto",
-+        "third_party_app_analytics_link_service.proto",
-+        "topic_constant_service.proto",
-+        "topic_view_service.proto",
-+        "user_data_service.proto",
-+        "user_interest_service.proto",
-+        "user_list_service.proto",
-+        "user_location_view_service.proto",
-+        "video_service.proto",
-+        "webpage_view_service.proto",
-+    ],
-+    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/ads/googleads/v8/common:common_proto",
-+        "//google/ads/googleads/v8/enums:enums_proto",
-+        "//google/ads/googleads/v8/resources:resources_proto",
-+        "//google/api:annotations_proto",
-+        "//google/longrunning:longrunning_proto",
-+        "//google/rpc:status_proto",
-+        "@com_google_protobuf//:empty_proto",
-+        "@com_google_protobuf//:field_mask_proto",
-+    ],
-+)
-+
-+go_proto_library(
-+    name = "services_go_proto",
-+    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
-+    importpath = "google.golang.org/genproto/googleapis/ads/googleads/v8/services",
-+    proto = ":services_proto",
-+    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/ads/googleads/v8/common:common_go_proto",
-+        "//google/ads/googleads/v8/enums:enums_go_proto",
-+        "//google/ads/googleads/v8/resources:resources_go_proto",
-+        "//google/api:annotations_go_proto",
-+        "//google/longrunning:longrunning_go_proto",
-+        "//google/rpc:status_go_proto",
-+    ],
-+)
 diff -urN c/google/ads/googleads/v9/common/BUILD.bazel d/google/ads/googleads/v9/common/BUILD.bazel
 --- c/google/ads/googleads/v9/common/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/ads/googleads/v9/common/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -3844,19 +3014,22 @@
 diff -urN c/google/analytics/admin/v1alpha/BUILD.bazel d/google/analytics/admin/v1alpha/BUILD.bazel
 --- c/google/analytics/admin/v1alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/analytics/admin/v1alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,27 @@
+@@ -0,0 +1,30 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
 +proto_library(
 +    name = "admin_proto",
 +    srcs = [
++        "access_report.proto",
 +        "analytics_admin.proto",
++        "audience.proto",
 +        "resources.proto",
 +    ],
 +    visibility = ["//visibility:public"],
 +    deps = [
 +        "//google/api:annotations_proto",
++        "@com_google_protobuf//:duration_proto",
 +        "@com_google_protobuf//:empty_proto",
 +        "@com_google_protobuf//:field_mask_proto",
 +        "@com_google_protobuf//:timestamp_proto",
@@ -4170,6 +3343,39 @@
 +    proto = ":visibility_proto",
 +    visibility = ["//visibility:public"],
 +)
+diff -urN c/google/api/apikeys/v2/BUILD.bazel d/google/api/apikeys/v2/BUILD.bazel
+--- c/google/api/apikeys/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ d/google/api/apikeys/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,29 @@
++load("@rules_proto//proto:defs.bzl", "proto_library")
++load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
++
++proto_library(
++    name = "apikeys_proto",
++    srcs = [
++        "apikeys.proto",
++        "resources.proto",
++    ],
++    visibility = ["//visibility:public"],
++    deps = [
++        "//google/api:annotations_proto",
++        "//google/longrunning:longrunning_proto",
++        "@com_google_protobuf//:field_mask_proto",
++        "@com_google_protobuf//:timestamp_proto",
++    ],
++)
++
++go_proto_library(
++    name = "apikeys_go_proto",
++    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
++    importpath = "google.golang.org/genproto/googleapis/api/apikeys/v2",
++    proto = ":apikeys_proto",
++    visibility = ["//visibility:public"],
++    deps = [
++        "//google/api:annotations_go_proto",
++        "//google/longrunning:longrunning_go_proto",
++    ],
++)
 diff -urN c/google/api/expr/conformance/v1alpha1/BUILD.bazel d/google/api/expr/conformance/v1alpha1/BUILD.bazel
 --- c/google/api/expr/conformance/v1alpha1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/api/expr/conformance/v1alpha1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -4785,7 +3991,7 @@
 diff -urN c/google/apps/script/type/gmail/BUILD.bazel d/google/apps/script/type/gmail/BUILD.bazel
 --- c/google/apps/script/type/gmail/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/apps/script/type/gmail/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,20 @@
+@@ -0,0 +1,17 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -4793,10 +3999,7 @@
 +    name = "gmail_proto",
 +    srcs = ["gmail_addon_manifest.proto"],
 +    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/apps/script/type:type_proto",
-+        "@com_google_protobuf//:struct_proto",
-+    ],
++    deps = ["//google/apps/script/type:type_proto"],
 +)
 +
 +go_proto_library(
@@ -5319,7 +4522,7 @@
 diff -urN c/google/cloud/aiplatform/v1/schema/predict/instance/BUILD.bazel d/google/cloud/aiplatform/v1/schema/predict/instance/BUILD.bazel
 --- c/google/cloud/aiplatform/v1/schema/predict/instance/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/aiplatform/v1/schema/predict/instance/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,27 @@
+@@ -0,0 +1,25 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -5337,7 +4540,6 @@
 +        "video_object_tracking.proto",
 +    ],
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_proto"],
 +)
 +
 +go_proto_library(
@@ -5345,12 +4547,11 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/instance",
 +    proto = ":instance_proto",
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_go_proto"],
 +)
 diff -urN c/google/cloud/aiplatform/v1/schema/predict/params/BUILD.bazel d/google/cloud/aiplatform/v1/schema/predict/params/BUILD.bazel
 --- c/google/cloud/aiplatform/v1/schema/predict/params/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/aiplatform/v1/schema/predict/params/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,24 @@
+@@ -0,0 +1,22 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -5365,7 +4566,6 @@
 +        "video_object_tracking.proto",
 +    ],
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_proto"],
 +)
 +
 +go_proto_library(
@@ -5373,12 +4573,11 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/params",
 +    proto = ":params_proto",
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_go_proto"],
 +)
 diff -urN c/google/cloud/aiplatform/v1/schema/predict/prediction/BUILD.bazel d/google/cloud/aiplatform/v1/schema/predict/prediction/BUILD.bazel
 --- c/google/cloud/aiplatform/v1/schema/predict/prediction/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/aiplatform/v1/schema/predict/prediction/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,33 @@
+@@ -0,0 +1,31 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -5398,7 +4597,6 @@
 +    ],
 +    visibility = ["//visibility:public"],
 +    deps = [
-+        "//google/api:annotations_proto",
 +        "@com_google_protobuf//:duration_proto",
 +        "@com_google_protobuf//:struct_proto",
 +        "@com_google_protobuf//:wrappers_proto",
@@ -5410,12 +4608,11 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/prediction",
 +    proto = ":prediction_proto",
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_go_proto"],
 +)
 diff -urN c/google/cloud/aiplatform/v1/schema/trainingjob/definition/BUILD.bazel d/google/cloud/aiplatform/v1/schema/trainingjob/definition/BUILD.bazel
 --- c/google/cloud/aiplatform/v1/schema/trainingjob/definition/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/aiplatform/v1/schema/trainingjob/definition/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,29 @@
+@@ -0,0 +1,27 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -5435,7 +4632,6 @@
 +        "export_evaluated_data_items_config.proto",
 +    ],
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_proto"],
 +)
 +
 +go_proto_library(
@@ -5443,12 +4639,11 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/trainingjob/definition",
 +    proto = ":definition_proto",
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_go_proto"],
 +)
 diff -urN c/google/cloud/aiplatform/v1beta1/BUILD.bazel d/google/cloud/aiplatform/v1beta1/BUILD.bazel
 --- c/google/cloud/aiplatform/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/aiplatform/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,110 @@
+@@ -0,0 +1,112 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -5469,6 +4664,8 @@
 +        "dataset_service.proto",
 +        "deployed_index_ref.proto",
 +        "deployed_model_ref.proto",
++        "deployment_resource_pool.proto",
++        "deployment_resource_pool_service.proto",
 +        "encryption_spec.proto",
 +        "endpoint.proto",
 +        "endpoint_service.proto",
@@ -5602,7 +4799,7 @@
 diff -urN c/google/cloud/aiplatform/v1beta1/schema/predict/instance/BUILD.bazel d/google/cloud/aiplatform/v1beta1/schema/predict/instance/BUILD.bazel
 --- c/google/cloud/aiplatform/v1beta1/schema/predict/instance/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/aiplatform/v1beta1/schema/predict/instance/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,27 @@
+@@ -0,0 +1,25 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -5620,7 +4817,6 @@
 +        "video_object_tracking.proto",
 +    ],
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_proto"],
 +)
 +
 +go_proto_library(
@@ -5628,12 +4824,11 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1/schema/predict/instance",
 +    proto = ":instance_proto",
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_go_proto"],
 +)
 diff -urN c/google/cloud/aiplatform/v1beta1/schema/predict/params/BUILD.bazel d/google/cloud/aiplatform/v1beta1/schema/predict/params/BUILD.bazel
 --- c/google/cloud/aiplatform/v1beta1/schema/predict/params/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/aiplatform/v1beta1/schema/predict/params/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,24 @@
+@@ -0,0 +1,22 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -5648,7 +4843,6 @@
 +        "video_object_tracking.proto",
 +    ],
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_proto"],
 +)
 +
 +go_proto_library(
@@ -5656,12 +4850,11 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1/schema/predict/params",
 +    proto = ":params_proto",
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_go_proto"],
 +)
 diff -urN c/google/cloud/aiplatform/v1beta1/schema/predict/prediction/BUILD.bazel d/google/cloud/aiplatform/v1beta1/schema/predict/prediction/BUILD.bazel
 --- c/google/cloud/aiplatform/v1beta1/schema/predict/prediction/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/aiplatform/v1beta1/schema/predict/prediction/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,34 @@
+@@ -0,0 +1,32 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -5682,7 +4875,6 @@
 +    ],
 +    visibility = ["//visibility:public"],
 +    deps = [
-+        "//google/api:annotations_proto",
 +        "@com_google_protobuf//:duration_proto",
 +        "@com_google_protobuf//:struct_proto",
 +        "@com_google_protobuf//:wrappers_proto",
@@ -5694,12 +4886,11 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1/schema/predict/prediction",
 +    proto = ":prediction_proto",
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_go_proto"],
 +)
 diff -urN c/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition/BUILD.bazel d/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition/BUILD.bazel
 --- c/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/aiplatform/v1beta1/schema/trainingjob/definition/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,30 @@
+@@ -0,0 +1,28 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -5720,7 +4911,6 @@
 +        "export_evaluated_data_items_config.proto",
 +    ],
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_proto"],
 +)
 +
 +go_proto_library(
@@ -5728,7 +4918,6 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1/schema/trainingjob/definition",
 +    proto = ":definition_proto",
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_go_proto"],
 +)
 diff -urN c/google/cloud/apigateway/v1/BUILD.bazel d/google/cloud/apigateway/v1/BUILD.bazel
 --- c/google/cloud/apigateway/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
@@ -5916,7 +5105,7 @@
 diff -urN c/google/cloud/asset/v1p2beta1/BUILD.bazel d/google/cloud/asset/v1p2beta1/BUILD.bazel
 --- c/google/cloud/asset/v1p2beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/asset/v1p2beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,34 @@
+@@ -0,0 +1,31 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -5930,8 +5119,6 @@
 +    deps = [
 +        "//google/api:annotations_proto",
 +        "//google/iam/v1:iam_proto",
-+        "//google/longrunning:longrunning_proto",
-+        "@com_google_protobuf//:any_proto",
 +        "@com_google_protobuf//:empty_proto",
 +        "@com_google_protobuf//:field_mask_proto",
 +        "@com_google_protobuf//:struct_proto",
@@ -5948,49 +5135,12 @@
 +    deps = [
 +        "//google/api:annotations_go_proto",
 +        "//google/iam/v1:iam_go_proto",
-+        "//google/longrunning:longrunning_go_proto",
-+    ],
-+)
-diff -urN c/google/cloud/asset/v1p4beta1/BUILD.bazel d/google/cloud/asset/v1p4beta1/BUILD.bazel
---- c/google/cloud/asset/v1p4beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-+++ d/google/cloud/asset/v1p4beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,32 @@
-+load("@rules_proto//proto:defs.bzl", "proto_library")
-+load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
-+
-+proto_library(
-+    name = "asset_proto",
-+    srcs = [
-+        "asset_service.proto",
-+        "assets.proto",
-+    ],
-+    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/api:annotations_proto",
-+        "//google/iam/v1:iam_proto",
-+        "//google/longrunning:longrunning_proto",
-+        "//google/rpc:code_proto",
-+        "@com_google_protobuf//:duration_proto",
-+    ],
-+)
-+
-+go_proto_library(
-+    name = "asset_go_proto",
-+    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
-+    importpath = "google.golang.org/genproto/googleapis/cloud/asset/v1p4beta1",
-+    proto = ":asset_proto",
-+    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/api:annotations_go_proto",
-+        "//google/iam/v1:iam_go_proto",
-+        "//google/longrunning:longrunning_go_proto",
-+        "//google/rpc:code_go_proto",
 +    ],
 +)
 diff -urN c/google/cloud/asset/v1p5beta1/BUILD.bazel d/google/cloud/asset/v1p5beta1/BUILD.bazel
 --- c/google/cloud/asset/v1p5beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/asset/v1p5beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,34 @@
+@@ -0,0 +1,33 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -6006,7 +5156,6 @@
 +        "//google/cloud/orgpolicy/v1:orgpolicy_proto",
 +        "//google/iam/v1:iam_proto",
 +        "//google/identity/accesscontextmanager/v1:accesscontextmanager_proto",
-+        "@com_google_protobuf//:any_proto",
 +        "@com_google_protobuf//:struct_proto",
 +        "@com_google_protobuf//:timestamp_proto",
 +    ],
@@ -6028,7 +5177,7 @@
 diff -urN c/google/cloud/asset/v1p7beta1/BUILD.bazel d/google/cloud/asset/v1p7beta1/BUILD.bazel
 --- c/google/cloud/asset/v1p7beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/asset/v1p7beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,40 @@
+@@ -0,0 +1,37 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -6046,9 +5195,6 @@
 +        "//google/iam/v1:iam_proto",
 +        "//google/identity/accesscontextmanager/v1:accesscontextmanager_proto",
 +        "//google/longrunning:longrunning_proto",
-+        "@com_google_protobuf//:any_proto",
-+        "@com_google_protobuf//:empty_proto",
-+        "@com_google_protobuf//:field_mask_proto",
 +        "@com_google_protobuf//:struct_proto",
 +        "@com_google_protobuf//:timestamp_proto",
 +    ],
@@ -6246,7 +5392,7 @@
 diff -urN c/google/cloud/automl/v1beta1/BUILD.bazel d/google/cloud/automl/v1beta1/BUILD.bazel
 --- c/google/cloud/automl/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/automl/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,61 @@
+@@ -0,0 +1,59 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -6287,9 +5433,7 @@
 +        "//google/api:annotations_proto",
 +        "//google/longrunning:longrunning_proto",
 +        "//google/rpc:status_proto",
-+        "@com_google_protobuf//:any_proto",
 +        "@com_google_protobuf//:duration_proto",
-+        "@com_google_protobuf//:empty_proto",
 +        "@com_google_protobuf//:field_mask_proto",
 +        "@com_google_protobuf//:struct_proto",
 +        "@com_google_protobuf//:timestamp_proto",
@@ -6629,29 +5773,10 @@
 +        "//google/iam/v1:iam_go_proto",
 +    ],
 +)
-diff -urN c/google/cloud/bigquery/dataexchange/common/BUILD.bazel d/google/cloud/bigquery/dataexchange/common/BUILD.bazel
---- c/google/cloud/bigquery/dataexchange/common/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
-+++ d/google/cloud/bigquery/dataexchange/common/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,15 @@
-+load("@rules_proto//proto:defs.bzl", "proto_library")
-+load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
-+
-+proto_library(
-+    name = "common_proto",
-+    srcs = ["common.proto"],
-+    visibility = ["//visibility:public"],
-+)
-+
-+go_proto_library(
-+    name = "common_go_proto",
-+    importpath = "google.golang.org/genproto/googleapis/cloud/bigquery/dataexchange/common",
-+    proto = ":common_proto",
-+    visibility = ["//visibility:public"],
-+)
 diff -urN c/google/cloud/bigquery/dataexchange/v1beta1/BUILD.bazel d/google/cloud/bigquery/dataexchange/v1beta1/BUILD.bazel
 --- c/google/cloud/bigquery/dataexchange/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/bigquery/dataexchange/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,29 @@
+@@ -0,0 +1,27 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -6661,7 +5786,6 @@
 +    visibility = ["//visibility:public"],
 +    deps = [
 +        "//google/api:annotations_proto",
-+        "//google/cloud/bigquery/dataexchange/common:common_proto",
 +        "//google/iam/v1:iam_proto",
 +        "@com_google_protobuf//:empty_proto",
 +        "@com_google_protobuf//:field_mask_proto",
@@ -6677,7 +5801,36 @@
 +    visibility = ["//visibility:public"],
 +    deps = [
 +        "//google/api:annotations_go_proto",
-+        "//google/cloud/bigquery/dataexchange/common:common_go_proto",
++        "//google/iam/v1:iam_go_proto",
++    ],
++)
+diff -urN c/google/cloud/bigquery/datapolicies/v1beta1/BUILD.bazel d/google/cloud/bigquery/datapolicies/v1beta1/BUILD.bazel
+--- c/google/cloud/bigquery/datapolicies/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ d/google/cloud/bigquery/datapolicies/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,26 @@
++load("@rules_proto//proto:defs.bzl", "proto_library")
++load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
++
++proto_library(
++    name = "datapolicies_proto",
++    srcs = ["datapolicy.proto"],
++    visibility = ["//visibility:public"],
++    deps = [
++        "//google/api:annotations_proto",
++        "//google/iam/v1:iam_proto",
++        "@com_google_protobuf//:empty_proto",
++        "@com_google_protobuf//:field_mask_proto",
++    ],
++)
++
++go_proto_library(
++    name = "datapolicies_go_proto",
++    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
++    importpath = "google.golang.org/genproto/googleapis/cloud/bigquery/datapolicies/v1beta1",
++    proto = ":datapolicies_proto",
++    visibility = ["//visibility:public"],
++    deps = [
++        "//google/api:annotations_go_proto",
 +        "//google/iam/v1:iam_go_proto",
 +    ],
 +)
@@ -7205,6 +6358,26 @@
 +    visibility = ["//visibility:public"],
 +    deps = ["//google/api:annotations_go_proto"],
 +)
+diff -urN c/google/cloud/certificatemanager/logging/v1/BUILD.bazel d/google/cloud/certificatemanager/logging/v1/BUILD.bazel
+--- c/google/cloud/certificatemanager/logging/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ d/google/cloud/certificatemanager/logging/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,16 @@
++load("@rules_proto//proto:defs.bzl", "proto_library")
++load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
++
++proto_library(
++    name = "logging_proto",
++    srcs = ["logs.proto"],
++    visibility = ["//visibility:public"],
++    deps = ["@com_google_protobuf//:timestamp_proto"],
++)
++
++go_proto_library(
++    name = "logging_go_proto",
++    importpath = "google.golang.org/genproto/googleapis/cloud/certificatemanager/logging/v1",
++    proto = ":logging_proto",
++    visibility = ["//visibility:public"],
++)
 diff -urN c/google/cloud/certificatemanager/v1/BUILD.bazel d/google/cloud/certificatemanager/v1/BUILD.bazel
 --- c/google/cloud/certificatemanager/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/certificatemanager/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -7352,6 +6525,33 @@
 +        "//google/rpc:status_go_proto",
 +    ],
 +)
+diff -urN c/google/cloud/cloudsetup/logging/v1/BUILD.bazel d/google/cloud/cloudsetup/logging/v1/BUILD.bazel
+--- c/google/cloud/cloudsetup/logging/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ d/google/cloud/cloudsetup/logging/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,23 @@
++load("@rules_proto//proto:defs.bzl", "proto_library")
++load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
++
++proto_library(
++    name = "logging_proto",
++    srcs = ["complete_deployment.proto"],
++    visibility = ["//visibility:public"],
++    deps = [
++        "//google/api:annotations_proto",
++        "//google/rpc:status_proto",
++    ],
++)
++
++go_proto_library(
++    name = "logging_go_proto",
++    importpath = "google.golang.org/genproto/googleapis/cloud/cloudsetup/logging/v1",
++    proto = ":logging_proto",
++    visibility = ["//visibility:public"],
++    deps = [
++        "//google/api:annotations_go_proto",
++        "//google/rpc:status_go_proto",
++    ],
++)
 diff -urN c/google/cloud/commerce/consumer/procurement/v1alpha1/BUILD.bazel d/google/cloud/commerce/consumer/procurement/v1alpha1/BUILD.bazel
 --- c/google/cloud/commerce/consumer/procurement/v1alpha1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/commerce/consumer/procurement/v1alpha1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -7464,6 +6664,47 @@
 +        "//google/cloud:extendedops_go_proto",
 +    ],
 +)
+diff -urN c/google/cloud/connectors/v1/BUILD.bazel d/google/cloud/connectors/v1/BUILD.bazel
+--- c/google/cloud/connectors/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ d/google/cloud/connectors/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,37 @@
++load("@rules_proto//proto:defs.bzl", "proto_library")
++load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
++
++proto_library(
++    name = "connectors_proto",
++    srcs = [
++        "authconfig.proto",
++        "common.proto",
++        "connection.proto",
++        "connector.proto",
++        "connector_version.proto",
++        "connectors_service.proto",
++        "destination_config.proto",
++        "provider.proto",
++        "runtime.proto",
++    ],
++    visibility = ["//visibility:public"],
++    deps = [
++        "//google/api:annotations_proto",
++        "//google/longrunning:longrunning_proto",
++        "@com_google_protobuf//:field_mask_proto",
++        "@com_google_protobuf//:struct_proto",
++        "@com_google_protobuf//:timestamp_proto",
++    ],
++)
++
++go_proto_library(
++    name = "connectors_go_proto",
++    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
++    importpath = "google.golang.org/genproto/googleapis/cloud/connectors/v1",
++    proto = ":connectors_proto",
++    visibility = ["//visibility:public"],
++    deps = [
++        "//google/api:annotations_go_proto",
++        "//google/longrunning:longrunning_go_proto",
++    ],
++)
 diff -urN c/google/cloud/contactcenterinsights/v1/BUILD.bazel d/google/cloud/contactcenterinsights/v1/BUILD.bazel
 --- c/google/cloud/contactcenterinsights/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/contactcenterinsights/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -7620,6 +6861,36 @@
 +        "//google/type:interval_go_proto",
 +    ],
 +)
+diff -urN c/google/cloud/dataform/v1beta1/BUILD.bazel d/google/cloud/dataform/v1beta1/BUILD.bazel
+--- c/google/cloud/dataform/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ d/google/cloud/dataform/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,26 @@
++load("@rules_proto//proto:defs.bzl", "proto_library")
++load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
++
++proto_library(
++    name = "dataform_proto",
++    srcs = ["dataform.proto"],
++    visibility = ["//visibility:public"],
++    deps = [
++        "//google/api:annotations_proto",
++        "//google/type:interval_proto",
++        "@com_google_protobuf//:empty_proto",
++        "@com_google_protobuf//:field_mask_proto",
++    ],
++)
++
++go_proto_library(
++    name = "dataform_go_proto",
++    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
++    importpath = "google.golang.org/genproto/googleapis/cloud/dataform/v1beta1",
++    proto = ":dataform_proto",
++    visibility = ["//visibility:public"],
++    deps = [
++        "//google/api:annotations_go_proto",
++        "//google/type:interval_go_proto",
++    ],
++)
 diff -urN c/google/cloud/datafusion/v1/BUILD.bazel d/google/cloud/datafusion/v1/BUILD.bazel
 --- c/google/cloud/datafusion/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/datafusion/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -8217,22 +7488,27 @@
 diff -urN c/google/cloud/documentai/v1/BUILD.bazel d/google/cloud/documentai/v1/BUILD.bazel
 --- c/google/cloud/documentai/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/documentai/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,43 @@
+@@ -0,0 +1,50 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
 +proto_library(
 +    name = "documentai_proto",
 +    srcs = [
++        "barcode.proto",
 +        "document.proto",
 +        "document_io.proto",
 +        "document_processor_service.proto",
++        "document_schema.proto",
 +        "geometry.proto",
 +        "operation_metadata.proto",
++        "processor.proto",
++        "processor_type.proto",
 +    ],
 +    visibility = ["//visibility:public"],
 +    deps = [
 +        "//google/api:annotations_proto",
++        "//google/api:api_proto",
 +        "//google/longrunning:longrunning_proto",
 +        "//google/rpc:status_proto",
 +        "//google/type:color_proto",
@@ -8240,6 +7516,7 @@
 +        "//google/type:datetime_proto",
 +        "//google/type:money_proto",
 +        "//google/type:postaladdress_proto",
++        "@com_google_protobuf//:field_mask_proto",
 +        "@com_google_protobuf//:timestamp_proto",
 +    ],
 +)
@@ -8252,6 +7529,7 @@
 +    visibility = ["//visibility:public"],
 +    deps = [
 +        "//google/api:annotations_go_proto",
++        "//google/api:api_go_proto",
 +        "//google/longrunning:longrunning_go_proto",
 +        "//google/rpc:status_go_proto",
 +        "//google/type:color_go_proto",
@@ -8338,16 +7616,18 @@
 diff -urN c/google/cloud/documentai/v1beta3/BUILD.bazel d/google/cloud/documentai/v1beta3/BUILD.bazel
 --- c/google/cloud/documentai/v1beta3/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/documentai/v1beta3/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,46 @@
+@@ -0,0 +1,50 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
 +proto_library(
 +    name = "documentai_proto",
 +    srcs = [
++        "barcode.proto",
 +        "document.proto",
 +        "document_io.proto",
 +        "document_processor_service.proto",
++        "document_schema.proto",
 +        "geometry.proto",
 +        "operation_metadata.proto",
 +        "processor.proto",
@@ -8356,6 +7636,7 @@
 +    visibility = ["//visibility:public"],
 +    deps = [
 +        "//google/api:annotations_proto",
++        "//google/api:api_proto",
 +        "//google/longrunning:longrunning_proto",
 +        "//google/rpc:status_proto",
 +        "//google/type:color_proto",
@@ -8376,6 +7657,7 @@
 +    visibility = ["//visibility:public"],
 +    deps = [
 +        "//google/api:annotations_go_proto",
++        "//google/api:api_go_proto",
 +        "//google/longrunning:longrunning_go_proto",
 +        "//google/rpc:status_go_proto",
 +        "//google/type:color_go_proto",
@@ -8487,6 +7769,41 @@
 +        "//google/type:postaladdress_go_proto",
 +    ],
 +)
+diff -urN c/google/cloud/edgecontainer/v1/BUILD.bazel d/google/cloud/edgecontainer/v1/BUILD.bazel
+--- c/google/cloud/edgecontainer/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ d/google/cloud/edgecontainer/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,31 @@
++load("@rules_proto//proto:defs.bzl", "proto_library")
++load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
++
++proto_library(
++    name = "edgecontainer_proto",
++    srcs = [
++        "resources.proto",
++        "service.proto",
++    ],
++    visibility = ["//visibility:public"],
++    deps = [
++        "//google/api:annotations_proto",
++        "//google/longrunning:longrunning_proto",
++        "//google/rpc:status_proto",
++        "@com_google_protobuf//:field_mask_proto",
++        "@com_google_protobuf//:timestamp_proto",
++    ],
++)
++
++go_proto_library(
++    name = "edgecontainer_go_proto",
++    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
++    importpath = "google.golang.org/genproto/googleapis/cloud/edgecontainer/v1",
++    proto = ":edgecontainer_proto",
++    visibility = ["//visibility:public"],
++    deps = [
++        "//google/api:annotations_go_proto",
++        "//google/longrunning:longrunning_go_proto",
++        "//google/rpc:status_go_proto",
++    ],
++)
 diff -urN c/google/cloud/essentialcontacts/v1/BUILD.bazel d/google/cloud/essentialcontacts/v1/BUILD.bazel
 --- c/google/cloud/essentialcontacts/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/essentialcontacts/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -8926,7 +8243,7 @@
 diff -urN c/google/cloud/gkeconnect/gateway/v1/BUILD.bazel d/google/cloud/gkeconnect/gateway/v1/BUILD.bazel
 --- c/google/cloud/gkeconnect/gateway/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/gkeconnect/gateway/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,24 @@
+@@ -0,0 +1,18 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -8934,10 +8251,7 @@
 +    name = "gateway_proto",
 +    srcs = ["gateway.proto"],
 +    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/api:annotations_proto",
-+        "//google/api:httpbody_proto",
-+    ],
++    deps = ["//google/api:annotations_proto"],
 +)
 +
 +go_proto_library(
@@ -8946,15 +8260,12 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/gkeconnect/gateway/v1",
 +    proto = ":gateway_proto",
 +    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/api:annotations_go_proto",
-+        "//google/api:httpbody_go_proto",
-+    ],
++    deps = ["//google/api:annotations_go_proto"],
 +)
 diff -urN c/google/cloud/gkeconnect/gateway/v1alpha1/BUILD.bazel d/google/cloud/gkeconnect/gateway/v1alpha1/BUILD.bazel
 --- c/google/cloud/gkeconnect/gateway/v1alpha1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/gkeconnect/gateway/v1alpha1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,24 @@
+@@ -0,0 +1,18 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -8962,10 +8273,7 @@
 +    name = "gateway_proto",
 +    srcs = ["gateway.proto"],
 +    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/api:annotations_proto",
-+        "//google/api:httpbody_proto",
-+    ],
++    deps = ["//google/api:annotations_proto"],
 +)
 +
 +go_proto_library(
@@ -8974,10 +8282,7 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/gkeconnect/gateway/v1alpha1",
 +    proto = ":gateway_proto",
 +    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/api:annotations_go_proto",
-+        "//google/api:httpbody_go_proto",
-+    ],
++    deps = ["//google/api:annotations_go_proto"],
 +)
 diff -urN c/google/cloud/gkeconnect/gateway/v1beta1/BUILD.bazel d/google/cloud/gkeconnect/gateway/v1beta1/BUILD.bazel
 --- c/google/cloud/gkeconnect/gateway/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
@@ -9130,7 +8435,7 @@
 diff -urN c/google/cloud/gkehub/v1alpha/cloudauditlogging/BUILD.bazel d/google/cloud/gkehub/v1alpha/cloudauditlogging/BUILD.bazel
 --- c/google/cloud/gkehub/v1alpha/cloudauditlogging/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/gkehub/v1alpha/cloudauditlogging/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,17 @@
+@@ -0,0 +1,15 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -9138,7 +8443,6 @@
 +    name = "cloudauditlogging_proto",
 +    srcs = ["cloudauditlogging.proto"],
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_proto"],
 +)
 +
 +go_proto_library(
@@ -9146,12 +8450,11 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/gkehub/cloudauditlogging/v1alpha",
 +    proto = ":cloudauditlogging_proto",
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_go_proto"],
 +)
 diff -urN c/google/cloud/gkehub/v1alpha/configmanagement/BUILD.bazel d/google/cloud/gkehub/v1alpha/configmanagement/BUILD.bazel
 --- c/google/cloud/gkehub/v1alpha/configmanagement/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/gkehub/v1alpha/configmanagement/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,20 @@
+@@ -0,0 +1,16 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -9159,10 +8462,7 @@
 +    name = "configmanagement_proto",
 +    srcs = ["configmanagement.proto"],
 +    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/api:annotations_proto",
-+        "@com_google_protobuf//:timestamp_proto",
-+    ],
++    deps = ["@com_google_protobuf//:timestamp_proto"],
 +)
 +
 +go_proto_library(
@@ -9170,12 +8470,11 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/gkehub/configmanagement/v1alpha",
 +    proto = ":configmanagement_proto",
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_go_proto"],
 +)
 diff -urN c/google/cloud/gkehub/v1alpha/metering/BUILD.bazel d/google/cloud/gkehub/v1alpha/metering/BUILD.bazel
 --- c/google/cloud/gkehub/v1alpha/metering/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/gkehub/v1alpha/metering/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,20 @@
+@@ -0,0 +1,16 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -9183,10 +8482,7 @@
 +    name = "metering_proto",
 +    srcs = ["metering.proto"],
 +    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/api:annotations_proto",
-+        "@com_google_protobuf//:timestamp_proto",
-+    ],
++    deps = ["@com_google_protobuf//:timestamp_proto"],
 +)
 +
 +go_proto_library(
@@ -9194,12 +8490,11 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/gkehub/metering/v1alpha",
 +    proto = ":metering_proto",
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_go_proto"],
 +)
 diff -urN c/google/cloud/gkehub/v1alpha/multiclusteringress/BUILD.bazel d/google/cloud/gkehub/v1alpha/multiclusteringress/BUILD.bazel
 --- c/google/cloud/gkehub/v1alpha/multiclusteringress/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/gkehub/v1alpha/multiclusteringress/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,17 @@
+@@ -0,0 +1,15 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -9207,7 +8502,6 @@
 +    name = "multiclusteringress_proto",
 +    srcs = ["multiclusteringress.proto"],
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_proto"],
 +)
 +
 +go_proto_library(
@@ -9215,7 +8509,6 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/gkehub/multiclusteringress/v1alpha",
 +    proto = ":multiclusteringress_proto",
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_go_proto"],
 +)
 diff -urN c/google/cloud/gkehub/v1alpha/servicemesh/BUILD.bazel d/google/cloud/gkehub/v1alpha/servicemesh/BUILD.bazel
 --- c/google/cloud/gkehub/v1alpha/servicemesh/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
@@ -9313,7 +8606,7 @@
 diff -urN c/google/cloud/gkehub/v1beta/configmanagement/BUILD.bazel d/google/cloud/gkehub/v1beta/configmanagement/BUILD.bazel
 --- c/google/cloud/gkehub/v1beta/configmanagement/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/gkehub/v1beta/configmanagement/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,20 @@
+@@ -0,0 +1,16 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -9321,10 +8614,7 @@
 +    name = "configmanagement_proto",
 +    srcs = ["configmanagement.proto"],
 +    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/api:annotations_proto",
-+        "@com_google_protobuf//:timestamp_proto",
-+    ],
++    deps = ["@com_google_protobuf//:timestamp_proto"],
 +)
 +
 +go_proto_library(
@@ -9332,12 +8622,11 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/gkehub/configmanagement/v1beta",
 +    proto = ":configmanagement_proto",
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_go_proto"],
 +)
 diff -urN c/google/cloud/gkehub/v1beta/metering/BUILD.bazel d/google/cloud/gkehub/v1beta/metering/BUILD.bazel
 --- c/google/cloud/gkehub/v1beta/metering/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/gkehub/v1beta/metering/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,20 @@
+@@ -0,0 +1,16 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -9345,10 +8634,7 @@
 +    name = "metering_proto",
 +    srcs = ["metering.proto"],
 +    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/api:annotations_proto",
-+        "@com_google_protobuf//:timestamp_proto",
-+    ],
++    deps = ["@com_google_protobuf//:timestamp_proto"],
 +)
 +
 +go_proto_library(
@@ -9356,12 +8642,11 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/gkehub/metering/v1beta",
 +    proto = ":metering_proto",
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_go_proto"],
 +)
 diff -urN c/google/cloud/gkehub/v1beta/multiclusteringress/BUILD.bazel d/google/cloud/gkehub/v1beta/multiclusteringress/BUILD.bazel
 --- c/google/cloud/gkehub/v1beta/multiclusteringress/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/gkehub/v1beta/multiclusteringress/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,17 @@
+@@ -0,0 +1,15 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -9369,7 +8654,6 @@
 +    name = "multiclusteringress_proto",
 +    srcs = ["multiclusteringress.proto"],
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_proto"],
 +)
 +
 +go_proto_library(
@@ -9377,7 +8661,6 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/gkehub/multiclusteringress/v1beta",
 +    proto = ":multiclusteringress_proto",
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_go_proto"],
 +)
 diff -urN c/google/cloud/gkehub/v1beta1/BUILD.bazel d/google/cloud/gkehub/v1beta1/BUILD.bazel
 --- c/google/cloud/gkehub/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
@@ -9626,7 +8909,7 @@
 diff -urN c/google/cloud/ids/v1/BUILD.bazel d/google/cloud/ids/v1/BUILD.bazel
 --- c/google/cloud/ids/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/ids/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,26 @@
+@@ -0,0 +1,25 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -9637,7 +8920,6 @@
 +    deps = [
 +        "//google/api:annotations_proto",
 +        "//google/longrunning:longrunning_proto",
-+        "@com_google_protobuf//:field_mask_proto",
 +        "@com_google_protobuf//:timestamp_proto",
 +    ],
 +)
@@ -9799,7 +9081,7 @@
 diff -urN c/google/cloud/language/v1beta2/BUILD.bazel d/google/cloud/language/v1beta2/BUILD.bazel
 --- c/google/cloud/language/v1beta2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/language/v1beta2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,21 @@
+@@ -0,0 +1,18 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -9807,10 +9089,7 @@
 +    name = "language_proto",
 +    srcs = ["language_service.proto"],
 +    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/api:annotations_proto",
-+        "@com_google_protobuf//:timestamp_proto",
-+    ],
++    deps = ["//google/api:annotations_proto"],
 +)
 +
 +go_proto_library(
@@ -10689,7 +9968,7 @@
 diff -urN c/google/cloud/orgpolicy/v1/BUILD.bazel d/google/cloud/orgpolicy/v1/BUILD.bazel
 --- c/google/cloud/orgpolicy/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/orgpolicy/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,21 @@
+@@ -0,0 +1,16 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -10697,11 +9976,7 @@
 +    name = "orgpolicy_proto",
 +    srcs = ["orgpolicy.proto"],
 +    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/api:annotations_proto",
-+        "@com_google_protobuf//:empty_proto",
-+        "@com_google_protobuf//:timestamp_proto",
-+    ],
++    deps = ["@com_google_protobuf//:timestamp_proto"],
 +)
 +
 +go_proto_library(
@@ -10709,7 +9984,6 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/orgpolicy/v1",
 +    proto = ":orgpolicy_proto",
 +    visibility = ["//visibility:public"],
-+    deps = ["//google/api:annotations_go_proto"],
 +)
 diff -urN c/google/cloud/orgpolicy/v2/BUILD.bazel d/google/cloud/orgpolicy/v2/BUILD.bazel
 --- c/google/cloud/orgpolicy/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
@@ -11151,7 +10425,7 @@
 diff -urN c/google/cloud/privatecatalog/v1beta1/BUILD.bazel d/google/cloud/privatecatalog/v1beta1/BUILD.bazel
 --- c/google/cloud/privatecatalog/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/privatecatalog/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,29 @@
+@@ -0,0 +1,26 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -11162,9 +10436,6 @@
 +    deps = [
 +        "//google/api:annotations_proto",
 +        "//google/longrunning:longrunning_proto",
-+        "@com_google_protobuf//:any_proto",
-+        "@com_google_protobuf//:empty_proto",
-+        "@com_google_protobuf//:field_mask_proto",
 +        "@com_google_protobuf//:struct_proto",
 +        "@com_google_protobuf//:timestamp_proto",
 +    ],
@@ -11184,7 +10455,7 @@
 diff -urN c/google/cloud/pubsublite/v1/BUILD.bazel d/google/cloud/pubsublite/v1/BUILD.bazel
 --- c/google/cloud/pubsublite/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/pubsublite/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,35 @@
+@@ -0,0 +1,37 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -11202,6 +10473,7 @@
 +    deps = [
 +        "//google/api:annotations_proto",
 +        "//google/longrunning:longrunning_proto",
++        "//google/rpc:status_proto",
 +        "@com_google_protobuf//:duration_proto",
 +        "@com_google_protobuf//:empty_proto",
 +        "@com_google_protobuf//:field_mask_proto",
@@ -11218,6 +10490,7 @@
 +    deps = [
 +        "//google/api:annotations_go_proto",
 +        "//google/longrunning:longrunning_go_proto",
++        "//google/rpc:status_go_proto",
 +    ],
 +)
 diff -urN c/google/cloud/recaptchaenterprise/v1/BUILD.bazel d/google/cloud/recaptchaenterprise/v1/BUILD.bazel
@@ -11275,7 +10548,7 @@
 diff -urN c/google/cloud/recommendationengine/v1beta1/BUILD.bazel d/google/cloud/recommendationengine/v1beta1/BUILD.bazel
 --- c/google/cloud/recommendationengine/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/recommendationengine/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,44 @@
+@@ -0,0 +1,42 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -11298,7 +10571,6 @@
 +        "//google/api:httpbody_proto",
 +        "//google/longrunning:longrunning_proto",
 +        "//google/rpc:status_proto",
-+        "//google/type:date_proto",
 +        "@com_google_protobuf//:empty_proto",
 +        "@com_google_protobuf//:field_mask_proto",
 +        "@com_google_protobuf//:struct_proto",
@@ -11317,7 +10589,6 @@
 +        "//google/api:httpbody_go_proto",
 +        "//google/longrunning:longrunning_go_proto",
 +        "//google/rpc:status_go_proto",
-+        "//google/type:date_go_proto",
 +    ],
 +)
 diff -urN c/google/cloud/recommender/logging/v1/BUILD.bazel d/google/cloud/recommender/logging/v1/BUILD.bazel
@@ -11640,7 +10911,7 @@
 diff -urN c/google/cloud/retail/v2/BUILD.bazel d/google/cloud/retail/v2/BUILD.bazel
 --- c/google/cloud/retail/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/retail/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,50 @@
+@@ -0,0 +1,54 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -11651,6 +10922,8 @@
 +        "catalog_service.proto",
 +        "common.proto",
 +        "completion_service.proto",
++        "control.proto",
++        "control_service.proto",
 +        "import_config.proto",
 +        "prediction_service.proto",
 +        "product.proto",
@@ -11658,6 +10931,8 @@
 +        "promotion.proto",
 +        "purge_config.proto",
 +        "search_service.proto",
++        "serving_config.proto",
++        "serving_config_service.proto",
 +        "user_event.proto",
 +        "user_event_service.proto",
 +    ],
@@ -11694,7 +10969,7 @@
 diff -urN c/google/cloud/retail/v2alpha/BUILD.bazel d/google/cloud/retail/v2alpha/BUILD.bazel
 --- c/google/cloud/retail/v2alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/retail/v2alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,55 @@
+@@ -0,0 +1,57 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -11709,6 +10984,8 @@
 +        "control_service.proto",
 +        "export_config.proto",
 +        "import_config.proto",
++        "model.proto",
++        "model_service.proto",
 +        "prediction_service.proto",
 +        "product.proto",
 +        "product_service.proto",
@@ -11753,7 +11030,7 @@
 diff -urN c/google/cloud/retail/v2beta/BUILD.bazel d/google/cloud/retail/v2beta/BUILD.bazel
 --- c/google/cloud/retail/v2beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/retail/v2beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,55 @@
+@@ -0,0 +1,57 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -11768,6 +11045,8 @@
 +        "control_service.proto",
 +        "export_config.proto",
 +        "import_config.proto",
++        "model.proto",
++        "model_service.proto",
 +        "prediction_service.proto",
 +        "product.proto",
 +        "product_service.proto",
@@ -12203,7 +11482,7 @@
 diff -urN c/google/cloud/securitycenter/v1/BUILD.bazel d/google/cloud/securitycenter/v1/BUILD.bazel
 --- c/google/cloud/securitycenter/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/securitycenter/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,57 @@
+@@ -0,0 +1,61 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -12216,6 +11495,8 @@
 +        "compliance.proto",
 +        "connection.proto",
 +        "contact_details.proto",
++        "container.proto",
++        "database.proto",
 +        "exfiltration.proto",
 +        "external_system.proto",
 +        "file.proto",
@@ -12223,6 +11504,8 @@
 +        "folder.proto",
 +        "iam_binding.proto",
 +        "indicator.proto",
++        "kubernetes.proto",
++        "label.proto",
 +        "mitre_attack.proto",
 +        "mute_config.proto",
 +        "notification_config.proto",
@@ -12264,7 +11547,7 @@
 diff -urN c/google/cloud/securitycenter/v1beta1/BUILD.bazel d/google/cloud/securitycenter/v1beta1/BUILD.bazel
 --- c/google/cloud/securitycenter/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/securitycenter/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,39 @@
+@@ -0,0 +1,38 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -12285,7 +11568,6 @@
 +        "//google/iam/v1:iam_proto",
 +        "//google/longrunning:longrunning_proto",
 +        "@com_google_protobuf//:duration_proto",
-+        "@com_google_protobuf//:empty_proto",
 +        "@com_google_protobuf//:field_mask_proto",
 +        "@com_google_protobuf//:struct_proto",
 +        "@com_google_protobuf//:timestamp_proto",
@@ -12427,7 +11709,7 @@
 diff -urN c/google/cloud/shell/v1/BUILD.bazel d/google/cloud/shell/v1/BUILD.bazel
 --- c/google/cloud/shell/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/shell/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,26 @@
+@@ -0,0 +1,25 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -12438,7 +11720,6 @@
 +    deps = [
 +        "//google/api:annotations_proto",
 +        "//google/longrunning:longrunning_proto",
-+        "@com_google_protobuf//:field_mask_proto",
 +        "@com_google_protobuf//:timestamp_proto",
 +    ],
 +)
@@ -12952,6 +12233,37 @@
 +    visibility = ["//visibility:public"],
 +    deps = ["//google/api:annotations_go_proto"],
 +)
+diff -urN c/google/cloud/timeseriesinsights/v1/BUILD.bazel d/google/cloud/timeseriesinsights/v1/BUILD.bazel
+--- c/google/cloud/timeseriesinsights/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ d/google/cloud/timeseriesinsights/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,27 @@
++load("@rules_proto//proto:defs.bzl", "proto_library")
++load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
++
++proto_library(
++    name = "timeseriesinsights_proto",
++    srcs = ["timeseries_insights.proto"],
++    visibility = ["//visibility:public"],
++    deps = [
++        "//google/api:annotations_proto",
++        "//google/rpc:status_proto",
++        "@com_google_protobuf//:duration_proto",
++        "@com_google_protobuf//:empty_proto",
++        "@com_google_protobuf//:timestamp_proto",
++    ],
++)
++
++go_proto_library(
++    name = "timeseriesinsights_go_proto",
++    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
++    importpath = "google.golang.org/genproto/googleapis/cloud/timeseriesinsights/v1",
++    proto = ":timeseriesinsights_proto",
++    visibility = ["//visibility:public"],
++    deps = [
++        "//google/api:annotations_go_proto",
++        "//google/rpc:status_go_proto",
++    ],
++)
 diff -urN c/google/cloud/tpu/v1/BUILD.bazel d/google/cloud/tpu/v1/BUILD.bazel
 --- c/google/cloud/tpu/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/tpu/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -13014,7 +12326,7 @@
 diff -urN c/google/cloud/translate/v3/BUILD.bazel d/google/cloud/translate/v3/BUILD.bazel
 --- c/google/cloud/translate/v3/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/translate/v3/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,28 @@
+@@ -0,0 +1,25 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -13025,8 +12337,6 @@
 +    deps = [
 +        "//google/api:annotations_proto",
 +        "//google/longrunning:longrunning_proto",
-+        "//google/rpc:status_proto",
-+        "@com_google_protobuf//:empty_proto",
 +        "@com_google_protobuf//:timestamp_proto",
 +    ],
 +)
@@ -13040,13 +12350,12 @@
 +    deps = [
 +        "//google/api:annotations_go_proto",
 +        "//google/longrunning:longrunning_go_proto",
-+        "//google/rpc:status_go_proto",
 +    ],
 +)
 diff -urN c/google/cloud/translate/v3beta1/BUILD.bazel d/google/cloud/translate/v3beta1/BUILD.bazel
 --- c/google/cloud/translate/v3beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/translate/v3beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,27 @@
+@@ -0,0 +1,25 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -13057,7 +12366,6 @@
 +    deps = [
 +        "//google/api:annotations_proto",
 +        "//google/longrunning:longrunning_proto",
-+        "//google/rpc:status_proto",
 +        "@com_google_protobuf//:timestamp_proto",
 +    ],
 +)
@@ -13071,7 +12379,6 @@
 +    deps = [
 +        "//google/api:annotations_go_proto",
 +        "//google/longrunning:longrunning_go_proto",
-+        "//google/rpc:status_go_proto",
 +    ],
 +)
 diff -urN c/google/cloud/video/livestream/logging/v1/BUILD.bazel d/google/cloud/video/livestream/logging/v1/BUILD.bazel
@@ -13697,7 +13004,7 @@
 diff -urN c/google/cloud/websecurityscanner/v1/BUILD.bazel d/google/cloud/websecurityscanner/v1/BUILD.bazel
 --- c/google/cloud/websecurityscanner/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/cloud/websecurityscanner/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,34 @@
+@@ -0,0 +1,35 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -13712,6 +13019,7 @@
 +        "scan_config_error.proto",
 +        "scan_run.proto",
 +        "scan_run_error_trace.proto",
++        "scan_run_log.proto",
 +        "scan_run_warning_trace.proto",
 +        "web_security_scanner.proto",
 +    ],
@@ -15584,7 +14892,7 @@
 diff -urN c/google/iam/v1/logging/BUILD.bazel d/google/iam/v1/logging/BUILD.bazel
 --- c/google/iam/v1/logging/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/iam/v1/logging/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,23 @@
+@@ -0,0 +1,17 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -15592,10 +14900,7 @@
 +    name = "logging_proto",
 +    srcs = ["audit_data.proto"],
 +    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/api:annotations_proto",
-+        "//google/iam/v1:iam_proto",
-+    ],
++    deps = ["//google/iam/v1:iam_proto"],
 +)
 +
 +go_proto_library(
@@ -15603,10 +14908,7 @@
 +    importpath = "google.golang.org/genproto/googleapis/iam/v1/logging",
 +    proto = ":logging_proto",
 +    visibility = ["//visibility:public"],
-+    deps = [
-+        "//google/api:annotations_go_proto",
-+        "//google/iam/v1:iam_go_proto",
-+    ],
++    deps = ["//google/iam/v1:iam_go_proto"],
 +)
 diff -urN c/google/iam/v1beta/BUILD.bazel d/google/iam/v1beta/BUILD.bazel
 --- c/google/iam/v1beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
@@ -15637,6 +14939,40 @@
 +        "//google/longrunning:longrunning_go_proto",
 +    ],
 +)
+diff -urN c/google/iam/v2/BUILD.bazel d/google/iam/v2/BUILD.bazel
+--- c/google/iam/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ d/google/iam/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,30 @@
++load("@rules_proto//proto:defs.bzl", "proto_library")
++load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
++
++proto_library(
++    name = "iam_proto",
++    srcs = [
++        "deny.proto",
++        "policy.proto",
++    ],
++    visibility = ["//visibility:public"],
++    deps = [
++        "//google/api:annotations_proto",
++        "//google/longrunning:longrunning_proto",
++        "//google/type:expr_proto",
++        "@com_google_protobuf//:timestamp_proto",
++    ],
++)
++
++go_proto_library(
++    name = "iam_go_proto",
++    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
++    importpath = "google.golang.org/genproto/googleapis/iam/v2",
++    proto = ":iam_proto",
++    visibility = ["//visibility:public"],
++    deps = [
++        "//google/api:annotations_go_proto",
++        "//google/longrunning:longrunning_go_proto",
++        "//google/type:expr_go_proto",
++    ],
++)
 diff -urN c/google/iam/v2beta/BUILD.bazel d/google/iam/v2beta/BUILD.bazel
 --- c/google/iam/v2beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/iam/v2beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -15834,6 +15170,44 @@
 +        "//google/rpc:status_go_proto",
 +    ],
 +)
+diff -urN c/google/maps/addressvalidation/v1/BUILD.bazel d/google/maps/addressvalidation/v1/BUILD.bazel
+--- c/google/maps/addressvalidation/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ d/google/maps/addressvalidation/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,34 @@
++load("@rules_proto//proto:defs.bzl", "proto_library")
++load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
++
++proto_library(
++    name = "addressvalidation_proto",
++    srcs = [
++        "address.proto",
++        "address_validation_service.proto",
++        "geocode.proto",
++        "metadata.proto",
++        "usps_data.proto",
++    ],
++    visibility = ["//visibility:public"],
++    deps = [
++        "//google/api:annotations_proto",
++        "//google/geo/type:viewport_proto",
++        "//google/type:latlng_proto",
++        "//google/type:postaladdress_proto",
++    ],
++)
++
++go_proto_library(
++    name = "addressvalidation_go_proto",
++    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
++    importpath = "google.golang.org/genproto/googleapis/maps/addressvalidation/v1",
++    proto = ":addressvalidation_proto",
++    visibility = ["//visibility:public"],
++    deps = [
++        "//google/api:annotations_go_proto",
++        "//google/geo/type:viewport_go_proto",
++        "//google/type:latlng_go_proto",
++        "//google/type:postaladdress_go_proto",
++    ],
++)
 diff -urN c/google/maps/fleetengine/delivery/v1/BUILD.bazel d/google/maps/fleetengine/delivery/v1/BUILD.bazel
 --- c/google/maps/fleetengine/delivery/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/maps/fleetengine/delivery/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -15915,10 +15289,42 @@
 +        "//google/type:latlng_go_proto",
 +    ],
 +)
+diff -urN c/google/maps/mapsplatformdatasets/v1alpha/BUILD.bazel d/google/maps/mapsplatformdatasets/v1alpha/BUILD.bazel
+--- c/google/maps/mapsplatformdatasets/v1alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ d/google/maps/mapsplatformdatasets/v1alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,28 @@
++load("@rules_proto//proto:defs.bzl", "proto_library")
++load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
++
++proto_library(
++    name = "mapsplatformdatasets_proto",
++    srcs = [
++        "data_source.proto",
++        "dataset.proto",
++        "maps_platform_datasets.proto",
++        "maps_platform_datasets_alpha_service.proto",
++    ],
++    visibility = ["//visibility:public"],
++    deps = [
++        "//google/api:annotations_proto",
++        "@com_google_protobuf//:empty_proto",
++        "@com_google_protobuf//:field_mask_proto",
++        "@com_google_protobuf//:timestamp_proto",
++    ],
++)
++
++go_proto_library(
++    name = "mapsplatformdatasets_go_proto",
++    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
++    importpath = "google.golang.org/genproto/googleapis/maps/mapsplatformdatasets/v1alpha",
++    proto = ":mapsplatformdatasets_proto",
++    visibility = ["//visibility:public"],
++    deps = ["//google/api:annotations_go_proto"],
++)
 diff -urN c/google/maps/playablelocations/v3/BUILD.bazel d/google/maps/playablelocations/v3/BUILD.bazel
 --- c/google/maps/playablelocations/v3/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/maps/playablelocations/v3/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,33 @@
+@@ -0,0 +1,30 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -15933,9 +15339,7 @@
 +        "//google/api:annotations_proto",
 +        "//google/maps/playablelocations/v3/sample:sample_proto",
 +        "//google/maps/unity:unity_proto",
-+        "//google/type:latlng_proto",
 +        "@com_google_protobuf//:duration_proto",
-+        "@com_google_protobuf//:field_mask_proto",
 +    ],
 +)
 +
@@ -15949,7 +15353,6 @@
 +        "//google/api:annotations_go_proto",
 +        "//google/maps/playablelocations/v3/sample:sample_go_proto",
 +        "//google/maps/unity:unity_go_proto",
-+        "//google/type:latlng_go_proto",
 +    ],
 +)
 diff -urN c/google/maps/playablelocations/v3/sample/BUILD.bazel d/google/maps/playablelocations/v3/sample/BUILD.bazel
@@ -16686,7 +16089,7 @@
 diff -urN c/google/storage/v1/BUILD.bazel d/google/storage/v1/BUILD.bazel
 --- c/google/storage/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/storage/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,31 @@
+@@ -0,0 +1,29 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -16700,7 +16103,6 @@
 +    deps = [
 +        "//google/api:annotations_proto",
 +        "//google/iam/v1:iam_proto",
-+        "@com_google_protobuf//:empty_proto",
 +        "@com_google_protobuf//:field_mask_proto",
 +        "@com_google_protobuf//:timestamp_proto",
 +        "@com_google_protobuf//:wrappers_proto",
@@ -16709,7 +16111,6 @@
 +
 +go_proto_library(
 +    name = "storage_go_proto",
-+    compilers = ["@io_bazel_rules_go//proto:go_grpc"],
 +    importpath = "google.golang.org/genproto/googleapis/storage/v1",
 +    proto = ":storage_proto",
 +    visibility = ["//visibility:public"],
@@ -16751,6 +16152,30 @@
 +        "//google/type:date_go_proto",
 +    ],
 +)
+diff -urN c/google/storagetransfer/logging/BUILD.bazel d/google/storagetransfer/logging/BUILD.bazel
+--- c/google/storagetransfer/logging/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ d/google/storagetransfer/logging/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,20 @@
++load("@rules_proto//proto:defs.bzl", "proto_library")
++load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
++
++proto_library(
++    name = "logging_proto",
++    srcs = ["transfer_activity_log.proto"],
++    visibility = ["//visibility:public"],
++    deps = [
++        "//google/api:annotations_proto",
++        "@com_google_protobuf//:timestamp_proto",
++    ],
++)
++
++go_proto_library(
++    name = "logging_go_proto",
++    importpath = "google.golang.org/genproto/googleapis/storagetransfer/logging",
++    proto = ":logging_proto",
++    visibility = ["//visibility:public"],
++    deps = ["//google/api:annotations_go_proto"],
++)
 diff -urN c/google/storagetransfer/v1/BUILD.bazel d/google/storagetransfer/v1/BUILD.bazel
 --- c/google/storagetransfer/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/storagetransfer/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -16795,7 +16220,7 @@
 diff -urN c/google/streetview/publish/v1/BUILD.bazel d/google/streetview/publish/v1/BUILD.bazel
 --- c/google/streetview/publish/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ d/google/streetview/publish/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,35 @@
+@@ -0,0 +1,33 @@
 +load("@rules_proto//proto:defs.bzl", "proto_library")
 +load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
 +
@@ -16809,7 +16234,6 @@
 +    visibility = ["//visibility:public"],
 +    deps = [
 +        "//google/api:annotations_proto",
-+        "//google/longrunning:longrunning_proto",
 +        "//google/rpc:status_proto",
 +        "//google/type:latlng_proto",
 +        "@com_google_protobuf//:empty_proto",
@@ -16826,7 +16250,6 @@
 +    visibility = ["//visibility:public"],
 +    deps = [
 +        "//google/api:annotations_go_proto",
-+        "//google/longrunning:longrunning_go_proto",
 +        "//google/rpc:status_go_proto",
 +        "//google/type:latlng_go_proto",
 +    ],
diff --git a/third_party/org_golang_google_genproto-gazelle.patch b/third_party/org_golang_google_genproto-gazelle.patch
index bb0a739..3f24f6f 100644
--- a/third_party/org_golang_google_genproto-gazelle.patch
+++ b/third_party/org_golang_google_genproto-gazelle.patch
@@ -225,13 +225,15 @@
 diff -urN a/googleapis/analytics/admin/v1alpha/BUILD.bazel b/googleapis/analytics/admin/v1alpha/BUILD.bazel
 --- a/googleapis/analytics/admin/v1alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/analytics/admin/v1alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,29 @@
+@@ -0,0 +1,32 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
 +    name = "v1alpha",
 +    srcs = [
++        "access_report.pb.go",
 +        "analytics_admin.pb.go",
++        "audience.pb.go",
 +        "resources.pb.go",
 +    ],
 +    importpath = "google.golang.org/genproto/googleapis/analytics/admin/v1alpha",
@@ -243,6 +245,7 @@
 +        "@org_golang_google_grpc//status:go_default_library",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
++        "@org_golang_google_protobuf//types/known/durationpb:go_default_library",
 +        "@org_golang_google_protobuf//types/known/emptypb:go_default_library",
 +        "@org_golang_google_protobuf//types/known/fieldmaskpb:go_default_library",
 +        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
@@ -432,6 +435,38 @@
 +    actual = ":annotations",
 +    visibility = ["//visibility:public"],
 +)
+diff -urN a/googleapis/api/apikeys/v2/BUILD.bazel b/googleapis/api/apikeys/v2/BUILD.bazel
+--- a/googleapis/api/apikeys/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ b/googleapis/api/apikeys/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,28 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_library")
++
++go_library(
++    name = "apikeys",
++    srcs = [
++        "apikeys.pb.go",
++        "resources.pb.go",
++    ],
++    importpath = "google.golang.org/genproto/googleapis/api/apikeys/v2",
++    visibility = ["//visibility:public"],
++    deps = [
++        "//googleapis/api/annotations",
++        "//googleapis/longrunning",
++        "@org_golang_google_grpc//:go_default_library",
++        "@org_golang_google_grpc//codes:go_default_library",
++        "@org_golang_google_grpc//status:go_default_library",
++        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
++        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
++        "@org_golang_google_protobuf//types/known/fieldmaskpb:go_default_library",
++        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
++    ],
++)
++
++alias(
++    name = "go_default_library",
++    actual = ":apikeys",
++    visibility = ["//visibility:public"],
++)
 diff -urN a/googleapis/api/configchange/BUILD.bazel b/googleapis/api/configchange/BUILD.bazel
 --- a/googleapis/api/configchange/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/api/configchange/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -1240,7 +1275,7 @@
 diff -urN a/googleapis/apps/script/type/gmail/BUILD.bazel b/googleapis/apps/script/type/gmail/BUILD.bazel
 --- a/googleapis/apps/script/type/gmail/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/apps/script/type/gmail/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,20 @@
+@@ -0,0 +1,19 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -1252,7 +1287,6 @@
 +        "//googleapis/apps/script/type",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
-+        "@org_golang_google_protobuf//types/known/structpb:go_default_library",
 +    ],
 +)
 +
@@ -1889,7 +1923,7 @@
 diff -urN a/googleapis/cloud/aiplatform/v1/schema/predict/instance/BUILD.bazel b/googleapis/cloud/aiplatform/v1/schema/predict/instance/BUILD.bazel
 --- a/googleapis/cloud/aiplatform/v1/schema/predict/instance/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/aiplatform/v1/schema/predict/instance/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,29 @@
+@@ -0,0 +1,28 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -1908,7 +1942,6 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/instance",
 +    visibility = ["//visibility:public"],
 +    deps = [
-+        "//googleapis/api/annotations",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
 +    ],
@@ -1922,7 +1955,7 @@
 diff -urN a/googleapis/cloud/aiplatform/v1/schema/predict/params/BUILD.bazel b/googleapis/cloud/aiplatform/v1/schema/predict/params/BUILD.bazel
 --- a/googleapis/cloud/aiplatform/v1/schema/predict/params/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/aiplatform/v1/schema/predict/params/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,26 @@
+@@ -0,0 +1,25 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -1938,7 +1971,6 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/params",
 +    visibility = ["//visibility:public"],
 +    deps = [
-+        "//googleapis/api/annotations",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
 +    ],
@@ -1952,7 +1984,7 @@
 diff -urN a/googleapis/cloud/aiplatform/v1/schema/predict/prediction/BUILD.bazel b/googleapis/cloud/aiplatform/v1/schema/predict/prediction/BUILD.bazel
 --- a/googleapis/cloud/aiplatform/v1/schema/predict/prediction/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/aiplatform/v1/schema/predict/prediction/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,33 @@
+@@ -0,0 +1,32 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -1972,7 +2004,6 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1/schema/predict/prediction",
 +    visibility = ["//visibility:public"],
 +    deps = [
-+        "//googleapis/api/annotations",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
 +        "@org_golang_google_protobuf//types/known/durationpb:go_default_library",
@@ -2026,7 +2057,7 @@
 diff -urN a/googleapis/cloud/aiplatform/v1beta1/BUILD.bazel b/googleapis/cloud/aiplatform/v1beta1/BUILD.bazel
 --- a/googleapis/cloud/aiplatform/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/aiplatform/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,106 @@
+@@ -0,0 +1,108 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -2046,6 +2077,8 @@
 +        "dataset_service.pb.go",
 +        "deployed_index_ref.pb.go",
 +        "deployed_model_ref.pb.go",
++        "deployment_resource_pool.pb.go",
++        "deployment_resource_pool_service.pb.go",
 +        "encryption_spec.pb.go",
 +        "endpoint.pb.go",
 +        "endpoint_service.pb.go",
@@ -2171,7 +2204,7 @@
 diff -urN a/googleapis/cloud/aiplatform/v1beta1/schema/predict/instance/BUILD.bazel b/googleapis/cloud/aiplatform/v1beta1/schema/predict/instance/BUILD.bazel
 --- a/googleapis/cloud/aiplatform/v1beta1/schema/predict/instance/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/aiplatform/v1beta1/schema/predict/instance/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,29 @@
+@@ -0,0 +1,28 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -2190,7 +2223,6 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1/schema/predict/instance",
 +    visibility = ["//visibility:public"],
 +    deps = [
-+        "//googleapis/api/annotations",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
 +    ],
@@ -2204,7 +2236,7 @@
 diff -urN a/googleapis/cloud/aiplatform/v1beta1/schema/predict/params/BUILD.bazel b/googleapis/cloud/aiplatform/v1beta1/schema/predict/params/BUILD.bazel
 --- a/googleapis/cloud/aiplatform/v1beta1/schema/predict/params/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/aiplatform/v1beta1/schema/predict/params/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,26 @@
+@@ -0,0 +1,25 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -2220,7 +2252,6 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1/schema/predict/params",
 +    visibility = ["//visibility:public"],
 +    deps = [
-+        "//googleapis/api/annotations",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
 +    ],
@@ -2234,7 +2265,7 @@
 diff -urN a/googleapis/cloud/aiplatform/v1beta1/schema/predict/prediction/BUILD.bazel b/googleapis/cloud/aiplatform/v1beta1/schema/predict/prediction/BUILD.bazel
 --- a/googleapis/cloud/aiplatform/v1beta1/schema/predict/prediction/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/aiplatform/v1beta1/schema/predict/prediction/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,34 @@
+@@ -0,0 +1,33 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -2255,7 +2286,6 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1/schema/predict/prediction",
 +    visibility = ["//visibility:public"],
 +    deps = [
-+        "//googleapis/api/annotations",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
 +        "@org_golang_google_protobuf//types/known/durationpb:go_default_library",
@@ -2272,7 +2302,7 @@
 diff -urN a/googleapis/cloud/aiplatform/v1beta1/schema/trainingjob/definition/BUILD.bazel b/googleapis/cloud/aiplatform/v1beta1/schema/trainingjob/definition/BUILD.bazel
 --- a/googleapis/cloud/aiplatform/v1beta1/schema/trainingjob/definition/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/aiplatform/v1beta1/schema/trainingjob/definition/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,32 @@
+@@ -0,0 +1,31 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -2294,7 +2324,6 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1/schema/trainingjob/definition",
 +    visibility = ["//visibility:public"],
 +    deps = [
-+        "//googleapis/api/annotations",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
 +    ],
@@ -2478,31 +2507,17 @@
 diff -urN a/googleapis/cloud/asset/v1p2beta1/BUILD.bazel b/googleapis/cloud/asset/v1p2beta1/BUILD.bazel
 --- a/googleapis/cloud/asset/v1p2beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/asset/v1p2beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,32 @@
+@@ -0,0 +1,18 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
 +    name = "v1p2beta1",
-+    srcs = [
-+        "asset_service.pb.go",
-+        "assets.pb.go",
-+    ],
++    srcs = ["alias.go"],
 +    importpath = "google.golang.org/genproto/googleapis/cloud/asset/v1p2beta1",
 +    visibility = ["//visibility:public"],
 +    deps = [
-+        "//googleapis/api/annotations",
-+        "//googleapis/iam/v1:iam",
-+        "//googleapis/longrunning",
++        "@com_google_cloud_go_asset//apiv1p2beta1/assetpb:go_default_library",
 +        "@org_golang_google_grpc//:go_default_library",
-+        "@org_golang_google_grpc//codes:go_default_library",
-+        "@org_golang_google_grpc//status:go_default_library",
-+        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
-+        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
-+        "@org_golang_google_protobuf//types/known/anypb:go_default_library",
-+        "@org_golang_google_protobuf//types/known/emptypb:go_default_library",
-+        "@org_golang_google_protobuf//types/known/fieldmaskpb:go_default_library",
-+        "@org_golang_google_protobuf//types/known/structpb:go_default_library",
-+        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
 +    ],
 +)
 +
@@ -2547,30 +2562,17 @@
 diff -urN a/googleapis/cloud/asset/v1p5beta1/BUILD.bazel b/googleapis/cloud/asset/v1p5beta1/BUILD.bazel
 --- a/googleapis/cloud/asset/v1p5beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/asset/v1p5beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,31 @@
+@@ -0,0 +1,18 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
 +    name = "v1p5beta1",
-+    srcs = [
-+        "asset_service.pb.go",
-+        "assets.pb.go",
-+    ],
++    srcs = ["alias.go"],
 +    importpath = "google.golang.org/genproto/googleapis/cloud/asset/v1p5beta1",
 +    visibility = ["//visibility:public"],
 +    deps = [
-+        "//googleapis/api/annotations",
-+        "//googleapis/cloud/orgpolicy/v1:orgpolicy",
-+        "//googleapis/iam/v1:iam",
-+        "//googleapis/identity/accesscontextmanager/v1:accesscontextmanager",
++        "@com_google_cloud_go_asset//apiv1p5beta1/assetpb:go_default_library",
 +        "@org_golang_google_grpc//:go_default_library",
-+        "@org_golang_google_grpc//codes:go_default_library",
-+        "@org_golang_google_grpc//status:go_default_library",
-+        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
-+        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
-+        "@org_golang_google_protobuf//types/known/anypb:go_default_library",
-+        "@org_golang_google_protobuf//types/known/structpb:go_default_library",
-+        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
 +    ],
 +)
 +
@@ -2582,7 +2584,7 @@
 diff -urN a/googleapis/cloud/asset/v1p7beta1/BUILD.bazel b/googleapis/cloud/asset/v1p7beta1/BUILD.bazel
 --- a/googleapis/cloud/asset/v1p7beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/asset/v1p7beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,35 @@
+@@ -0,0 +1,32 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -2605,9 +2607,6 @@
 +        "@org_golang_google_grpc//status:go_default_library",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
-+        "@org_golang_google_protobuf//types/known/anypb:go_default_library",
-+        "@org_golang_google_protobuf//types/known/emptypb:go_default_library",
-+        "@org_golang_google_protobuf//types/known/fieldmaskpb:go_default_library",
 +        "@org_golang_google_protobuf//types/known/structpb:go_default_library",
 +        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
 +    ],
@@ -2674,12 +2673,15 @@
 diff -urN a/googleapis/cloud/assuredworkloads/v1beta1/BUILD.bazel b/googleapis/cloud/assuredworkloads/v1beta1/BUILD.bazel
 --- a/googleapis/cloud/assuredworkloads/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/assuredworkloads/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,27 @@
+@@ -0,0 +1,30 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
 +    name = "v1beta1",
-+    srcs = ["assuredworkloads.pb.go"],
++    srcs = [
++        "assuredworkloads.pb.go",
++        "assuredworkloads_service.pb.go",
++    ],
 +    importpath = "google.golang.org/genproto/googleapis/cloud/assuredworkloads/v1beta1",
 +    visibility = ["//visibility:public"],
 +    deps = [
@@ -2787,7 +2789,7 @@
 diff -urN a/googleapis/cloud/automl/v1beta1/BUILD.bazel b/googleapis/cloud/automl/v1beta1/BUILD.bazel
 --- a/googleapis/cloud/automl/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/automl/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,59 @@
+@@ -0,0 +1,57 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -2833,9 +2835,7 @@
 +        "@org_golang_google_grpc//status:go_default_library",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
-+        "@org_golang_google_protobuf//types/known/anypb:go_default_library",
 +        "@org_golang_google_protobuf//types/known/durationpb:go_default_library",
-+        "@org_golang_google_protobuf//types/known/emptypb:go_default_library",
 +        "@org_golang_google_protobuf//types/known/fieldmaskpb:go_default_library",
 +        "@org_golang_google_protobuf//types/known/structpb:go_default_library",
 +        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
@@ -3241,7 +3241,7 @@
 diff -urN a/googleapis/cloud/bigquery/dataexchange/v1beta1/BUILD.bazel b/googleapis/cloud/bigquery/dataexchange/v1beta1/BUILD.bazel
 --- a/googleapis/cloud/bigquery/dataexchange/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/bigquery/dataexchange/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,27 @@
+@@ -0,0 +1,26 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -3251,7 +3251,6 @@
 +    visibility = ["//visibility:public"],
 +    deps = [
 +        "//googleapis/api/annotations",
-+        "//googleapis/cloud/bigquery/dataexchange/common",
 +        "//googleapis/iam/v1:iam",
 +        "@org_golang_google_grpc//:go_default_library",
 +        "@org_golang_google_grpc//codes:go_default_library",
@@ -3269,6 +3268,35 @@
 +    actual = ":v1beta1",
 +    visibility = ["//visibility:public"],
 +)
+diff -urN a/googleapis/cloud/bigquery/datapolicies/v1beta1/BUILD.bazel b/googleapis/cloud/bigquery/datapolicies/v1beta1/BUILD.bazel
+--- a/googleapis/cloud/bigquery/datapolicies/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ b/googleapis/cloud/bigquery/datapolicies/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,25 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_library")
++
++go_library(
++    name = "v1beta1",
++    srcs = ["datapolicy.pb.go"],
++    importpath = "google.golang.org/genproto/googleapis/cloud/bigquery/datapolicies/v1beta1",
++    visibility = ["//visibility:public"],
++    deps = [
++        "//googleapis/api/annotations",
++        "//googleapis/iam/v1:iam",
++        "@org_golang_google_grpc//:go_default_library",
++        "@org_golang_google_grpc//codes:go_default_library",
++        "@org_golang_google_grpc//status:go_default_library",
++        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
++        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
++        "@org_golang_google_protobuf//types/known/emptypb:go_default_library",
++        "@org_golang_google_protobuf//types/known/fieldmaskpb:go_default_library",
++    ],
++)
++
++alias(
++    name = "go_default_library",
++    actual = ":v1beta1",
++    visibility = ["//visibility:public"],
++)
 diff -urN a/googleapis/cloud/bigquery/datatransfer/v1/BUILD.bazel b/googleapis/cloud/bigquery/datatransfer/v1/BUILD.bazel
 --- a/googleapis/cloud/bigquery/datatransfer/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/bigquery/datatransfer/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -3905,6 +3933,29 @@
 +    actual = ":v1beta1",
 +    visibility = ["//visibility:public"],
 +)
+diff -urN a/googleapis/cloud/certificatemanager/logging/v1/BUILD.bazel b/googleapis/cloud/certificatemanager/logging/v1/BUILD.bazel
+--- a/googleapis/cloud/certificatemanager/logging/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ b/googleapis/cloud/certificatemanager/logging/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,19 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_library")
++
++go_library(
++    name = "logging",
++    srcs = ["logs.pb.go"],
++    importpath = "google.golang.org/genproto/googleapis/cloud/certificatemanager/logging/v1",
++    visibility = ["//visibility:public"],
++    deps = [
++        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
++        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
++        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
++    ],
++)
++
++alias(
++    name = "go_default_library",
++    actual = ":logging",
++    visibility = ["//visibility:public"],
++)
 diff -urN a/googleapis/cloud/certificatemanager/v1/BUILD.bazel b/googleapis/cloud/certificatemanager/v1/BUILD.bazel
 --- a/googleapis/cloud/certificatemanager/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/certificatemanager/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -4041,6 +4092,30 @@
 +    actual = ":clouddms",
 +    visibility = ["//visibility:public"],
 +)
+diff -urN a/googleapis/cloud/cloudsetup/logging/v1/BUILD.bazel b/googleapis/cloud/cloudsetup/logging/v1/BUILD.bazel
+--- a/googleapis/cloud/cloudsetup/logging/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ b/googleapis/cloud/cloudsetup/logging/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,20 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_library")
++
++go_library(
++    name = "logging",
++    srcs = ["complete_deployment.pb.go"],
++    importpath = "google.golang.org/genproto/googleapis/cloud/cloudsetup/logging/v1",
++    visibility = ["//visibility:public"],
++    deps = [
++        "//googleapis/api/annotations",
++        "//googleapis/rpc/status",
++        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
++        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
++    ],
++)
++
++alias(
++    name = "go_default_library",
++    actual = ":logging",
++    visibility = ["//visibility:public"],
++)
 diff -urN a/googleapis/cloud/commerce/consumer/procurement/v1alpha1/BUILD.bazel b/googleapis/cloud/commerce/consumer/procurement/v1alpha1/BUILD.bazel
 --- a/googleapis/cloud/commerce/consumer/procurement/v1alpha1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/commerce/consumer/procurement/v1alpha1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -4120,6 +4195,46 @@
 +    actual = ":compute",
 +    visibility = ["//visibility:public"],
 +)
+diff -urN a/googleapis/cloud/connectors/v1/BUILD.bazel b/googleapis/cloud/connectors/v1/BUILD.bazel
+--- a/googleapis/cloud/connectors/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ b/googleapis/cloud/connectors/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,36 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_library")
++
++go_library(
++    name = "connectors",
++    srcs = [
++        "authconfig.pb.go",
++        "common.pb.go",
++        "connection.pb.go",
++        "connector.pb.go",
++        "connector_version.pb.go",
++        "connectors_service.pb.go",
++        "destination_config.pb.go",
++        "provider.pb.go",
++        "runtime.pb.go",
++    ],
++    importpath = "google.golang.org/genproto/googleapis/cloud/connectors/v1",
++    visibility = ["//visibility:public"],
++    deps = [
++        "//googleapis/api/annotations",
++        "//googleapis/longrunning",
++        "@org_golang_google_grpc//:go_default_library",
++        "@org_golang_google_grpc//codes:go_default_library",
++        "@org_golang_google_grpc//status:go_default_library",
++        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
++        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
++        "@org_golang_google_protobuf//types/known/fieldmaskpb:go_default_library",
++        "@org_golang_google_protobuf//types/known/structpb:go_default_library",
++        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
++    ],
++)
++
++alias(
++    name = "go_default_library",
++    actual = ":connectors",
++    visibility = ["//visibility:public"],
++)
 diff -urN a/googleapis/cloud/contactcenterinsights/v1/BUILD.bazel b/googleapis/cloud/contactcenterinsights/v1/BUILD.bazel
 --- a/googleapis/cloud/contactcenterinsights/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/contactcenterinsights/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -4293,6 +4408,35 @@
 +    actual = ":v1alpha2",
 +    visibility = ["//visibility:public"],
 +)
+diff -urN a/googleapis/cloud/dataform/v1beta1/BUILD.bazel b/googleapis/cloud/dataform/v1beta1/BUILD.bazel
+--- a/googleapis/cloud/dataform/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ b/googleapis/cloud/dataform/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,25 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_library")
++
++go_library(
++    name = "v1beta1",
++    srcs = ["dataform.pb.go"],
++    importpath = "google.golang.org/genproto/googleapis/cloud/dataform/v1beta1",
++    visibility = ["//visibility:public"],
++    deps = [
++        "//googleapis/api/annotations",
++        "//googleapis/type/interval",
++        "@org_golang_google_grpc//:go_default_library",
++        "@org_golang_google_grpc//codes:go_default_library",
++        "@org_golang_google_grpc//status:go_default_library",
++        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
++        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
++        "@org_golang_google_protobuf//types/known/emptypb:go_default_library",
++        "@org_golang_google_protobuf//types/known/fieldmaskpb:go_default_library",
++    ],
++)
++
++alias(
++    name = "go_default_library",
++    actual = ":v1beta1",
++    visibility = ["//visibility:public"],
++)
 diff -urN a/googleapis/cloud/datafusion/v1/BUILD.bazel b/googleapis/cloud/datafusion/v1/BUILD.bazel
 --- a/googleapis/cloud/datafusion/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/datafusion/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -4908,21 +5052,26 @@
 diff -urN a/googleapis/cloud/documentai/v1/BUILD.bazel b/googleapis/cloud/documentai/v1/BUILD.bazel
 --- a/googleapis/cloud/documentai/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/documentai/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,36 @@
+@@ -0,0 +1,42 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
 +    name = "documentai",
 +    srcs = [
++        "barcode.pb.go",
 +        "document.pb.go",
 +        "document_io.pb.go",
 +        "document_processor_service.pb.go",
++        "document_schema.pb.go",
 +        "geometry.pb.go",
 +        "operation_metadata.pb.go",
++        "processor.pb.go",
++        "processor_type.pb.go",
 +    ],
 +    importpath = "google.golang.org/genproto/googleapis/cloud/documentai/v1",
 +    visibility = ["//visibility:public"],
 +    deps = [
++        "//googleapis/api",
 +        "//googleapis/api/annotations",
 +        "//googleapis/longrunning",
 +        "//googleapis/rpc/status",
@@ -4936,6 +5085,7 @@
 +        "@org_golang_google_grpc//status:go_default_library",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
++        "@org_golang_google_protobuf//types/known/fieldmaskpb:go_default_library",
 +        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
 +    ],
 +)
@@ -5016,15 +5166,17 @@
 diff -urN a/googleapis/cloud/documentai/v1beta3/BUILD.bazel b/googleapis/cloud/documentai/v1beta3/BUILD.bazel
 --- a/googleapis/cloud/documentai/v1beta3/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/documentai/v1beta3/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,39 @@
+@@ -0,0 +1,42 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
 +    name = "v1beta3",
 +    srcs = [
++        "barcode.pb.go",
 +        "document.pb.go",
 +        "document_io.pb.go",
 +        "document_processor_service.pb.go",
++        "document_schema.pb.go",
 +        "geometry.pb.go",
 +        "operation_metadata.pb.go",
 +        "processor.pb.go",
@@ -5033,6 +5185,7 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/documentai/v1beta3",
 +    visibility = ["//visibility:public"],
 +    deps = [
++        "//googleapis/api",
 +        "//googleapis/api/annotations",
 +        "//googleapis/longrunning",
 +        "//googleapis/rpc/status",
@@ -5149,6 +5302,39 @@
 +    actual = ":v1beta1",
 +    visibility = ["//visibility:public"],
 +)
+diff -urN a/googleapis/cloud/edgecontainer/v1/BUILD.bazel b/googleapis/cloud/edgecontainer/v1/BUILD.bazel
+--- a/googleapis/cloud/edgecontainer/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ b/googleapis/cloud/edgecontainer/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,29 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_library")
++
++go_library(
++    name = "edgecontainer",
++    srcs = [
++        "resources.pb.go",
++        "service.pb.go",
++    ],
++    importpath = "google.golang.org/genproto/googleapis/cloud/edgecontainer/v1",
++    visibility = ["//visibility:public"],
++    deps = [
++        "//googleapis/api/annotations",
++        "//googleapis/longrunning",
++        "//googleapis/rpc/status",
++        "@org_golang_google_grpc//:go_default_library",
++        "@org_golang_google_grpc//codes:go_default_library",
++        "@org_golang_google_grpc//status:go_default_library",
++        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
++        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
++        "@org_golang_google_protobuf//types/known/fieldmaskpb:go_default_library",
++        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
++    ],
++)
++
++alias(
++    name = "go_default_library",
++    actual = ":edgecontainer",
++    visibility = ["//visibility:public"],
++)
 diff -urN a/googleapis/cloud/essentialcontacts/v1/BUILD.bazel b/googleapis/cloud/essentialcontacts/v1/BUILD.bazel
 --- a/googleapis/cloud/essentialcontacts/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/essentialcontacts/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -5663,7 +5849,7 @@
 diff -urN a/googleapis/cloud/gkeconnect/gateway/v1/BUILD.bazel b/googleapis/cloud/gkeconnect/gateway/v1/BUILD.bazel
 --- a/googleapis/cloud/gkeconnect/gateway/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/gkeconnect/gateway/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,21 @@
+@@ -0,0 +1,20 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -5673,7 +5859,6 @@
 +    visibility = ["//visibility:public"],
 +    deps = [
 +        "//googleapis/api/annotations",
-+        "//googleapis/api/httpbody",
 +        "@org_golang_google_grpc//:go_default_library",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
@@ -5688,7 +5873,7 @@
 diff -urN a/googleapis/cloud/gkeconnect/gateway/v1alpha1/BUILD.bazel b/googleapis/cloud/gkeconnect/gateway/v1alpha1/BUILD.bazel
 --- a/googleapis/cloud/gkeconnect/gateway/v1alpha1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/gkeconnect/gateway/v1alpha1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,21 @@
+@@ -0,0 +1,20 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -5698,7 +5883,6 @@
 +    visibility = ["//visibility:public"],
 +    deps = [
 +        "//googleapis/api/annotations",
-+        "//googleapis/api/httpbody",
 +        "@org_golang_google_grpc//:go_default_library",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
@@ -5740,7 +5924,7 @@
 diff -urN a/googleapis/cloud/gkehub/cloudauditlogging/v1alpha/BUILD.bazel b/googleapis/cloud/gkehub/cloudauditlogging/v1alpha/BUILD.bazel
 --- a/googleapis/cloud/gkehub/cloudauditlogging/v1alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/gkehub/cloudauditlogging/v1alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,19 @@
+@@ -0,0 +1,18 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -5749,7 +5933,6 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/gkehub/cloudauditlogging/v1alpha",
 +    visibility = ["//visibility:public"],
 +    deps = [
-+        "//googleapis/api/annotations",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
 +    ],
@@ -5786,7 +5969,7 @@
 diff -urN a/googleapis/cloud/gkehub/configmanagement/v1alpha/BUILD.bazel b/googleapis/cloud/gkehub/configmanagement/v1alpha/BUILD.bazel
 --- a/googleapis/cloud/gkehub/configmanagement/v1alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/gkehub/configmanagement/v1alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,20 @@
+@@ -0,0 +1,19 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -5795,7 +5978,6 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/gkehub/configmanagement/v1alpha",
 +    visibility = ["//visibility:public"],
 +    deps = [
-+        "//googleapis/api/annotations",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
 +        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
@@ -5810,7 +5992,7 @@
 diff -urN a/googleapis/cloud/gkehub/configmanagement/v1beta/BUILD.bazel b/googleapis/cloud/gkehub/configmanagement/v1beta/BUILD.bazel
 --- a/googleapis/cloud/gkehub/configmanagement/v1beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/gkehub/configmanagement/v1beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,20 @@
+@@ -0,0 +1,19 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -5819,7 +6001,6 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/gkehub/configmanagement/v1beta",
 +    visibility = ["//visibility:public"],
 +    deps = [
-+        "//googleapis/api/annotations",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
 +        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
@@ -5834,7 +6015,7 @@
 diff -urN a/googleapis/cloud/gkehub/metering/v1alpha/BUILD.bazel b/googleapis/cloud/gkehub/metering/v1alpha/BUILD.bazel
 --- a/googleapis/cloud/gkehub/metering/v1alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/gkehub/metering/v1alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,20 @@
+@@ -0,0 +1,19 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -5843,7 +6024,6 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/gkehub/metering/v1alpha",
 +    visibility = ["//visibility:public"],
 +    deps = [
-+        "//googleapis/api/annotations",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
 +        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
@@ -5858,7 +6038,7 @@
 diff -urN a/googleapis/cloud/gkehub/metering/v1beta/BUILD.bazel b/googleapis/cloud/gkehub/metering/v1beta/BUILD.bazel
 --- a/googleapis/cloud/gkehub/metering/v1beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/gkehub/metering/v1beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,20 @@
+@@ -0,0 +1,19 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -5867,7 +6047,6 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/gkehub/metering/v1beta",
 +    visibility = ["//visibility:public"],
 +    deps = [
-+        "//googleapis/api/annotations",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
 +        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
@@ -5904,7 +6083,7 @@
 diff -urN a/googleapis/cloud/gkehub/multiclusteringress/v1alpha/BUILD.bazel b/googleapis/cloud/gkehub/multiclusteringress/v1alpha/BUILD.bazel
 --- a/googleapis/cloud/gkehub/multiclusteringress/v1alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/gkehub/multiclusteringress/v1alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,19 @@
+@@ -0,0 +1,18 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -5913,7 +6092,6 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/gkehub/multiclusteringress/v1alpha",
 +    visibility = ["//visibility:public"],
 +    deps = [
-+        "//googleapis/api/annotations",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
 +    ],
@@ -5927,7 +6105,7 @@
 diff -urN a/googleapis/cloud/gkehub/multiclusteringress/v1beta/BUILD.bazel b/googleapis/cloud/gkehub/multiclusteringress/v1beta/BUILD.bazel
 --- a/googleapis/cloud/gkehub/multiclusteringress/v1beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/gkehub/multiclusteringress/v1beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,19 @@
+@@ -0,0 +1,18 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -5936,7 +6114,6 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/gkehub/multiclusteringress/v1beta",
 +    visibility = ["//visibility:public"],
 +    deps = [
-+        "//googleapis/api/annotations",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
 +    ],
@@ -6288,6 +6465,30 @@
 +    actual = ":v1beta1",
 +    visibility = ["//visibility:public"],
 +)
+diff -urN a/googleapis/cloud/identitytoolkit/logging/BUILD.bazel b/googleapis/cloud/identitytoolkit/logging/BUILD.bazel
+--- a/googleapis/cloud/identitytoolkit/logging/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ b/googleapis/cloud/identitytoolkit/logging/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,20 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_library")
++
++go_library(
++    name = "logging",
++    srcs = ["request_log.pb.go"],
++    importpath = "google.golang.org/genproto/googleapis/cloud/identitytoolkit/logging",
++    visibility = ["//visibility:public"],
++    deps = [
++        "//googleapis/rpc/status",
++        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
++        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
++        "@org_golang_google_protobuf//types/known/structpb:go_default_library",
++    ],
++)
++
++alias(
++    name = "go_default_library",
++    actual = ":logging",
++    visibility = ["//visibility:public"],
++)
 diff -urN a/googleapis/cloud/identitytoolkit/v2/BUILD.bazel b/googleapis/cloud/identitytoolkit/v2/BUILD.bazel
 --- a/googleapis/cloud/identitytoolkit/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/identitytoolkit/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -6322,7 +6523,7 @@
 diff -urN a/googleapis/cloud/ids/v1/BUILD.bazel b/googleapis/cloud/ids/v1/BUILD.bazel
 --- a/googleapis/cloud/ids/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/ids/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,25 @@
+@@ -0,0 +1,24 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -6338,7 +6539,6 @@
 +        "@org_golang_google_grpc//status:go_default_library",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
-+        "@org_golang_google_protobuf//types/known/fieldmaskpb:go_default_library",
 +        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
 +    ],
 +)
@@ -6535,7 +6735,7 @@
 diff -urN a/googleapis/cloud/language/v1beta2/BUILD.bazel b/googleapis/cloud/language/v1beta2/BUILD.bazel
 --- a/googleapis/cloud/language/v1beta2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/language/v1beta2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,23 @@
+@@ -0,0 +1,22 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -6550,7 +6750,6 @@
 +        "@org_golang_google_grpc//status:go_default_library",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
-+        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
 +    ],
 +)
 +
@@ -7442,7 +7641,7 @@
 diff -urN a/googleapis/cloud/orgpolicy/v1/BUILD.bazel b/googleapis/cloud/orgpolicy/v1/BUILD.bazel
 --- a/googleapis/cloud/orgpolicy/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/orgpolicy/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,21 @@
+@@ -0,0 +1,19 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -7451,10 +7650,8 @@
 +    importpath = "google.golang.org/genproto/googleapis/cloud/orgpolicy/v1",
 +    visibility = ["//visibility:public"],
 +    deps = [
-+        "//googleapis/api/annotations",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
-+        "@org_golang_google_protobuf//types/known/emptypb:go_default_library",
 +        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
 +    ],
 +)
@@ -7894,7 +8091,7 @@
 diff -urN a/googleapis/cloud/privatecatalog/v1beta1/BUILD.bazel b/googleapis/cloud/privatecatalog/v1beta1/BUILD.bazel
 --- a/googleapis/cloud/privatecatalog/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/privatecatalog/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,28 @@
+@@ -0,0 +1,25 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -7910,9 +8107,6 @@
 +        "@org_golang_google_grpc//status:go_default_library",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
-+        "@org_golang_google_protobuf//types/known/anypb:go_default_library",
-+        "@org_golang_google_protobuf//types/known/emptypb:go_default_library",
-+        "@org_golang_google_protobuf//types/known/fieldmaskpb:go_default_library",
 +        "@org_golang_google_protobuf//types/known/structpb:go_default_library",
 +        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
 +    ],
@@ -7926,7 +8120,7 @@
 diff -urN a/googleapis/cloud/pubsublite/v1/BUILD.bazel b/googleapis/cloud/pubsublite/v1/BUILD.bazel
 --- a/googleapis/cloud/pubsublite/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/pubsublite/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,34 @@
+@@ -0,0 +1,35 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -7944,6 +8138,7 @@
 +    deps = [
 +        "//googleapis/api/annotations",
 +        "//googleapis/longrunning",
++        "//googleapis/rpc/status",
 +        "@org_golang_google_grpc//:go_default_library",
 +        "@org_golang_google_grpc//codes:go_default_library",
 +        "@org_golang_google_grpc//status:go_default_library",
@@ -8020,7 +8215,7 @@
 diff -urN a/googleapis/cloud/recommendationengine/v1beta1/BUILD.bazel b/googleapis/cloud/recommendationengine/v1beta1/BUILD.bazel
 --- a/googleapis/cloud/recommendationengine/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/recommendationengine/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,40 @@
+@@ -0,0 +1,39 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -8043,7 +8238,6 @@
 +        "//googleapis/api/httpbody",
 +        "//googleapis/longrunning",
 +        "//googleapis/rpc/status",
-+        "//googleapis/type/date",
 +        "@org_golang_google_grpc//:go_default_library",
 +        "@org_golang_google_grpc//codes:go_default_library",
 +        "@org_golang_google_grpc//status:go_default_library",
@@ -8367,7 +8561,7 @@
 diff -urN a/googleapis/cloud/retail/v2/BUILD.bazel b/googleapis/cloud/retail/v2/BUILD.bazel
 --- a/googleapis/cloud/retail/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/retail/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,46 @@
+@@ -0,0 +1,50 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -8377,6 +8571,8 @@
 +        "catalog_service.pb.go",
 +        "common.pb.go",
 +        "completion_service.pb.go",
++        "control.pb.go",
++        "control_service.pb.go",
 +        "import_config.pb.go",
 +        "prediction_service.pb.go",
 +        "product.pb.go",
@@ -8384,6 +8580,8 @@
 +        "promotion.pb.go",
 +        "purge_config.pb.go",
 +        "search_service.pb.go",
++        "serving_config.pb.go",
++        "serving_config_service.pb.go",
 +        "user_event.pb.go",
 +        "user_event_service.pb.go",
 +    ],
@@ -8417,7 +8615,7 @@
 diff -urN a/googleapis/cloud/retail/v2alpha/BUILD.bazel b/googleapis/cloud/retail/v2alpha/BUILD.bazel
 --- a/googleapis/cloud/retail/v2alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/retail/v2alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,51 @@
+@@ -0,0 +1,53 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -8431,6 +8629,8 @@
 +        "control_service.pb.go",
 +        "export_config.pb.go",
 +        "import_config.pb.go",
++        "model.pb.go",
++        "model_service.pb.go",
 +        "prediction_service.pb.go",
 +        "product.pb.go",
 +        "product_service.pb.go",
@@ -8885,24 +9085,17 @@
 diff -urN a/googleapis/cloud/security/publicca/v1beta1/BUILD.bazel b/googleapis/cloud/security/publicca/v1beta1/BUILD.bazel
 --- a/googleapis/cloud/security/publicca/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/security/publicca/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,25 @@
+@@ -0,0 +1,18 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
 +    name = "v1beta1",
-+    srcs = [
-+        "resources.pb.go",
-+        "service.pb.go",
-+    ],
++    srcs = ["alias.go"],
 +    importpath = "google.golang.org/genproto/googleapis/cloud/security/publicca/v1beta1",
 +    visibility = ["//visibility:public"],
 +    deps = [
-+        "//googleapis/api/annotations",
++        "@com_google_cloud_go_security//publicca/apiv1beta1/publiccapb:go_default_library",
 +        "@org_golang_google_grpc//:go_default_library",
-+        "@org_golang_google_grpc//codes:go_default_library",
-+        "@org_golang_google_grpc//status:go_default_library",
-+        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
-+        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
 +    ],
 +)
 +
@@ -8950,7 +9143,7 @@
 diff -urN a/googleapis/cloud/securitycenter/v1/BUILD.bazel b/googleapis/cloud/securitycenter/v1/BUILD.bazel
 --- a/googleapis/cloud/securitycenter/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/securitycenter/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,55 @@
+@@ -0,0 +1,59 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -8962,6 +9155,8 @@
 +        "compliance.pb.go",
 +        "connection.pb.go",
 +        "contact_details.pb.go",
++        "container.pb.go",
++        "database.pb.go",
 +        "exfiltration.pb.go",
 +        "external_system.pb.go",
 +        "file.pb.go",
@@ -8969,6 +9164,8 @@
 +        "folder.pb.go",
 +        "iam_binding.pb.go",
 +        "indicator.pb.go",
++        "kubernetes.pb.go",
++        "label.pb.go",
 +        "mitre_attack.pb.go",
 +        "mute_config.pb.go",
 +        "notification_config.pb.go",
@@ -9009,7 +9206,7 @@
 diff -urN a/googleapis/cloud/securitycenter/v1beta1/BUILD.bazel b/googleapis/cloud/securitycenter/v1beta1/BUILD.bazel
 --- a/googleapis/cloud/securitycenter/v1beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/securitycenter/v1beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,37 @@
+@@ -0,0 +1,36 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -9035,7 +9232,6 @@
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
 +        "@org_golang_google_protobuf//types/known/durationpb:go_default_library",
-+        "@org_golang_google_protobuf//types/known/emptypb:go_default_library",
 +        "@org_golang_google_protobuf//types/known/fieldmaskpb:go_default_library",
 +        "@org_golang_google_protobuf//types/known/structpb:go_default_library",
 +        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
@@ -9166,7 +9362,7 @@
 diff -urN a/googleapis/cloud/shell/v1/BUILD.bazel b/googleapis/cloud/shell/v1/BUILD.bazel
 --- a/googleapis/cloud/shell/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/shell/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,25 @@
+@@ -0,0 +1,24 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -9182,7 +9378,6 @@
 +        "@org_golang_google_grpc//status:go_default_library",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
-+        "@org_golang_google_protobuf//types/known/fieldmaskpb:go_default_library",
 +        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
 +    ],
 +)
@@ -9682,6 +9877,36 @@
 +    actual = ":v1beta1",
 +    visibility = ["//visibility:public"],
 +)
+diff -urN a/googleapis/cloud/timeseriesinsights/v1/BUILD.bazel b/googleapis/cloud/timeseriesinsights/v1/BUILD.bazel
+--- a/googleapis/cloud/timeseriesinsights/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ b/googleapis/cloud/timeseriesinsights/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,26 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_library")
++
++go_library(
++    name = "timeseriesinsights",
++    srcs = ["timeseries_insights.pb.go"],
++    importpath = "google.golang.org/genproto/googleapis/cloud/timeseriesinsights/v1",
++    visibility = ["//visibility:public"],
++    deps = [
++        "//googleapis/api/annotations",
++        "//googleapis/rpc/status",
++        "@org_golang_google_grpc//:go_default_library",
++        "@org_golang_google_grpc//codes:go_default_library",
++        "@org_golang_google_grpc//status:go_default_library",
++        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
++        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
++        "@org_golang_google_protobuf//types/known/durationpb:go_default_library",
++        "@org_golang_google_protobuf//types/known/emptypb:go_default_library",
++        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
++    ],
++)
++
++alias(
++    name = "go_default_library",
++    actual = ":timeseriesinsights",
++    visibility = ["//visibility:public"],
++)
 diff -urN a/googleapis/cloud/tpu/v1/BUILD.bazel b/googleapis/cloud/tpu/v1/BUILD.bazel
 --- a/googleapis/cloud/tpu/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/tpu/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -9742,7 +9967,7 @@
 diff -urN a/googleapis/cloud/translate/v3/BUILD.bazel b/googleapis/cloud/translate/v3/BUILD.bazel
 --- a/googleapis/cloud/translate/v3/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/translate/v3/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,26 @@
+@@ -0,0 +1,24 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -9753,13 +9978,11 @@
 +    deps = [
 +        "//googleapis/api/annotations",
 +        "//googleapis/longrunning",
-+        "//googleapis/rpc/status",
 +        "@org_golang_google_grpc//:go_default_library",
 +        "@org_golang_google_grpc//codes:go_default_library",
 +        "@org_golang_google_grpc//status:go_default_library",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
-+        "@org_golang_google_protobuf//types/known/emptypb:go_default_library",
 +        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
 +    ],
 +)
@@ -9772,7 +9995,7 @@
 diff -urN a/googleapis/cloud/translate/v3beta1/BUILD.bazel b/googleapis/cloud/translate/v3beta1/BUILD.bazel
 --- a/googleapis/cloud/translate/v3beta1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/translate/v3beta1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,25 @@
+@@ -0,0 +1,24 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -9783,7 +10006,6 @@
 +    deps = [
 +        "//googleapis/api/annotations",
 +        "//googleapis/longrunning",
-+        "//googleapis/rpc/status",
 +        "@org_golang_google_grpc//:go_default_library",
 +        "@org_golang_google_grpc//codes:go_default_library",
 +        "@org_golang_google_grpc//status:go_default_library",
@@ -10438,7 +10660,7 @@
 diff -urN a/googleapis/cloud/websecurityscanner/v1/BUILD.bazel b/googleapis/cloud/websecurityscanner/v1/BUILD.bazel
 --- a/googleapis/cloud/websecurityscanner/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/cloud/websecurityscanner/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,36 @@
+@@ -0,0 +1,37 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -10452,6 +10674,7 @@
 +        "scan_config_error.pb.go",
 +        "scan_run.pb.go",
 +        "scan_run_error_trace.pb.go",
++        "scan_run_log.pb.go",
 +        "scan_run_warning_trace.pb.go",
 +        "web_security_scanner.pb.go",
 +    ],
@@ -12395,7 +12618,7 @@
 diff -urN a/googleapis/iam/v1/logging/BUILD.bazel b/googleapis/iam/v1/logging/BUILD.bazel
 --- a/googleapis/iam/v1/logging/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/iam/v1/logging/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,20 @@
+@@ -0,0 +1,19 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -12404,7 +12627,6 @@
 +    importpath = "google.golang.org/genproto/googleapis/iam/v1/logging",
 +    visibility = ["//visibility:public"],
 +    deps = [
-+        "//googleapis/api/annotations",
 +        "//googleapis/iam/v1:iam",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
@@ -12444,6 +12666,38 @@
 +    actual = ":v1beta",
 +    visibility = ["//visibility:public"],
 +)
+diff -urN a/googleapis/iam/v2/BUILD.bazel b/googleapis/iam/v2/BUILD.bazel
+--- a/googleapis/iam/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ b/googleapis/iam/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,28 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_library")
++
++go_library(
++    name = "iam",
++    srcs = [
++        "deny.pb.go",
++        "policy.pb.go",
++    ],
++    importpath = "google.golang.org/genproto/googleapis/iam/v2",
++    visibility = ["//visibility:public"],
++    deps = [
++        "//googleapis/api/annotations",
++        "//googleapis/longrunning",
++        "//googleapis/type/expr",
++        "@org_golang_google_grpc//:go_default_library",
++        "@org_golang_google_grpc//codes:go_default_library",
++        "@org_golang_google_grpc//status:go_default_library",
++        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
++        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
++        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
++    ],
++)
++
++alias(
++    name = "go_default_library",
++    actual = ":iam",
++    visibility = ["//visibility:public"],
++)
 diff -urN a/googleapis/iam/v2beta/BUILD.bazel b/googleapis/iam/v2beta/BUILD.bazel
 --- a/googleapis/iam/v2beta/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/iam/v2beta/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -12713,10 +12967,44 @@
 +    actual = ":fleetengine",
 +    visibility = ["//visibility:public"],
 +)
+diff -urN a/googleapis/maps/mapsplatformdatasets/v1alpha/BUILD.bazel b/googleapis/maps/mapsplatformdatasets/v1alpha/BUILD.bazel
+--- a/googleapis/maps/mapsplatformdatasets/v1alpha/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ b/googleapis/maps/mapsplatformdatasets/v1alpha/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,30 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_library")
++
++go_library(
++    name = "v1alpha",
++    srcs = [
++        "data_source.pb.go",
++        "dataset.pb.go",
++        "maps_platform_datasets.pb.go",
++        "maps_platform_datasets_alpha_service.pb.go",
++    ],
++    importpath = "google.golang.org/genproto/googleapis/maps/mapsplatformdatasets/v1alpha",
++    visibility = ["//visibility:public"],
++    deps = [
++        "//googleapis/api/annotations",
++        "@org_golang_google_grpc//:go_default_library",
++        "@org_golang_google_grpc//codes:go_default_library",
++        "@org_golang_google_grpc//status:go_default_library",
++        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
++        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
++        "@org_golang_google_protobuf//types/known/emptypb:go_default_library",
++        "@org_golang_google_protobuf//types/known/fieldmaskpb:go_default_library",
++        "@org_golang_google_protobuf//types/known/timestamppb:go_default_library",
++    ],
++)
++
++alias(
++    name = "go_default_library",
++    actual = ":v1alpha",
++    visibility = ["//visibility:public"],
++)
 diff -urN a/googleapis/maps/playablelocations/v3/BUILD.bazel b/googleapis/maps/playablelocations/v3/BUILD.bazel
 --- a/googleapis/maps/playablelocations/v3/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/maps/playablelocations/v3/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,30 @@
+@@ -0,0 +1,28 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -12731,14 +13019,12 @@
 +        "//googleapis/api/annotations",
 +        "//googleapis/maps/playablelocations/v3/sample",
 +        "//googleapis/maps/unity",
-+        "//googleapis/type/latlng",
 +        "@org_golang_google_grpc//:go_default_library",
 +        "@org_golang_google_grpc//codes:go_default_library",
 +        "@org_golang_google_grpc//status:go_default_library",
 +        "@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
 +        "@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
 +        "@org_golang_google_protobuf//types/known/durationpb:go_default_library",
-+        "@org_golang_google_protobuf//types/known/fieldmaskpb:go_default_library",
 +    ],
 +)
 +
@@ -13547,12 +13833,15 @@
 diff -urN a/googleapis/storage/v2/BUILD.bazel b/googleapis/storage/v2/BUILD.bazel
 --- a/googleapis/storage/v2/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/storage/v2/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,27 @@
+@@ -0,0 +1,30 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
 +    name = "storage",
-+    srcs = ["storage.pb.go"],
++    srcs = [
++        "doc.go",
++        "storage.pb.go",
++    ],
 +    importpath = "google.golang.org/genproto/googleapis/storage/v2",
 +    visibility = ["//visibility:public"],
 +    deps = [
@@ -13615,7 +13904,7 @@
 diff -urN a/googleapis/streetview/publish/v1/BUILD.bazel b/googleapis/streetview/publish/v1/BUILD.bazel
 --- a/googleapis/streetview/publish/v1/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/googleapis/streetview/publish/v1/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,32 @@
+@@ -0,0 +1,31 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -13629,7 +13918,6 @@
 +    visibility = ["//visibility:public"],
 +    deps = [
 +        "//googleapis/api/annotations",
-+        "//googleapis/longrunning",
 +        "//googleapis/rpc/status",
 +        "//googleapis/type/latlng",
 +        "@org_golang_google_grpc//:go_default_library",
diff --git a/third_party/org_golang_google_protobuf-gazelle.patch b/third_party/org_golang_google_protobuf-gazelle.patch
index cede730..115bb3f 100644
--- a/third_party/org_golang_google_protobuf-gazelle.patch
+++ b/third_party/org_golang_google_protobuf-gazelle.patch
@@ -2767,7 +2767,7 @@
 diff -urN a/proto/BUILD.bazel b/proto/BUILD.bazel
 --- a/proto/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/proto/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,94 @@
+@@ -0,0 +1,95 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
 +
 +go_library(
@@ -2840,6 +2840,7 @@
 +        "//internal/filedesc",
 +        "//internal/flags",
 +        "//internal/impl",
++        "//internal/pragma",
 +        "//internal/protobuild",
 +        "//internal/testprotos/legacy",
 +        "//internal/testprotos/legacy/proto2_20160225_2fc053c5",
diff --git a/third_party/org_golang_x_sys-gazelle.patch b/third_party/org_golang_x_sys-gazelle.patch
index 7a4ef4c..eff41bf 100644
--- a/third_party/org_golang_x_sys-gazelle.patch
+++ b/third_party/org_golang_x_sys-gazelle.patch
@@ -1,7 +1,7 @@
 diff -urN a/cpu/BUILD.bazel b/cpu/BUILD.bazel
 --- a/cpu/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/cpu/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,57 @@
+@@ -0,0 +1,59 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
 +
 +go_library(
@@ -27,6 +27,8 @@
 +        "cpu_mips64x.go",
 +        "cpu_mipsx.go",
 +        "cpu_netbsd_arm64.go",
++        "cpu_openbsd_arm64.go",
++        "cpu_openbsd_arm64.s",
 +        "cpu_other_arm.go",
 +        "cpu_other_arm64.go",
 +        "cpu_ppc64x.go",
@@ -114,7 +116,7 @@
 diff -urN a/plan9/BUILD.bazel b/plan9/BUILD.bazel
 --- a/plan9/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/plan9/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,51 @@
+@@ -0,0 +1,45 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
 +
 +go_library(
@@ -142,12 +144,6 @@
 +    ],
 +    importpath = "golang.org/x/sys/plan9",
 +    visibility = ["//visibility:public"],
-+    deps = select({
-+        "@io_bazel_rules_go//go/platform:plan9": [
-+            "//internal/unsafeheader",
-+        ],
-+        "//conditions:default": [],
-+    }),
 +)
 +
 +alias(
@@ -169,7 +165,7 @@
 diff -urN a/unix/BUILD.bazel b/unix/BUILD.bazel
 --- a/unix/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ b/unix/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,332 @@
+@@ -0,0 +1,302 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
 +
 +go_library(
@@ -225,7 +221,6 @@
 +        "sockcmsg_linux.go",
 +        "sockcmsg_unix.go",
 +        "sockcmsg_unix_other.go",
-+        "str.go",
 +        "syscall.go",
 +        "syscall_aix.go",
 +        "syscall_aix_ppc64.go",
@@ -269,6 +264,7 @@
 +        "syscall_openbsd_amd64.go",
 +        "syscall_openbsd_arm.go",
 +        "syscall_openbsd_arm64.go",
++        "syscall_openbsd_libc.go",
 +        "syscall_solaris.go",
 +        "syscall_solaris_amd64.go",
 +        "syscall_unix.go",
@@ -349,9 +345,13 @@
 +        "zsyscall_netbsd_arm.go",
 +        "zsyscall_netbsd_arm64.go",
 +        "zsyscall_openbsd_386.go",
++        "zsyscall_openbsd_386.s",
 +        "zsyscall_openbsd_amd64.go",
++        "zsyscall_openbsd_amd64.s",
 +        "zsyscall_openbsd_arm.go",
++        "zsyscall_openbsd_arm.s",
 +        "zsyscall_openbsd_arm64.go",
++        "zsyscall_openbsd_arm64.s",
 +        "zsyscall_solaris_amd64.go",
 +        "zsysctl_openbsd_386.go",
 +        "zsysctl_openbsd_amd64.go",
@@ -419,39 +419,6 @@
 +    cgo = True,
 +    importpath = "golang.org/x/sys/unix",
 +    visibility = ["//visibility:public"],
-+    deps = select({
-+        "@io_bazel_rules_go//go/platform:aix": [
-+            "//internal/unsafeheader",
-+        ],
-+        "@io_bazel_rules_go//go/platform:android": [
-+            "//internal/unsafeheader",
-+        ],
-+        "@io_bazel_rules_go//go/platform:darwin": [
-+            "//internal/unsafeheader",
-+        ],
-+        "@io_bazel_rules_go//go/platform:dragonfly": [
-+            "//internal/unsafeheader",
-+        ],
-+        "@io_bazel_rules_go//go/platform:freebsd": [
-+            "//internal/unsafeheader",
-+        ],
-+        "@io_bazel_rules_go//go/platform:ios": [
-+            "//internal/unsafeheader",
-+        ],
-+        "@io_bazel_rules_go//go/platform:linux": [
-+            "//internal/unsafeheader",
-+        ],
-+        "@io_bazel_rules_go//go/platform:netbsd": [
-+            "//internal/unsafeheader",
-+        ],
-+        "@io_bazel_rules_go//go/platform:openbsd": [
-+            "//internal/unsafeheader",
-+        ],
-+        "@io_bazel_rules_go//go/platform:solaris": [
-+            "//internal/unsafeheader",
-+        ],
-+        "//conditions:default": [],
-+    }),
 +)
 +
 +alias(
@@ -472,7 +439,6 @@
 +        "example_exec_test.go",
 +        "example_flock_test.go",
 +        "example_sysvshm_test.go",
-+        "export_test.go",
 +        "fdset_test.go",
 +        "getdirentries_test.go",
 +        "getfsstat_test.go",
diff --git a/third_party/org_golang_x_tools-deletegopls.patch b/third_party/org_golang_x_tools-deletegopls.patch
index e53c02d..3e1a1ba 100644
--- a/third_party/org_golang_x_tools-deletegopls.patch
+++ b/third_party/org_golang_x_tools-deletegopls.patch
@@ -469,7 +469,7 @@
 diff -urN a/gopls/doc/analyzers.md b/gopls/doc/analyzers.md
 --- a/gopls/doc/analyzers.md	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/doc/analyzers.md	1969-12-31 16:00:00.000000000 -0800
-@@ -1,676 +0,0 @@
+@@ -1,690 +0,0 @@
 -# Analyzers
 -
 -This document describes the analyzers that `gopls` uses inside the editor.
@@ -603,7 +603,7 @@
 -find structs that would use less memory if their fields were sorted
 -
 -This analyzer find structs that can be rearranged to use less memory, and provides
--a suggested edit with the optimal order.
+-a suggested edit with the most compact order.
 -
 -Note that there are two different diagnostics reported. One checks struct size,
 -and the other reports "pointer bytes" used. Pointer bytes is how many bytes of the
@@ -622,6 +622,11 @@
 -
 -has 8 because it can stop immediately after the string pointer.
 -
+-Be aware that the most compact order is not always the most efficient.
+-In rare cases it may cause two variables each updated by its own goroutine
+-to occupy the same CPU cache line, inducing a form of memory contention
+-known as "false sharing" that slows down both goroutines.
+-
 -
 -**Disabled by default. Enable it by setting `"analyses": {"fieldalignment": true}`.**
 -
@@ -1124,6 +1129,15 @@
 -
 -**Enabled by default.**
 -
+-## **unusedvariable**
+-
+-check for unused variables
+-
+-The unusedvariable analyzer suggests fixes for unused variables errors.
+-
+-
+-**Disabled by default. Enable it by setting `"analyses": {"unusedvariable": true}`.**
+-
 -## **fillstruct**
 -
 -note incomplete struct initializations
@@ -2709,7 +2723,7 @@
 diff -urN a/gopls/doc/generate.go b/gopls/doc/generate.go
 --- a/gopls/doc/generate.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/doc/generate.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,712 +0,0 @@
+@@ -1,756 +0,0 @@
 -// Copyright 2020 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -2775,6 +2789,9 @@
 -	if ok, err := rewriteFile(filepath.Join(baseDir, "gopls/doc/analyzers.md"), api, write, rewriteAnalyzers); !ok || err != nil {
 -		return ok, err
 -	}
+-	if ok, err := rewriteFile(filepath.Join(baseDir, "gopls/doc/inlayHints.md"), api, write, rewriteInlayHints); !ok || err != nil {
+-		return ok, err
+-	}
 -
 -	return true, nil
 -}
@@ -2814,6 +2831,7 @@
 -	} {
 -		api.Analyzers = append(api.Analyzers, loadAnalyzers(m)...)
 -	}
+-	api.Hints = loadHints(source.AllInlayHints)
 -	for _, category := range []reflect.Value{
 -		reflect.ValueOf(defaults.UserOptions),
 -	} {
@@ -2858,6 +2876,14 @@
 -						Default: def,
 -					})
 -				}
+-			case "hints":
+-				for _, a := range api.Hints {
+-					opt.EnumKeys.Keys = append(opt.EnumKeys.Keys, source.EnumKey{
+-						Name:    fmt.Sprintf("%q", a.Name),
+-						Doc:     a.Doc,
+-						Default: strconv.FormatBool(a.Default),
+-					})
+-				}
 -			}
 -		}
 -	}
@@ -3200,6 +3226,23 @@
 -	return json
 -}
 -
+-func loadHints(m map[string]*source.Hint) []*source.HintJSON {
+-	var sorted []string
+-	for _, h := range m {
+-		sorted = append(sorted, h.Name)
+-	}
+-	sort.Strings(sorted)
+-	var json []*source.HintJSON
+-	for _, name := range sorted {
+-		h := m[name]
+-		json = append(json, &source.HintJSON{
+-			Name: h.Name,
+-			Doc:  h.Doc,
+-		})
+-	}
+-	return json
+-}
+-
 -func lowerFirst(x string) string {
 -	if x == "" {
 -		return x
@@ -3411,6 +3454,21 @@
 -	return replaceSection(doc, "Analyzers", section.Bytes())
 -}
 -
+-func rewriteInlayHints(doc []byte, api *source.APIJSON) ([]byte, error) {
+-	section := bytes.NewBuffer(nil)
+-	for _, hint := range api.Hints {
+-		fmt.Fprintf(section, "## **%v**\n\n", hint.Name)
+-		fmt.Fprintf(section, "%s\n\n", hint.Doc)
+-		switch hint.Default {
+-		case true:
+-			fmt.Fprintf(section, "**Enabled by default.**\n\n")
+-		case false:
+-			fmt.Fprintf(section, "**Disabled by default. Enable it by setting `\"hints\": {\"%s\": true}`.**\n\n", hint.Name)
+-		}
+-	}
+-	return replaceSection(doc, "Hints", section.Bytes())
+-}
+-
 -func replaceSection(doc []byte, sectionName string, replacement []byte) ([]byte, error) {
 -	re := regexp.MustCompile(fmt.Sprintf(`(?s)<!-- BEGIN %v.* -->\n(.*?)<!-- END %v.* -->`, sectionName, sectionName))
 -	idx := re.FindSubmatchIndex(doc)
@@ -3452,6 +3510,90 @@
 -		t.Error("documentation needs updating. run: `go run doc/generate.go` from the gopls module.")
 -	}
 -}
+diff -urN a/gopls/doc/inlayHints.md b/gopls/doc/inlayHints.md
+--- a/gopls/doc/inlayHints.md	2000-01-01 00:00:00.000000000 -0000
++++ b/gopls/doc/inlayHints.md	1969-12-31 16:00:00.000000000 -0800
+@@ -1,80 +0,0 @@
+-# Hints
+-
+-This document describes the inlay hints that `gopls` uses inside the editor.
+-
+-<!-- BEGIN Hints: DO NOT MANUALLY EDIT THIS SECTION -->
+-## **assignVariableTypes**
+-
+-Enable/disable inlay hints for variable types in assign statements:
+-```go
+-	i/* int*/, j/* int*/ := 0, len(r)-1
+-```
+-
+-**Disabled by default. Enable it by setting `"hints": {"assignVariableTypes": true}`.**
+-
+-## **compositeLiteralFields**
+-
+-Enable/disable inlay hints for composite literal field names:
+-```go
+-	{/*in: */"Hello, world", /*want: */"dlrow ,olleH"}
+-```
+-
+-**Disabled by default. Enable it by setting `"hints": {"compositeLiteralFields": true}`.**
+-
+-## **compositeLiteralTypes**
+-
+-Enable/disable inlay hints for composite literal types:
+-```go
+-	for _, c := range []struct {
+-		in, want string
+-	}{
+-		/*struct{ in string; want string }*/{"Hello, world", "dlrow ,olleH"},
+-	}
+-```
+-
+-**Disabled by default. Enable it by setting `"hints": {"compositeLiteralTypes": true}`.**
+-
+-## **constantValues**
+-
+-Enable/disable inlay hints for constant values:
+-```go
+-	const (
+-		KindNone   Kind = iota/* = 0*/
+-		KindPrint/*  = 1*/
+-		KindPrintf/* = 2*/
+-		KindErrorf/* = 3*/
+-	)
+-```
+-
+-**Disabled by default. Enable it by setting `"hints": {"constantValues": true}`.**
+-
+-## **functionTypeParameters**
+-
+-Enable/disable inlay hints for implicit type parameters on generic functions:
+-```go
+-	myFoo/*[int, string]*/(1, "hello")
+-```
+-
+-**Disabled by default. Enable it by setting `"hints": {"functionTypeParameters": true}`.**
+-
+-## **parameterNames**
+-
+-Enable/disable inlay hints for parameter names:
+-```go
+-	parseInt(/* str: */ "123", /* radix: */ 8)
+-```
+-
+-**Disabled by default. Enable it by setting `"hints": {"parameterNames": true}`.**
+-
+-## **rangeVariableTypes**
+-
+-Enable/disable inlay hints for variable types in range statements:
+-```go
+-	for k/* int*/, v/* string*/ := range []string{} {
+-		fmt.Println(k, v)
+-	}
+-```
+-
+-**Disabled by default. Enable it by setting `"hints": {"rangeVariableTypes": true}`.**
+-
+-<!-- END Hints: DO NOT MANUALLY EDIT THIS SECTION -->
 diff -urN a/gopls/doc/semantictokens.md b/gopls/doc/semantictokens.md
 --- a/gopls/doc/semantictokens.md	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/doc/semantictokens.md	1969-12-31 16:00:00.000000000 -0800
@@ -3581,7 +3723,7 @@
 diff -urN a/gopls/doc/settings.md b/gopls/doc/settings.md
 --- a/gopls/doc/settings.md	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/doc/settings.md	1969-12-31 16:00:00.000000000 -0800
-@@ -1,484 +0,0 @@
+@@ -1,507 +0,0 @@
 -# Settings
 -
 -<!--TODO: Generate this file from the documentation in golang/org/x/tools/internal/lsp/source/options.go.-->
@@ -3619,6 +3761,7 @@
 -  * [Completion](#completion)
 -  * [Diagnostic](#diagnostic)
 -  * [Documentation](#documentation)
+-  * [Inlayhint](#inlayhint)
 -  * [Navigation](#navigation)
 -
 -### Build
@@ -3954,6 +4097,18 @@
 -
 -Default: `true`.
 -
+-#### Inlayhint
+-
+-##### **hints** *map[string]bool*
+-
+-**This setting is experimental and may be deleted.**
+-
+-hints specify inlay hints that users want to see.
+-A full list of hints that gopls uses can be found
+-[here](https://github.com/golang/tools/blob/master/gopls/doc/inlayHints.md).
+-
+-Default: `{}`.
+-
 -#### Navigation
 -
 -##### **importShortcut** *enum*
@@ -4023,6 +4178,16 @@
 -
 -<!-- END User: DO NOT MANUALLY EDIT THIS SECTION -->
 -
+-#### **newDiff** *string*
+-
+-newDiff enables the new diff implementation. If this is "both",
+-for now both diffs will be run and statistics will be generateted in
+-a file in $TMPDIR. This is a risky setting; help in trying it
+-is appreciated. If it is "old" the old implementation is used,
+-and if it is "new", just the new implementation is used.
+-
+-Default: 'old'.
+-
 -## Code Lenses
 -
 -These are the code lenses that `gopls` currently supports. They can be enabled
@@ -4534,43 +4699,42 @@
 diff -urN a/gopls/go.mod b/gopls/go.mod
 --- a/gopls/go.mod	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/go.mod	1969-12-31 16:00:00.000000000 -0800
-@@ -1,28 +0,0 @@
+@@ -1,27 +0,0 @@
 -module golang.org/x/tools/gopls
 -
 -go 1.18
 -
 -require (
--	github.com/google/go-cmp v0.5.7
+-	github.com/google/go-cmp v0.5.8
 -	github.com/jba/printsrc v0.2.2
 -	github.com/jba/templatecheck v0.6.0
 -	github.com/sergi/go-diff v1.1.0
 -	golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4
--	golang.org/x/sys v0.0.0-20220209214540-3681064d5158
--	golang.org/x/tools v0.1.11-0.20220330174940-8e193c2ba95e
--	golang.org/x/vuln v0.0.0-20220503210553-a5481fb0c8be
--	honnef.co/go/tools v0.3.0
--	mvdan.cc/gofumpt v0.3.0
+-	golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f
+-	golang.org/x/tools v0.1.11
+-	golang.org/x/vuln v0.0.0-20220725105440-4151a5aca1df
+-	honnef.co/go/tools v0.3.2
+-	mvdan.cc/gofumpt v0.3.1
 -	mvdan.cc/xurls/v2 v2.4.0
 -)
 -
 -require (
--	github.com/BurntSushi/toml v1.0.0 // indirect
+-	github.com/BurntSushi/toml v1.2.0 // indirect
 -	github.com/google/safehtml v0.0.2 // indirect
--	golang.org/x/exp/typeparams v0.0.0-20220218215828-6cf2b201936e // indirect
--	golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect
+-	golang.org/x/exp/typeparams v0.0.0-20220722155223-a9213eeb770e // indirect
+-	golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4
 -	golang.org/x/text v0.3.7 // indirect
--	golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
 -)
 -
 -replace golang.org/x/tools => ../
 diff -urN a/gopls/go.sum b/gopls/go.sum
 --- a/gopls/go.sum	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/go.sum	1969-12-31 16:00:00.000000000 -0800
-@@ -1,95 +0,0 @@
+@@ -1,90 +0,0 @@
 -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
 -github.com/BurntSushi/toml v0.4.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
--github.com/BurntSushi/toml v1.0.0 h1:dtDWrepsVPfW9H/4y7dDgFc2MBUSeJhlaDtK13CxFlU=
--github.com/BurntSushi/toml v1.0.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
+-github.com/BurntSushi/toml v1.2.0 h1:Rt8g24XnyGTyglgET/PRUNlrUeu9F5L+7FilkXfZgs0=
+-github.com/BurntSushi/toml v1.2.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
 -github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI=
 -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
 -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
@@ -4582,8 +4746,9 @@
 -github.com/google/go-cmdtest v0.4.0/go.mod h1:apVn/GCasLZUVpAJ6oWAuyP7Ne7CEsQbTnc0plM3m+o=
 -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
 -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
--github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o=
 -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
+-github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
+-github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
 -github.com/google/safehtml v0.0.2 h1:ZOt2VXg4x24bW0m2jtzAOkhoXV0iM8vNKc0paByCZqM=
 -github.com/google/safehtml v0.0.2/go.mod h1:L4KWwDsUJdECRAEpZoBn3O64bQaywRscowZjJAzjHnU=
@@ -4609,42 +4774,36 @@
 -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
 -github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
 -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
--github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
--golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
--golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+-github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
 -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
--golang.org/x/exp/typeparams v0.0.0-20220218215828-6cf2b201936e h1:qyrTQ++p1afMkO4DPEeLGq/3oTsdlvdH4vqZUBWzUKM=
 -golang.org/x/exp/typeparams v0.0.0-20220218215828-6cf2b201936e/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
--golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
--golang.org/x/mod v0.6.0-dev.0.20211013180041-c96bc1413d57/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY=
+-golang.org/x/exp/typeparams v0.0.0-20220722155223-a9213eeb770e h1:7Xs2YCOpMlNqSQSmrrnhlzBXIE/bpMecZplbLePTJvE=
+-golang.org/x/exp/typeparams v0.0.0-20220722155223-a9213eeb770e/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
 -golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY=
 -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s=
 -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
--golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
--golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
--golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=
+-golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
 -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
--golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
--golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+-golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw=
+-golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
--golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 -golang.org/x/sys v0.0.0-20211213223007-03aa0b5f6827/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
--golang.org/x/sys v0.0.0-20220209214540-3681064d5158 h1:rm+CHSpPEEW2IsXUib1ThaHIjuBVZjxNgSKmBLFfD4c=
--golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+-golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+-golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+-golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f h1:v4INt8xihDGvnrfjMDVXGxw9wrfxYyCjk0KbXjhR55s=
+-golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
--golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+-golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
--golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
 -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
--golang.org/x/vuln v0.0.0-20220503210553-a5481fb0c8be h1:jokAF1mfylAi1iTQx7C44B7vyXUcSEMw8eDv0PzNu8s=
--golang.org/x/vuln v0.0.0-20220503210553-a5481fb0c8be/go.mod h1:twca1SxmF6/i2wHY/mj1vLIkkHdp+nil/yA32ZOP4kg=
+-golang.org/x/vuln v0.0.0-20220725105440-4151a5aca1df h1:BkeW9/QJhcigekDUPS9N9bIb0v7gPKKmLYeczVAqr2s=
+-golang.org/x/vuln v0.0.0-20220725105440-4151a5aca1df/go.mod h1:UZshlUPxXeGUM9I14UOawXQg6yosDE9cr1vKY/DzgWo=
 -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
--golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
 -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
@@ -4654,10 +4813,10 @@
 -gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I=
 -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 -honnef.co/go/tools v0.2.2/go.mod h1:lPVVZ2BS5TfnjLyizF7o7hv7j9/L+8cZY2hLyjP9cGY=
--honnef.co/go/tools v0.3.0 h1:2LdYUZ7CIxnYgskbUZfY7FPggmqnh6shBqfWa8Tn3XU=
--honnef.co/go/tools v0.3.0/go.mod h1:vlRD9XErLMGT+mDuofSr0mMMquscM/1nQqtRSsh6m70=
--mvdan.cc/gofumpt v0.3.0 h1:kTojdZo9AcEYbQYhGuLf/zszYthRdhDNDUi2JKTxas4=
--mvdan.cc/gofumpt v0.3.0/go.mod h1:0+VyGZWleeIj5oostkOex+nDBA0eyavuDnDusAJ8ylo=
+-honnef.co/go/tools v0.3.2 h1:ytYb4rOqyp1TSa2EPvNVwtPQJctSELKaMyLfqNP4+34=
+-honnef.co/go/tools v0.3.2/go.mod h1:jzwdWgg7Jdq75wlfblQxO4neNaFFSvgc1tD5Wv8U0Yw=
+-mvdan.cc/gofumpt v0.3.1 h1:avhhrOmv0IuvQVK7fvwV91oFSGAk5/6Po8GXTzICeu8=
+-mvdan.cc/gofumpt v0.3.1/go.mod h1:w3ymliuxvzVx8DAutBnVyDqYb1Niy/yCJt/lk821YCE=
 -mvdan.cc/unparam v0.0.0-20211214103731-d0ef000c54e5 h1:Jh3LAeMt1eGpxomyu3jVkmVZWW2MxZ1qIIV2TZ/nRio=
 -mvdan.cc/unparam v0.0.0-20211214103731-d0ef000c54e5/go.mod h1:b8RRCBm0eeiWR8cfN88xeq2G5SG3VKGO+5UPWi5FSOY=
 -mvdan.cc/xurls/v2 v2.4.0 h1:tzxjVAj+wSBmDcF6zBB7/myTy3gX9xvi8Tyr28AuQgc=
@@ -5284,7 +5443,7 @@
 diff -urN a/gopls/internal/govulncheck/README.md b/gopls/internal/govulncheck/README.md
 --- a/gopls/internal/govulncheck/README.md	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/govulncheck/README.md	1969-12-31 16:00:00.000000000 -0800
-@@ -1,17 +0,0 @@
+@@ -1,19 +0,0 @@
 -# internal/govulncheck package
 -
 -This package is a literal copy of the cmd/govulncheck/internal/govulncheck
@@ -5302,6 +5461,9 @@
 -2. cd to this directory.
 -
 -3. Run `copy.sh`.
+-
+-4. Re-add build tags for go1.18
+\ No newline at end of file
 diff -urN a/gopls/internal/govulncheck/cache.go b/gopls/internal/govulncheck/cache.go
 --- a/gopls/internal/govulncheck/cache.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/govulncheck/cache.go	1969-12-31 16:00:00.000000000 -0800
@@ -5633,7 +5795,7 @@
 diff -urN a/gopls/internal/govulncheck/source.go b/gopls/internal/govulncheck/source.go
 --- a/gopls/internal/govulncheck/source.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/govulncheck/source.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,129 +0,0 @@
+@@ -1,116 +0,0 @@
 -// Copyright 2022 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -5644,13 +5806,11 @@
 -package govulncheck
 -
 -import (
--	"context"
 -	"fmt"
 -	"sort"
 -	"strings"
 -
 -	"golang.org/x/tools/go/packages"
--	"golang.org/x/vuln/client"
 -	"golang.org/x/vuln/vulncheck"
 -)
 -
@@ -5693,34 +5853,23 @@
 -	return vpkgs, err
 -}
 -
--// Source calls vulncheck.Source on the Go source in pkgs. It returns the result
--// with Vulns trimmed to those that are actually called.
--func Source(ctx context.Context, pkgs []*vulncheck.Package, c client.Client) (*vulncheck.Result, error) {
--	r, err := vulncheck.Source(ctx, pkgs, &vulncheck.Config{Client: c})
--	if err != nil {
--		return nil, err
--	}
--	// Keep only the vulns that are called.
--	var vulns []*vulncheck.Vuln
--	for _, v := range r.Vulns {
--		if v.CallSink != 0 {
--			vulns = append(vulns, v)
--		}
--	}
--	r.Vulns = vulns
--	return r, nil
--}
--
 -// CallInfo is information about calls to vulnerable functions.
 -type CallInfo struct {
--	CallStacks     map[*vulncheck.Vuln][]vulncheck.CallStack // all call stacks
--	VulnGroups     [][]*vulncheck.Vuln                       // vulns grouped by ID and package
--	ModuleVersions map[string]string                         // map from module paths to versions
--	TopPackages    map[string]bool                           // top-level packages
+-	// CallStacks contains all call stacks to vulnerable functions.
+-	CallStacks map[*vulncheck.Vuln][]vulncheck.CallStack
+-
+-	// VulnGroups contains vulnerabilities grouped by ID and package.
+-	VulnGroups [][]*vulncheck.Vuln
+-
+-	// ModuleVersions is a map of module paths to versions.
+-	ModuleVersions map[string]string
+-
+-	// TopPackages contains the top-level packages in the call info.
+-	TopPackages map[string]bool
 -}
 -
 -// GetCallInfo computes call stacks and related information from a vulncheck.Result.
--// I also makes a set of top-level packages from pkgs.
+-// It also makes a set of top-level packages from pkgs.
 -func GetCallInfo(r *vulncheck.Result, pkgs []*vulncheck.Package) *CallInfo {
 -	pset := map[string]bool{}
 -	for _, p := range pkgs {
@@ -6052,7 +6201,7 @@
 diff -urN a/gopls/internal/hooks/diff.go b/gopls/internal/hooks/diff.go
 --- a/gopls/internal/hooks/diff.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/hooks/diff.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,41 +0,0 @@
+@@ -1,205 +0,0 @@
 -// Copyright 2019 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -6060,13 +6209,177 @@
 -package hooks
 -
 -import (
+-	"crypto/rand"
+-	"encoding/json"
 -	"fmt"
+-	"io"
+-	"log"
+-	"math/big"
+-	"os"
+-	"path/filepath"
+-	"runtime"
+-	"strings"
+-	"sync"
+-	"time"
+-	"unicode"
 -
 -	"github.com/sergi/go-diff/diffmatchpatch"
 -	"golang.org/x/tools/internal/lsp/diff"
 -	"golang.org/x/tools/internal/span"
 -)
 -
+-// structure for saving information about diffs
+-// while the new code is being rolled out
+-type diffstat struct {
+-	Before, After      int
+-	Oldedits, Newedits int
+-	Oldtime, Newtime   time.Duration
+-	Stack              string
+-	Msg                string `json:",omitempty"` // for errors
+-	Ignored            int    `json:",omitempty"` // numbr of skipped records with 0 edits
+-}
+-
+-var (
+-	mu      sync.Mutex // serializes writes and protects ignored
+-	difffd  io.Writer
+-	ignored int // lots of the diff calls have 0 diffs
+-)
+-
+-var fileonce sync.Once
+-
+-func (s *diffstat) save() {
+-	// save log records in a file in os.TempDir().
+-	// diff is frequently called with identical strings, so
+-	// these are somewhat compressed out
+-	fileonce.Do(func() {
+-		fname := filepath.Join(os.TempDir(), fmt.Sprintf("gopls-diff-%x", os.Getpid()))
+-		fd, err := os.Create(fname)
+-		if err != nil {
+-			// now what?
+-		}
+-		difffd = fd
+-	})
+-
+-	mu.Lock()
+-	defer mu.Unlock()
+-	if s.Oldedits == 0 && s.Newedits == 0 {
+-		if ignored < 15 {
+-			// keep track of repeated instances of no diffs
+-			// but only print every 15th
+-			ignored++
+-			return
+-		}
+-		s.Ignored = ignored + 1
+-	} else {
+-		s.Ignored = ignored
+-	}
+-	ignored = 0
+-	// it would be really nice to see why diff was called
+-	_, f, l, ok := runtime.Caller(2)
+-	if ok {
+-		var fname string
+-		fname = filepath.Base(f) // diff is only called from a few places
+-		s.Stack = fmt.Sprintf("%s:%d", fname, l)
+-	}
+-	x, err := json.Marshal(s)
+-	if err != nil {
+-		log.Print(err) // failure to print statistics should not stop gopls
+-	}
+-	fmt.Fprintf(difffd, "%s\n", x)
+-}
+-
+-// save encrypted versions of the broken input and return the file name
+-// (the saved strings will have the same diff behavior as the user's strings)
+-func disaster(before, after string) string {
+-	// encrypt before and after for privacy. (randomized monoalphabetic cipher)
+-	// got will contain the substitution cipher
+-	// for the runes in before and after
+-	got := map[rune]rune{}
+-	for _, r := range before {
+-		got[r] = ' ' // value doesn't matter
+-	}
+-	for _, r := range after {
+-		got[r] = ' '
+-	}
+-	repl := initrepl(len(got))
+-	i := 0
+-	for k := range got { // randomized
+-		got[k] = repl[i]
+-		i++
+-	}
+-	// use got to encrypt before and after
+-	subst := func(r rune) rune { return got[r] }
+-	first := strings.Map(subst, before)
+-	second := strings.Map(subst, after)
+-
+-	// one failure per session is enough, and more private.
+-	// this saves the last one.
+-	fname := fmt.Sprintf("%s/gopls-failed-%x", os.TempDir(), os.Getpid())
+-	fd, err := os.Create(fname)
+-	defer fd.Close()
+-	_, err = fd.Write([]byte(fmt.Sprintf("%s\n%s\n", string(first), string(second))))
+-	if err != nil {
+-		// what do we tell the user?
+-		return ""
+-	}
+-	// ask the user to send us the file, somehow
+-	return fname
+-}
+-
+-func initrepl(n int) []rune {
+-	repl := make([]rune, 0, n)
+-	for r := rune(0); len(repl) < n; r++ {
+-		if unicode.IsLetter(r) || unicode.IsNumber(r) {
+-			repl = append(repl, r)
+-		}
+-	}
+-	// randomize repl
+-	rdr := rand.Reader
+-	lim := big.NewInt(int64(len(repl)))
+-	for i := 1; i < n; i++ {
+-		v, _ := rand.Int(rdr, lim)
+-		k := v.Int64()
+-		repl[i], repl[k] = repl[k], repl[i]
+-	}
+-	return repl
+-}
+-
+-// BothDiffs edits calls both the new and old diffs, checks that the new diffs
+-// change before into after, and attempts to preserve some statistics.
+-func BothDiffs(uri span.URI, before, after string) (edits []diff.TextEdit, err error) {
+-	// The new diff code contains a lot of internal checks that panic when they
+-	// fail. This code catches the panics, or other failures, tries to save
+-	// the failing example (and ut wiykd ask the user to send it back to us, and
+-	// changes options.newDiff to 'old', if only we could figure out how.)
+-	stat := diffstat{Before: len(before), After: len(after)}
+-	now := time.Now()
+-	Oldedits, oerr := ComputeEdits(uri, before, after)
+-	if oerr != nil {
+-		stat.Msg += fmt.Sprintf("old:%v", oerr)
+-	}
+-	stat.Oldedits = len(Oldedits)
+-	stat.Oldtime = time.Since(now)
+-	defer func() {
+-		if r := recover(); r != nil {
+-			disaster(before, after)
+-			edits, err = Oldedits, oerr
+-		}
+-	}()
+-	now = time.Now()
+-	Newedits, rerr := diff.NComputeEdits(uri, before, after)
+-	stat.Newedits = len(Newedits)
+-	stat.Newtime = time.Now().Sub(now)
+-	got := diff.ApplyEdits(before, Newedits)
+-	if got != after {
+-		stat.Msg += "FAIL"
+-		disaster(before, after)
+-		stat.save()
+-		return Oldedits, oerr
+-	}
+-	stat.save()
+-	return Newedits, rerr
+-}
+-
 -func ComputeEdits(uri span.URI, before, after string) (edits []diff.TextEdit, err error) {
 -	// The go-diff library has an unresolved panic (see golang/go#278774).
 -	// TODO(rstambler): Remove the recover once the issue has been fixed
@@ -6097,22 +6410,63 @@
 diff -urN a/gopls/internal/hooks/diff_test.go b/gopls/internal/hooks/diff_test.go
 --- a/gopls/internal/hooks/diff_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/hooks/diff_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,16 +0,0 @@
+@@ -1,57 +0,0 @@
 -// Copyright 2019 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
 -
--package hooks_test
+-package hooks
 -
 -import (
+-	"fmt"
+-	"io/ioutil"
+-	"os"
 -	"testing"
+-	"unicode/utf8"
 -
--	"golang.org/x/tools/gopls/internal/hooks"
 -	"golang.org/x/tools/internal/lsp/diff/difftest"
 -)
 -
 -func TestDiff(t *testing.T) {
--	difftest.DiffTest(t, hooks.ComputeEdits)
+-	difftest.DiffTest(t, ComputeEdits)
+-}
+-
+-func TestRepl(t *testing.T) {
+-	t.Skip("just for checking repl by looking at it")
+-	repl := initrepl(800)
+-	t.Errorf("%q", string(repl))
+-	t.Errorf("%d", len(repl))
+-}
+-
+-func TestDisaster(t *testing.T) {
+-	a := "This is a string,(\u0995) just for basic functionality"
+-	b := "Ths is another string, (\u0996) to see if disaster will store stuff correctly"
+-	fname := disaster(a, b)
+-	buf, err := ioutil.ReadFile(fname)
+-	if err != nil {
+-		t.Errorf("error %v reading %s", err, fname)
+-	}
+-	var x, y string
+-	n, err := fmt.Sscanf(string(buf), "%s\n%s\n", &x, &y)
+-	if n != 2 {
+-		t.Errorf("got %d, expected 2", n)
+-		t.Logf("read %q", string(buf))
+-	}
+-	if a == x || b == y {
+-		t.Error("failed to encrypt")
+-	}
+-	err = os.Remove(fname)
+-	if err != nil {
+-		t.Errorf("%v removing %s", err, fname)
+-	}
+-	alen, blen := utf8.RuneCount([]byte(a)), utf8.RuneCount([]byte(b))
+-	xlen, ylen := utf8.RuneCount([]byte(x)), utf8.RuneCount([]byte(y))
+-	if alen != xlen {
+-		t.Errorf("a; got %d, expected %d", xlen, alen)
+-	}
+-	if blen != ylen {
+-		t.Errorf("b: got %d expected %d", ylen, blen)
+-	}
 -}
 diff -urN a/gopls/internal/hooks/gen-licenses.sh b/gopls/internal/hooks/gen-licenses.sh
 --- a/gopls/internal/hooks/gen-licenses.sh	2000-01-01 00:00:00.000000000 -0000
@@ -6160,7 +6514,7 @@
 diff -urN a/gopls/internal/hooks/hooks.go b/gopls/internal/hooks/hooks.go
 --- a/gopls/internal/hooks/hooks.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/hooks/hooks.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,34 +0,0 @@
+@@ -1,42 +0,0 @@
 -// Copyright 2019 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -6174,6 +6528,7 @@
 -	"context"
 -
 -	"golang.org/x/tools/gopls/internal/vulncheck"
+-	"golang.org/x/tools/internal/lsp/diff"
 -	"golang.org/x/tools/internal/lsp/source"
 -	"mvdan.cc/gofumpt/format"
 -	"mvdan.cc/xurls/v2"
@@ -6182,7 +6537,14 @@
 -func Options(options *source.Options) {
 -	options.LicensesText = licensesText
 -	if options.GoDiff {
--		options.ComputeEdits = ComputeEdits
+-		switch options.NewDiff {
+-		case "old":
+-			options.ComputeEdits = ComputeEdits
+-		case "new":
+-			options.ComputeEdits = diff.NComputeEdits
+-		default:
+-			options.ComputeEdits = BothDiffs
+-		}
 -	}
 -	options.URLRegexp = xurls.Relaxed()
 -	options.GofumptFormat = func(ctx context.Context, langVersion, modulePath string, src []byte) ([]byte, error) {
@@ -6421,7 +6783,7 @@
 diff -urN a/gopls/internal/regtest/bench/bench_test.go b/gopls/internal/regtest/bench/bench_test.go
 --- a/gopls/internal/regtest/bench/bench_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/bench/bench_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,194 +0,0 @@
+@@ -1,225 +0,0 @@
 -// Copyright 2020 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -6432,6 +6794,7 @@
 -	"flag"
 -	"fmt"
 -	"os"
+-	"runtime"
 -	"runtime/pprof"
 -	"testing"
 -
@@ -6456,7 +6819,7 @@
 -		// Skip logs as they buffer up memory unnaturally.
 -		SkipLogs(),
 -		// The Debug server only makes sense if running in singleton mode.
--		Modes(Singleton),
+-		Modes(Default),
 -		// Remove the default timeout. Individual tests should control their
 -		// own graceful termination.
 -		NoDefaultTimeout(),
@@ -6490,6 +6853,7 @@
 -	results := testing.Benchmark(func(b *testing.B) {
 -		for i := 0; i < b.N; i++ {
 -			WithOptions(opts...).Run(t, "", func(t *testing.T, env *Env) {})
+-
 -		}
 -	})
 -
@@ -6515,14 +6879,14 @@
 -	}
 -
 -	opts := benchmarkOptions(symbolOptions.workdir)
--	conf := EditorConfig{}
+-	settings := make(Settings)
 -	if symbolOptions.matcher != "" {
--		conf.SymbolMatcher = &symbolOptions.matcher
+-		settings["symbolMatcher"] = symbolOptions.matcher
 -	}
 -	if symbolOptions.style != "" {
--		conf.SymbolStyle = &symbolOptions.style
+-		settings["symbolStyle"] = symbolOptions.style
 -	}
--	opts = append(opts, conf)
+-	opts = append(opts, settings)
 -
 -	WithOptions(opts...).Run(t, "", func(t *testing.T, env *Env) {
 -		// We can't Await in this test, since we have disabled hooks. Instead, run
@@ -6616,6 +6980,35 @@
 -		printBenchmarkResults(result)
 -	})
 -}
+-
+-// TestPrintMemStats measures the memory usage of loading a project.
+-// It uses the same -didchange_dir flag as above.
+-// Always run it in isolation since it measures global heap usage.
+-//
+-// Kubernetes example:
+-//
+-//	$ go test -v -run=TestPrintMemStats -didchange_dir=$HOME/w/kubernetes
+-//	TotalAlloc:      5766 MB
+-//	HeapAlloc:       1984 MB
+-//
+-// Both figures exhibit variance of less than 1%.
+-func TestPrintMemStats(t *testing.T) {
+-	if *benchDir == "" {
+-		t.Skip("-didchange_dir is not set")
+-	}
+-
+-	// Load the program...
+-	opts := benchmarkOptions(*benchDir)
+-	WithOptions(opts...).Run(t, "", func(_ *testing.T, env *Env) {
+-		// ...and print the memory usage.
+-		runtime.GC()
+-		runtime.GC()
+-		var mem runtime.MemStats
+-		runtime.ReadMemStats(&mem)
+-		t.Logf("TotalAlloc:\t%d MB", mem.TotalAlloc/1e6)
+-		t.Logf("HeapAlloc:\t%d MB", mem.HeapAlloc/1e6)
+-	})
+-}
 diff -urN a/gopls/internal/regtest/bench/completion_bench_test.go b/gopls/internal/regtest/bench/completion_bench_test.go
 --- a/gopls/internal/regtest/bench/completion_bench_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/bench/completion_bench_test.go	1969-12-31 16:00:00.000000000 -0800
@@ -6880,7 +7273,7 @@
 diff -urN a/gopls/internal/regtest/codelens/codelens_test.go b/gopls/internal/regtest/codelens/codelens_test.go
 --- a/gopls/internal/regtest/codelens/codelens_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/codelens/codelens_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,355 +0,0 @@
+@@ -1,354 +0,0 @@
 -// Copyright 2020 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -6946,9 +7339,7 @@
 -	for _, test := range tests {
 -		t.Run(test.label, func(t *testing.T) {
 -			WithOptions(
--				EditorConfig{
--					CodeLenses: test.enabled,
--				},
+-				Settings{"codelenses": test.enabled},
 -			).Run(t, workspace, func(t *testing.T, env *Env) {
 -				env.OpenFile("lib.go")
 -				lens := env.CodeLens("lib.go")
@@ -7191,10 +7582,11 @@
 -}
 -`
 -	WithOptions(
--		EditorConfig{
--			CodeLenses: map[string]bool{
+-		Settings{
+-			"codelenses": map[string]bool{
 -				"gc_details": true,
--			}},
+-			},
+-		},
 -	).Run(t, mod, func(t *testing.T, env *Env) {
 -		env.OpenFile("main.go")
 -		env.ExecuteCodeLensCommand("main.go", command.GCDetails)
@@ -7898,7 +8290,7 @@
 -}
 -`
 -	WithOptions(
--		EditorConfig{WindowsLineEndings: true},
+-		WindowsLineEndings(),
 -	).Run(t, src, func(t *testing.T, env *Env) {
 -		// Trigger unimported completions for the example.com/blah package.
 -		env.OpenFile("main.go")
@@ -8018,7 +8410,7 @@
 diff -urN a/gopls/internal/regtest/completion/postfix_snippet_test.go b/gopls/internal/regtest/completion/postfix_snippet_test.go
 --- a/gopls/internal/regtest/completion/postfix_snippet_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/completion/postfix_snippet_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,442 +0,0 @@
+@@ -1,462 +0,0 @@
 -// Copyright 2021 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -8030,12 +8422,9 @@
 -	"testing"
 -
 -	. "golang.org/x/tools/internal/lsp/regtest"
--	"golang.org/x/tools/internal/lsp/source"
 -)
 -
 -func TestPostfixSnippetCompletion(t *testing.T) {
--	t.Skipf("skipping test due to suspected synchronization bug; see https://go.dev/issue/50707")
--
 -	const mod = `
 --- go.mod --
 -module mod.com
@@ -8289,6 +8678,27 @@
 -`,
 -		},
 -		{
+-			name: "channel_range",
+-			before: `
+-package foo
+-
+-func _() {
+-	foo := make(chan int)
+-	foo.range
+-}
+-`,
+-			after: `
+-package foo
+-
+-func _() {
+-	foo := make(chan int)
+-	for e := range foo {
+-	$0
+-}
+-}
+-`,
+-		},
+-		{
 -			name: "var",
 -			before: `
 -package foo
@@ -8400,7 +8810,7 @@
 -			before: `
 -package foo
 -
--func foo() []string { 
+-func foo() []string {
 -	x := "test"
 -	return x.split
 -}`,
@@ -8409,7 +8819,7 @@
 -
 -import "strings"
 -
--func foo() []string { 
+-func foo() []string {
 -	x := "test"
 -	return strings.Split(x, "$0")
 -}`,
@@ -8435,9 +8845,11 @@
 -		},
 -	}
 -
--	r := WithOptions(Options(func(o *source.Options) {
--		o.ExperimentalPostfixCompletions = true
--	}))
+-	r := WithOptions(
+-		Settings{
+-			"experimentalPostfixCompletions": true,
+-		},
+-	)
 -	r.Run(t, mod, func(t *testing.T, env *Env) {
 -		for _, c := range cases {
 -			t.Run(c.name, func(t *testing.T) {
@@ -8464,7 +8876,7 @@
 diff -urN a/gopls/internal/regtest/debug/debug_test.go b/gopls/internal/regtest/debug/debug_test.go
 --- a/gopls/internal/regtest/debug/debug_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/debug/debug_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,34 +0,0 @@
+@@ -1,30 +0,0 @@
 -// Copyright 2022 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -8487,12 +8899,8 @@
 -	// Verify that a properly configured session gets notified of a bug on the
 -	// server.
 -	WithOptions(
--		Modes(Singleton), // must be in-process to receive the bug report below
--		EditorConfig{
--			Settings: map[string]interface{}{
--				"showBugReports": true,
--			},
--		},
+-		Modes(Default), // must be in-process to receive the bug report below
+-		Settings{"showBugReports": true},
 -	).Run(t, "", func(t *testing.T, env *Env) {
 -		const desc = "got a bug"
 -		bug.Report(desc, nil)
@@ -8544,7 +8952,7 @@
 diff -urN a/gopls/internal/regtest/diagnostics/diagnostics_test.go b/gopls/internal/regtest/diagnostics/diagnostics_test.go
 --- a/gopls/internal/regtest/diagnostics/diagnostics_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/diagnostics/diagnostics_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,2268 +0,0 @@
+@@ -1,2233 +0,0 @@
 -// Copyright 2020 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -8845,7 +9253,7 @@
 -
 -	t.Run("without workspace module", func(t *testing.T) {
 -		WithOptions(
--			Modes(Singleton),
+-			Modes(Default),
 -		).Run(t, noMod, func(t *testing.T, env *Env) {
 -			env.Await(
 -				env.DiagnosticAtRegexp("main.go", `"mod.com/bob"`),
@@ -9018,12 +9426,11 @@
 -}
 -`
 -	WithOptions(
--		EditorConfig{
--			Env: map[string]string{
--				"GOPATH":      "",
--				"GO111MODULE": "off",
--			},
--		}).Run(t, files, func(t *testing.T, env *Env) {
+-		EnvVars{
+-			"GOPATH":      "",
+-			"GO111MODULE": "off",
+-		},
+-	).Run(t, files, func(t *testing.T, env *Env) {
 -		env.OpenFile("main.go")
 -		env.Await(env.DiagnosticAtRegexp("main.go", "fmt"))
 -		env.SaveBuffer("main.go")
@@ -9047,8 +9454,9 @@
 -
 -var X = 0
 -`
--	editorConfig := EditorConfig{Env: map[string]string{"GOFLAGS": "-tags=foo"}}
--	WithOptions(editorConfig).Run(t, files, func(t *testing.T, env *Env) {
+-	WithOptions(
+-		EnvVars{"GOFLAGS": "-tags=foo"},
+-	).Run(t, files, func(t *testing.T, env *Env) {
 -		env.OpenFile("main.go")
 -		env.OrganizeImports("main.go")
 -		env.Await(EmptyDiagnostics("main.go"))
@@ -9120,9 +9528,9 @@
 -`
 -	for _, go111module := range []string{"on", "off", ""} {
 -		t.Run(fmt.Sprintf("GO111MODULE_%v", go111module), func(t *testing.T) {
--			WithOptions(EditorConfig{
--				Env: map[string]string{"GO111MODULE": go111module},
--			}).Run(t, files, func(t *testing.T, env *Env) {
+-			WithOptions(
+-				EnvVars{"GO111MODULE": go111module},
+-			).Run(t, files, func(t *testing.T, env *Env) {
 -				env.Await(
 -					NoOutstandingWork(),
 -				)
@@ -9152,11 +9560,7 @@
 -`
 -	WithOptions(
 -		InGOPATH(),
--		EditorConfig{
--			Env: map[string]string{
--				"GO111MODULE": "off",
--			},
--		},
+-		EnvVars{"GO111MODULE": "off"},
 -	).Run(t, collision, func(t *testing.T, env *Env) {
 -		env.OpenFile("x/x.go")
 -		env.Await(
@@ -9187,8 +9591,6 @@
 -
 -// Test for golang/go#38211.
 -func Test_Issue38211(t *testing.T) {
--	t.Skipf("Skipping flaky test: https://golang.org/issue/44098")
--
 -	testenv.NeedsGo1Point(t, 14)
 -	const ardanLabs = `
 --- go.mod --
@@ -9254,7 +9656,8 @@
 -
 -// Test for golang/go#38207.
 -func TestNewModule_Issue38207(t *testing.T) {
--	testenv.NeedsGo1Point(t, 14)
+-	// Fails at Go 1.14 following CL 417576. Not investigated.
+-	testenv.NeedsGo1Point(t, 15)
 -	const emptyFile = `
 --- go.mod --
 -module mod.com
@@ -9425,7 +9828,7 @@
 -}
 -
 -func TestChangePackageName(t *testing.T) {
--	t.Skip("This issue hasn't been fixed yet. See golang.org/issue/41061.")
+-	testenv.NeedsGo1Point(t, 16) // needs native overlay support
 -
 -	const mod = `
 --- go.mod --
@@ -9440,15 +9843,11 @@
 -	Run(t, mod, func(t *testing.T, env *Env) {
 -		env.OpenFile("foo/bar_test.go")
 -		env.RegexpReplace("foo/bar_test.go", "package foo_", "package foo_test")
--		env.SaveBuffer("foo/bar_test.go")
 -		env.Await(
 -			OnceMet(
--				env.DoneWithSave(),
--				NoDiagnostics("foo/bar_test.go"),
--			),
--			OnceMet(
--				env.DoneWithSave(),
--				NoDiagnostics("foo/foo.go"),
+-				env.DoneWithChange(),
+-				EmptyOrNoDiagnostics("foo/bar_test.go"),
+-				EmptyOrNoDiagnostics("foo/foo.go"),
 -			),
 -		)
 -	})
@@ -9518,8 +9917,6 @@
 -// This is a copy of the scenario_default/quickfix_empty_files.txt test from
 -// govim. Reproduces golang/go#39646.
 -func TestQuickFixEmptyFiles(t *testing.T) {
--	t.Skip("too flaky: golang/go#48773")
--
 -	testenv.NeedsGo1Point(t, 15)
 -
 -	const mod = `
@@ -9783,7 +10180,7 @@
 -	})
 -	WithOptions(
 -		WorkspaceFolders("a"),
--		LimitWorkspaceScope(),
+-		Settings{"expandWorkspaceToModule": false},
 -	).Run(t, mod, func(t *testing.T, env *Env) {
 -		env.OpenFile("a/main.go")
 -		env.Await(
@@ -9814,11 +10211,7 @@
 -`
 -
 -	WithOptions(
--		EditorConfig{
--			Settings: map[string]interface{}{
--				"staticcheck": true,
--			},
--		},
+-		Settings{"staticcheck": true},
 -	).Run(t, files, func(t *testing.T, env *Env) {
 -		env.OpenFile("main.go")
 -		var d protocol.PublishDiagnosticsParams
@@ -9928,9 +10321,7 @@
 -}
 -`
 -	WithOptions(
--		EditorConfig{
--			AllExperiments: true,
--		},
+-		Settings{"allExperiments": true},
 -	).Run(t, mod, func(t *testing.T, env *Env) {
 -		// Confirm that the setting doesn't cause any warnings.
 -		env.Await(NoShowMessage())
@@ -10042,11 +10433,7 @@
 -	WithOptions(
 -		ProxyFiles(proxy),
 -		InGOPATH(),
--		EditorConfig{
--			Env: map[string]string{
--				"GO111MODULE": "off",
--			},
--		},
+-		EnvVars{"GO111MODULE": "off"},
 -	).Run(t, contents, func(t *testing.T, env *Env) {
 -		// Simulate typing character by character.
 -		env.OpenFile("foo/foo_test.go")
@@ -10245,10 +10632,8 @@
 -	t.Run("GOPATH", func(t *testing.T) {
 -		WithOptions(
 -			InGOPATH(),
--			EditorConfig{
--				Env: map[string]string{"GO111MODULE": "off"},
--			},
--			Modes(Singleton),
+-			EnvVars{"GO111MODULE": "off"},
+-			Modes(Default),
 -		).Run(t, mod, func(t *testing.T, env *Env) {
 -			env.Await(
 -				env.DiagnosticAtRegexpWithMessage("main.go", `"nosuchpkg"`, `cannot find package "nosuchpkg" in any of`),
@@ -10275,12 +10660,8 @@
 -	for _, go111module := range []string{"on", "auto"} {
 -		t.Run("GO111MODULE="+go111module, func(t *testing.T) {
 -			WithOptions(
--				Modes(Singleton),
--				EditorConfig{
--					Env: map[string]string{
--						"GO111MODULE": go111module,
--					},
--				},
+-				Modes(Default),
+-				EnvVars{"GO111MODULE": go111module},
 -			).Run(t, modules, func(t *testing.T, env *Env) {
 -				env.OpenFile("a/a.go")
 -				env.OpenFile("b/go.mod")
@@ -10296,12 +10677,8 @@
 -	// Expect no warning if GO111MODULE=auto in a directory in GOPATH.
 -	t.Run("GOPATH_GO111MODULE_auto", func(t *testing.T) {
 -		WithOptions(
--			Modes(Singleton),
--			EditorConfig{
--				Env: map[string]string{
--					"GO111MODULE": "auto",
--				},
--			},
+-			Modes(Default),
+-			EnvVars{"GO111MODULE": "auto"},
 -			InGOPATH(),
 -		).Run(t, modules, func(t *testing.T, env *Env) {
 -			env.OpenFile("a/a.go")
@@ -10362,7 +10739,7 @@
 -`
 -	WithOptions(
 -		ProxyFiles(proxy),
--		Modes(Singleton),
+-		Modes(Default),
 -	).Run(t, nested, func(t *testing.T, env *Env) {
 -		// Expect a diagnostic in a nested module.
 -		env.OpenFile("nested/hello/hello.go")
@@ -10573,10 +10950,8 @@
 -func Hello() {}
 -`
 -	WithOptions(
--		EditorConfig{
--			ExperimentalUseInvalidMetadata: true,
--		},
--		Modes(Singleton),
+-		Settings{"experimentalUseInvalidMetadata": true},
+-		Modes(Default),
 -	).Run(t, mod, func(t *testing.T, env *Env) {
 -		env.OpenFile("go.mod")
 -		env.RegexpReplace("go.mod", "module mod.com", "modul mod.com") // break the go.mod file
@@ -10629,12 +11004,10 @@
 -func _() {}
 -`
 -	WithOptions(
--		EditorConfig{
--			ExperimentalUseInvalidMetadata: true,
--		},
+-		Settings{"experimentalUseInvalidMetadata": true},
 -		// ExperimentalWorkspaceModule has a different failure mode for this
 -		// case.
--		Modes(Singleton),
+-		Modes(Default),
 -	).Run(t, mod, func(t *testing.T, env *Env) {
 -		env.Await(
 -			OnceMet(
@@ -10884,6 +11257,81 @@
 -		}
 -	})
 -}
+diff -urN a/gopls/internal/regtest/inlayhints/inlayhints_test.go b/gopls/internal/regtest/inlayhints/inlayhints_test.go
+--- a/gopls/internal/regtest/inlayhints/inlayhints_test.go	2000-01-01 00:00:00.000000000 -0000
++++ b/gopls/internal/regtest/inlayhints/inlayhints_test.go	1969-12-31 16:00:00.000000000 -0800
+@@ -1,71 +0,0 @@
+-// Copyright 2022 The Go Authors. All rights reserved.
+-// Use of this source code is governed by a BSD-style
+-// license that can be found in the LICENSE file.
+-package inlayhint
+-
+-import (
+-	"testing"
+-
+-	"golang.org/x/tools/gopls/internal/hooks"
+-	"golang.org/x/tools/internal/lsp/bug"
+-	. "golang.org/x/tools/internal/lsp/regtest"
+-	"golang.org/x/tools/internal/lsp/source"
+-	"golang.org/x/tools/internal/testenv"
+-)
+-
+-func TestMain(m *testing.M) {
+-	bug.PanicOnBugs = true
+-	Main(m, hooks.Options)
+-}
+-
+-func TestEnablingInlayHints(t *testing.T) {
+-	testenv.NeedsGo1Point(t, 14) // Test fails on 1.13.
+-	const workspace = `
+--- go.mod --
+-module inlayHint.test
+-go 1.12
+--- lib.go --
+-package lib
+-type Number int
+-const (
+-	Zero Number = iota
+-	One
+-	Two
+-)
+-`
+-	tests := []struct {
+-		label         string
+-		enabled       map[string]bool
+-		wantInlayHint bool
+-	}{
+-		{
+-			label:         "default",
+-			wantInlayHint: false,
+-		},
+-		{
+-			label:         "enable const",
+-			enabled:       map[string]bool{source.ConstantValues: true},
+-			wantInlayHint: true,
+-		},
+-		{
+-			label:         "enable parameter names",
+-			enabled:       map[string]bool{source.ParameterNames: true},
+-			wantInlayHint: false,
+-		},
+-	}
+-	for _, test := range tests {
+-		t.Run(test.label, func(t *testing.T) {
+-			WithOptions(
+-				Settings{
+-					"hints": test.enabled,
+-				},
+-			).Run(t, workspace, func(t *testing.T, env *Env) {
+-				env.OpenFile("lib.go")
+-				lens := env.InlayHints("lib.go")
+-				if gotInlayHint := len(lens) > 0; gotInlayHint != test.wantInlayHint {
+-					t.Errorf("got inlayHint: %t, want %t", gotInlayHint, test.wantInlayHint)
+-				}
+-			})
+-		})
+-	}
+-}
 diff -urN a/gopls/internal/regtest/misc/call_hierarchy_test.go b/gopls/internal/regtest/misc/call_hierarchy_test.go
 --- a/gopls/internal/regtest/misc/call_hierarchy_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/misc/call_hierarchy_test.go	1969-12-31 16:00:00.000000000 -0800
@@ -10926,7 +11374,7 @@
 diff -urN a/gopls/internal/regtest/misc/configuration_test.go b/gopls/internal/regtest/misc/configuration_test.go
 --- a/gopls/internal/regtest/misc/configuration_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/misc/configuration_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,80 +0,0 @@
+@@ -1,76 +0,0 @@
 -// Copyright 2020 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -10938,7 +11386,6 @@
 -
 -	. "golang.org/x/tools/internal/lsp/regtest"
 -
--	"golang.org/x/tools/internal/lsp/fake"
 -	"golang.org/x/tools/internal/testenv"
 -)
 -
@@ -10969,12 +11416,11 @@
 -			env.DoneWithOpen(),
 -			NoDiagnostics("a/a.go"),
 -		)
--		cfg := &fake.EditorConfig{}
--		*cfg = env.Editor.Config
+-		cfg := env.Editor.Config()
 -		cfg.Settings = map[string]interface{}{
 -			"staticcheck": true,
 -		}
--		env.ChangeConfiguration(t, cfg)
+-		env.ChangeConfiguration(cfg)
 -		env.Await(
 -			DiagnosticAt("a/a.go", 5, 4),
 -		)
@@ -10999,11 +11445,9 @@
 -var FooErr = errors.New("foo")
 -`
 -
--	WithOptions(EditorConfig{
--		Settings: map[string]interface{}{
--			"staticcheck": true,
--		},
--	}).Run(t, files, func(t *testing.T, env *Env) {
+-	WithOptions(
+-		Settings{"staticcheck": true},
+-	).Run(t, files, func(t *testing.T, env *Env) {
 -		env.Await(ShownMessage("staticcheck is not supported"))
 -	})
 -}
@@ -11060,7 +11504,7 @@
 diff -urN a/gopls/internal/regtest/misc/definition_test.go b/gopls/internal/regtest/misc/definition_test.go
 --- a/gopls/internal/regtest/misc/definition_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/misc/definition_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,291 +0,0 @@
+@@ -1,289 +0,0 @@
 -// Copyright 2020 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -11225,9 +11669,7 @@
 -	} {
 -		t.Run(tt.importShortcut, func(t *testing.T) {
 -			WithOptions(
--				EditorConfig{
--					ImportShortcut: tt.importShortcut,
--				},
+-				Settings{"importShortcut": tt.importShortcut},
 -			).Run(t, mod, func(t *testing.T, env *Env) {
 -				env.OpenFile("main.go")
 -				file, pos := env.GoToDefinition("main.go", env.RegexpSearch("main.go", `"fmt"`))
@@ -11581,7 +12023,7 @@
 diff -urN a/gopls/internal/regtest/misc/formatting_test.go b/gopls/internal/regtest/misc/formatting_test.go
 --- a/gopls/internal/regtest/misc/formatting_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/misc/formatting_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,369 +0,0 @@
+@@ -1,367 +0,0 @@
 -// Copyright 2020 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -11936,10 +12378,8 @@
 -`
 -
 -	WithOptions(
--		EditorConfig{
--			Settings: map[string]interface{}{
--				"gofumpt": true,
--			},
+-		Settings{
+-			"gofumpt": true,
 -		},
 -	).Run(t, input, func(t *testing.T, env *Env) {
 -		env.OpenFile("foo.go")
@@ -11954,7 +12394,7 @@
 diff -urN a/gopls/internal/regtest/misc/generate_test.go b/gopls/internal/regtest/misc/generate_test.go
 --- a/gopls/internal/regtest/misc/generate_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/misc/generate_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,75 +0,0 @@
+@@ -1,73 +0,0 @@
 -// Copyright 2020 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -11973,8 +12413,6 @@
 -)
 -
 -func TestGenerateProgress(t *testing.T) {
--	t.Skipf("skipping flaky test: https://golang.org/issue/49901")
--
 -	const generatedWorkspace = `
 --- go.mod --
 -module fake.test
@@ -12552,7 +12990,7 @@
 diff -urN a/gopls/internal/regtest/misc/imports_test.go b/gopls/internal/regtest/misc/imports_test.go
 --- a/gopls/internal/regtest/misc/imports_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/misc/imports_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,216 +0,0 @@
+@@ -1,261 +0,0 @@
 -// Copyright 2020 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -12708,9 +13146,8 @@
 -		t.Fatal(err)
 -	}
 -	defer os.RemoveAll(modcache)
--	editorConfig := EditorConfig{Env: map[string]string{"GOMODCACHE": modcache}}
 -	WithOptions(
--		editorConfig,
+-		EnvVars{"GOMODCACHE": modcache},
 -		ProxyFiles(proxy),
 -	).Run(t, files, func(t *testing.T, env *Env) {
 -		env.OpenFile("main.go")
@@ -12769,10 +13206,56 @@
 -		)
 -	})
 -}
+-
+-// Test for golang/go#52784
+-func TestGoWorkImports(t *testing.T) {
+-	testenv.NeedsGo1Point(t, 18)
+-	const pkg = `
+--- go.work --
+-go 1.19
+-
+-use (
+-        ./caller
+-        ./mod
+-)
+--- caller/go.mod --
+-module caller.com
+-
+-go 1.18
+-
+-require mod.com v0.0.0
+-
+-replace mod.com => ../mod
+--- caller/caller.go --
+-package main
+-
+-func main() {
+-        a.Test()
+-}
+--- mod/go.mod --
+-module mod.com
+-
+-go 1.18
+--- mod/a/a.go --
+-package a
+-
+-func Test() {
+-}
+-`
+-	Run(t, pkg, func(t *testing.T, env *Env) {
+-		env.OpenFile("caller/caller.go")
+-		env.Await(env.DiagnosticAtRegexp("caller/caller.go", "a.Test"))
+-
+-		// Saving caller.go should trigger goimports, which should find a.Test in
+-		// the mod.com module, thanks to the go.work file.
+-		env.SaveBuffer("caller/caller.go")
+-		env.Await(EmptyDiagnostics("caller/caller.go"))
+-	})
+-}
 diff -urN a/gopls/internal/regtest/misc/link_test.go b/gopls/internal/regtest/misc/link_test.go
 --- a/gopls/internal/regtest/misc/link_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/misc/link_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,98 +0,0 @@
+@@ -1,100 +0,0 @@
 -// Copyright 2020 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -12850,7 +13333,9 @@
 -		}
 -
 -		// Then change the environment to make these links private.
--		env.ChangeEnv(map[string]string{"GOPRIVATE": "import.test"})
+-		cfg := env.Editor.Config()
+-		cfg.Env = map[string]string{"GOPRIVATE": "import.test"}
+-		env.ChangeConfiguration(cfg)
 -
 -		// Finally, verify that the links are gone.
 -		content, _ = env.Hover("main.go", env.RegexpSearch("main.go", "pkg.Hello"))
@@ -12944,7 +13429,7 @@
 diff -urN a/gopls/internal/regtest/misc/references_test.go b/gopls/internal/regtest/misc/references_test.go
 --- a/gopls/internal/regtest/misc/references_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/misc/references_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,83 +0,0 @@
+@@ -1,171 +0,0 @@
 -// Copyright 2020 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -12952,6 +13437,8 @@
 -package misc
 -
 -import (
+-	"fmt"
+-	"strings"
 -	"testing"
 -
 -	. "golang.org/x/tools/internal/lsp/regtest"
@@ -13028,6 +13515,92 @@
 -		}
 -	})
 -}
+-
+-func TestPackageReferences(t *testing.T) {
+-	tests := []struct {
+-		packageName  string
+-		wantRefCount int
+-		wantFiles    []string
+-	}{
+-		{
+-			"lib1",
+-			3,
+-			[]string{
+-				"main.go",
+-				"lib1/a.go",
+-				"lib1/b.go",
+-			},
+-		},
+-		{
+-			"lib2",
+-			2,
+-			[]string{
+-				"main.go",
+-				"lib2/a.go",
+-			},
+-		},
+-	}
+-
+-	const files = `
+--- go.mod --
+-module mod.com
+-
+-go 1.18
+--- lib1/a.go --
+-package lib1
+-
+-const A = 1
+-
+--- lib1/b.go --
+-package lib1
+-
+-const B = 1
+-
+--- lib2/a.go --
+-package lib2
+-
+-const C = 1
+-
+--- main.go --
+-package main
+-
+-import (
+-	"mod.com/lib1"
+-	"mod.com/lib2"
+-)
+-
+-func main() {
+-	println("Hello")
+-}
+-`
+-	Run(t, files, func(t *testing.T, env *Env) {
+-		for _, test := range tests {
+-			f := fmt.Sprintf("%s/a.go", test.packageName)
+-			env.OpenFile(f)
+-			pos := env.RegexpSearch(f, test.packageName)
+-			refs := env.References(fmt.Sprintf("%s/a.go", test.packageName), pos)
+-			if len(refs) != test.wantRefCount {
+-				t.Fatalf("got %v reference(s), want %d", len(refs), test.wantRefCount)
+-			}
+-			var refURIs []string
+-			for _, ref := range refs {
+-				refURIs = append(refURIs, string(ref.URI))
+-			}
+-			for _, base := range test.wantFiles {
+-				hasBase := false
+-				for _, ref := range refURIs {
+-					if strings.HasSuffix(ref, base) {
+-						hasBase = true
+-						break
+-					}
+-				}
+-				if !hasBase {
+-					t.Fatalf("got [%v], want reference ends with \"%v\"", strings.Join(refURIs, ","), base)
+-				}
+-			}
+-		}
+-	})
+-}
 diff -urN a/gopls/internal/regtest/misc/rename_test.go b/gopls/internal/regtest/misc/rename_test.go
 --- a/gopls/internal/regtest/misc/rename_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/misc/rename_test.go	1969-12-31 16:00:00.000000000 -0800
@@ -13093,7 +13666,7 @@
 diff -urN a/gopls/internal/regtest/misc/semantictokens_test.go b/gopls/internal/regtest/misc/semantictokens_test.go
 --- a/gopls/internal/regtest/misc/semantictokens_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/misc/semantictokens_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,44 +0,0 @@
+@@ -1,42 +0,0 @@
 -// Copyright 2021 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -13121,10 +13694,8 @@
 -
 -`
 -	WithOptions(
--		Modes(Singleton),
--		EditorConfig{
--			AllExperiments: true,
--		},
+-		Modes(Default),
+-		Settings{"allExperiments": true},
 -	).Run(t, src, func(t *testing.T, env *Env) {
 -		params := &protocol.SemanticTokensParams{}
 -		const badURI = "http://foo"
@@ -13141,7 +13712,7 @@
 diff -urN a/gopls/internal/regtest/misc/settings_test.go b/gopls/internal/regtest/misc/settings_test.go
 --- a/gopls/internal/regtest/misc/settings_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/misc/settings_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,36 +0,0 @@
+@@ -1,32 +0,0 @@
 -// Copyright 2022 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -13168,11 +13739,7 @@
 -`
 -
 -	WithOptions(
--		EditorConfig{
--			Settings: map[string]interface{}{
--				"directoryFilters": []string{""},
--			},
--		},
+-		Settings{"directoryFilters": []string{""}},
 -	).Run(t, src, func(t *testing.T, env *Env) {
 -		// No need to do anything. Issue golang/go#51843 is triggered by the empty
 -		// directory filter above.
@@ -13181,7 +13748,7 @@
 diff -urN a/gopls/internal/regtest/misc/shared_test.go b/gopls/internal/regtest/misc/shared_test.go
 --- a/gopls/internal/regtest/misc/shared_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/misc/shared_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,64 +0,0 @@
+@@ -1,72 +0,0 @@
 -// Copyright 2020 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -13208,48 +13775,56 @@
 -	fmt.Println("Hello World.")
 -}`
 -
--func runShared(t *testing.T, testFunc func(env1 *Env, env2 *Env)) {
+-// runShared is a helper to run a test in the same directory using both the
+-// original env, and an additional other environment connected to the same
+-// server.
+-func runShared(t *testing.T, testFunc func(origEnv *Env, otherEnv *Env)) {
 -	// Only run these tests in forwarded modes.
 -	modes := DefaultModes() & (Forwarded | SeparateProcess)
 -	WithOptions(Modes(modes)).Run(t, sharedProgram, func(t *testing.T, env1 *Env) {
 -		// Create a second test session connected to the same workspace and server
 -		// as the first.
--		env2 := NewEnv(env1.Ctx, t, env1.Sandbox, env1.Server, env1.Editor.Config, true)
+-		env2, cleanup := NewEnv(env1.Ctx, t, env1.Sandbox, env1.Server, env1.Editor.Config(), true)
+-		defer cleanup()
 -		env2.Await(InitialWorkspaceLoad)
 -		testFunc(env1, env2)
 -	})
 -}
 -
 -func TestSimultaneousEdits(t *testing.T) {
--	runShared(t, func(env1 *Env, env2 *Env) {
+-	runShared(t, func(origEnv *Env, otherEnv *Env) {
 -		// In editor #1, break fmt.Println as before.
--		env1.OpenFile("main.go")
--		env1.RegexpReplace("main.go", "Printl(n)", "")
+-		origEnv.OpenFile("main.go")
+-		origEnv.RegexpReplace("main.go", "Printl(n)", "")
 -		// In editor #2 remove the closing brace.
--		env2.OpenFile("main.go")
--		env2.RegexpReplace("main.go", "\\)\n(})", "")
+-		otherEnv.OpenFile("main.go")
+-		otherEnv.RegexpReplace("main.go", "\\)\n(})", "")
 -
 -		// Now check that we got different diagnostics in each environment.
--		env1.Await(env1.DiagnosticAtRegexp("main.go", "Printl"))
--		env2.Await(env2.DiagnosticAtRegexp("main.go", "$"))
+-		origEnv.Await(origEnv.DiagnosticAtRegexp("main.go", "Printl"))
+-		otherEnv.Await(otherEnv.DiagnosticAtRegexp("main.go", "$"))
 -	})
 -}
 -
 -func TestShutdown(t *testing.T) {
--	runShared(t, func(env1 *Env, env2 *Env) {
--		if err := env1.Editor.Close(env1.Ctx); err != nil {
+-	runShared(t, func(origEnv *Env, otherEnv *Env) {
+-		// Close otherEnv, and verify that operation in the original environment is
+-		// unaffected. Note: 'otherEnv' must be the environment being closed here.
+-		// If we were to instead close 'env' here, we'd run into a duplicate
+-		// shutdown when the test runner closes the original env.
+-		if err := otherEnv.Editor.Close(otherEnv.Ctx); err != nil {
 -			t.Errorf("closing first editor: %v", err)
 -		}
 -		// Now make an edit in editor #2 to trigger diagnostics.
--		env2.OpenFile("main.go")
--		env2.RegexpReplace("main.go", "\\)\n(})", "")
--		env2.Await(env2.DiagnosticAtRegexp("main.go", "$"))
+-		origEnv.OpenFile("main.go")
+-		origEnv.RegexpReplace("main.go", "\\)\n(})", "")
+-		origEnv.Await(origEnv.DiagnosticAtRegexp("main.go", "$"))
 -	})
 -}
 diff -urN a/gopls/internal/regtest/misc/staticcheck_test.go b/gopls/internal/regtest/misc/staticcheck_test.go
 --- a/gopls/internal/regtest/misc/staticcheck_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/misc/staticcheck_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,78 +0,0 @@
+@@ -1,76 +0,0 @@
 -// Copyright 2022 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -13312,11 +13887,9 @@
 -var FooErr error = errors.New("foo")
 -`
 -
--	WithOptions(EditorConfig{
--		Settings: map[string]interface{}{
--			"staticcheck": true,
--		},
--	}).Run(t, files, func(t *testing.T, env *Env) {
+-	WithOptions(
+-		Settings{"staticcheck": true},
+-	).Run(t, files, func(t *testing.T, env *Env) {
 -		env.OpenFile("a/a.go")
 -		env.Await(
 -			env.DiagnosticAtRegexpFromSource("a/a.go", "sort.Slice", "sortslice"),
@@ -13331,7 +13904,7 @@
 diff -urN a/gopls/internal/regtest/misc/vendor_test.go b/gopls/internal/regtest/misc/vendor_test.go
 --- a/gopls/internal/regtest/misc/vendor_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/misc/vendor_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,79 +0,0 @@
+@@ -1,69 +0,0 @@
 -// Copyright 2020 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -13361,16 +13934,6 @@
 -func TestInconsistentVendoring(t *testing.T) {
 -	testenv.NeedsGo1Point(t, 14)
 -
--	// TODO(golang/go#49646): delete this comment once this test is stable.
--	//
--	// In golang/go#49646, this test is reported as flaky on Windows. We believe
--	// this is due to file contention from go mod vendor that should be resolved.
--	// If this test proves to still be flaky, skip it.
--	//
--	// if runtime.GOOS == "windows" {
--	// 	t.Skipf("skipping test due to flakiness on Windows: https://golang.org/issue/49646")
--	// }
--
 -	const pkgThatUsesVendoring = `
 --- go.mod --
 -module mod.com
@@ -13393,7 +13956,7 @@
 -}
 -`
 -	WithOptions(
--		Modes(Singleton),
+-		Modes(Default),
 -		ProxyFiles(basicProxy),
 -	).Run(t, pkgThatUsesVendoring, func(t *testing.T, env *Env) {
 -		env.OpenFile("a/a1.go")
@@ -13461,7 +14024,7 @@
 diff -urN a/gopls/internal/regtest/misc/workspace_symbol_test.go b/gopls/internal/regtest/misc/workspace_symbol_test.go
 --- a/gopls/internal/regtest/misc/workspace_symbol_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/misc/workspace_symbol_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,131 +0,0 @@
+@@ -1,127 +0,0 @@
 -// Copyright 2022 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -13536,9 +14099,7 @@
 -
 -	var symbolMatcher = string(source.SymbolFastFuzzy)
 -	WithOptions(
--		EditorConfig{
--			SymbolMatcher: &symbolMatcher,
--		},
+-		Settings{"symbolMatcher": symbolMatcher},
 -	).Run(t, files, func(t *testing.T, env *Env) {
 -		want := []string{
 -			"Foo",    // prefer exact segment matches first
@@ -13569,9 +14130,7 @@
 -
 -	var symbolMatcher = string(source.SymbolFastFuzzy)
 -	WithOptions(
--		EditorConfig{
--			SymbolMatcher: &symbolMatcher,
--		},
+-		Settings{"symbolMatcher": symbolMatcher},
 -	).Run(t, files, func(t *testing.T, env *Env) {
 -		compareSymbols(t, env.WorkspaceSymbol("ABC"), []string{"ABC", "AxxBxxCxx"})
 -		compareSymbols(t, env.WorkspaceSymbol("'ABC"), []string{"ABC"})
@@ -13596,7 +14155,7 @@
 diff -urN a/gopls/internal/regtest/modfile/modfile_test.go b/gopls/internal/regtest/modfile/modfile_test.go
 --- a/gopls/internal/regtest/modfile/modfile_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/modfile/modfile_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,1199 +0,0 @@
+@@ -1,1193 +0,0 @@
 -// Copyright 2020 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -14339,13 +14898,9 @@
 -}
 -`
 -	WithOptions(
--		EditorConfig{
--			Env: map[string]string{
--				"GOFLAGS": "-mod=readonly",
--			},
--		},
+-		EnvVars{"GOFLAGS": "-mod=readonly"},
 -		ProxyFiles(proxy),
--		Modes(Singleton),
+-		Modes(Default),
 -	).Run(t, mod, func(t *testing.T, env *Env) {
 -		env.OpenFile("main.go")
 -		original := env.ReadWorkspaceFile("go.mod")
@@ -14429,9 +14984,7 @@
 -`
 -	WithOptions(
 -		ProxyFiles(workspaceProxy),
--		EditorConfig{
--			BuildFlags: []string{"-tags", "bob"},
--		},
+-		Settings{"buildFlags": []string{"-tags", "bob"}},
 -	).Run(t, mod, func(t *testing.T, env *Env) {
 -		env.Await(
 -			env.DiagnosticAtRegexp("main.go", `"example.com/blah"`),
@@ -14527,7 +15080,7 @@
 -		// TODO(rFindley) this doesn't work in multi-module workspace mode, because
 -		// it keeps around the last parsing modfile. Update this test to also
 -		// exercise the workspace module.
--		Modes(Singleton),
+-		Modes(Default),
 -	).Run(t, mod, func(t *testing.T, env *Env) {
 -		env.OpenFile("go.mod")
 -		env.Await(env.DoneWithOpen())
@@ -14695,7 +15248,7 @@
 -`
 -	WithOptions(
 -		ProxyFiles(workspaceProxy),
--		Modes(Singleton),
+-		Modes(Default),
 -	).Run(t, mod, func(t *testing.T, env *Env) {
 -		env.OpenFile("go.mod")
 -		params := &protocol.PublishDiagnosticsParams{}
@@ -14764,7 +15317,7 @@
 -`
 -	WithOptions(
 -		ProxyFiles(proxy),
--		Modes(Singleton),
+-		Modes(Default),
 -	).Run(t, mod, func(t *testing.T, env *Env) {
 -		env.OpenFile("main.go")
 -		d := &protocol.PublishDiagnosticsParams{}
@@ -14799,7 +15352,7 @@
 diff -urN a/gopls/internal/regtest/template/template_test.go b/gopls/internal/regtest/template/template_test.go
 --- a/gopls/internal/regtest/template/template_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/template/template_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,232 +0,0 @@
+@@ -1,224 +0,0 @@
 -// Copyright 2022 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -14837,11 +15390,9 @@
 -{{end}}
 -`
 -	WithOptions(
--		EditorConfig{
--			Settings: map[string]interface{}{
--				"templateExtensions": []string{"tmpl"},
--				"semanticTokens":     true,
--			},
+-		Settings{
+-			"templateExtensions": []string{"tmpl"},
+-			"semanticTokens":     true,
 -		},
 -	).Run(t, files, func(t *testing.T, env *Env) {
 -		var p protocol.SemanticTokensParams
@@ -14868,11 +15419,9 @@
 -{{end}}
 -`
 -	WithOptions(
--		EditorConfig{
--			Settings: map[string]interface{}{
--				"templateExtensions": []string{"tmpl"},
--				"semanticTokens":     true,
--			},
+-		Settings{
+-			"templateExtensions": []string{"tmpl"},
+-			"semanticTokens":     true,
 -		},
 -	).Run(t, files, func(t *testing.T, env *Env) {
 -		// TODO: can we move this diagnostic onto {{}}?
@@ -14914,11 +15463,9 @@
 -`
 -
 -	WithOptions(
--		EditorConfig{
--			Settings: map[string]interface{}{
--				"templateExtensions": []string{"tmpl"},
--			},
--			DirectoryFilters: []string{"-b"},
+-		Settings{
+-			"directoryFilters":   []string{"-b"},
+-			"templateExtensions": []string{"tmpl"},
 -		},
 -	).Run(t, files, func(t *testing.T, env *Env) {
 -		env.Await(
@@ -14986,10 +15533,8 @@
 -`
 -
 -	WithOptions(
--		EditorConfig{
--			Settings: map[string]interface{}{
--				"templateExtensions": []string{"tmpl", "gotmpl"},
--			},
+-		Settings{
+-			"templateExtensions": []string{"tmpl", "gotmpl"},
 -		},
 -	).Run(t, files, func(t *testing.T, env *Env) {
 -		env.OpenFile("a.tmpl")
@@ -15035,7 +15580,7 @@
 diff -urN a/gopls/internal/regtest/watch/watch_test.go b/gopls/internal/regtest/watch/watch_test.go
 --- a/gopls/internal/regtest/watch/watch_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/watch/watch_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,768 +0,0 @@
+@@ -1,758 +0,0 @@
 -// Copyright 2020 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -15237,14 +15782,12 @@
 -}
 -`
 -	Run(t, missing, func(t *testing.T, env *Env) {
--		t.Skip("the initial workspace load fails and never retries")
--
 -		env.Await(
 -			env.DiagnosticAtRegexp("a/a.go", "\"mod.com/c\""),
 -		)
 -		env.WriteWorkspaceFile("c/c.go", `package c; func C() {};`)
 -		env.Await(
--			EmptyDiagnostics("c/c.go"),
+-			EmptyDiagnostics("a/a.go"),
 -		)
 -	})
 -}
@@ -15427,9 +15970,9 @@
 -package a
 -`
 -	t.Run("close then delete", func(t *testing.T) {
--		WithOptions(EditorConfig{
--			VerboseOutput: true,
--		}).Run(t, pkg, func(t *testing.T, env *Env) {
+-		WithOptions(
+-			Settings{"verboseOutput": true},
+-		).Run(t, pkg, func(t *testing.T, env *Env) {
 -			env.OpenFile("a/a.go")
 -			env.OpenFile("a/a_unneeded.go")
 -			env.Await(
@@ -15462,7 +16005,7 @@
 -
 -	t.Run("delete then close", func(t *testing.T) {
 -		WithOptions(
--			EditorConfig{VerboseOutput: true},
+-			Settings{"verboseOutput": true},
 -		).Run(t, pkg, func(t *testing.T, env *Env) {
 -			env.OpenFile("a/a.go")
 -			env.OpenFile("a/a_unneeded.go")
@@ -15658,11 +16201,7 @@
 -`
 -	WithOptions(
 -		InGOPATH(),
--		EditorConfig{
--			Env: map[string]string{
--				"GO111MODULE": "auto",
--			},
--		},
+-		EnvVars{"GO111MODULE": "auto"},
 -		Modes(Experimental), // module is in a subdirectory
 -	).Run(t, files, func(t *testing.T, env *Env) {
 -		env.OpenFile("foo/main.go")
@@ -15701,11 +16240,7 @@
 -`
 -	WithOptions(
 -		InGOPATH(),
--		EditorConfig{
--			Env: map[string]string{
--				"GO111MODULE": "auto",
--			},
--		},
+-		EnvVars{"GO111MODULE": "auto"},
 -	).Run(t, files, func(t *testing.T, env *Env) {
 -		env.OpenFile("foo/main.go")
 -		env.RemoveWorkspaceFile("foo/go.mod")
@@ -15854,7 +16389,7 @@
 diff -urN a/gopls/internal/regtest/workspace/workspace_test.go b/gopls/internal/regtest/workspace/workspace_test.go
 --- a/gopls/internal/regtest/workspace/workspace_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/regtest/workspace/workspace_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,1307 +0,0 @@
+@@ -1,1354 +0,0 @@
 -// Copyright 2020 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -15872,7 +16407,6 @@
 -	"golang.org/x/tools/internal/lsp/bug"
 -	"golang.org/x/tools/internal/lsp/fake"
 -	"golang.org/x/tools/internal/lsp/protocol"
--	"golang.org/x/tools/internal/lsp/source"
 -	"golang.org/x/tools/internal/testenv"
 -
 -	. "golang.org/x/tools/internal/lsp/regtest"
@@ -15995,36 +16529,22 @@
 -	}
 -}
 -
--// make sure that directory filters work
--func TestFilters(t *testing.T) {
--	for _, tt := range []struct {
--		name, rootPath string
--	}{
--		{
--			name:     "module root",
--			rootPath: "pkg",
+-func TestDirectoryFilters(t *testing.T) {
+-	WithOptions(
+-		ProxyFiles(workspaceProxy),
+-		WorkspaceFolders("pkg"),
+-		Settings{
+-			"directoryFilters": []string{"-inner"},
 -		},
--	} {
--		t.Run(tt.name, func(t *testing.T) {
--			opts := []RunOption{ProxyFiles(workspaceProxy)}
--			if tt.rootPath != "" {
--				opts = append(opts, WorkspaceFolders(tt.rootPath))
+-	).Run(t, workspaceModule, func(t *testing.T, env *Env) {
+-		syms := env.WorkspaceSymbol("Hi")
+-		sort.Slice(syms, func(i, j int) bool { return syms[i].ContainerName < syms[j].ContainerName })
+-		for _, s := range syms {
+-			if strings.Contains(s.ContainerName, "inner") {
+-				t.Errorf("WorkspaceSymbol: found symbol %q with container %q, want \"inner\" excluded", s.Name, s.ContainerName)
 -			}
--			f := func(o *source.Options) {
--				o.DirectoryFilters = append(o.DirectoryFilters, "-inner")
--			}
--			opts = append(opts, Options(f))
--			WithOptions(opts...).Run(t, workspaceModule, func(t *testing.T, env *Env) {
--				syms := env.WorkspaceSymbol("Hi")
--				sort.Slice(syms, func(i, j int) bool { return syms[i].ContainerName < syms[j].ContainerName })
--				for i, s := range syms {
--					if strings.Contains(s.ContainerName, "/inner") {
--						t.Errorf("%s %v %s %s %d\n", s.Name, s.Kind, s.ContainerName, tt.name, i)
--					}
--				}
--			})
--		})
--	}
+-		}
+-	})
 -}
 -
 -// Make sure that analysis diagnostics are cleared for the whole package when
@@ -16893,10 +17413,10 @@
 -
 -const _ = Nonexistant
 -`
--	cfg := EditorConfig{
--		DirectoryFilters: []string{"-exclude"},
--	}
--	WithOptions(cfg).Run(t, files, func(t *testing.T, env *Env) {
+-
+-	WithOptions(
+-		Settings{"directoryFilters": []string{"-exclude"}},
+-	).Run(t, files, func(t *testing.T, env *Env) {
 -		env.Await(NoDiagnostics("exclude/x.go"))
 -	})
 -}
@@ -16921,10 +17441,9 @@
 -const X = 1
 -`
 -
--	cfg := EditorConfig{
--		DirectoryFilters: []string{"-exclude"},
--	}
--	WithOptions(cfg).Run(t, files, func(t *testing.T, env *Env) {
+-	WithOptions(
+-		Settings{"directoryFilters": []string{"-exclude"}},
+-	).Run(t, files, func(t *testing.T, env *Env) {
 -		env.Await(
 -			NoDiagnostics("exclude/exclude.go"), // filtered out
 -			NoDiagnostics("include/include.go"), // successfully builds
@@ -16971,10 +17490,11 @@
 --- exclude.com@v1.0.0/exclude.go --
 -package exclude
 -`
--	cfg := EditorConfig{
--		DirectoryFilters: []string{"-exclude"},
--	}
--	WithOptions(cfg, Modes(Experimental), ProxyFiles(proxy)).Run(t, files, func(t *testing.T, env *Env) {
+-	WithOptions(
+-		Modes(Experimental),
+-		ProxyFiles(proxy),
+-		Settings{"directoryFilters": []string{"-exclude"}},
+-	).Run(t, files, func(t *testing.T, env *Env) {
 -		env.Await(env.DiagnosticAtRegexp("include/include.go", `exclude.(X)`))
 -	})
 -}
@@ -17061,10 +17581,8 @@
 -package main
 -`
 -	WithOptions(
--		EditorConfig{Env: map[string]string{
--			"GOPATH": filepath.FromSlash("$SANDBOX_WORKDIR/gopath"),
--		}},
--		Modes(Singleton),
+-		EnvVars{"GOPATH": filepath.FromSlash("$SANDBOX_WORKDIR/gopath")},
+-		Modes(Default),
 -	).Run(t, mod, func(t *testing.T, env *Env) {
 -		env.Await(
 -			// Confirm that the build configuration is seen as valid,
@@ -17095,7 +17613,7 @@
 -func main() {}
 -`
 -	WithOptions(
--		Modes(Singleton),
+-		Modes(Default),
 -	).Run(t, nomod, func(t *testing.T, env *Env) {
 -		env.OpenFile("a/main.go")
 -		env.OpenFile("b/main.go")
@@ -17162,10 +17680,74 @@
 -		_, _ = env.GoToDefinition("other_test.go", env.RegexpSearch("other_test.go", "Server"))
 -	})
 -}
+-
+-// Test for golang/go#48929.
+-func TestClearNonWorkspaceDiagnostics(t *testing.T) {
+-	testenv.NeedsGo1Point(t, 18) // uses go.work
+-
+-	const ws = `
+--- go.work --
+-go 1.18
+-
+-use (
+-        ./b
+-)
+--- a/go.mod --
+-module a
+-
+-go 1.17
+--- a/main.go --
+-package main
+-
+-func main() {
+-   var V string
+-}
+--- b/go.mod --
+-module b
+-
+-go 1.17
+--- b/main.go --
+-package b
+-
+-import (
+-        _ "fmt"
+-)
+-`
+-	Run(t, ws, func(t *testing.T, env *Env) {
+-		env.OpenFile("b/main.go")
+-		env.Await(
+-			OnceMet(
+-				env.DoneWithOpen(),
+-				NoDiagnostics("a/main.go"),
+-			),
+-		)
+-		env.OpenFile("a/main.go")
+-		env.Await(
+-			OnceMet(
+-				env.DoneWithOpen(),
+-				env.DiagnosticAtRegexpWithMessage("a/main.go", "V", "declared but not used"),
+-			),
+-		)
+-		env.CloseBuffer("a/main.go")
+-
+-		// Make an arbitrary edit because gopls explicitly diagnoses a/main.go
+-		// whenever it is "changed".
+-		//
+-		// TODO(rfindley): it should not be necessary to make another edit here.
+-		// Gopls should be smart enough to avoid diagnosing a.
+-		env.RegexpReplace("b/main.go", "package b", "package b // a package")
+-		env.Await(
+-			OnceMet(
+-				env.DoneWithChange(),
+-				EmptyDiagnostics("a/main.go"),
+-			),
+-		)
+-	})
+-}
 diff -urN a/gopls/internal/vulncheck/command.go b/gopls/internal/vulncheck/command.go
 --- a/gopls/internal/vulncheck/command.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/vulncheck/command.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,123 +0,0 @@
+@@ -1,197 +0,0 @@
 -// Copyright 2022 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -17179,12 +17761,15 @@
 -	"context"
 -	"log"
 -	"os"
+-	"sort"
 -	"strings"
 -
 -	"golang.org/x/tools/go/packages"
 -	gvc "golang.org/x/tools/gopls/internal/govulncheck"
 -	"golang.org/x/tools/internal/lsp/command"
 -	"golang.org/x/vuln/client"
+-	"golang.org/x/vuln/osv"
+-	"golang.org/x/vuln/vulncheck"
 -)
 -
 -func init() {
@@ -17245,31 +17830,88 @@
 -		log.Printf("package load failed: %v", err)
 -		return nil, err
 -	}
--	log.Printf("loaded %d packages\n", len(loadedPkgs))
 -
--	r, err := gvc.Source(ctx, loadedPkgs, c.Client)
+-	log.Printf("analyzing %d packages...\n", len(loadedPkgs))
+-
+-	r, err := vulncheck.Source(ctx, loadedPkgs, &vulncheck.Config{Client: c.Client, SourceGoVersion: goVersion()})
 -	if err != nil {
 -		return nil, err
 -	}
+-
+-	log.Printf("selecting affecting vulnerabilities from %d findings...\n", len(r.Vulns))
+-	unaffectedMods := filterUnaffected(r.Vulns)
+-	r.Vulns = filterCalled(r)
+-
+-	log.Printf("found %d vulnerabilities.\n", len(r.Vulns))
 -	callInfo := gvc.GetCallInfo(r, loadedPkgs)
--	return toVulns(callInfo)
+-	return toVulns(callInfo, unaffectedMods)
 -	// TODO: add import graphs.
 -}
 -
--func toVulns(ci *gvc.CallInfo) ([]Vuln, error) {
+-// filterCalled returns vulnerabilities where the symbols are actually called.
+-func filterCalled(r *vulncheck.Result) []*vulncheck.Vuln {
+-	var vulns []*vulncheck.Vuln
+-	for _, v := range r.Vulns {
+-		if v.CallSink != 0 {
+-			vulns = append(vulns, v)
+-		}
+-	}
+-	return vulns
+-}
+-
+-// filterUnaffected returns vulnerabilities where no symbols are called,
+-// grouped by module.
+-func filterUnaffected(vulns []*vulncheck.Vuln) map[string][]*osv.Entry {
+-	// It is possible that the same vuln.OSV.ID has vuln.CallSink != 0
+-	// for one symbol, but vuln.CallSink == 0 for a different one, so
+-	// we need to filter out ones that have been called.
+-	called := map[string]bool{}
+-	for _, vuln := range vulns {
+-		if vuln.CallSink != 0 {
+-			called[vuln.OSV.ID] = true
+-		}
+-	}
+-
+-	modToIDs := map[string]map[string]*osv.Entry{}
+-	for _, vuln := range vulns {
+-		if !called[vuln.OSV.ID] {
+-			if _, ok := modToIDs[vuln.ModPath]; !ok {
+-				modToIDs[vuln.ModPath] = map[string]*osv.Entry{}
+-			}
+-			// keep only one vuln.OSV instance for the same ID.
+-			modToIDs[vuln.ModPath][vuln.OSV.ID] = vuln.OSV
+-		}
+-	}
+-	output := map[string][]*osv.Entry{}
+-	for m, vulnSet := range modToIDs {
+-		var vulns []*osv.Entry
+-		for _, vuln := range vulnSet {
+-			vulns = append(vulns, vuln)
+-		}
+-		sort.Slice(vulns, func(i, j int) bool { return vulns[i].ID < vulns[j].ID })
+-		output[m] = vulns
+-	}
+-	return output
+-}
+-
+-func fixed(v *osv.Entry) string {
+-	lf := gvc.LatestFixed(v.Affected)
+-	if lf != "" && lf[0] != 'v' {
+-		lf = "v" + lf
+-	}
+-	return lf
+-}
+-
+-func toVulns(ci *gvc.CallInfo, unaffectedMods map[string][]*osv.Entry) ([]Vuln, error) {
 -	var vulns []Vuln
 -
 -	for _, vg := range ci.VulnGroups {
 -		v0 := vg[0]
--		lf := gvc.LatestFixed(v0.OSV.Affected)
--		if lf != "" && lf[0] != 'v' {
--			lf = "v" + lf
--		}
 -		vuln := Vuln{
 -			ID:             v0.OSV.ID,
 -			PkgPath:        v0.PkgPath,
 -			CurrentVersion: ci.ModuleVersions[v0.ModPath],
--			FixedVersion:   lf,
+-			FixedVersion:   fixed(v0.OSV),
 -			Details:        v0.OSV.Details,
 -
 -			Aliases: v0.OSV.Aliases,
@@ -17287,12 +17929,26 @@
 -		}
 -		vulns = append(vulns, vuln)
 -	}
+-	for m, vg := range unaffectedMods {
+-		for _, v0 := range vg {
+-			vuln := Vuln{
+-				ID:             v0.ID,
+-				Details:        v0.Details,
+-				Aliases:        v0.Aliases,
+-				ModPath:        m,
+-				URL:            href(v0),
+-				CurrentVersion: "",
+-				FixedVersion:   fixed(v0),
+-			}
+-			vulns = append(vulns, vuln)
+-		}
+-	}
 -	return vulns, nil
 -}
 diff -urN a/gopls/internal/vulncheck/command_test.go b/gopls/internal/vulncheck/command_test.go
 --- a/gopls/internal/vulncheck/command_test.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/vulncheck/command_test.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,310 +0,0 @@
+@@ -1,339 +0,0 @@
 -// Copyright 2022 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -17376,6 +18032,15 @@
 -						"golang.org/bmod/bvuln.Vuln (bvuln.go:2)\n",
 -				},
 -			},
+-			{
+-				Vuln: Vuln{
+-					ID:           "GO-2022-03",
+-					Details:      "unaffecting vulnerability",
+-					ModPath:      "golang.org/amod",
+-					URL:          "https://pkg.go.dev/vuln/GO-2022-03",
+-					FixedVersion: "v1.0.4",
+-				},
+-			},
 -		}
 -		// sort reports for stability before comparison.
 -		for _, rpts := range [][]report{got, want} {
@@ -17523,6 +18188,21 @@
 -					EcosystemSpecific: osv.EcosystemSpecific{Symbols: []string{"VulnData.Vuln1", "VulnData.Vuln2"}},
 -				}},
 -			},
+-			{
+-				ID:      "GO-2022-03",
+-				Details: "unaffecting vulnerability",
+-				References: []osv.Reference{
+-					{
+-						Type: "href",
+-						URL:  "pkg.go.dev/vuln/GO-2022-01",
+-					},
+-				},
+-				Affected: []osv.Affected{{
+-					Package:           osv.Package{Name: "golang.org/amod/avuln"},
+-					Ranges:            osv.Affects{{Type: osv.TypeSemver, Events: []osv.RangeEvent{{Introduced: "1.0.0"}, {Fixed: "1.0.4"}, {Introduced: "1.1.2"}}}},
+-					EcosystemSpecific: osv.EcosystemSpecific{Symbols: []string{"nonExisting"}},
+-				}},
+-			},
 -		},
 -		"golang.org/bmod": {
 -			{
@@ -17564,7 +18244,7 @@
 -		t.Fatal(err)
 -	}
 -
--	cache := cache.New(nil)
+-	cache := cache.New(nil, nil, nil)
 -	session := cache.NewSession(ctx)
 -	options := source.DefaultOptions().Clone()
 -	tests.DefaultOptions(options)
@@ -17580,8 +18260,13 @@
 -	if err != nil {
 -		t.Fatal(err)
 -	}
--	defer release()
--	defer view.Shutdown(ctx)
+-
+-	defer func() {
+-		// The snapshot must be released before calling view.Shutdown, to avoid a
+-		// deadlock.
+-		release()
+-		view.Shutdown(ctx)
+-	}()
 -
 -	test(ctx, snapshot)
 -}
@@ -17606,7 +18291,7 @@
 diff -urN a/gopls/internal/vulncheck/util.go b/gopls/internal/vulncheck/util.go
 --- a/gopls/internal/vulncheck/util.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/vulncheck/util.go	1969-12-31 16:00:00.000000000 -0800
-@@ -1,82 +0,0 @@
+@@ -1,98 +0,0 @@
 -// Copyright 2022 The Go Authors. All rights reserved.
 -// Use of this source code is governed by a BSD-style
 -// license that can be found in the LICENSE file.
@@ -17617,8 +18302,11 @@
 -package vulncheck
 -
 -import (
+-	"bytes"
 -	"fmt"
 -	"go/token"
+-	"os"
+-	"os/exec"
 -
 -	gvc "golang.org/x/tools/gopls/internal/govulncheck"
 -	"golang.org/x/tools/internal/lsp/protocol"
@@ -17689,6 +18377,19 @@
 -	}
 -	return p
 -}
+-
+-func goVersion() string {
+-	if v := os.Getenv("GOVERSION"); v != "" {
+-		// Unlikely to happen in practice, mostly used for testing.
+-		return v
+-	}
+-	out, err := exec.Command("go", "env", "GOVERSION").Output()
+-	if err != nil {
+-		fmt.Fprintf(os.Stderr, "failed to determine go version; skipping stdlib scanning: %v\n", err)
+-		return ""
+-	}
+-	return string(bytes.TrimSpace(out))
+-}
 diff -urN a/gopls/internal/vulncheck/vulncheck.go b/gopls/internal/vulncheck/vulncheck.go
 --- a/gopls/internal/vulncheck/vulncheck.go	2000-01-01 00:00:00.000000000 -0000
 +++ b/gopls/internal/vulncheck/vulncheck.go	1969-12-31 16:00:00.000000000 -0800
diff --git a/third_party/org_golang_x_tools-gazelle.patch b/third_party/org_golang_x_tools-gazelle.patch
index 0c5d42b..14716af 100644
--- a/third_party/org_golang_x_tools-gazelle.patch
+++ b/third_party/org_golang_x_tools-gazelle.patch
@@ -6483,7 +6483,7 @@
 diff -urN b/go/internal/gcimporter/BUILD.bazel c/go/internal/gcimporter/BUILD.bazel
 --- b/go/internal/gcimporter/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ c/go/internal/gcimporter/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,47 @@
+@@ -0,0 +1,53 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
 +
 +go_library(
@@ -6499,10 +6499,16 @@
 +        "newInterface11.go",
 +        "support_go117.go",
 +        "support_go118.go",
++        "unified_no.go",
++        "ureader_no.go",
++        "ureader_yes.go",
 +    ],
 +    importpath = "golang.org/x/tools/go/internal/gcimporter",
 +    visibility = ["//go:__subpackages__"],
-+    deps = ["//internal/typeparams"],
++    deps = [
++        "//go/internal/pkgbits",
++        "//internal/typeparams",
++    ],
 +)
 +
 +alias(
@@ -6589,6 +6595,36 @@
 +    actual = ":packagesdriver",
 +    visibility = ["//go:__subpackages__"],
 +)
+diff -urN b/go/internal/pkgbits/BUILD.bazel c/go/internal/pkgbits/BUILD.bazel
+--- b/go/internal/pkgbits/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ c/go/internal/pkgbits/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,26 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_library")
++
++go_library(
++    name = "pkgbits",
++    srcs = [
++        "codes.go",
++        "decoder.go",
++        "doc.go",
++        "encoder.go",
++        "flags.go",
++        "frames_go1.go",
++        "frames_go17.go",
++        "reloc.go",
++        "support.go",
++        "sync.go",
++        "syncmarker_string.go",
++    ],
++    importpath = "golang.org/x/tools/go/internal/pkgbits",
++    visibility = ["//go:__subpackages__"],
++)
++
++alias(
++    name = "go_default_library",
++    actual = ":pkgbits",
++    visibility = ["//go:__subpackages__"],
++)
 diff -urN b/go/loader/BUILD.bazel c/go/loader/BUILD.bazel
 --- b/go/loader/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ c/go/loader/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -8263,7 +8299,7 @@
 diff -urN b/godoc/BUILD.bazel c/godoc/BUILD.bazel
 --- b/godoc/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ c/godoc/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,64 @@
+@@ -0,0 +1,66 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
 +
 +go_library(
@@ -8287,6 +8323,8 @@
 +        "spot.go",
 +        "tab.go",
 +        "template.go",
++        "tohtml_go119.go",
++        "tohtml_other.go",
 +        "versions.go",
 +    ],
 +    importpath = "golang.org/x/tools/godoc",
@@ -8587,7 +8625,7 @@
 diff -urN b/internal/analysisinternal/BUILD.bazel c/internal/analysisinternal/BUILD.bazel
 --- b/internal/analysisinternal/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ c/internal/analysisinternal/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,15 @@
+@@ -0,0 +1,14 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -8595,7 +8633,6 @@
 +    srcs = ["analysis.go"],
 +    importpath = "golang.org/x/tools/internal/analysisinternal",
 +    visibility = ["//:__subpackages__"],
-+    deps = ["//internal/lsp/fuzzy"],
 +)
 +
 +alias(
@@ -9260,7 +9297,7 @@
 diff -urN b/internal/lsp/BUILD.bazel c/internal/lsp/BUILD.bazel
 --- b/internal/lsp/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ c/internal/lsp/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,88 @@
+@@ -0,0 +1,89 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
 +
 +go_library(
@@ -9280,6 +9317,7 @@
 +        "highlight.go",
 +        "hover.go",
 +        "implementation.go",
++        "inlay_hint.go",
 +        "link.go",
 +        "references.go",
 +        "rename.go",
@@ -9403,7 +9441,7 @@
 diff -urN b/internal/lsp/analysis/fillreturns/BUILD.bazel c/internal/lsp/analysis/fillreturns/BUILD.bazel
 --- b/internal/lsp/analysis/fillreturns/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ c/internal/lsp/analysis/fillreturns/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,30 @@
+@@ -0,0 +1,31 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
 +
 +go_library(
@@ -9415,6 +9453,7 @@
 +        "//go/analysis",
 +        "//go/ast/astutil",
 +        "//internal/analysisinternal",
++        "//internal/lsp/fuzzy",
 +        "//internal/typeparams",
 +    ],
 +)
@@ -9473,7 +9512,7 @@
 diff -urN b/internal/lsp/analysis/fillstruct/BUILD.bazel c/internal/lsp/analysis/fillstruct/BUILD.bazel
 --- b/internal/lsp/analysis/fillstruct/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ c/internal/lsp/analysis/fillstruct/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,33 @@
+@@ -0,0 +1,34 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
 +
 +go_library(
@@ -9487,6 +9526,7 @@
 +        "//go/ast/astutil",
 +        "//go/ast/inspector",
 +        "//internal/analysisinternal",
++        "//internal/lsp/fuzzy",
 +        "//internal/span",
 +        "//internal/typeparams",
 +    ],
@@ -10105,6 +10145,74 @@
 +    actual = ":typeparams",
 +    visibility = ["//:__subpackages__"],
 +)
+diff -urN b/internal/lsp/analysis/unusedvariable/BUILD.bazel c/internal/lsp/analysis/unusedvariable/BUILD.bazel
+--- b/internal/lsp/analysis/unusedvariable/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ c/internal/lsp/analysis/unusedvariable/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,28 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
++
++go_library(
++    name = "unusedvariable",
++    srcs = ["unusedvariable.go"],
++    importpath = "golang.org/x/tools/internal/lsp/analysis/unusedvariable",
++    visibility = ["//:__subpackages__"],
++    deps = [
++        "//go/analysis",
++        "//go/ast/astutil",
++        "//internal/analysisinternal",
++    ],
++)
++
++alias(
++    name = "go_default_library",
++    actual = ":unusedvariable",
++    visibility = ["//:__subpackages__"],
++)
++
++go_test(
++    name = "unusedvariable_test",
++    srcs = ["unusedvariable_test.go"],
++    deps = [
++        ":unusedvariable",
++        "//go/analysis/analysistest",
++    ],
++)
+diff -urN b/internal/lsp/analysis/unusedvariable/testdata/src/assign/BUILD.bazel c/internal/lsp/analysis/unusedvariable/testdata/src/assign/BUILD.bazel
+--- b/internal/lsp/analysis/unusedvariable/testdata/src/assign/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ c/internal/lsp/analysis/unusedvariable/testdata/src/assign/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,14 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_library")
++
++go_library(
++    name = "assign",
++    srcs = ["a.go"],
++    importpath = "golang.org/x/tools/internal/lsp/analysis/unusedvariable/testdata/src/assign",
++    visibility = ["//:__subpackages__"],
++)
++
++alias(
++    name = "go_default_library",
++    actual = ":assign",
++    visibility = ["//:__subpackages__"],
++)
+diff -urN b/internal/lsp/analysis/unusedvariable/testdata/src/decl/BUILD.bazel c/internal/lsp/analysis/unusedvariable/testdata/src/decl/BUILD.bazel
+--- b/internal/lsp/analysis/unusedvariable/testdata/src/decl/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ c/internal/lsp/analysis/unusedvariable/testdata/src/decl/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,14 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_library")
++
++go_library(
++    name = "decl",
++    srcs = ["a.go"],
++    importpath = "golang.org/x/tools/internal/lsp/analysis/unusedvariable/testdata/src/decl",
++    visibility = ["//:__subpackages__"],
++)
++
++alias(
++    name = "go_default_library",
++    actual = ":decl",
++    visibility = ["//:__subpackages__"],
++)
 diff -urN b/internal/lsp/analysis/useany/BUILD.bazel c/internal/lsp/analysis/useany/BUILD.bazel
 --- b/internal/lsp/analysis/useany/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ c/internal/lsp/analysis/useany/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -10203,7 +10311,7 @@
 diff -urN b/internal/lsp/cache/BUILD.bazel c/internal/lsp/cache/BUILD.bazel
 --- b/internal/lsp/cache/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ c/internal/lsp/cache/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,88 @@
+@@ -0,0 +1,90 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
 +
 +go_library(
@@ -10212,11 +10320,13 @@
 +        "analysis.go",
 +        "cache.go",
 +        "check.go",
++        "debug.go",
 +        "errors.go",
 +        "graph.go",
 +        "imports.go",
 +        "keys.go",
 +        "load.go",
++        "maps.go",
 +        "metadata.go",
 +        "mod.go",
 +        "mod_tidy.go",
@@ -10246,7 +10356,6 @@
 +        "//internal/imports",
 +        "//internal/lsp/bug",
 +        "//internal/lsp/command",
-+        "//internal/lsp/debug/log",
 +        "//internal/lsp/debug/tag",
 +        "//internal/lsp/diff",
 +        "//internal/lsp/diff/myers",
@@ -10257,6 +10366,7 @@
 +        "//internal/lsp/source",
 +        "//internal/memoize",
 +        "//internal/packagesinternal",
++        "//internal/persistent",
 +        "//internal/span",
 +        "//internal/typeparams",
 +        "//internal/typesinternal",
@@ -10596,18 +10706,22 @@
 diff -urN b/internal/lsp/diff/BUILD.bazel c/internal/lsp/diff/BUILD.bazel
 --- b/internal/lsp/diff/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ c/internal/lsp/diff/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,28 @@
+@@ -0,0 +1,32 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
 +
 +go_library(
 +    name = "diff",
 +    srcs = [
 +        "diff.go",
++        "ndiff.go",
 +        "unified.go",
 +    ],
 +    importpath = "golang.org/x/tools/internal/lsp/diff",
 +    visibility = ["//:__subpackages__"],
-+    deps = ["//internal/span"],
++    deps = [
++        "//internal/lsp/diff/lcs",
++        "//internal/span",
++    ],
 +)
 +
 +alias(
@@ -10656,6 +10770,38 @@
 +        "//internal/testenv",
 +    ],
 +)
+diff -urN b/internal/lsp/diff/lcs/BUILD.bazel c/internal/lsp/diff/lcs/BUILD.bazel
+--- b/internal/lsp/diff/lcs/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ c/internal/lsp/diff/lcs/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,28 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
++
++go_library(
++    name = "lcs",
++    srcs = [
++        "common.go",
++        "doc.go",
++        "labels.go",
++        "old.go",
++    ],
++    importpath = "golang.org/x/tools/internal/lsp/diff/lcs",
++    visibility = ["//:__subpackages__"],
++)
++
++alias(
++    name = "go_default_library",
++    actual = ":lcs",
++    visibility = ["//:__subpackages__"],
++)
++
++go_test(
++    name = "lcs_test",
++    srcs = [
++        "common_test.go",
++        "old_test.go",
++    ],
++    embed = [":lcs"],
++)
 diff -urN b/internal/lsp/diff/myers/BUILD.bazel c/internal/lsp/diff/myers/BUILD.bazel
 --- b/internal/lsp/diff/myers/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ c/internal/lsp/diff/myers/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -11021,7 +11167,7 @@
 diff -urN b/internal/lsp/regtest/BUILD.bazel c/internal/lsp/regtest/BUILD.bazel
 --- b/internal/lsp/regtest/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ c/internal/lsp/regtest/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,45 @@
+@@ -0,0 +1,46 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
 +
 +go_library(
@@ -11048,6 +11194,7 @@
 +        "//internal/lsp/lsprpc",
 +        "//internal/lsp/protocol",
 +        "//internal/lsp/source",
++        "//internal/memoize",
 +        "//internal/testenv",
 +        "//internal/tool",
 +        "//internal/xcontext",
@@ -11118,7 +11265,7 @@
 diff -urN b/internal/lsp/source/BUILD.bazel c/internal/lsp/source/BUILD.bazel
 --- b/internal/lsp/source/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ c/internal/lsp/source/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,139 @@
+@@ -0,0 +1,141 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
 +
 +go_library(
@@ -11139,6 +11286,7 @@
 +        "hover.go",
 +        "identifier.go",
 +        "implementation.go",
++        "inlay_hint.go",
 +        "known_packages.go",
 +        "options.go",
 +        "references.go",
@@ -11207,6 +11355,7 @@
 +        "//internal/lsp/analysis/stubmethods",
 +        "//internal/lsp/analysis/undeclaredname",
 +        "//internal/lsp/analysis/unusedparams",
++        "//internal/lsp/analysis/unusedvariable",
 +        "//internal/lsp/analysis/useany",
 +        "//internal/lsp/bug",
 +        "//internal/lsp/command",
@@ -11808,7 +11957,7 @@
 diff -urN b/internal/lsp/testdata/fillstruct/BUILD.bazel c/internal/lsp/testdata/fillstruct/BUILD.bazel
 --- b/internal/lsp/testdata/fillstruct/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ c/internal/lsp/testdata/fillstruct/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,26 @@
+@@ -0,0 +1,27 @@
 +load("@io_bazel_rules_go//go:def.bzl", "go_library")
 +
 +go_library(
@@ -11825,6 +11974,7 @@
 +        "fill_struct_partial.go",
 +        "fill_struct_spaces.go",
 +        "fill_struct_unsafe.go",
++        "typeparams.go",
 +    ],
 +    importpath = "golang.org/x/tools/internal/lsp/testdata/fillstruct",
 +    visibility = ["//:__subpackages__"],
@@ -12192,6 +12342,30 @@
 +    actual = ":index",
 +    visibility = ["//:__subpackages__"],
 +)
+diff -urN b/internal/lsp/testdata/inlay_hint/BUILD.bazel c/internal/lsp/testdata/inlay_hint/BUILD.bazel
+--- b/internal/lsp/testdata/inlay_hint/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ c/internal/lsp/testdata/inlay_hint/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,20 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_library")
++
++go_library(
++    name = "inlay_hint",
++    srcs = [
++        "composite_literals.go",
++        "constant_values.go",
++        "parameter_names.go",
++        "type_params.go",
++        "variable_types.go",
++    ],
++    importpath = "golang.org/x/tools/internal/lsp/testdata/inlay_hint",
++    visibility = ["//:__subpackages__"],
++)
++
++alias(
++    name = "go_default_library",
++    actual = ":inlay_hint",
++    visibility = ["//:__subpackages__"],
++)
 diff -urN b/internal/lsp/testdata/interfacerank/BUILD.bazel c/internal/lsp/testdata/interfacerank/BUILD.bazel
 --- b/internal/lsp/testdata/interfacerank/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ c/internal/lsp/testdata/interfacerank/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -13208,6 +13382,30 @@
 +    actual = ":packagesinternal",
 +    visibility = ["//:__subpackages__"],
 +)
+diff -urN b/internal/persistent/BUILD.bazel c/internal/persistent/BUILD.bazel
+--- b/internal/persistent/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
++++ c/internal/persistent/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
+@@ -0,0 +1,20 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
++
++go_library(
++    name = "persistent",
++    srcs = ["map.go"],
++    importpath = "golang.org/x/tools/internal/persistent",
++    visibility = ["//:__subpackages__"],
++)
++
++alias(
++    name = "go_default_library",
++    actual = ":persistent",
++    visibility = ["//:__subpackages__"],
++)
++
++go_test(
++    name = "persistent_test",
++    srcs = ["map_test.go"],
++    embed = [":persistent"],
++)
 diff -urN b/internal/proxydir/BUILD.bazel c/internal/proxydir/BUILD.bazel
 --- b/internal/proxydir/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ c/internal/proxydir/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
@@ -13799,8 +13997,8 @@
 diff -urN b/refactor/satisfy/BUILD.bazel c/refactor/satisfy/BUILD.bazel
 --- b/refactor/satisfy/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ c/refactor/satisfy/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000
-@@ -0,0 +1,18 @@
-+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+@@ -0,0 +1,28 @@
++load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
 +
 +go_library(
 +    name = "satisfy",
@@ -13810,6 +14008,7 @@
 +    deps = [
 +        "//go/ast/astutil",
 +        "//go/types/typeutil",
++        "//internal/typeparams",
 +    ],
 +)
 +
@@ -13818,6 +14017,15 @@
 +    actual = ":satisfy",
 +    visibility = ["//visibility:public"],
 +)
++
++go_test(
++    name = "satisfy_test",
++    srcs = ["find_test.go"],
++    deps = [
++        ":satisfy",
++        "//internal/typeparams",
++    ],
++)
 diff -urN b/txtar/BUILD.bazel c/txtar/BUILD.bazel
 --- b/txtar/BUILD.bazel	1969-12-31 16:00:00.000000000 -0800
 +++ c/txtar/BUILD.bazel	2000-01-01 00:00:00.000000000 -0000