Skip to content

Commit b59a5ee

Browse files
authored
fix: restore grpc-google-iam-v1 dependency when api.has_iam_mixin is True (#1631)
* fix: restore grpc-google-iam-v1 dependency when api.has_iam_mixin is True * add IAM dependency to eventarc golden files * address review comments * clean up * style * style
1 parent 1af6036 commit b59a5ee

File tree

18 files changed

+76
-1
lines changed

18 files changed

+76
-1
lines changed

packages/gapic-generator/gapic/schema/api.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -489,7 +489,9 @@ def gapic_metadata_json(self, options: Options) -> str:
489489
return MessageToJson(self.gapic_metadata(options), sort_keys=True)
490490

491491
def requires_package(self, pkg: Tuple[str, ...]) -> bool:
492-
return any(
492+
pkg_has_iam_mixin = self.has_iam_mixin and \
493+
pkg == ('google', 'iam', 'v1')
494+
return pkg_has_iam_mixin or any(
493495
message.ident.package == pkg
494496
for proto in self.all_protos.values()
495497
for message in proto.all_messages.values()

packages/gapic-generator/tests/integration/BUILD.bazel

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ load(
1111
"golden_update",
1212
"integration_test",
1313
)
14+
load(
15+
"@com_github_grpc_grpc//bazel:python_rules.bzl",
16+
"py_proto_library",
17+
)
18+
1419
load("@rules_proto//proto:defs.bzl", "proto_library")
1520

1621
package(default_visibility = ["//visibility:public"])
@@ -81,6 +86,11 @@ py_test(
8186
],
8287
)
8388

89+
py_proto_library(
90+
name = "iam_policy_py_proto",
91+
deps = ["@com_google_googleapis//google/iam/v1:iam_policy_proto"],
92+
)
93+
8494
# Eventarc.
8595
py_gapic_library(
8696
name = "eventarc_py_gapic",
@@ -91,7 +101,9 @@ py_gapic_library(
91101
"python-gapic-name=eventarc",
92102
"autogen-snippets",
93103
],
104+
service_yaml = "eventarc_v1.yaml",
94105
transport = "grpc+rest",
106+
deps = [":iam_policy_py_proto"]
95107
)
96108

97109
py_test(
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
type: google.api.Service
2+
config_version: 3
3+
name: eventarc.googleapis.com
4+
title: Eventarc API
5+
6+
apis:
7+
- name: google.cloud.eventarc.v1.Eventarc
8+
- name: google.cloud.location.Locations
9+
- name: google.iam.v1.IAMPolicy

packages/gapic-generator/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/async_client.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@
3838
from google.cloud.eventarc_v1.types import eventarc
3939
from google.cloud.eventarc_v1.types import trigger
4040
from google.cloud.eventarc_v1.types import trigger as gce_trigger
41+
from google.cloud.location import locations_pb2 # type: ignore
42+
from google.iam.v1 import iam_policy_pb2 # type: ignore
43+
from google.iam.v1 import policy_pb2 # type: ignore
4144
from google.protobuf import field_mask_pb2 # type: ignore
4245
from google.protobuf import timestamp_pb2 # type: ignore
4346
from .transports.base import EventarcTransport, DEFAULT_CLIENT_INFO

packages/gapic-generator/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/client.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@
4141
from google.cloud.eventarc_v1.types import eventarc
4242
from google.cloud.eventarc_v1.types import trigger
4343
from google.cloud.eventarc_v1.types import trigger as gce_trigger
44+
from google.cloud.location import locations_pb2 # type: ignore
45+
from google.iam.v1 import iam_policy_pb2 # type: ignore
46+
from google.iam.v1 import policy_pb2 # type: ignore
4447
from google.protobuf import field_mask_pb2 # type: ignore
4548
from google.protobuf import timestamp_pb2 # type: ignore
4649
from .transports.base import EventarcTransport, DEFAULT_CLIENT_INFO
@@ -1053,6 +1056,9 @@ def __exit__(self, type, value, traceback):
10531056

10541057

10551058

1059+
1060+
1061+
10561062
DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo(gapic_version=package_version.__version__)
10571063

10581064

packages/gapic-generator/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/transports/base.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@
2929

3030
from google.cloud.eventarc_v1.types import eventarc
3131
from google.cloud.eventarc_v1.types import trigger
32+
from google.cloud.location import locations_pb2 # type: ignore
33+
from google.iam.v1 import iam_policy_pb2 # type: ignore
34+
from google.iam.v1 import policy_pb2 # type: ignore
3235
from google.longrunning import operations_pb2 # type: ignore
3336

3437
DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo(gapic_version=package_version.__version__)

packages/gapic-generator/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/transports/grpc.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@
2727

2828
from google.cloud.eventarc_v1.types import eventarc
2929
from google.cloud.eventarc_v1.types import trigger
30+
from google.cloud.location import locations_pb2 # type: ignore
31+
from google.iam.v1 import iam_policy_pb2 # type: ignore
32+
from google.iam.v1 import policy_pb2 # type: ignore
3033
from google.longrunning import operations_pb2 # type: ignore
3134
from .base import EventarcTransport, DEFAULT_CLIENT_INFO
3235

packages/gapic-generator/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/transports/grpc_asyncio.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@
2727

2828
from google.cloud.eventarc_v1.types import eventarc
2929
from google.cloud.eventarc_v1.types import trigger
30+
from google.cloud.location import locations_pb2 # type: ignore
31+
from google.iam.v1 import iam_policy_pb2 # type: ignore
32+
from google.iam.v1 import policy_pb2 # type: ignore
3033
from google.longrunning import operations_pb2 # type: ignore
3134
from .base import EventarcTransport, DEFAULT_CLIENT_INFO
3235
from .grpc import EventarcGrpcTransport

packages/gapic-generator/tests/integration/goldens/eventarc/google/cloud/eventarc_v1/services/eventarc/transports/rest.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@
2828

2929
from google.protobuf import json_format
3030
from google.api_core import operations_v1
31+
from google.iam.v1 import iam_policy_pb2 # type: ignore
32+
from google.iam.v1 import policy_pb2 # type: ignore
33+
from google.cloud.location import locations_pb2 # type: ignore
3134
from requests import __version__ as requests_version
3235
import dataclasses
3336
import re

packages/gapic-generator/tests/integration/goldens/eventarc/setup.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
"proto-plus >= 1.22.0, <2.0.0dev",
4141
"proto-plus >= 1.22.2, <2.0.0dev; python_version>='3.11'",
4242
"protobuf>=3.19.5,<5.0.0dev,!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5",
43+
"grpc-google-iam-v1 >= 0.12.4, <1.0.0dev",
4344
]
4445
url = "https://github.com/googleapis/python-eventarc"
4546

0 commit comments

Comments
 (0)