Skip to content
This repository was archived by the owner on Mar 26, 2026. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions repositories.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ def gapic_generator_python():
_maybe(
http_archive,
name = "com_google_googleapis",
strip_prefix = "googleapis-ffc531383747ebb702dad3db237ef5fdea796363",
urls = ["https://github.com/googleapis/googleapis/archive/ffc531383747ebb702dad3db237ef5fdea796363.zip"],
strip_prefix = "googleapis-2c28ce13ade62398e152ff3eb840f4f934812597",
urls = ["https://github.com/googleapis/googleapis/archive/2c28ce13ade62398e152ff3eb840f4f934812597.zip"],
)

def gapic_generator_register_toolchains():
Expand Down
4 changes: 4 additions & 0 deletions tests/integration/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ py_gapic_library(
"autogen-snippets",
],
transport = "grpc+rest",
service_yaml = "cloudasset_v1.yaml",
)

# Credentials.
Expand All @@ -72,6 +73,7 @@ py_gapic_library(
"autogen-snippets",
],
transport = "grpc+rest",
service_yaml = "iamcredentials_v1.yaml",
)

py_test(
Expand Down Expand Up @@ -129,6 +131,7 @@ py_gapic_library(
"autogen-snippets",
],
transport = "grpc+rest",
service_yaml = "logging_v2.yaml",
)

py_test(
Expand All @@ -151,6 +154,7 @@ py_gapic_library(
"autogen-snippets",
],
transport = "grpc+rest",
service_yaml = "redis_v1.yaml",
)

py_test(
Expand Down
50 changes: 50 additions & 0 deletions tests/integration/cloudasset_v1.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
type: google.api.Service
config_version: 3
name: cloudasset.googleapis.com
title: Cloud Asset API

apis:
- name: google.cloud.asset.v1.AssetService
- name: google.longrunning.Operations

types:
- name: google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata
- name: google.cloud.asset.v1.AnalyzeIamPolicyLongrunningResponse

documentation:
summary: |-
The Cloud Asset API manages the history and inventory of Google Cloud
resources.
overview: |-
# Cloud Asset API

The Cloud Asset API keeps a history of Google Cloud asset metadata, and
allows Google Cloud users to download a dump of all asset metadata for the
resource types listed below within an organization or a project at a given
timestamp.

Read more documents here:
https://cloud.google.com/asset-inventory/docs

backend:
rules:
- selector: 'google.cloud.asset.v1.AssetService.*'
deadline: 600.0
- selector: google.longrunning.Operations.GetOperation
deadline: 60.0

http:
rules:
- selector: google.longrunning.Operations.GetOperation
get: '/v1/{name=*/*/operations/*/**}'

authentication:
rules:
- selector: 'google.cloud.asset.v1.AssetService.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform
- selector: google.longrunning.Operations.GetOperation
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform
114 changes: 114 additions & 0 deletions tests/integration/eventarc_v1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,117 @@ apis:
- name: google.cloud.eventarc.v1.Eventarc
- name: google.cloud.location.Locations
- name: google.iam.v1.IAMPolicy
- name: google.longrunning.Operations

types:
- name: google.cloud.eventarc.v1.OperationMetadata

documentation:
summary: 'Build event-driven applications on Google Cloud Platform.'
overview: |-
Eventarc lets you asynchronously deliver events from Google services, SaaS,
and your own apps using loosely coupled services that react to state
changes. Eventarc requires no infrastructure management — you can optimize
productivity and costs while building an event-driven solution.
rules:
- selector: google.cloud.location.Locations.GetLocation
description: Gets information about a location.

- selector: google.cloud.location.Locations.ListLocations
description: Lists information about the supported locations for this service.

- selector: google.iam.v1.IAMPolicy.GetIamPolicy
description: |-
Gets the access control policy for a resource. Returns an empty policy
if the resource exists and does not have a policy set.

- selector: google.iam.v1.IAMPolicy.SetIamPolicy
description: |-
Sets the access control policy on the specified resource. Replaces
any existing policy.

Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`
errors.

- selector: google.iam.v1.IAMPolicy.TestIamPermissions
description: |-
Returns permissions that a caller has on the specified resource. If the
resource does not exist, this will return an empty set of
permissions, not a `NOT_FOUND` error.

Note: This operation is designed to be used for building
permission-aware UIs and command-line tools, not for authorization
checking. This operation may "fail open" without warning.

backend:
rules:
- selector: 'google.cloud.eventarc.v1.Eventarc.*'
deadline: 60.0
- selector: google.cloud.location.Locations.GetLocation
deadline: 60.0
- selector: google.cloud.location.Locations.ListLocations
deadline: 60.0
- selector: 'google.iam.v1.IAMPolicy.*'
deadline: 60.0
- selector: 'google.longrunning.Operations.*'
deadline: 60.0

http:
rules:
- selector: google.cloud.location.Locations.GetLocation
get: '/v1/{name=projects/*/locations/*}'
- selector: google.cloud.location.Locations.ListLocations
get: '/v1/{name=projects/*}/locations'
- selector: google.iam.v1.IAMPolicy.GetIamPolicy
get: '/v1/{resource=projects/*/locations/*/triggers/*}:getIamPolicy'
additional_bindings:
- get: '/v1/{resource=projects/*/locations/*/channels/*}:getIamPolicy'
- get: '/v1/{resource=projects/*/locations/*/channelConnections/*}:getIamPolicy'
- selector: google.iam.v1.IAMPolicy.SetIamPolicy
post: '/v1/{resource=projects/*/locations/*/triggers/*}:setIamPolicy'
body: '*'
additional_bindings:
- post: '/v1/{resource=projects/*/locations/*/channels/*}:setIamPolicy'
body: '*'
- post: '/v1/{resource=projects/*/locations/*/channelConnections/*}:setIamPolicy'
body: '*'
- selector: google.iam.v1.IAMPolicy.TestIamPermissions
post: '/v1/{resource=projects/*/locations/*/triggers/*}:testIamPermissions'
body: '*'
additional_bindings:
- post: '/v1/{resource=projects/*/locations/*/channels/*}:testIamPermissions'
body: '*'
- post: '/v1/{resource=projects/*/locations/*/channelConnections/*}:testIamPermissions'
body: '*'
- selector: google.longrunning.Operations.CancelOperation
post: '/v1/{name=projects/*/locations/*/operations/*}:cancel'
body: '*'
- selector: google.longrunning.Operations.DeleteOperation
delete: '/v1/{name=projects/*/locations/*/operations/*}'
- selector: google.longrunning.Operations.GetOperation
get: '/v1/{name=projects/*/locations/*/operations/*}'
- selector: google.longrunning.Operations.ListOperations
get: '/v1/{name=projects/*/locations/*}/operations'

authentication:
rules:
- selector: 'google.cloud.eventarc.v1.Eventarc.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform
- selector: google.cloud.location.Locations.GetLocation
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform
- selector: google.cloud.location.Locations.ListLocations
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform
- selector: 'google.iam.v1.IAMPolicy.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform
- selector: 'google.longrunning.Operations.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform
72 changes: 72 additions & 0 deletions tests/integration/goldens/asset/google/cloud/asset/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,89 +21,161 @@
from google.cloud.asset_v1.services.asset_service.client import AssetServiceClient
from google.cloud.asset_v1.services.asset_service.async_client import AssetServiceAsyncClient

from google.cloud.asset_v1.types.asset_service import AnalyzeIamPolicyLongrunningMetadata
from google.cloud.asset_v1.types.asset_service import AnalyzeIamPolicyLongrunningRequest
from google.cloud.asset_v1.types.asset_service import AnalyzeIamPolicyLongrunningResponse
from google.cloud.asset_v1.types.asset_service import AnalyzeIamPolicyRequest
from google.cloud.asset_v1.types.asset_service import AnalyzeIamPolicyResponse
from google.cloud.asset_v1.types.asset_service import AnalyzeMoveRequest
from google.cloud.asset_v1.types.asset_service import AnalyzeMoveResponse
from google.cloud.asset_v1.types.asset_service import AnalyzeOrgPoliciesRequest
from google.cloud.asset_v1.types.asset_service import AnalyzeOrgPoliciesResponse
from google.cloud.asset_v1.types.asset_service import AnalyzeOrgPolicyGovernedAssetsRequest
from google.cloud.asset_v1.types.asset_service import AnalyzeOrgPolicyGovernedAssetsResponse
from google.cloud.asset_v1.types.asset_service import AnalyzeOrgPolicyGovernedContainersRequest
from google.cloud.asset_v1.types.asset_service import AnalyzeOrgPolicyGovernedContainersResponse
from google.cloud.asset_v1.types.asset_service import AnalyzerOrgPolicy
from google.cloud.asset_v1.types.asset_service import AnalyzerOrgPolicyConstraint
from google.cloud.asset_v1.types.asset_service import BatchGetAssetsHistoryRequest
from google.cloud.asset_v1.types.asset_service import BatchGetAssetsHistoryResponse
from google.cloud.asset_v1.types.asset_service import BatchGetEffectiveIamPoliciesRequest
from google.cloud.asset_v1.types.asset_service import BatchGetEffectiveIamPoliciesResponse
from google.cloud.asset_v1.types.asset_service import BigQueryDestination
from google.cloud.asset_v1.types.asset_service import CreateFeedRequest
from google.cloud.asset_v1.types.asset_service import CreateSavedQueryRequest
from google.cloud.asset_v1.types.asset_service import DeleteFeedRequest
from google.cloud.asset_v1.types.asset_service import DeleteSavedQueryRequest
from google.cloud.asset_v1.types.asset_service import ExportAssetsRequest
from google.cloud.asset_v1.types.asset_service import ExportAssetsResponse
from google.cloud.asset_v1.types.asset_service import Feed
from google.cloud.asset_v1.types.asset_service import FeedOutputConfig
from google.cloud.asset_v1.types.asset_service import GcsDestination
from google.cloud.asset_v1.types.asset_service import GcsOutputResult
from google.cloud.asset_v1.types.asset_service import GetFeedRequest
from google.cloud.asset_v1.types.asset_service import GetSavedQueryRequest
from google.cloud.asset_v1.types.asset_service import IamPolicyAnalysisOutputConfig
from google.cloud.asset_v1.types.asset_service import IamPolicyAnalysisQuery
from google.cloud.asset_v1.types.asset_service import ListAssetsRequest
from google.cloud.asset_v1.types.asset_service import ListAssetsResponse
from google.cloud.asset_v1.types.asset_service import ListFeedsRequest
from google.cloud.asset_v1.types.asset_service import ListFeedsResponse
from google.cloud.asset_v1.types.asset_service import ListSavedQueriesRequest
from google.cloud.asset_v1.types.asset_service import ListSavedQueriesResponse
from google.cloud.asset_v1.types.asset_service import MoveAnalysis
from google.cloud.asset_v1.types.asset_service import MoveAnalysisResult
from google.cloud.asset_v1.types.asset_service import MoveImpact
from google.cloud.asset_v1.types.asset_service import OutputConfig
from google.cloud.asset_v1.types.asset_service import OutputResult
from google.cloud.asset_v1.types.asset_service import PartitionSpec
from google.cloud.asset_v1.types.asset_service import PubsubDestination
from google.cloud.asset_v1.types.asset_service import QueryAssetsOutputConfig
from google.cloud.asset_v1.types.asset_service import QueryAssetsRequest
from google.cloud.asset_v1.types.asset_service import QueryAssetsResponse
from google.cloud.asset_v1.types.asset_service import QueryResult
from google.cloud.asset_v1.types.asset_service import SavedQuery
from google.cloud.asset_v1.types.asset_service import SearchAllIamPoliciesRequest
from google.cloud.asset_v1.types.asset_service import SearchAllIamPoliciesResponse
from google.cloud.asset_v1.types.asset_service import SearchAllResourcesRequest
from google.cloud.asset_v1.types.asset_service import SearchAllResourcesResponse
from google.cloud.asset_v1.types.asset_service import TableFieldSchema
from google.cloud.asset_v1.types.asset_service import TableSchema
from google.cloud.asset_v1.types.asset_service import UpdateFeedRequest
from google.cloud.asset_v1.types.asset_service import UpdateSavedQueryRequest
from google.cloud.asset_v1.types.asset_service import ContentType
from google.cloud.asset_v1.types.assets import Asset
from google.cloud.asset_v1.types.assets import AttachedResource
from google.cloud.asset_v1.types.assets import ConditionEvaluation
from google.cloud.asset_v1.types.assets import IamPolicyAnalysisResult
from google.cloud.asset_v1.types.assets import IamPolicyAnalysisState
from google.cloud.asset_v1.types.assets import IamPolicySearchResult
from google.cloud.asset_v1.types.assets import RelatedAsset
from google.cloud.asset_v1.types.assets import RelatedAssets
from google.cloud.asset_v1.types.assets import RelatedResource
from google.cloud.asset_v1.types.assets import RelatedResources
from google.cloud.asset_v1.types.assets import RelationshipAttributes
from google.cloud.asset_v1.types.assets import Resource
from google.cloud.asset_v1.types.assets import ResourceSearchResult
from google.cloud.asset_v1.types.assets import TemporalAsset
from google.cloud.asset_v1.types.assets import TimeWindow
from google.cloud.asset_v1.types.assets import VersionedResource

__all__ = ('AssetServiceClient',
'AssetServiceAsyncClient',
'AnalyzeIamPolicyLongrunningMetadata',
'AnalyzeIamPolicyLongrunningRequest',
'AnalyzeIamPolicyLongrunningResponse',
'AnalyzeIamPolicyRequest',
'AnalyzeIamPolicyResponse',
'AnalyzeMoveRequest',
'AnalyzeMoveResponse',
'AnalyzeOrgPoliciesRequest',
'AnalyzeOrgPoliciesResponse',
'AnalyzeOrgPolicyGovernedAssetsRequest',
'AnalyzeOrgPolicyGovernedAssetsResponse',
'AnalyzeOrgPolicyGovernedContainersRequest',
'AnalyzeOrgPolicyGovernedContainersResponse',
'AnalyzerOrgPolicy',
'AnalyzerOrgPolicyConstraint',
'BatchGetAssetsHistoryRequest',
'BatchGetAssetsHistoryResponse',
'BatchGetEffectiveIamPoliciesRequest',
'BatchGetEffectiveIamPoliciesResponse',
'BigQueryDestination',
'CreateFeedRequest',
'CreateSavedQueryRequest',
'DeleteFeedRequest',
'DeleteSavedQueryRequest',
'ExportAssetsRequest',
'ExportAssetsResponse',
'Feed',
'FeedOutputConfig',
'GcsDestination',
'GcsOutputResult',
'GetFeedRequest',
'GetSavedQueryRequest',
'IamPolicyAnalysisOutputConfig',
'IamPolicyAnalysisQuery',
'ListAssetsRequest',
'ListAssetsResponse',
'ListFeedsRequest',
'ListFeedsResponse',
'ListSavedQueriesRequest',
'ListSavedQueriesResponse',
'MoveAnalysis',
'MoveAnalysisResult',
'MoveImpact',
'OutputConfig',
'OutputResult',
'PartitionSpec',
'PubsubDestination',
'QueryAssetsOutputConfig',
'QueryAssetsRequest',
'QueryAssetsResponse',
'QueryResult',
'SavedQuery',
'SearchAllIamPoliciesRequest',
'SearchAllIamPoliciesResponse',
'SearchAllResourcesRequest',
'SearchAllResourcesResponse',
'TableFieldSchema',
'TableSchema',
'UpdateFeedRequest',
'UpdateSavedQueryRequest',
'ContentType',
'Asset',
'AttachedResource',
'ConditionEvaluation',
'IamPolicyAnalysisResult',
'IamPolicyAnalysisState',
'IamPolicySearchResult',
'RelatedAsset',
'RelatedAssets',
'RelatedResource',
'RelatedResources',
'RelationshipAttributes',
'Resource',
'ResourceSearchResult',
'TemporalAsset',
'TimeWindow',
'VersionedResource',
)
Loading