From e88b27ef773ddd1ab957cd992f701ae4f457dd66 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 4 Oct 2022 02:59:32 +0200 Subject: [PATCH 01/20] chore(deps): update dependency google-cloud-pubsub to v2.13.7 (#500) Co-authored-by: Anthonios Partheniou --- samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/requirements.txt b/samples/snippets/requirements.txt index 3d57aa28..02330bff 100644 --- a/samples/snippets/requirements.txt +++ b/samples/snippets/requirements.txt @@ -1,5 +1,5 @@ google-cloud-storage==2.5.0 google-cloud-asset==3.14.0 google-cloud-resource-manager==1.6.1 -google-cloud-pubsub==2.13.6 +google-cloud-pubsub==2.13.7 google-cloud-bigquery==3.3.2 From 573a952be8b856d12ed0921298ae484d1548fd56 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 4 Oct 2022 03:17:40 +0200 Subject: [PATCH 02/20] chore(deps): update all dependencies (#504) --- samples/snippets/requirements.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/samples/snippets/requirements.txt b/samples/snippets/requirements.txt index 02330bff..36db0832 100644 --- a/samples/snippets/requirements.txt +++ b/samples/snippets/requirements.txt @@ -1,5 +1,5 @@ google-cloud-storage==2.5.0 -google-cloud-asset==3.14.0 -google-cloud-resource-manager==1.6.1 +google-cloud-asset==3.14.1 +google-cloud-resource-manager==1.6.2 google-cloud-pubsub==2.13.7 -google-cloud-bigquery==3.3.2 +google-cloud-bigquery==3.3.3 From eb2a3621ab403b0fcd4cc91c4e8f398bb77cb081 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 6 Oct 2022 15:39:30 +0200 Subject: [PATCH 03/20] chore(deps): update dependency backoff to v2.2.1 (#505) --- samples/snippets/requirements-test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/requirements-test.txt b/samples/snippets/requirements-test.txt index 04a57c64..c4b79c03 100644 --- a/samples/snippets/requirements-test.txt +++ b/samples/snippets/requirements-test.txt @@ -1,3 +1,3 @@ -backoff==2.1.2 +backoff==2.2.1 flaky==3.7.0 pytest==7.1.3 From 07dd6ccc25d032b3fad6a0a262067b7a4fdd5f65 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 6 Oct 2022 14:08:17 +0000 Subject: [PATCH 04/20] feat: add a new searchable field kmsKeys (#506) - [ ] Regenerate this pull request now. fix: deprecate searchable field kmsKey PiperOrigin-RevId: 479103182 Source-Link: https://togithub.com/googleapis/googleapis/commit/7b5a467b978ff2dde6cd34717ebad5728d05f2bb Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/417aefa0fb633d0f171a607779e9f0e19c8b8b7f Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNDE3YWVmYTBmYjYzM2QwZjE3MWE2MDc3NzllOWYwZTE5YzhiOGI3ZiJ9 --- .../services/asset_service/async_client.py | 17 ++- .../asset_v1/services/asset_service/client.py | 17 ++- google/cloud/asset_v1/types/asset_service.py | 25 ++-- google/cloud/asset_v1/types/assets.py | 107 +++++++++++------- 4 files changed, 105 insertions(+), 61 deletions(-) diff --git a/google/cloud/asset_v1/services/asset_service/async_client.py b/google/cloud/asset_v1/services/asset_service/async_client.py index e461296c..61017958 100644 --- a/google/cloud/asset_v1/services/asset_service/async_client.py +++ b/google/cloud/asset_v1/services/asset_service/async_client.py @@ -1209,7 +1209,12 @@ async def sample_search_all_resources(): label "env". - ``kmsKey:key`` to find Cloud resources encrypted with a customer-managed encryption key whose name contains - the word "key". + "key" as a word. This field is deprecated. Please use + the ``kmsKeys`` field to retrieve KMS key + information. + - ``kmsKeys:key`` to find Cloud resources encrypted + with customer-managed encryption keys whose name + contains the word "key". - ``relationships:instance-group-1`` to find Cloud resources that have relationships with "instance-group-1" in the related resource name. @@ -1597,7 +1602,7 @@ async def sample_analyze_iam_policy(): Returns: google.cloud.asset_v1.types.AnalyzeIamPolicyResponse: A response message for - [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]. + [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]. """ # Create or coerce a protobuf request object. @@ -1711,8 +1716,10 @@ async def sample_analyze_iam_policy_longrunning(): google.api_core.operation_async.AsyncOperation: An object representing a long-running operation. - The result type for the operation will be :class:`google.cloud.asset_v1.types.AnalyzeIamPolicyLongrunningResponse` A response message for - [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]. + The result type for the operation will be + :class:`google.cloud.asset_v1.types.AnalyzeIamPolicyLongrunningResponse` + A response message for + [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]. """ # Create or coerce a protobuf request object. @@ -2593,7 +2600,7 @@ async def sample_batch_get_effective_iam_policies(): Returns: google.cloud.asset_v1.types.BatchGetEffectiveIamPoliciesResponse: A response message for - [AssetService.BatchGetEffectiveIamPolicies][google.cloud.asset.v1.AssetService.BatchGetEffectiveIamPolicies]. + [AssetService.BatchGetEffectiveIamPolicies][google.cloud.asset.v1.AssetService.BatchGetEffectiveIamPolicies]. """ # Create or coerce a protobuf request object. diff --git a/google/cloud/asset_v1/services/asset_service/client.py b/google/cloud/asset_v1/services/asset_service/client.py index c9cf1be0..333e580a 100644 --- a/google/cloud/asset_v1/services/asset_service/client.py +++ b/google/cloud/asset_v1/services/asset_service/client.py @@ -1470,7 +1470,12 @@ def sample_search_all_resources(): label "env". - ``kmsKey:key`` to find Cloud resources encrypted with a customer-managed encryption key whose name contains - the word "key". + "key" as a word. This field is deprecated. Please use + the ``kmsKeys`` field to retrieve KMS key + information. + - ``kmsKeys:key`` to find Cloud resources encrypted + with customer-managed encryption keys whose name + contains the word "key". - ``relationships:instance-group-1`` to find Cloud resources that have relationships with "instance-group-1" in the related resource name. @@ -1840,7 +1845,7 @@ def sample_analyze_iam_policy(): Returns: google.cloud.asset_v1.types.AnalyzeIamPolicyResponse: A response message for - [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]. + [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]. """ # Create or coerce a protobuf request object. @@ -1946,8 +1951,10 @@ def sample_analyze_iam_policy_longrunning(): google.api_core.operation.Operation: An object representing a long-running operation. - The result type for the operation will be :class:`google.cloud.asset_v1.types.AnalyzeIamPolicyLongrunningResponse` A response message for - [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]. + The result type for the operation will be + :class:`google.cloud.asset_v1.types.AnalyzeIamPolicyLongrunningResponse` + A response message for + [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]. """ # Create or coerce a protobuf request object. @@ -2794,7 +2801,7 @@ def sample_batch_get_effective_iam_policies(): Returns: google.cloud.asset_v1.types.BatchGetEffectiveIamPoliciesResponse: A response message for - [AssetService.BatchGetEffectiveIamPolicies][google.cloud.asset.v1.AssetService.BatchGetEffectiveIamPolicies]. + [AssetService.BatchGetEffectiveIamPolicies][google.cloud.asset.v1.AssetService.BatchGetEffectiveIamPolicies]. """ # Create or coerce a protobuf request object. diff --git a/google/cloud/asset_v1/types/asset_service.py b/google/cloud/asset_v1/types/asset_service.py index 1612c773..9eaec07d 100644 --- a/google/cloud/asset_v1/types/asset_service.py +++ b/google/cloud/asset_v1/types/asset_service.py @@ -1063,7 +1063,11 @@ class SearchAllResourcesRequest(proto.Message): - ``labels.env:*`` to find Cloud resources that have a label "env". - ``kmsKey:key`` to find Cloud resources encrypted with a - customer-managed encryption key whose name contains the + customer-managed encryption key whose name contains "key" + as a word. This field is deprecated. Please use the + ``kmsKeys`` field to retrieve KMS key information. + - ``kmsKeys:key`` to find Cloud resources encrypted with + customer-managed encryption keys whose name contains the word "key". - ``relationships:instance-group-1`` to find Cloud resources that have relationships with "instance-group-1" @@ -1140,7 +1144,6 @@ class SearchAllResourcesRequest(proto.Message): - displayName - description - location - - kmsKey - createTime - updateTime - state @@ -1148,8 +1151,9 @@ class SearchAllResourcesRequest(proto.Message): - parentAssetType All the other fields such as repeated fields (e.g., - ``networkTags``), map fields (e.g., ``labels``) and struct - fields (e.g., ``additionalAttributes``) are not supported. + ``networkTags``, ``kmsKeys``), map fields (e.g., ``labels``) + and struct fields (e.g., ``additionalAttributes``) are not + supported. read_mask (google.protobuf.field_mask_pb2.FieldMask): Optional. A comma-separated list of fields specifying which fields to be returned in ResourceSearchResult. Only '*' or @@ -1172,7 +1176,9 @@ class SearchAllResourcesRequest(proto.Message): - tagValueIds - labels - networkTags - - kmsKey + - kmsKey (This field is deprecated. Please use the + ``kmsKeys`` field to retrieve KMS key information.) + - kmsKeys - createTime - updateTime - state @@ -2203,9 +2209,8 @@ class ListSavedQueriesRequest(proto.Message): Optional. The maximum number of saved queries to return per page. The service may return fewer than this value. If unspecified, at most 50 will - be returned. - The maximum value is 1000; values above 1000 - will be coerced to 1000. + be returned. The maximum value is 1000; values + above 1000 will be coerced to 1000. page_token (str): Optional. A page token, received from a previous ``ListSavedQueries`` call. Provide this to retrieve the @@ -2493,7 +2498,9 @@ class BigQueryDestination(proto.Message): BigQuery appends the data to the table or the latest partition. - WRITE_EMPTY: If the table already exists and contains - data, an error is returned. + data, a 'duplicate' error is returned in the job result. + + The default value is WRITE_EMPTY. """ dataset = proto.Field( diff --git a/google/cloud/asset_v1/types/assets.py b/google/cloud/asset_v1/types/assets.py index 075e3a28..4ef063e2 100644 --- a/google/cloud/asset_v1/types/assets.py +++ b/google/cloud/asset_v1/types/assets.py @@ -496,7 +496,7 @@ class RelatedAsset(proto.Message): class ResourceSearchResult(proto.Message): r"""A result of Resource Search, containing information of a - cloud resource. Next ID: 29 + cloud resource. Next ID: 31 Attributes: name (str): @@ -508,15 +508,15 @@ class ResourceSearchResult(proto.Message): To search against the ``name``: - - use a field query. Example: ``name:instance1`` - - use a free text query. Example: ``instance1`` + - Use a field query. Example: ``name:instance1`` + - Use a free text query. Example: ``instance1`` asset_type (str): The type of this resource. Example: ``compute.googleapis.com/Disk``. To search against the ``asset_type``: - - specify the ``asset_type`` field in your search request. + - Specify the ``asset_type`` field in your search request. project (str): The project that this resource belongs to, in the form of projects/{PROJECT_NUMBER}. This field is available when the @@ -524,9 +524,9 @@ class ResourceSearchResult(proto.Message): To search against ``project``: - - use a field query. Example: ``project:12345`` - - use a free text query. Example: ``12345`` - - specify the ``scope`` field as this project in your + - Use a field query. Example: ``project:12345`` + - Use a free text query. Example: ``12345`` + - Specify the ``scope`` field as this project in your search request. folders (Sequence[str]): The folder(s) that this resource belongs to, in the form of @@ -535,9 +535,9 @@ class ResourceSearchResult(proto.Message): To search against ``folders``: - - use a field query. Example: ``folders:(123 OR 456)`` - - use a free text query. Example: ``123`` - - specify the ``scope`` field as this folder in your search + - Use a field query. Example: ``folders:(123 OR 456)`` + - Use a free text query. Example: ``123`` + - Specify the ``scope`` field as this folder in your search request. organization (str): The organization that this resource belongs to, in the form @@ -546,9 +546,9 @@ class ResourceSearchResult(proto.Message): To search against ``organization``: - - use a field query. Example: ``organization:123`` - - use a free text query. Example: ``123`` - - specify the ``scope`` field as this organization in your + - Use a field query. Example: ``organization:123`` + - Use a free text query. Example: ``123`` + - Specify the ``scope`` field as this organization in your search request. display_name (str): The display name of this resource. This field is available @@ -556,8 +556,8 @@ class ResourceSearchResult(proto.Message): To search against the ``display_name``: - - use a field query. Example: ``displayName:"My Instance"`` - - use a free text query. Example: ``"My Instance"`` + - Use a field query. Example: ``displayName:"My Instance"`` + - Use a free text query. Example: ``"My Instance"`` description (str): One or more paragraphs of text description of this resource. Maximum length could be up to 1M bytes. This field is @@ -565,9 +565,9 @@ class ResourceSearchResult(proto.Message): To search against the ``description``: - - use a field query. Example: + - Use a field query. Example: ``description:"important instance"`` - - use a free text query. Example: ``"important instance"`` + - Use a free text query. Example: ``"important instance"`` location (str): Location can be ``global``, regional like ``us-east1``, or zonal like ``us-west1-b``. This field is available only when @@ -575,8 +575,8 @@ class ResourceSearchResult(proto.Message): To search against the ``location``: - - use a field query. Example: ``location:us-west*`` - - use a free text query. Example: ``us-west*`` + - Use a field query. Example: ``location:us-west*`` + - Use a free text query. Example: ``us-west*`` labels (Mapping[str, str]): Labels associated with this resource. See `Labelling and grouping GCP @@ -586,7 +586,7 @@ class ResourceSearchResult(proto.Message): To search against the ``labels``: - - use a field query: + - Use a field query: - query on any label's key or value. Example: ``labels:prod`` @@ -594,7 +594,7 @@ class ResourceSearchResult(proto.Message): - query by a given label's existence. Example: ``labels.env:*`` - - use a free text query. Example: ``prod`` + - Use a free text query. Example: ``prod`` network_tags (Sequence[str]): Network tags associated with this resource. Like labels, network tags are a type of annotations used to group GCP @@ -605,20 +605,39 @@ class ResourceSearchResult(proto.Message): To search against the ``network_tags``: - - use a field query. Example: ``networkTags:internal`` - - use a free text query. Example: ``internal`` + - Use a field query. Example: ``networkTags:internal`` + - Use a free text query. Example: ``internal`` kms_key (str): The Cloud KMS `CryptoKey `__ name or `CryptoKeyVersion `__ - name. This field is available only when the resource's - Protobuf contains it. + name. + + This field only presents for the purpose of backward + compatibility. Please use the ``kms_keys`` field to retrieve + KMS key information. This field is available only when the + resource's Protobuf contains it and will only be populated + for `these resource + types `__ + for backward compatible purposes. To search against the ``kms_key``: - - use a field query. Example: ``kmsKey:key`` - - use a free text query. Example: ``key`` + - Use a field query. Example: ``kmsKey:key`` + - Use a free text query. Example: ``key`` + kms_keys (Sequence[str]): + The Cloud KMS + `CryptoKey `__ + names or + `CryptoKeyVersion `__ + names. This field is available only when the resource's + Protobuf contains it. + + To search against the ``kms_keys``: + + - Use a field query. Example: ``kmsKeys:key`` + - Use a free text query. Example: ``key`` create_time (google.protobuf.timestamp_pb2.Timestamp): The create timestamp of this resource, at which the resource was created. The granularity is in seconds. Timestamp.nanos @@ -627,7 +646,7 @@ class ResourceSearchResult(proto.Message): To search against ``create_time``: - - use a field query. + - Use a field query. - value in seconds since unix epoch. Example: ``createTime > 1609459200`` @@ -643,7 +662,7 @@ class ResourceSearchResult(proto.Message): To search against ``update_time``: - - use a field query. + - Use a field query. - value in seconds since unix epoch. Example: ``updateTime < 1609459200`` @@ -670,8 +689,8 @@ class ResourceSearchResult(proto.Message): To search against the ``state``: - - use a field query. Example: ``state:RUNNING`` - - use a free text query. Example: ``RUNNING`` + - Use a field query. Example: ``state:RUNNING`` + - Use a free text query. Example: ``RUNNING`` additional_attributes (google.protobuf.struct_pb2.Struct): The additional searchable attributes of this resource. The attributes may vary from one resource type to another. @@ -690,7 +709,7 @@ class ResourceSearchResult(proto.Message): To search against the ``additional_attributes``: - - use a free text query to match the attributes values. + - Use a free text query to match the attributes values. Example: to search ``additional_attributes = { dnsName: "foobar" }``, you can issue a query ``foobar``. @@ -698,9 +717,9 @@ class ResourceSearchResult(proto.Message): The full resource name of this resource's parent, if it has one. To search against the ``parent_full_resource_name``: - - use a field query. Example: + - Use a field query. Example: ``parentFullResourceName:"project-name"`` - - use a free text query. Example: ``project-name`` + - Use a free text query. Example: ``project-name`` versioned_resources (Sequence[google.cloud.asset_v1.types.VersionedResource]): Versioned resource representations of this resource. This is repeated because there could be multiple versions of @@ -732,13 +751,13 @@ class ResourceSearchResult(proto.Message): {ORG_ID}/{TAG_KEY_SHORT_NAME}. To search against the ``tagKeys``: - - use a field query. Example: + - Use a field query. Example: - ``tagKeys:"123456789/env*"`` - ``tagKeys="123456789/env"`` - ``tagKeys:"env"`` - - use a free text query. Example: + - Use a free text query. Example: - ``env`` tag_values (Sequence[str]): @@ -746,26 +765,26 @@ class ResourceSearchResult(proto.Message): {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}. To search against the ``tagValues``: - - use a field query. Example: + - Use a field query. Example: - ``tagValues:"env"`` - ``tagValues:"env/prod"`` - ``tagValues:"123456789/env/prod*"`` - ``tagValues="123456789/env/prod"`` - - use a free text query. Example: + - Use a free text query. Example: - ``prod`` tag_value_ids (Sequence[str]): TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}. To search against the ``tagValueIds``: - - use a field query. Example: + - Use a field query. Example: - ``tagValueIds:"456"`` - ``tagValueIds="tagValues/456"`` - - use a free text query. Example: + - Use a free text query. Example: - ``456`` parent_asset_type (str): @@ -774,9 +793,9 @@ class ResourceSearchResult(proto.Message): To search against the ``parent_asset_type``: - - use a field query. Example: + - Use a field query. Example: ``parentAssetType:"cloudresourcemanager.googleapis.com/Project"`` - - use a free text query. Example: + - Use a free text query. Example: ``cloudresourcemanager.googleapis.com/Project`` """ @@ -825,6 +844,10 @@ class ResourceSearchResult(proto.Message): proto.STRING, number=10, ) + kms_keys = proto.RepeatedField( + proto.STRING, + number=28, + ) create_time = proto.Field( proto.MESSAGE, number=11, From 818abbbcbb829a726d18ba1e7e7e03f997d4256a Mon Sep 17 00:00:00 2001 From: Anthonios Partheniou Date: Fri, 7 Oct 2022 16:34:15 -0400 Subject: [PATCH 05/20] fix(deps): allow protobuf 3.19.5 (#508) * fix(deps): allow protobuf 3.19.5 * explicitly exclude protobuf 4.21.0 --- setup.py | 2 +- testing/constraints-3.7.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index c8881093..e8d05c46 100644 --- a/setup.py +++ b/setup.py @@ -34,7 +34,7 @@ "google-cloud-org-policy>=0.1.2, <2.0.0", "google-cloud-os-config >= 1.0.0, <2.0.0dev", "proto-plus >= 1.22.0, <2.0.0dev", - "protobuf >= 3.20.2, <5.0.0dev", + "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", ] extras = {"libcst": "libcst >= 0.2.5"} diff --git a/testing/constraints-3.7.txt b/testing/constraints-3.7.txt index 18616529..bb9ff58d 100644 --- a/testing/constraints-3.7.txt +++ b/testing/constraints-3.7.txt @@ -12,4 +12,4 @@ google-cloud-org-policy==0.1.2 google-cloud-os-config==1.0.0 proto-plus==1.22.0 libcst==0.2.5 -protobuf==3.20.2 +protobuf==3.19.5 From fbc84aeb7a643a84598faa3adde2873a7a1cbdf3 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 10 Oct 2022 19:57:50 +0200 Subject: [PATCH 06/20] chore(deps): update dependency google-cloud-resource-manager to v1.6.3 (#512) --- samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/requirements.txt b/samples/snippets/requirements.txt index 36db0832..1bd8a867 100644 --- a/samples/snippets/requirements.txt +++ b/samples/snippets/requirements.txt @@ -1,5 +1,5 @@ google-cloud-storage==2.5.0 google-cloud-asset==3.14.1 -google-cloud-resource-manager==1.6.2 +google-cloud-resource-manager==1.6.3 google-cloud-pubsub==2.13.7 google-cloud-bigquery==3.3.3 From 3e1d5ed889eb4066a4c6b9479832f33be4a24b0b Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 11 Oct 2022 18:28:16 +0200 Subject: [PATCH 07/20] chore(deps): update all dependencies (#513) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [google-cloud-asset](https://togithub.com/googleapis/python-asset) | `==3.14.1` -> `==3.14.2` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-asset/3.14.2/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-asset/3.14.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-asset/3.14.2/compatibility-slim/3.14.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-asset/3.14.2/confidence-slim/3.14.1)](https://docs.renovatebot.com/merge-confidence/) | | [google-cloud-bigquery](https://togithub.com/googleapis/python-bigquery) | `==3.3.3` -> `==3.3.5` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/3.3.5/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/3.3.5/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/3.3.5/compatibility-slim/3.3.3)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-bigquery/3.3.5/confidence-slim/3.3.3)](https://docs.renovatebot.com/merge-confidence/) | | [google-cloud-pubsub](https://togithub.com/googleapis/python-pubsub) | `==2.13.7` -> `==2.13.9` | [![age](https://badges.renovateapi.com/packages/pypi/google-cloud-pubsub/2.13.9/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/google-cloud-pubsub/2.13.9/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/google-cloud-pubsub/2.13.9/compatibility-slim/2.13.7)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/google-cloud-pubsub/2.13.9/confidence-slim/2.13.7)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes
googleapis/python-asset ### [`v3.14.2`](https://togithub.com/googleapis/python-asset/releases/tag/v3.14.2) [Compare Source](https://togithub.com/googleapis/python-asset/compare/v3.14.1...v3.14.2) ## :robot: I have created a release *beep* *boop* #### [3.14.2](https://togithub.com/googleapis/python-asset/compare/v3.14.1...v3.14.2) (2022-10-10) ##### Bug Fixes - **deps:** Allow protobuf 3.19.5 ([#​508](https://togithub.com/googleapis/python-asset/issues/508)) ([818abbb](https://togithub.com/googleapis/python-asset/commit/818abbbcbb829a726d18ba1e7e7e03f997d4256a))
googleapis/python-bigquery ### [`v3.3.5`](https://togithub.com/googleapis/python-bigquery/releases/tag/v3.3.5) [Compare Source](https://togithub.com/googleapis/python-bigquery/compare/v3.3.3...v3.3.5) ##### Bug Fixes - **deps:** Allow protobuf 3.19.5 ([#​1379](https://togithub.com/googleapis/python-bigquery/issues/1379)) ([3e4a074](https://togithub.com/googleapis/python-bigquery/commit/3e4a074a981eb2920c5f9a711c253565d4844858))
googleapis/python-pubsub ### [`v2.13.9`](https://togithub.com/googleapis/python-pubsub/releases/tag/v2.13.9) [Compare Source](https://togithub.com/googleapis/python-pubsub/compare/v2.13.7...v2.13.9) ##### Bug Fixes - **deps:** Allow protobuf 3.19.5 ([#​801](https://togithub.com/googleapis/python-pubsub/issues/801)) ([fa23503](https://togithub.com/googleapis/python-pubsub/commit/fa235033481783c2ec378b2a26b223bdff206461))
--- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/python-asset). --- samples/snippets/requirements.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/samples/snippets/requirements.txt b/samples/snippets/requirements.txt index 1bd8a867..d7ddd513 100644 --- a/samples/snippets/requirements.txt +++ b/samples/snippets/requirements.txt @@ -1,5 +1,5 @@ google-cloud-storage==2.5.0 -google-cloud-asset==3.14.1 +google-cloud-asset==3.14.2 google-cloud-resource-manager==1.6.3 -google-cloud-pubsub==2.13.7 -google-cloud-bigquery==3.3.3 +google-cloud-pubsub==2.13.9 +google-cloud-bigquery==3.3.5 From 9d2a7a1352535a756688b841ed6a489d324184e1 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 18 Oct 2022 15:12:05 +0200 Subject: [PATCH 08/20] chore(deps): update dependency google-cloud-pubsub to v2.13.10 (#514) --- samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/requirements.txt b/samples/snippets/requirements.txt index d7ddd513..d70d62b2 100644 --- a/samples/snippets/requirements.txt +++ b/samples/snippets/requirements.txt @@ -1,5 +1,5 @@ google-cloud-storage==2.5.0 google-cloud-asset==3.14.2 google-cloud-resource-manager==1.6.3 -google-cloud-pubsub==2.13.9 +google-cloud-pubsub==2.13.10 google-cloud-bigquery==3.3.5 From 861363647cce1b575d6894f5b8f110a574971570 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 26 Oct 2022 12:46:40 +0200 Subject: [PATCH 09/20] chore(deps): update dependency pytest to v7.2.0 (#515) --- samples/snippets/requirements-test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/requirements-test.txt b/samples/snippets/requirements-test.txt index c4b79c03..6c0e08f3 100644 --- a/samples/snippets/requirements-test.txt +++ b/samples/snippets/requirements-test.txt @@ -1,3 +1,3 @@ backoff==2.2.1 flaky==3.7.0 -pytest==7.1.3 +pytest==7.2.0 From e25114e8835b69567625234f7299ad875740ce7c Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Tue, 8 Nov 2022 02:22:16 +0000 Subject: [PATCH 10/20] chore(python): update dependencies in .kokoro/requirements.txt [autoapprove] (#518) Source-Link: https://togithub.com/googleapis/synthtool/commit/e3a1277ac35fc88c09db1930533e24292b132ced Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:452901c74a22f9b9a3bd02bce780b8e8805c97270d424684bff809ce5be8c2a2 --- .github/.OwlBot.lock.yaml | 2 +- .kokoro/requirements.txt | 325 +++++++++++++++++++++----------------- noxfile.py | 11 +- 3 files changed, 187 insertions(+), 151 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index 3815c983..12edee77 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,4 +13,4 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:7a40313731a7cb1454eef6b33d3446ebb121836738dc3ab3d2d3ded5268c35b6 + digest: sha256:452901c74a22f9b9a3bd02bce780b8e8805c97270d424684bff809ce5be8c2a2 diff --git a/.kokoro/requirements.txt b/.kokoro/requirements.txt index d15994ba..31425f16 100644 --- a/.kokoro/requirements.txt +++ b/.kokoro/requirements.txt @@ -20,9 +20,9 @@ cachetools==5.2.0 \ --hash=sha256:6a94c6402995a99c3970cc7e4884bb60b4a8639938157eeed436098bf9831757 \ --hash=sha256:f9f17d2aec496a9aa6b76f53e3b614c965223c061982d434d160f930c698a9db # via google-auth -certifi==2022.6.15 \ - --hash=sha256:84c85a9078b11105f04f3036a9482ae10e4621616db313fe045dd24743a0820d \ - --hash=sha256:fe86415d55e84719d75f8b69414f6438ac3547d2078ab91b67e779ef69378412 +certifi==2022.9.24 \ + --hash=sha256:0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14 \ + --hash=sha256:90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382 # via requests cffi==1.15.1 \ --hash=sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5 \ @@ -110,29 +110,33 @@ commonmark==0.9.1 \ --hash=sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60 \ --hash=sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9 # via rich -cryptography==37.0.4 \ - --hash=sha256:190f82f3e87033821828f60787cfa42bff98404483577b591429ed99bed39d59 \ - --hash=sha256:2be53f9f5505673eeda5f2736bea736c40f051a739bfae2f92d18aed1eb54596 \ - --hash=sha256:30788e070800fec9bbcf9faa71ea6d8068f5136f60029759fd8c3efec3c9dcb3 \ - --hash=sha256:3d41b965b3380f10e4611dbae366f6dc3cefc7c9ac4e8842a806b9672ae9add5 \ - --hash=sha256:4c590ec31550a724ef893c50f9a97a0c14e9c851c85621c5650d699a7b88f7ab \ - --hash=sha256:549153378611c0cca1042f20fd9c5030d37a72f634c9326e225c9f666d472884 \ - --hash=sha256:63f9c17c0e2474ccbebc9302ce2f07b55b3b3fcb211ded18a42d5764f5c10a82 \ - --hash=sha256:6bc95ed67b6741b2607298f9ea4932ff157e570ef456ef7ff0ef4884a134cc4b \ - --hash=sha256:7099a8d55cd49b737ffc99c17de504f2257e3787e02abe6d1a6d136574873441 \ - --hash=sha256:75976c217f10d48a8b5a8de3d70c454c249e4b91851f6838a4e48b8f41eb71aa \ - --hash=sha256:7bc997818309f56c0038a33b8da5c0bfbb3f1f067f315f9abd6fc07ad359398d \ - --hash=sha256:80f49023dd13ba35f7c34072fa17f604d2f19bf0989f292cedf7ab5770b87a0b \ - --hash=sha256:91ce48d35f4e3d3f1d83e29ef4a9267246e6a3be51864a5b7d2247d5086fa99a \ - --hash=sha256:a958c52505c8adf0d3822703078580d2c0456dd1d27fabfb6f76fe63d2971cd6 \ - --hash=sha256:b62439d7cd1222f3da897e9a9fe53bbf5c104fff4d60893ad1355d4c14a24157 \ - --hash=sha256:b7f8dd0d4c1f21759695c05a5ec8536c12f31611541f8904083f3dc582604280 \ - --hash=sha256:d204833f3c8a33bbe11eda63a54b1aad7aa7456ed769a982f21ec599ba5fa282 \ - --hash=sha256:e007f052ed10cc316df59bc90fbb7ff7950d7e2919c9757fd42a2b8ecf8a5f67 \ - --hash=sha256:f2dcb0b3b63afb6df7fd94ec6fbddac81b5492513f7b0436210d390c14d46ee8 \ - --hash=sha256:f721d1885ecae9078c3f6bbe8a88bc0786b6e749bf32ccec1ef2b18929a05046 \ - --hash=sha256:f7a6de3e98771e183645181b3627e2563dcde3ce94a9e42a3f427d2255190327 \ - --hash=sha256:f8c0a6e9e1dd3eb0414ba320f85da6b0dcbd543126e30fcc546e7372a7fbf3b9 +cryptography==38.0.3 \ + --hash=sha256:068147f32fa662c81aebab95c74679b401b12b57494872886eb5c1139250ec5d \ + --hash=sha256:06fc3cc7b6f6cca87bd56ec80a580c88f1da5306f505876a71c8cfa7050257dd \ + --hash=sha256:25c1d1f19729fb09d42e06b4bf9895212292cb27bb50229f5aa64d039ab29146 \ + --hash=sha256:402852a0aea73833d982cabb6d0c3bb582c15483d29fb7085ef2c42bfa7e38d7 \ + --hash=sha256:4e269dcd9b102c5a3d72be3c45d8ce20377b8076a43cbed6f660a1afe365e436 \ + --hash=sha256:5419a127426084933076132d317911e3c6eb77568a1ce23c3ac1e12d111e61e0 \ + --hash=sha256:554bec92ee7d1e9d10ded2f7e92a5d70c1f74ba9524947c0ba0c850c7b011828 \ + --hash=sha256:5e89468fbd2fcd733b5899333bc54d0d06c80e04cd23d8c6f3e0542358c6060b \ + --hash=sha256:65535bc550b70bd6271984d9863a37741352b4aad6fb1b3344a54e6950249b55 \ + --hash=sha256:6ab9516b85bebe7aa83f309bacc5f44a61eeb90d0b4ec125d2d003ce41932d36 \ + --hash=sha256:6addc3b6d593cd980989261dc1cce38263c76954d758c3c94de51f1e010c9a50 \ + --hash=sha256:728f2694fa743a996d7784a6194da430f197d5c58e2f4e278612b359f455e4a2 \ + --hash=sha256:785e4056b5a8b28f05a533fab69febf5004458e20dad7e2e13a3120d8ecec75a \ + --hash=sha256:78cf5eefac2b52c10398a42765bfa981ce2372cbc0457e6bf9658f41ec3c41d8 \ + --hash=sha256:7f836217000342d448e1c9a342e9163149e45d5b5eca76a30e84503a5a96cab0 \ + --hash=sha256:8d41a46251bf0634e21fac50ffd643216ccecfaf3701a063257fe0b2be1b6548 \ + --hash=sha256:984fe150f350a3c91e84de405fe49e688aa6092b3525f407a18b9646f6612320 \ + --hash=sha256:9b24bcff7853ed18a63cfb0c2b008936a9554af24af2fb146e16d8e1aed75748 \ + --hash=sha256:b1b35d9d3a65542ed2e9d90115dfd16bbc027b3f07ee3304fc83580f26e43249 \ + --hash=sha256:b1b52c9e5f8aa2b802d48bd693190341fae201ea51c7a167d69fc48b60e8a959 \ + --hash=sha256:bbf203f1a814007ce24bd4d51362991d5cb90ba0c177a9c08825f2cc304d871f \ + --hash=sha256:be243c7e2bfcf6cc4cb350c0d5cdf15ca6383bbcb2a8ef51d3c9411a9d4386f0 \ + --hash=sha256:bfbe6ee19615b07a98b1d2287d6a6073f734735b49ee45b11324d85efc4d5cbd \ + --hash=sha256:c46837ea467ed1efea562bbeb543994c2d1f6e800785bd5a2c98bc096f5cb220 \ + --hash=sha256:dfb4f4dd568de1b6af9f4cda334adf7d72cf5bc052516e1b2608b683375dd95c \ + --hash=sha256:ed7b00096790213e09eb11c97cc6e2b757f15f3d2f85833cd2d3ec3fe37c1722 # via # gcp-releasetool # secretstorage @@ -148,23 +152,23 @@ filelock==3.8.0 \ --hash=sha256:55447caa666f2198c5b6b13a26d2084d26fa5b115c00d065664b2124680c4edc \ --hash=sha256:617eb4e5eedc82fc5f47b6d61e4d11cb837c56cb4544e39081099fa17ad109d4 # via virtualenv -gcp-docuploader==0.6.3 \ - --hash=sha256:ba8c9d76b3bbac54b0311c503a373b00edc2dc02d6d54ea9507045adb8e870f7 \ - --hash=sha256:c0f5aaa82ce1854a386197e4e359b120ad6d4e57ae2c812fce42219a3288026b +gcp-docuploader==0.6.4 \ + --hash=sha256:01486419e24633af78fd0167db74a2763974765ee8078ca6eb6964d0ebd388af \ + --hash=sha256:70861190c123d907b3b067da896265ead2eeb9263969d6955c9e0bb091b5ccbf # via -r requirements.in -gcp-releasetool==1.8.7 \ - --hash=sha256:3d2a67c9db39322194afb3b427e9cb0476ce8f2a04033695f0aeb63979fc2b37 \ - --hash=sha256:5e4d28f66e90780d77f3ecf1e9155852b0c3b13cbccb08ab07e66b2357c8da8d +gcp-releasetool==1.9.1 \ + --hash=sha256:952f4055d5d986b070ae2a71c4410b250000f9cc5a1e26398fcd55a5bbc5a15f \ + --hash=sha256:d0d3c814a97c1a237517e837d8cfa668ced8df4b882452578ecef4a4e79c583b # via -r requirements.in -google-api-core==2.8.2 \ - --hash=sha256:06f7244c640322b508b125903bb5701bebabce8832f85aba9335ec00b3d02edc \ - --hash=sha256:93c6a91ccac79079ac6bbf8b74ee75db970cc899278b97d53bc012f35908cf50 +google-api-core==2.10.2 \ + --hash=sha256:10c06f7739fe57781f87523375e8e1a3a4674bf6392cd6131a3222182b971320 \ + --hash=sha256:34f24bd1d5f72a8c4519773d99ca6bf080a6c4e041b4e9f024fe230191dda62e # via # google-cloud-core # google-cloud-storage -google-auth==2.11.0 \ - --hash=sha256:be62acaae38d0049c21ca90f27a23847245c9f161ff54ede13af2cb6afecbac9 \ - --hash=sha256:ed65ecf9f681832298e29328e1ef0a3676e3732b2e56f41532d45f70a22de0fb +google-auth==2.14.0 \ + --hash=sha256:1ad5b0e6eba5f69645971abb3d2c197537d5914070a8c6d30299dfdb07c5c700 \ + --hash=sha256:cf24817855d874ede2efd071aa22125445f555de1685b739a9782fcf408c2a3d # via # gcp-releasetool # google-api-core @@ -178,72 +182,97 @@ google-cloud-storage==2.5.0 \ --hash=sha256:19a26c66c317ce542cea0830b7e787e8dac2588b6bfa4d3fd3b871ba16305ab0 \ --hash=sha256:382f34b91de2212e3c2e7b40ec079d27ee2e3dbbae99b75b1bcd8c63063ce235 # via gcp-docuploader -google-crc32c==1.3.0 \ - --hash=sha256:04e7c220798a72fd0f08242bc8d7a05986b2a08a0573396187fd32c1dcdd58b3 \ - --hash=sha256:05340b60bf05b574159e9bd940152a47d38af3fb43803ffe71f11d704b7696a6 \ - --hash=sha256:12674a4c3b56b706153a358eaa1018c4137a5a04635b92b4652440d3d7386206 \ - --hash=sha256:127f9cc3ac41b6a859bd9dc4321097b1a4f6aa7fdf71b4f9227b9e3ebffb4422 \ - --hash=sha256:13af315c3a0eec8bb8b8d80b8b128cb3fcd17d7e4edafc39647846345a3f003a \ - --hash=sha256:1926fd8de0acb9d15ee757175ce7242e235482a783cd4ec711cc999fc103c24e \ - --hash=sha256:226f2f9b8e128a6ca6a9af9b9e8384f7b53a801907425c9a292553a3a7218ce0 \ - --hash=sha256:276de6273eb074a35bc598f8efbc00c7869c5cf2e29c90748fccc8c898c244df \ - --hash=sha256:318f73f5484b5671f0c7f5f63741ab020a599504ed81d209b5c7129ee4667407 \ - --hash=sha256:3bbce1be3687bbfebe29abdb7631b83e6b25da3f4e1856a1611eb21854b689ea \ - --hash=sha256:42ae4781333e331a1743445931b08ebdad73e188fd554259e772556fc4937c48 \ - --hash=sha256:58be56ae0529c664cc04a9c76e68bb92b091e0194d6e3c50bea7e0f266f73713 \ - --hash=sha256:5da2c81575cc3ccf05d9830f9e8d3c70954819ca9a63828210498c0774fda1a3 \ - --hash=sha256:6311853aa2bba4064d0c28ca54e7b50c4d48e3de04f6770f6c60ebda1e975267 \ - --hash=sha256:650e2917660e696041ab3dcd7abac160b4121cd9a484c08406f24c5964099829 \ - --hash=sha256:6a4db36f9721fdf391646685ecffa404eb986cbe007a3289499020daf72e88a2 \ - --hash=sha256:779cbf1ce375b96111db98fca913c1f5ec11b1d870e529b1dc7354b2681a8c3a \ - --hash=sha256:7f6fe42536d9dcd3e2ffb9d3053f5d05221ae3bbcefbe472bdf2c71c793e3183 \ - --hash=sha256:891f712ce54e0d631370e1f4997b3f182f3368179198efc30d477c75d1f44942 \ - --hash=sha256:95c68a4b9b7828ba0428f8f7e3109c5d476ca44996ed9a5f8aac6269296e2d59 \ - --hash=sha256:96a8918a78d5d64e07c8ea4ed2bc44354e3f93f46a4866a40e8db934e4c0d74b \ - --hash=sha256:9c3cf890c3c0ecfe1510a452a165431b5831e24160c5fcf2071f0f85ca5a47cd \ - --hash=sha256:9f58099ad7affc0754ae42e6d87443299f15d739b0ce03c76f515153a5cda06c \ - --hash=sha256:a0b9e622c3b2b8d0ce32f77eba617ab0d6768b82836391e4f8f9e2074582bf02 \ - --hash=sha256:a7f9cbea4245ee36190f85fe1814e2d7b1e5f2186381b082f5d59f99b7f11328 \ - --hash=sha256:bab4aebd525218bab4ee615786c4581952eadc16b1ff031813a2fd51f0cc7b08 \ - --hash=sha256:c124b8c8779bf2d35d9b721e52d4adb41c9bfbde45e6a3f25f0820caa9aba73f \ - --hash=sha256:c9da0a39b53d2fab3e5467329ed50e951eb91386e9d0d5b12daf593973c3b168 \ - --hash=sha256:ca60076c388728d3b6ac3846842474f4250c91efbfe5afa872d3ffd69dd4b318 \ - --hash=sha256:cb6994fff247987c66a8a4e550ef374671c2b82e3c0d2115e689d21e511a652d \ - --hash=sha256:d1c1d6236feab51200272d79b3d3e0f12cf2cbb12b208c835b175a21efdb0a73 \ - --hash=sha256:dd7760a88a8d3d705ff562aa93f8445ead54f58fd482e4f9e2bafb7e177375d4 \ - --hash=sha256:dda4d8a3bb0b50f540f6ff4b6033f3a74e8bf0bd5320b70fab2c03e512a62812 \ - --hash=sha256:e0f1ff55dde0ebcfbef027edc21f71c205845585fffe30d4ec4979416613e9b3 \ - --hash=sha256:e7a539b9be7b9c00f11ef16b55486141bc2cdb0c54762f84e3c6fc091917436d \ - --hash=sha256:eb0b14523758e37802f27b7f8cd973f5f3d33be7613952c0df904b68c4842f0e \ - --hash=sha256:ed447680ff21c14aaceb6a9f99a5f639f583ccfe4ce1a5e1d48eb41c3d6b3217 \ - --hash=sha256:f52a4ad2568314ee713715b1e2d79ab55fab11e8b304fd1462ff5cccf4264b3e \ - --hash=sha256:fbd60c6aaa07c31d7754edbc2334aef50601b7f1ada67a96eb1eb57c7c72378f \ - --hash=sha256:fc28e0db232c62ca0c3600884933178f0825c99be4474cdd645e378a10588125 \ - --hash=sha256:fe31de3002e7b08eb20823b3735b97c86c5926dd0581c7710a680b418a8709d4 \ - --hash=sha256:fec221a051150eeddfdfcff162e6db92c65ecf46cb0f7bb1bf812a1520ec026b \ - --hash=sha256:ff71073ebf0e42258a42a0b34f2c09ec384977e7f6808999102eedd5b49920e3 +google-crc32c==1.5.0 \ + --hash=sha256:024894d9d3cfbc5943f8f230e23950cd4906b2fe004c72e29b209420a1e6b05a \ + --hash=sha256:02c65b9817512edc6a4ae7c7e987fea799d2e0ee40c53ec573a692bee24de876 \ + --hash=sha256:02ebb8bf46c13e36998aeaad1de9b48f4caf545e91d14041270d9dca767b780c \ + --hash=sha256:07eb3c611ce363c51a933bf6bd7f8e3878a51d124acfc89452a75120bc436289 \ + --hash=sha256:1034d91442ead5a95b5aaef90dbfaca8633b0247d1e41621d1e9f9db88c36298 \ + --hash=sha256:116a7c3c616dd14a3de8c64a965828b197e5f2d121fedd2f8c5585c547e87b02 \ + --hash=sha256:19e0a019d2c4dcc5e598cd4a4bc7b008546b0358bd322537c74ad47a5386884f \ + --hash=sha256:1c7abdac90433b09bad6c43a43af253e688c9cfc1c86d332aed13f9a7c7f65e2 \ + --hash=sha256:1e986b206dae4476f41bcec1faa057851f3889503a70e1bdb2378d406223994a \ + --hash=sha256:272d3892a1e1a2dbc39cc5cde96834c236d5327e2122d3aaa19f6614531bb6eb \ + --hash=sha256:278d2ed7c16cfc075c91378c4f47924c0625f5fc84b2d50d921b18b7975bd210 \ + --hash=sha256:2ad40e31093a4af319dadf503b2467ccdc8f67c72e4bcba97f8c10cb078207b5 \ + --hash=sha256:2e920d506ec85eb4ba50cd4228c2bec05642894d4c73c59b3a2fe20346bd00ee \ + --hash=sha256:3359fc442a743e870f4588fcf5dcbc1bf929df1fad8fb9905cd94e5edb02e84c \ + --hash=sha256:37933ec6e693e51a5b07505bd05de57eee12f3e8c32b07da7e73669398e6630a \ + --hash=sha256:398af5e3ba9cf768787eef45c803ff9614cc3e22a5b2f7d7ae116df8b11e3314 \ + --hash=sha256:3b747a674c20a67343cb61d43fdd9207ce5da6a99f629c6e2541aa0e89215bcd \ + --hash=sha256:461665ff58895f508e2866824a47bdee72497b091c730071f2b7575d5762ab65 \ + --hash=sha256:4c6fdd4fccbec90cc8a01fc00773fcd5fa28db683c116ee3cb35cd5da9ef6c37 \ + --hash=sha256:5829b792bf5822fd0a6f6eb34c5f81dd074f01d570ed7f36aa101d6fc7a0a6e4 \ + --hash=sha256:596d1f98fc70232fcb6590c439f43b350cb762fb5d61ce7b0e9db4539654cc13 \ + --hash=sha256:5ae44e10a8e3407dbe138984f21e536583f2bba1be9491239f942c2464ac0894 \ + --hash=sha256:635f5d4dd18758a1fbd1049a8e8d2fee4ffed124462d837d1a02a0e009c3ab31 \ + --hash=sha256:64e52e2b3970bd891309c113b54cf0e4384762c934d5ae56e283f9a0afcd953e \ + --hash=sha256:66741ef4ee08ea0b2cc3c86916ab66b6aef03768525627fd6a1b34968b4e3709 \ + --hash=sha256:67b741654b851abafb7bc625b6d1cdd520a379074e64b6a128e3b688c3c04740 \ + --hash=sha256:6ac08d24c1f16bd2bf5eca8eaf8304812f44af5cfe5062006ec676e7e1d50afc \ + --hash=sha256:6f998db4e71b645350b9ac28a2167e6632c239963ca9da411523bb439c5c514d \ + --hash=sha256:72218785ce41b9cfd2fc1d6a017dc1ff7acfc4c17d01053265c41a2c0cc39b8c \ + --hash=sha256:74dea7751d98034887dbd821b7aae3e1d36eda111d6ca36c206c44478035709c \ + --hash=sha256:759ce4851a4bb15ecabae28f4d2e18983c244eddd767f560165563bf9aefbc8d \ + --hash=sha256:77e2fd3057c9d78e225fa0a2160f96b64a824de17840351b26825b0848022906 \ + --hash=sha256:7c074fece789b5034b9b1404a1f8208fc2d4c6ce9decdd16e8220c5a793e6f61 \ + --hash=sha256:7c42c70cd1d362284289c6273adda4c6af8039a8ae12dc451dcd61cdabb8ab57 \ + --hash=sha256:7f57f14606cd1dd0f0de396e1e53824c371e9544a822648cd76c034d209b559c \ + --hash=sha256:83c681c526a3439b5cf94f7420471705bbf96262f49a6fe546a6db5f687a3d4a \ + --hash=sha256:8485b340a6a9e76c62a7dce3c98e5f102c9219f4cfbf896a00cf48caf078d438 \ + --hash=sha256:84e6e8cd997930fc66d5bb4fde61e2b62ba19d62b7abd7a69920406f9ecca946 \ + --hash=sha256:89284716bc6a5a415d4eaa11b1726d2d60a0cd12aadf5439828353662ede9dd7 \ + --hash=sha256:8b87e1a59c38f275c0e3676fc2ab6d59eccecfd460be267ac360cc31f7bcde96 \ + --hash=sha256:8f24ed114432de109aa9fd317278518a5af2d31ac2ea6b952b2f7782b43da091 \ + --hash=sha256:98cb4d057f285bd80d8778ebc4fde6b4d509ac3f331758fb1528b733215443ae \ + --hash=sha256:998679bf62b7fb599d2878aa3ed06b9ce688b8974893e7223c60db155f26bd8d \ + --hash=sha256:9ba053c5f50430a3fcfd36f75aff9caeba0440b2d076afdb79a318d6ca245f88 \ + --hash=sha256:9c99616c853bb585301df6de07ca2cadad344fd1ada6d62bb30aec05219c45d2 \ + --hash=sha256:a1fd716e7a01f8e717490fbe2e431d2905ab8aa598b9b12f8d10abebb36b04dd \ + --hash=sha256:a2355cba1f4ad8b6988a4ca3feed5bff33f6af2d7f134852cf279c2aebfde541 \ + --hash=sha256:b1f8133c9a275df5613a451e73f36c2aea4fe13c5c8997e22cf355ebd7bd0728 \ + --hash=sha256:b8667b48e7a7ef66afba2c81e1094ef526388d35b873966d8a9a447974ed9178 \ + --hash=sha256:ba1eb1843304b1e5537e1fca632fa894d6f6deca8d6389636ee5b4797affb968 \ + --hash=sha256:be82c3c8cfb15b30f36768797a640e800513793d6ae1724aaaafe5bf86f8f346 \ + --hash=sha256:c02ec1c5856179f171e032a31d6f8bf84e5a75c45c33b2e20a3de353b266ebd8 \ + --hash=sha256:c672d99a345849301784604bfeaeba4db0c7aae50b95be04dd651fd2a7310b93 \ + --hash=sha256:c6c777a480337ac14f38564ac88ae82d4cd238bf293f0a22295b66eb89ffced7 \ + --hash=sha256:cae0274952c079886567f3f4f685bcaf5708f0a23a5f5216fdab71f81a6c0273 \ + --hash=sha256:cd67cf24a553339d5062eff51013780a00d6f97a39ca062781d06b3a73b15462 \ + --hash=sha256:d3515f198eaa2f0ed49f8819d5732d70698c3fa37384146079b3799b97667a94 \ + --hash=sha256:d5280312b9af0976231f9e317c20e4a61cd2f9629b7bfea6a693d1878a264ebd \ + --hash=sha256:de06adc872bcd8c2a4e0dc51250e9e65ef2ca91be023b9d13ebd67c2ba552e1e \ + --hash=sha256:e1674e4307fa3024fc897ca774e9c7562c957af85df55efe2988ed9056dc4e57 \ + --hash=sha256:e2096eddb4e7c7bdae4bd69ad364e55e07b8316653234a56552d9c988bd2d61b \ + --hash=sha256:e560628513ed34759456a416bf86b54b2476c59144a9138165c9a1575801d0d9 \ + --hash=sha256:edfedb64740750e1a3b16152620220f51d58ff1b4abceb339ca92e934775c27a \ + --hash=sha256:f13cae8cc389a440def0c8c52057f37359014ccbc9dc1f0827936bcd367c6100 \ + --hash=sha256:f314013e7dcd5cf45ab1945d92e713eec788166262ae8deb2cfacd53def27325 \ + --hash=sha256:f583edb943cf2e09c60441b910d6a20b4d9d626c75a36c8fcac01a6c96c01183 \ + --hash=sha256:fd8536e902db7e365f49e7d9029283403974ccf29b13fc7028b97e2295b33556 \ + --hash=sha256:fe70e325aa68fa4b5edf7d1a4b6f691eb04bbccac0ace68e34820d283b5f80d4 # via google-resumable-media -google-resumable-media==2.3.3 \ - --hash=sha256:27c52620bd364d1c8116eaac4ea2afcbfb81ae9139fb3199652fcac1724bfb6c \ - --hash=sha256:5b52774ea7a829a8cdaa8bd2d4c3d4bc660c91b30857ab2668d0eb830f4ea8c5 +google-resumable-media==2.4.0 \ + --hash=sha256:2aa004c16d295c8f6c33b2b4788ba59d366677c0a25ae7382436cb30f776deaa \ + --hash=sha256:8d5518502f92b9ecc84ac46779bd4f09694ecb3ba38a3e7ca737a86d15cbca1f # via google-cloud-storage googleapis-common-protos==1.56.4 \ --hash=sha256:8eb2cbc91b69feaf23e32452a7ae60e791e09967d81d4fcc7fc388182d1bd394 \ --hash=sha256:c25873c47279387cfdcbdafa36149887901d36202cb645a0e4f29686bf6e4417 # via google-api-core -idna==3.3 \ - --hash=sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff \ - --hash=sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d +idna==3.4 \ + --hash=sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4 \ + --hash=sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2 # via requests -importlib-metadata==4.12.0 \ - --hash=sha256:637245b8bab2b6502fcbc752cc4b7a6f6243bb02b31c5c26156ad103d3d45670 \ - --hash=sha256:7401a975809ea1fdc658c3aa4f78cc2195a0e019c5cbc4c06122884e9ae80c23 +importlib-metadata==5.0.0 \ + --hash=sha256:da31db32b304314d044d3c12c79bd59e307889b287ad12ff387b3500835fc2ab \ + --hash=sha256:ddb0e35065e8938f867ed4928d0ae5bf2a53b7773871bfe6bcc7e4fcdc7dea43 # via # -r requirements.in # twine -jaraco-classes==3.2.2 \ - --hash=sha256:6745f113b0b588239ceb49532aa09c3ebb947433ce311ef2f8e3ad64ebb74594 \ - --hash=sha256:e6ef6fd3fcf4579a7a019d87d1e56a883f4e4c35cfe925f86731abc58804e647 +jaraco-classes==3.2.3 \ + --hash=sha256:2353de3288bc6b82120752201c6b1c1a14b058267fa424ed5ce5984e3b922158 \ + --hash=sha256:89559fa5c1d3c34eff6f631ad80bb21f378dbcbb35dd161fd2c6b93f5be2f98a # via keyring jeepney==0.8.0 \ --hash=sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806 \ @@ -255,9 +284,9 @@ jinja2==3.1.2 \ --hash=sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852 \ --hash=sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61 # via gcp-releasetool -keyring==23.9.0 \ - --hash=sha256:4c32a31174faaee48f43a7e2c7e9c3216ec5e95acf22a2bebfb4a1d05056ee44 \ - --hash=sha256:98f060ec95ada2ab910c195a2d4317be6ef87936a766b239c46aa3c7aac4f0db +keyring==23.9.3 \ + --hash=sha256:69732a15cb1433bdfbc3b980a8a36a04878a6cfd7cb99f497b573f31618001c0 \ + --hash=sha256:69b01dd83c42f590250fe7a1f503fc229b14de83857314b1933a3ddbf595c4a5 # via # gcp-releasetool # twine @@ -303,9 +332,9 @@ markupsafe==2.1.1 \ --hash=sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a \ --hash=sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7 # via jinja2 -more-itertools==8.14.0 \ - --hash=sha256:1bc4f91ee5b1b31ac7ceacc17c09befe6a40a503907baf9c839c229b5095cfd2 \ - --hash=sha256:c09443cd3d5438b8dafccd867a6bc1cb0894389e90cb53d227456b0b0bccb750 +more-itertools==9.0.0 \ + --hash=sha256:250e83d7e81d0c87ca6bd942e6aeab8cc9daa6096d12c5308f3f92fa5e5c1f41 \ + --hash=sha256:5a6257e40878ef0520b1803990e3e22303a41b5714006c32a3fd8304b26ea1ab # via jaraco-classes nox==2022.8.7 \ --hash=sha256:1b894940551dc5c389f9271d197ca5d655d40bdc6ccf93ed6880e4042760a34b \ @@ -325,34 +354,34 @@ platformdirs==2.5.2 \ --hash=sha256:027d8e83a2d7de06bbac4e5ef7e023c02b863d7ea5d079477e722bb41ab25788 \ --hash=sha256:58c8abb07dcb441e6ee4b11d8df0ac856038f944ab98b7be6b27b2a3c7feef19 # via virtualenv -protobuf==3.20.2 \ - --hash=sha256:03d76b7bd42ac4a6e109742a4edf81ffe26ffd87c5993126d894fe48a120396a \ - --hash=sha256:09e25909c4297d71d97612f04f41cea8fa8510096864f2835ad2f3b3df5a5559 \ - --hash=sha256:18e34a10ae10d458b027d7638a599c964b030c1739ebd035a1dfc0e22baa3bfe \ - --hash=sha256:291fb4307094bf5ccc29f424b42268640e00d5240bf0d9b86bf3079f7576474d \ - --hash=sha256:2c0b040d0b5d5d207936ca2d02f00f765906622c07d3fa19c23a16a8ca71873f \ - --hash=sha256:384164994727f274cc34b8abd41a9e7e0562801361ee77437099ff6dfedd024b \ - --hash=sha256:3cb608e5a0eb61b8e00fe641d9f0282cd0eedb603be372f91f163cbfbca0ded0 \ - --hash=sha256:5d9402bf27d11e37801d1743eada54372f986a372ec9679673bfcc5c60441151 \ - --hash=sha256:712dca319eee507a1e7df3591e639a2b112a2f4a62d40fe7832a16fd19151750 \ - --hash=sha256:7a5037af4e76c975b88c3becdf53922b5ffa3f2cddf657574a4920a3b33b80f3 \ - --hash=sha256:8228e56a865c27163d5d1d1771d94b98194aa6917bcfb6ce139cbfa8e3c27334 \ - --hash=sha256:84a1544252a933ef07bb0b5ef13afe7c36232a774affa673fc3636f7cee1db6c \ - --hash=sha256:84fe5953b18a383fd4495d375fe16e1e55e0a3afe7b4f7b4d01a3a0649fcda9d \ - --hash=sha256:9c673c8bfdf52f903081816b9e0e612186684f4eb4c17eeb729133022d6032e3 \ - --hash=sha256:9f876a69ca55aed879b43c295a328970306e8e80a263ec91cf6e9189243c613b \ - --hash=sha256:a9e5ae5a8e8985c67e8944c23035a0dff2c26b0f5070b2f55b217a1c33bbe8b1 \ - --hash=sha256:b4fdb29c5a7406e3f7ef176b2a7079baa68b5b854f364c21abe327bbeec01cdb \ - --hash=sha256:c184485e0dfba4dfd451c3bd348c2e685d6523543a0f91b9fd4ae90eb09e8422 \ - --hash=sha256:c9cdf251c582c16fd6a9f5e95836c90828d51b0069ad22f463761d27c6c19019 \ - --hash=sha256:e39cf61bb8582bda88cdfebc0db163b774e7e03364bbf9ce1ead13863e81e359 \ - --hash=sha256:e8fbc522303e09036c752a0afcc5c0603e917222d8bedc02813fd73b4b4ed804 \ - --hash=sha256:f34464ab1207114e73bba0794d1257c150a2b89b7a9faf504e00af7c9fd58978 \ - --hash=sha256:f52dabc96ca99ebd2169dadbe018824ebda08a795c7684a0b7d203a290f3adb0 +protobuf==3.20.3 \ + --hash=sha256:03038ac1cfbc41aa21f6afcbcd357281d7521b4157926f30ebecc8d4ea59dcb7 \ + --hash=sha256:28545383d61f55b57cf4df63eebd9827754fd2dc25f80c5253f9184235db242c \ + --hash=sha256:2e3427429c9cffebf259491be0af70189607f365c2f41c7c3764af6f337105f2 \ + --hash=sha256:398a9e0c3eaceb34ec1aee71894ca3299605fa8e761544934378bbc6c97de23b \ + --hash=sha256:44246bab5dd4b7fbd3c0c80b6f16686808fab0e4aca819ade6e8d294a29c7050 \ + --hash=sha256:447d43819997825d4e71bf5769d869b968ce96848b6479397e29fc24c4a5dfe9 \ + --hash=sha256:67a3598f0a2dcbc58d02dd1928544e7d88f764b47d4a286202913f0b2801c2e7 \ + --hash=sha256:74480f79a023f90dc6e18febbf7b8bac7508420f2006fabd512013c0c238f454 \ + --hash=sha256:819559cafa1a373b7096a482b504ae8a857c89593cf3a25af743ac9ecbd23480 \ + --hash=sha256:899dc660cd599d7352d6f10d83c95df430a38b410c1b66b407a6b29265d66469 \ + --hash=sha256:8c0c984a1b8fef4086329ff8dd19ac77576b384079247c770f29cc8ce3afa06c \ + --hash=sha256:9aae4406ea63d825636cc11ffb34ad3379335803216ee3a856787bcf5ccc751e \ + --hash=sha256:a7ca6d488aa8ff7f329d4c545b2dbad8ac31464f1d8b1c87ad1346717731e4db \ + --hash=sha256:b6cc7ba72a8850621bfec987cb72623e703b7fe2b9127a161ce61e61558ad905 \ + --hash=sha256:bf01b5720be110540be4286e791db73f84a2b721072a3711efff6c324cdf074b \ + --hash=sha256:c02ce36ec760252242a33967d51c289fd0e1c0e6e5cc9397e2279177716add86 \ + --hash=sha256:d9e4432ff660d67d775c66ac42a67cf2453c27cb4d738fc22cb53b5d84c135d4 \ + --hash=sha256:daa564862dd0d39c00f8086f88700fdbe8bc717e993a21e90711acfed02f2402 \ + --hash=sha256:de78575669dddf6099a8a0f46a27e82a1783c557ccc38ee620ed8cc96d3be7d7 \ + --hash=sha256:e64857f395505ebf3d2569935506ae0dfc4a15cb80dc25261176c784662cdcc4 \ + --hash=sha256:f4bd856d702e5b0d96a00ec6b307b0f51c1982c2bf9c0052cf9019e9a544ba99 \ + --hash=sha256:f4c42102bc82a51108e449cbb32b19b180022941c727bac0cfd50170341f16ee # via # gcp-docuploader # gcp-releasetool # google-api-core + # googleapis-common-protos py==1.11.0 \ --hash=sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719 \ --hash=sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378 @@ -377,9 +406,9 @@ pygments==2.13.0 \ # via # readme-renderer # rich -pyjwt==2.4.0 \ - --hash=sha256:72d1d253f32dbd4f5c88eaf1fdc62f3a19f676ccbadb9dbc5d07e951b2b26daf \ - --hash=sha256:d42908208c699b3b973cbeb01a969ba6a96c821eefb1c5bfe4c390c01d67abba +pyjwt==2.6.0 \ + --hash=sha256:69285c7e31fc44f68a1feb309e948e0df53259d579295e6cfe2b1792329f05fd \ + --hash=sha256:d83c3d892a77bbb74d3e1a2cfa90afaadb60945205d1095d9221f04466f64c14 # via gcp-releasetool pyparsing==3.0.9 \ --hash=sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb \ @@ -392,9 +421,9 @@ python-dateutil==2.8.2 \ --hash=sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86 \ --hash=sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9 # via gcp-releasetool -readme-renderer==37.0 \ - --hash=sha256:07b7ea234e03e58f77cc222e206e6abb8f4c0435becce5104794ee591f9301c5 \ - --hash=sha256:9fa416704703e509eeb900696751c908ddeb2011319d93700d8f18baff887a69 +readme-renderer==37.3 \ + --hash=sha256:cd653186dfc73055656f090f227f5cb22a046d7f71a841dfa305f55c9a513273 \ + --hash=sha256:f67a16caedfa71eef48a31b39708637a6f4664c4394801a7b0d6432d13907343 # via twine requests==2.28.1 \ --hash=sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983 \ @@ -405,17 +434,17 @@ requests==2.28.1 \ # google-cloud-storage # requests-toolbelt # twine -requests-toolbelt==0.9.1 \ - --hash=sha256:380606e1d10dc85c3bd47bf5a6095f815ec007be7a8b69c878507068df059e6f \ - --hash=sha256:968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0 +requests-toolbelt==0.10.1 \ + --hash=sha256:18565aa58116d9951ac39baa288d3adb5b3ff975c4f25eee78555d89e8f247f7 \ + --hash=sha256:62e09f7ff5ccbda92772a29f394a49c3ad6cb181d568b1337626b2abb628a63d # via twine rfc3986==2.0.0 \ --hash=sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd \ --hash=sha256:97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c # via twine -rich==12.5.1 \ - --hash=sha256:2eb4e6894cde1e017976d2975ac210ef515d7548bc595ba20e195fb9628acdeb \ - --hash=sha256:63a5c5ce3673d3d5fbbf23cd87e11ab84b6b451436f1b7f19ec54b6bc36ed7ca +rich==12.6.0 \ + --hash=sha256:a4eb26484f2c82589bd9a17c73d32a010b1e29d89f1604cd9bf3a2097b81bb5e \ + --hash=sha256:ba3a3775974105c221d31141f2c116f4fd65c5ceb0698657a11e9f295ec93fd0 # via twine rsa==4.9 \ --hash=sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7 \ @@ -437,9 +466,9 @@ twine==4.0.1 \ --hash=sha256:42026c18e394eac3e06693ee52010baa5313e4811d5a11050e7d48436cf41b9e \ --hash=sha256:96b1cf12f7ae611a4a40b6ae8e9570215daff0611828f5fe1f37a16255ab24a0 # via -r requirements.in -typing-extensions==4.3.0 \ - --hash=sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02 \ - --hash=sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6 +typing-extensions==4.4.0 \ + --hash=sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa \ + --hash=sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e # via -r requirements.in urllib3==1.26.12 \ --hash=sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e \ @@ -447,9 +476,9 @@ urllib3==1.26.12 \ # via # requests # twine -virtualenv==20.16.4 \ - --hash=sha256:014f766e4134d0008dcaa1f95bafa0fb0f575795d07cae50b1bee514185d6782 \ - --hash=sha256:035ed57acce4ac35c82c9d8802202b0e71adac011a511ff650cbcf9635006a22 +virtualenv==20.16.6 \ + --hash=sha256:186ca84254abcbde98180fd17092f9628c5fe742273c02724972a1d8a2035108 \ + --hash=sha256:530b850b523c6449406dfba859d6345e48ef19b8439606c5d74d7d3c9e14d76e # via nox webencodings==0.5.1 \ --hash=sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78 \ @@ -459,13 +488,13 @@ wheel==0.37.1 \ --hash=sha256:4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a \ --hash=sha256:e9a504e793efbca1b8e0e9cb979a249cf4a0a7b5b8c9e8b65a5e39d49529c1c4 # via -r requirements.in -zipp==3.8.1 \ - --hash=sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2 \ - --hash=sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009 +zipp==3.10.0 \ + --hash=sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1 \ + --hash=sha256:7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: -setuptools==65.2.0 \ - --hash=sha256:7f4bc85450898a09f76ebf28b72fa25bc7111f6c7d665d514a60bba9c75ef2a9 \ - --hash=sha256:a3ca5857c89f82f5c9410e8508cb32f4872a3bafd4aa7ae122a24ca33bccc750 +setuptools==65.5.0 \ + --hash=sha256:512e5536220e38146176efb833d4a62aa726b7bbff82cfbc8ba9eaa3996e0b17 \ + --hash=sha256:f62ea9da9ed6289bfe868cd6845968a2c854d1427f8548d52cae02a42b4f0356 # via -r requirements.in diff --git a/noxfile.py b/noxfile.py index ef25d609..2c1512bb 100644 --- a/noxfile.py +++ b/noxfile.py @@ -277,7 +277,11 @@ def docs(session): """Build the docs for this library.""" session.install("-e", ".") - session.install("sphinx==4.0.1", "alabaster", "recommonmark") + session.install( + "sphinx==4.0.1", + "alabaster", + "recommonmark", + ) shutil.rmtree(os.path.join("docs", "_build"), ignore_errors=True) session.run( @@ -300,7 +304,10 @@ def docfx(session): session.install("-e", ".") session.install( - "sphinx==4.0.1", "alabaster", "recommonmark", "gcp-sphinx-docfx-yaml" + "sphinx==4.0.1", + "alabaster", + "recommonmark", + "gcp-sphinx-docfx-yaml", ) shutil.rmtree(os.path.join("docs", "_build"), ignore_errors=True) From 169c4d444b865a28e0c3096982643679dea26a1f Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 16 Nov 2022 17:10:44 +0000 Subject: [PATCH 11/20] chore(python): update release script dependencies [autoapprove] (#520) Source-Link: https://togithub.com/googleapis/synthtool/commit/25083af347468dd5f90f69627420f7d452b6c50e Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:e6cbd61f1838d9ff6a31436dfc13717f372a7482a82fc1863ca954ec47bff8c8 --- .github/.OwlBot.lock.yaml | 2 +- .github/workflows/docs.yml | 4 +-- .github/workflows/lint.yml | 2 +- .github/workflows/unittest.yml | 2 +- .kokoro/docker/docs/Dockerfile | 12 +++---- .kokoro/requirements.in | 4 ++- .kokoro/requirements.txt | 61 ++++++++++++++++++---------------- noxfile.py | 4 +-- 8 files changed, 48 insertions(+), 43 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index 12edee77..3f1ccc08 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,4 +13,4 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:452901c74a22f9b9a3bd02bce780b8e8805c97270d424684bff809ce5be8c2a2 + digest: sha256:e6cbd61f1838d9ff6a31436dfc13717f372a7482a82fc1863ca954ec47bff8c8 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 7092a139..e97d89e4 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -12,7 +12,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v4 with: - python-version: "3.10" + python-version: "3.9" - name: Install nox run: | python -m pip install --upgrade setuptools pip wheel @@ -28,7 +28,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v4 with: - python-version: "3.10" + python-version: "3.9" - name: Install nox run: | python -m pip install --upgrade setuptools pip wheel diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index d2aee5b7..16d5a9e9 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -12,7 +12,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v4 with: - python-version: "3.10" + python-version: "3.8" - name: Install nox run: | python -m pip install --upgrade setuptools pip wheel diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index 24e46555..c0dca034 100644 --- a/.github/workflows/unittest.yml +++ b/.github/workflows/unittest.yml @@ -41,7 +41,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v4 with: - python-version: "3.10" + python-version: "3.8" - name: Install coverage run: | python -m pip install --upgrade setuptools pip wheel diff --git a/.kokoro/docker/docs/Dockerfile b/.kokoro/docker/docs/Dockerfile index 238b87b9..f8137d0a 100644 --- a/.kokoro/docker/docs/Dockerfile +++ b/.kokoro/docker/docs/Dockerfile @@ -60,16 +60,16 @@ RUN apt-get update \ && rm -rf /var/lib/apt/lists/* \ && rm -f /var/cache/apt/archives/*.deb -###################### Install python 3.8.11 +###################### Install python 3.9.13 -# Download python 3.8.11 -RUN wget https://www.python.org/ftp/python/3.8.11/Python-3.8.11.tgz +# Download python 3.9.13 +RUN wget https://www.python.org/ftp/python/3.9.13/Python-3.9.13.tgz # Extract files -RUN tar -xvf Python-3.8.11.tgz +RUN tar -xvf Python-3.9.13.tgz -# Install python 3.8.11 -RUN ./Python-3.8.11/configure --enable-optimizations +# Install python 3.9.13 +RUN ./Python-3.9.13/configure --enable-optimizations RUN make altinstall ###################### Install pip diff --git a/.kokoro/requirements.in b/.kokoro/requirements.in index 7718391a..cbd7e77f 100644 --- a/.kokoro/requirements.in +++ b/.kokoro/requirements.in @@ -5,4 +5,6 @@ typing-extensions twine wheel setuptools -nox \ No newline at end of file +nox +charset-normalizer<3 +click<8.1.0 diff --git a/.kokoro/requirements.txt b/.kokoro/requirements.txt index 31425f16..9c1b9be3 100644 --- a/.kokoro/requirements.txt +++ b/.kokoro/requirements.txt @@ -93,11 +93,14 @@ cffi==1.15.1 \ charset-normalizer==2.1.1 \ --hash=sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845 \ --hash=sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f - # via requests + # via + # -r requirements.in + # requests click==8.0.4 \ --hash=sha256:6a7a62563bbfabfda3a38f3023a1db4a35978c0abd76f6c9605ecd6554d6d9b1 \ --hash=sha256:8458d7b1287c5fb128c90e23381cf99dcde74beaf6c7ff6384ce84d6fe090adb # via + # -r requirements.in # gcp-docuploader # gcp-releasetool colorlog==6.7.0 \ @@ -156,9 +159,9 @@ gcp-docuploader==0.6.4 \ --hash=sha256:01486419e24633af78fd0167db74a2763974765ee8078ca6eb6964d0ebd388af \ --hash=sha256:70861190c123d907b3b067da896265ead2eeb9263969d6955c9e0bb091b5ccbf # via -r requirements.in -gcp-releasetool==1.9.1 \ - --hash=sha256:952f4055d5d986b070ae2a71c4410b250000f9cc5a1e26398fcd55a5bbc5a15f \ - --hash=sha256:d0d3c814a97c1a237517e837d8cfa668ced8df4b882452578ecef4a4e79c583b +gcp-releasetool==1.10.0 \ + --hash=sha256:72a38ca91b59c24f7e699e9227c90cbe4dd71b789383cb0164b088abae294c83 \ + --hash=sha256:8c7c99320208383d4bb2b808c6880eb7a81424afe7cdba3c8d84b25f4f0e097d # via -r requirements.in google-api-core==2.10.2 \ --hash=sha256:10c06f7739fe57781f87523375e8e1a3a4674bf6392cd6131a3222182b971320 \ @@ -166,9 +169,9 @@ google-api-core==2.10.2 \ # via # google-cloud-core # google-cloud-storage -google-auth==2.14.0 \ - --hash=sha256:1ad5b0e6eba5f69645971abb3d2c197537d5914070a8c6d30299dfdb07c5c700 \ - --hash=sha256:cf24817855d874ede2efd071aa22125445f555de1685b739a9782fcf408c2a3d +google-auth==2.14.1 \ + --hash=sha256:ccaa901f31ad5cbb562615eb8b664b3dd0bf5404a67618e642307f00613eda4d \ + --hash=sha256:f5d8701633bebc12e0deea4df8abd8aff31c28b355360597f7f2ee60f2e4d016 # via # gcp-releasetool # google-api-core @@ -178,9 +181,9 @@ google-cloud-core==2.3.2 \ --hash=sha256:8417acf6466be2fa85123441696c4badda48db314c607cf1e5d543fa8bdc22fe \ --hash=sha256:b9529ee7047fd8d4bf4a2182de619154240df17fbe60ead399078c1ae152af9a # via google-cloud-storage -google-cloud-storage==2.5.0 \ - --hash=sha256:19a26c66c317ce542cea0830b7e787e8dac2588b6bfa4d3fd3b871ba16305ab0 \ - --hash=sha256:382f34b91de2212e3c2e7b40ec079d27ee2e3dbbae99b75b1bcd8c63063ce235 +google-cloud-storage==2.6.0 \ + --hash=sha256:104ca28ae61243b637f2f01455cc8a05e8f15a2a18ced96cb587241cdd3820f5 \ + --hash=sha256:4ad0415ff61abdd8bb2ae81c1f8f7ec7d91a1011613f2db87c614c550f97bfe9 # via gcp-docuploader google-crc32c==1.5.0 \ --hash=sha256:024894d9d3cfbc5943f8f230e23950cd4906b2fe004c72e29b209420a1e6b05a \ @@ -256,9 +259,9 @@ google-resumable-media==2.4.0 \ --hash=sha256:2aa004c16d295c8f6c33b2b4788ba59d366677c0a25ae7382436cb30f776deaa \ --hash=sha256:8d5518502f92b9ecc84ac46779bd4f09694ecb3ba38a3e7ca737a86d15cbca1f # via google-cloud-storage -googleapis-common-protos==1.56.4 \ - --hash=sha256:8eb2cbc91b69feaf23e32452a7ae60e791e09967d81d4fcc7fc388182d1bd394 \ - --hash=sha256:c25873c47279387cfdcbdafa36149887901d36202cb645a0e4f29686bf6e4417 +googleapis-common-protos==1.57.0 \ + --hash=sha256:27a849d6205838fb6cc3c1c21cb9800707a661bb21c6ce7fb13e99eb1f8a0c46 \ + --hash=sha256:a9f4a1d7f6d9809657b7f1316a1aa527f6664891531bcfcc13b6696e685f443c # via google-api-core idna==3.4 \ --hash=sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4 \ @@ -269,6 +272,7 @@ importlib-metadata==5.0.0 \ --hash=sha256:ddb0e35065e8938f867ed4928d0ae5bf2a53b7773871bfe6bcc7e4fcdc7dea43 # via # -r requirements.in + # keyring # twine jaraco-classes==3.2.3 \ --hash=sha256:2353de3288bc6b82120752201c6b1c1a14b058267fa424ed5ce5984e3b922158 \ @@ -284,9 +288,9 @@ jinja2==3.1.2 \ --hash=sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852 \ --hash=sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61 # via gcp-releasetool -keyring==23.9.3 \ - --hash=sha256:69732a15cb1433bdfbc3b980a8a36a04878a6cfd7cb99f497b573f31618001c0 \ - --hash=sha256:69b01dd83c42f590250fe7a1f503fc229b14de83857314b1933a3ddbf595c4a5 +keyring==23.11.0 \ + --hash=sha256:3dd30011d555f1345dec2c262f0153f2f0ca6bca041fb1dc4588349bb4c0ac1e \ + --hash=sha256:ad192263e2cdd5f12875dedc2da13534359a7e760e77f8d04b50968a821c2361 # via # gcp-releasetool # twine @@ -350,9 +354,9 @@ pkginfo==1.8.3 \ --hash=sha256:848865108ec99d4901b2f7e84058b6e7660aae8ae10164e015a6dcf5b242a594 \ --hash=sha256:a84da4318dd86f870a9447a8c98340aa06216bfc6f2b7bdc4b8766984ae1867c # via twine -platformdirs==2.5.2 \ - --hash=sha256:027d8e83a2d7de06bbac4e5ef7e023c02b863d7ea5d079477e722bb41ab25788 \ - --hash=sha256:58c8abb07dcb441e6ee4b11d8df0ac856038f944ab98b7be6b27b2a3c7feef19 +platformdirs==2.5.4 \ + --hash=sha256:1006647646d80f16130f052404c6b901e80ee4ed6bef6792e1f238a8969106f7 \ + --hash=sha256:af0276409f9a02373d540bf8480021a048711d572745aef4b7842dad245eba10 # via virtualenv protobuf==3.20.3 \ --hash=sha256:03038ac1cfbc41aa21f6afcbcd357281d7521b4157926f30ebecc8d4ea59dcb7 \ @@ -381,7 +385,6 @@ protobuf==3.20.3 \ # gcp-docuploader # gcp-releasetool # google-api-core - # googleapis-common-protos py==1.11.0 \ --hash=sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719 \ --hash=sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378 @@ -476,17 +479,17 @@ urllib3==1.26.12 \ # via # requests # twine -virtualenv==20.16.6 \ - --hash=sha256:186ca84254abcbde98180fd17092f9628c5fe742273c02724972a1d8a2035108 \ - --hash=sha256:530b850b523c6449406dfba859d6345e48ef19b8439606c5d74d7d3c9e14d76e +virtualenv==20.16.7 \ + --hash=sha256:8691e3ff9387f743e00f6bb20f70121f5e4f596cae754531f2b3b3a1b1ac696e \ + --hash=sha256:efd66b00386fdb7dbe4822d172303f40cd05e50e01740b19ea42425cbe653e29 # via nox webencodings==0.5.1 \ --hash=sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78 \ --hash=sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923 # via bleach -wheel==0.37.1 \ - --hash=sha256:4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a \ - --hash=sha256:e9a504e793efbca1b8e0e9cb979a249cf4a0a7b5b8c9e8b65a5e39d49529c1c4 +wheel==0.38.4 \ + --hash=sha256:965f5259b566725405b05e7cf774052044b1ed30119b5d586b2703aafe8719ac \ + --hash=sha256:b60533f3f5d530e971d6737ca6d58681ee434818fab630c83a734bb10c083ce8 # via -r requirements.in zipp==3.10.0 \ --hash=sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1 \ @@ -494,7 +497,7 @@ zipp==3.10.0 \ # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: -setuptools==65.5.0 \ - --hash=sha256:512e5536220e38146176efb833d4a62aa726b7bbff82cfbc8ba9eaa3996e0b17 \ - --hash=sha256:f62ea9da9ed6289bfe868cd6845968a2c854d1427f8548d52cae02a42b4f0356 +setuptools==65.5.1 \ + --hash=sha256:d0b9a8433464d5800cbe05094acf5c6d52a91bfac9b52bcfc4d41382be5d5d31 \ + --hash=sha256:e197a19aa8ec9722928f2206f8de752def0e4c9fc6953527360d1c36d94ddb2f # via -r requirements.in diff --git a/noxfile.py b/noxfile.py index 2c1512bb..cf6ce80f 100644 --- a/noxfile.py +++ b/noxfile.py @@ -272,7 +272,7 @@ def cover(session): session.run("coverage", "erase") -@nox.session(python=DEFAULT_PYTHON_VERSION) +@nox.session(python="3.9") def docs(session): """Build the docs for this library.""" @@ -298,7 +298,7 @@ def docs(session): ) -@nox.session(python=DEFAULT_PYTHON_VERSION) +@nox.session(python="3.9") def docfx(session): """Build the docfx yaml files for this library.""" From 9232938aee58b287b8e44fcbf27d8d734658ef61 Mon Sep 17 00:00:00 2001 From: jeffreyaiatgoogle <113950621+jeffreyaiatgoogle@users.noreply.github.com> Date: Fri, 18 Nov 2022 13:26:00 -0800 Subject: [PATCH 12/20] chore(samples): Adds code examples to create, get, list, update and delete a SavedQuery (#499) * Change the comment of BatchGetEffectiveIamPolicies to be more accurate. * feat: Adds code examples to create, get, list, update and delete a SavedQuery. * feat: Adds code examples to create, get, list, update and delete a SavedQuery. * Update samples/snippets/quickstart_create_saved_query.py Co-authored-by: Dan Lee <71398022+dandhlee@users.noreply.github.com> * Update samples/snippets/quickstart_create_saved_query.py Co-authored-by: Dan Lee <71398022+dandhlee@users.noreply.github.com> * Update samples/snippets/quickstart_create_saved_query.py Co-authored-by: Dan Lee <71398022+dandhlee@users.noreply.github.com> * Update samples/snippets/quickstart_update_saved_query.py Co-authored-by: Dan Lee <71398022+dandhlee@users.noreply.github.com> * Update samples/snippets/quickstart_list_saved_queries_test.py Co-authored-by: Dan Lee <71398022+dandhlee@users.noreply.github.com> * Update samples/snippets/quickstart_update_saved_query.py Co-authored-by: Dan Lee <71398022+dandhlee@users.noreply.github.com> * Update samples/snippets/quickstart_update_saved_query_test.py Co-authored-by: Dan Lee <71398022+dandhlee@users.noreply.github.com> * Update samples/snippets/quickstart_get_saved_query.py Co-authored-by: Dan Lee <71398022+dandhlee@users.noreply.github.com> * Update samples/snippets/quickstart_create_saved_query.py Co-authored-by: Dan Lee <71398022+dandhlee@users.noreply.github.com> * Update samples/snippets/quickstart_create_saved_query_test.py Co-authored-by: Dan Lee <71398022+dandhlee@users.noreply.github.com> * Update samples/snippets/quickstart_create_saved_query_test.py Co-authored-by: Dan Lee <71398022+dandhlee@users.noreply.github.com> * Update samples/snippets/quickstart_delete_saved_query.py Co-authored-by: Dan Lee <71398022+dandhlee@users.noreply.github.com> * Update samples/snippets/quickstart_delete_saved_query_test.py Co-authored-by: Dan Lee <71398022+dandhlee@users.noreply.github.com> * Update samples/snippets/quickstart_get_saved_query.py Co-authored-by: Dan Lee <71398022+dandhlee@users.noreply.github.com> * Update samples/snippets/quickstart_get_saved_query.py Co-authored-by: Dan Lee <71398022+dandhlee@users.noreply.github.com> * Update samples/snippets/quickstart_get_saved_query_test.py Co-authored-by: Dan Lee <71398022+dandhlee@users.noreply.github.com> * Update samples/snippets/quickstart_list_saved_queries.py Co-authored-by: Dan Lee <71398022+dandhlee@users.noreply.github.com> * Update samples/snippets/quickstart_list_saved_queries.py Co-authored-by: Dan Lee <71398022+dandhlee@users.noreply.github.com> * Update samples/snippets/quickstart_list_saved_queries_test.py Co-authored-by: Dan Lee <71398022+dandhlee@users.noreply.github.com> * feat: Adds code examples to create, get, list, update and delete a SavedQuery. * feat: Adds code examples to create, get, list, update and delete a SavedQuery. * Update samples/snippets/quickstart_create_saved_query.py Co-authored-by: Dan Lee <71398022+dandhlee@users.noreply.github.com> --- samples/snippets/conftest.py | 35 +++++++++++ .../quickstart_batchgeteffectiveiampolicy.py | 2 +- .../snippets/quickstart_create_saved_query.py | 58 +++++++++++++++++++ .../quickstart_create_saved_query_test.py | 32 ++++++++++ .../snippets/quickstart_delete_saved_query.py | 39 +++++++++++++ .../quickstart_delete_saved_query_test.py | 30 ++++++++++ .../snippets/quickstart_get_saved_query.py | 39 +++++++++++++ .../quickstart_get_saved_query_test.py | 24 ++++++++ .../snippets/quickstart_list_saved_queries.py | 41 +++++++++++++ .../quickstart_list_saved_queries_test.py | 28 +++++++++ .../snippets/quickstart_update_saved_query.py | 49 ++++++++++++++++ .../quickstart_update_saved_query_test.py | 24 ++++++++ 12 files changed, 400 insertions(+), 1 deletion(-) create mode 100644 samples/snippets/quickstart_create_saved_query.py create mode 100644 samples/snippets/quickstart_create_saved_query_test.py create mode 100644 samples/snippets/quickstart_delete_saved_query.py create mode 100644 samples/snippets/quickstart_delete_saved_query_test.py create mode 100644 samples/snippets/quickstart_get_saved_query.py create mode 100644 samples/snippets/quickstart_get_saved_query_test.py create mode 100644 samples/snippets/quickstart_list_saved_queries.py create mode 100644 samples/snippets/quickstart_list_saved_queries_test.py create mode 100644 samples/snippets/quickstart_update_saved_query.py create mode 100644 samples/snippets/quickstart_update_saved_query_test.py diff --git a/samples/snippets/conftest.py b/samples/snippets/conftest.py index d5c895f9..7a7577d7 100644 --- a/samples/snippets/conftest.py +++ b/samples/snippets/conftest.py @@ -23,7 +23,9 @@ from google.cloud import pubsub_v1 import pytest +import quickstart_create_saved_query import quickstart_createfeed +import quickstart_delete_saved_query import quickstart_deletefeed @@ -88,3 +90,36 @@ def deleter(): quickstart_deletefeed.delete_feed(feed_name) except NotFound as e: print(f"Ignoring NotFound: {e}") + + +@pytest.fixture(scope="module") +def test_saved_query(): + saved_query_id = f"saved-query-{uuid.uuid4().hex}" + + @backoff.on_exception(backoff.expo, InternalServerError, max_time=60) + def create_saved_query(): + return quickstart_create_saved_query.create_saved_query( + PROJECT, saved_query_id, "description foo" + ) + + saved_query = create_saved_query() + + yield saved_query + + try: + quickstart_delete_saved_query.delete_saved_query(saved_query.name) + except NotFound as e: + print(f"Ignoring NotFound: {e}") + + +@pytest.fixture(scope="module") +def saved_query_deleter(): + saved_querys_to_delete = [] + + yield saved_querys_to_delete + + for saved_query_name in saved_querys_to_delete: + try: + quickstart_delete_saved_query.delete_saved_query(saved_query_name) + except NotFound as e: + print(f"Ignoring NotFound: {e}") diff --git a/samples/snippets/quickstart_batchgeteffectiveiampolicy.py b/samples/snippets/quickstart_batchgeteffectiveiampolicy.py index 3240c64a..379f75a7 100644 --- a/samples/snippets/quickstart_batchgeteffectiveiampolicy.py +++ b/samples/snippets/quickstart_batchgeteffectiveiampolicy.py @@ -22,7 +22,7 @@ def batch_get_effective_iam_policies(resource_names, scope): # [START asset_quickstart_batch_get_effective_iam_policies] from google.cloud import asset_v1 - # TODO scope = 'Scope for resource names' + # TODO scope = 'project ID/number, folder number or org number' # TODO resource_names = 'List of resource names' client = asset_v1.AssetServiceClient() diff --git a/samples/snippets/quickstart_create_saved_query.py b/samples/snippets/quickstart_create_saved_query.py new file mode 100644 index 00000000..42ae2b3c --- /dev/null +++ b/samples/snippets/quickstart_create_saved_query.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python + +# Copyright 2022 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 +# +# http://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. + + +import argparse + + +def create_saved_query(project_id, saved_query_id, description): + # [START asset_quickstart_create_saved_query] + from google.cloud import asset_v1 + + # TODO project_id = 'Your Google Cloud Project ID' + # TODO saved_query_id = 'SavedQuery ID you want to create' + client = asset_v1.AssetServiceClient() + parent = f"projects/{project_id}" + saved_query = asset_v1.SavedQuery() + saved_query.description = description + + # TODO: customize your saved query based on the guide below. + # https://cloud.google.com/asset-inventory/docs/reference/rest/v1/savedQueries#IamPolicyAnalysisQuery + saved_query.content.iam_policy_analysis_query.scope = parent + query_access_selector = saved_query.content.iam_policy_analysis_query.access_selector + query_access_selector.permissions.append("iam.serviceAccounts.actAs") + + response = client.create_saved_query( + request={ + "parent": parent, + "saved_query_id": saved_query_id, + "saved_query": saved_query, + } + ) + print(f"saved_query: {response}") + # [END asset_quickstart_create_saved_query] + return response + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter + ) + parser.add_argument("project_id", help="Your Google Cloud project ID") + parser.add_argument("saved_query_id", help="SavedQuery ID you want to create") + parser.add_argument("description", help="The description of the saved_query") + args = parser.parse_args() + create_saved_query(args.project_id, args.saved_query_id, args.description) diff --git a/samples/snippets/quickstart_create_saved_query_test.py b/samples/snippets/quickstart_create_saved_query_test.py new file mode 100644 index 00000000..0cc2d925 --- /dev/null +++ b/samples/snippets/quickstart_create_saved_query_test.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python + +# Copyright 2022 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 +# +# http://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. + +import os +import uuid + +import quickstart_create_saved_query + + +PROJECT = os.environ["GOOGLE_CLOUD_PROJECT"] +SAVED_QUERY_ID = f"saved-query-{uuid.uuid4().hex}" + + +def test_create_saved_query(capsys, saved_query_deleter): + saved_query = quickstart_create_saved_query.create_saved_query( + PROJECT, SAVED_QUERY_ID, "saved query foo") + saved_query_deleter.append(saved_query.name) + expected_resource_name_suffix = f"savedQueries/{SAVED_QUERY_ID}" + assert saved_query.name.endswith(expected_resource_name_suffix) diff --git a/samples/snippets/quickstart_delete_saved_query.py b/samples/snippets/quickstart_delete_saved_query.py new file mode 100644 index 00000000..593156b4 --- /dev/null +++ b/samples/snippets/quickstart_delete_saved_query.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python + +# Copyright 2022 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 +# +# http://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. + + +import argparse + + +def delete_saved_query(saved_query_name): + # [START asset_quickstart_delete_saved_query] + from google.cloud import asset_v1 + + # TODO saved_query_name = 'SavedQuery name you want to delete' + + client = asset_v1.AssetServiceClient() + client.delete_saved_query(request={"name": saved_query_name}) + print("deleted_saved_query") + # [END asset_quickstart_delete_saved_query] + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter + ) + parser.add_argument("saved_query_name", help="SavedQuery name you want to delete") + args = parser.parse_args() + delete_saved_query(args.saved_query_name) diff --git a/samples/snippets/quickstart_delete_saved_query_test.py b/samples/snippets/quickstart_delete_saved_query_test.py new file mode 100644 index 00000000..1fe5e1a1 --- /dev/null +++ b/samples/snippets/quickstart_delete_saved_query_test.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python + +# Copyright 2022 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 +# +# http://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. + +import os + +import quickstart_delete_saved_query + + +PROJECT = os.environ["GOOGLE_CLOUD_PROJECT"] + + +def test_delete_saved_query(capsys, test_saved_query): + + quickstart_delete_saved_query.delete_saved_query(test_saved_query.name) + + out, _ = capsys.readouterr() + assert "deleted_saved_query" in out diff --git a/samples/snippets/quickstart_get_saved_query.py b/samples/snippets/quickstart_get_saved_query.py new file mode 100644 index 00000000..0acd8132 --- /dev/null +++ b/samples/snippets/quickstart_get_saved_query.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python + +# Copyright 2022 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 +# +# http://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. + + +import argparse + + +def get_saved_query(saved_query_name): + # [START asset_quickstart_get_saved_query] + from google.cloud import asset_v1 + + # TODO saved_query_name = 'SavedQuery Name you want to get' + + client = asset_v1.AssetServiceClient() + response = client.get_saved_query(request={"name": saved_query_name}) + print(f"gotten_saved_query: {response}") + # [END asset_quickstart_get_saved_query] + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter + ) + parser.add_argument("saved_query_name", help="SavedQuery Name you want to get") + args = parser.parse_args() + get_saved_query(args.saved_query_name) diff --git a/samples/snippets/quickstart_get_saved_query_test.py b/samples/snippets/quickstart_get_saved_query_test.py new file mode 100644 index 00000000..bb7b4147 --- /dev/null +++ b/samples/snippets/quickstart_get_saved_query_test.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python + +# Copyright 2022 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 +# +# http://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. + +import quickstart_get_saved_query + + +def test_get_saved_query(capsys, test_saved_query): + quickstart_get_saved_query.get_saved_query(test_saved_query.name) + out, _ = capsys.readouterr() + + assert "gotten_saved_query" in out diff --git a/samples/snippets/quickstart_list_saved_queries.py b/samples/snippets/quickstart_list_saved_queries.py new file mode 100644 index 00000000..9f066e2d --- /dev/null +++ b/samples/snippets/quickstart_list_saved_queries.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python + +# Copyright 2022 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 +# +# http://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. + + +import argparse + + +def list_saved_queries(parent_resource): + # [START asset_quickstart_list_saved_queries] + from google.cloud import asset_v1 + + # TODO parent_resource = 'Parent resource you want to list all saved_queries' + + client = asset_v1.AssetServiceClient() + response = client.list_saved_queries(request={"parent": parent_resource}) + print(f"saved_queries: {response.saved_queries}") + # [END asset_quickstart_list_saved_queries] + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter + ) + parser.add_argument( + "parent_resource", help="Parent resource you want to list all saved_queries" + ) + args = parser.parse_args() + list_saved_queries(args.parent_resource) diff --git a/samples/snippets/quickstart_list_saved_queries_test.py b/samples/snippets/quickstart_list_saved_queries_test.py new file mode 100644 index 00000000..d09c2c0c --- /dev/null +++ b/samples/snippets/quickstart_list_saved_queries_test.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python + +# Copyright 2022 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 +# +# http://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. + +import os + +import quickstart_list_saved_queries + +PROJECT = os.environ["GOOGLE_CLOUD_PROJECT"] + + +def test_list_saved_queries(capsys): + parent_resource = f"projects/{PROJECT}" + quickstart_list_saved_queries.list_saved_queries(parent_resource) + out, _ = capsys.readouterr() + assert "saved_queries" in out diff --git a/samples/snippets/quickstart_update_saved_query.py b/samples/snippets/quickstart_update_saved_query.py new file mode 100644 index 00000000..52981399 --- /dev/null +++ b/samples/snippets/quickstart_update_saved_query.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python + +# Copyright 2022 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 +# +# http://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. + + +import argparse + + +def update_saved_query(saved_query_name, description): + # [START asset_quickstart_update_saved_query] + from google.cloud import asset_v1 + from google.protobuf import field_mask_pb2 + + # TODO saved_query_name = 'SavedQuery Name you want to update' + # TODO description = "New description' + + client = asset_v1.AssetServiceClient() + saved_query = asset_v1.SavedQuery() + saved_query.name = saved_query_name + saved_query.description = description + update_mask = field_mask_pb2.FieldMask() + # In this example, we only update description of the saved_query. + # You can update other content of the saved query. + update_mask.paths.append("description") + response = client.update_saved_query(request={"saved_query": saved_query, "update_mask": update_mask}) + print(f"updated_saved_query: {response}") + # [END asset_quickstart_update_saved_query] + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter + ) + parser.add_argument("saved_query_name", help="SavedQuery Name you want to update") + parser.add_argument("description", help="The description you want to update with") + args = parser.parse_args() + update_saved_query(args.saved_query_name, args.description) diff --git a/samples/snippets/quickstart_update_saved_query_test.py b/samples/snippets/quickstart_update_saved_query_test.py new file mode 100644 index 00000000..734b3219 --- /dev/null +++ b/samples/snippets/quickstart_update_saved_query_test.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python + +# Copyright 2022 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 +# +# http://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. + +import quickstart_update_saved_query + + +def test_update_saved_query(capsys, test_saved_query): + quickstart_update_saved_query.update_saved_query(test_saved_query.name, "bar") + out, _ = capsys.readouterr() + + assert "updated_saved_query" in out From 7bd58b5553fb3e2d0a2c5014cb30042a6c5cee28 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Sun, 27 Nov 2022 01:07:33 +0100 Subject: [PATCH 13/20] chore(deps): update all dependencies (#517) Co-authored-by: Anthonios Partheniou --- samples/snippets/requirements.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/samples/snippets/requirements.txt b/samples/snippets/requirements.txt index d70d62b2..48337dda 100644 --- a/samples/snippets/requirements.txt +++ b/samples/snippets/requirements.txt @@ -1,5 +1,5 @@ -google-cloud-storage==2.5.0 +google-cloud-storage==2.6.0 google-cloud-asset==3.14.2 google-cloud-resource-manager==1.6.3 -google-cloud-pubsub==2.13.10 -google-cloud-bigquery==3.3.5 +google-cloud-pubsub==2.13.11 +google-cloud-bigquery==3.4.0 From dc8fe003a6f47dd494260d84f5169ae9f590cc1f Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Sun, 27 Nov 2022 06:45:55 -0500 Subject: [PATCH 14/20] chore(python): drop flake8-import-order in samples noxfile (#521) Source-Link: https://github.com/googleapis/synthtool/commit/6ed3a831cb9ff69ef8a504c353e098ec0192ad93 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:3abfa0f1886adaf0b83f07cb117b24a639ea1cb9cffe56d43280b977033563eb Co-authored-by: Owl Bot Co-authored-by: Anthonios Partheniou --- .github/.OwlBot.lock.yaml | 2 +- samples/snippets/noxfile.py | 26 +++----------------------- 2 files changed, 4 insertions(+), 24 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index 3f1ccc08..bb21147e 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,4 +13,4 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:e6cbd61f1838d9ff6a31436dfc13717f372a7482a82fc1863ca954ec47bff8c8 + digest: sha256:3abfa0f1886adaf0b83f07cb117b24a639ea1cb9cffe56d43280b977033563eb diff --git a/samples/snippets/noxfile.py b/samples/snippets/noxfile.py index 0398d72f..f5c32b22 100644 --- a/samples/snippets/noxfile.py +++ b/samples/snippets/noxfile.py @@ -18,7 +18,7 @@ import os from pathlib import Path import sys -from typing import Callable, Dict, List, Optional +from typing import Callable, Dict, Optional import nox @@ -109,22 +109,6 @@ def get_pytest_env_vars() -> Dict[str, str]: # -def _determine_local_import_names(start_dir: str) -> List[str]: - """Determines all import names that should be considered "local". - - This is used when running the linter to insure that import order is - properly checked. - """ - file_ext_pairs = [os.path.splitext(path) for path in os.listdir(start_dir)] - return [ - basename - for basename, extension in file_ext_pairs - if extension == ".py" - or os.path.isdir(os.path.join(start_dir, basename)) - and basename not in ("__pycache__") - ] - - # Linting with flake8. # # We ignore the following rules: @@ -139,7 +123,6 @@ def _determine_local_import_names(start_dir: str) -> List[str]: "--show-source", "--builtin=gettext", "--max-complexity=20", - "--import-order-style=google", "--exclude=.nox,.cache,env,lib,generated_pb2,*_pb2.py,*_pb2_grpc.py", "--ignore=E121,E123,E126,E203,E226,E24,E266,E501,E704,W503,W504,I202", "--max-line-length=88", @@ -149,14 +132,11 @@ def _determine_local_import_names(start_dir: str) -> List[str]: @nox.session def lint(session: nox.sessions.Session) -> None: if not TEST_CONFIG["enforce_type_hints"]: - session.install("flake8", "flake8-import-order") + session.install("flake8") else: - session.install("flake8", "flake8-import-order", "flake8-annotations") + session.install("flake8", "flake8-annotations") - local_names = _determine_local_import_names(".") args = FLAKE8_COMMON_ARGS + [ - "--application-import-names", - ",".join(local_names), ".", ] session.run("flake8", *args) From 0889e122924f1c7669385862cb02bcc4fe395974 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 8 Dec 2022 18:50:13 +0000 Subject: [PATCH 15/20] build(deps): bump certifi from 2022.9.24 to 2022.12.7 [autoapprove] (#523) Source-Link: https://togithub.com/googleapis/synthtool/commit/b4fe62efb5114b6738ad4b13d6f654f2bf4b7cc0 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:3bf87e47c2173d7eed42714589dc4da2c07c3268610f1e47f8e1a30decbfc7f1 --- .github/.OwlBot.lock.yaml | 2 +- .kokoro/requirements.txt | 6 +++--- .pre-commit-config.yaml | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index bb21147e..fccaa8e8 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,4 +13,4 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:3abfa0f1886adaf0b83f07cb117b24a639ea1cb9cffe56d43280b977033563eb + digest: sha256:3bf87e47c2173d7eed42714589dc4da2c07c3268610f1e47f8e1a30decbfc7f1 diff --git a/.kokoro/requirements.txt b/.kokoro/requirements.txt index 9c1b9be3..05dc4672 100644 --- a/.kokoro/requirements.txt +++ b/.kokoro/requirements.txt @@ -20,9 +20,9 @@ cachetools==5.2.0 \ --hash=sha256:6a94c6402995a99c3970cc7e4884bb60b4a8639938157eeed436098bf9831757 \ --hash=sha256:f9f17d2aec496a9aa6b76f53e3b614c965223c061982d434d160f930c698a9db # via google-auth -certifi==2022.9.24 \ - --hash=sha256:0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14 \ - --hash=sha256:90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382 +certifi==2022.12.7 \ + --hash=sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3 \ + --hash=sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18 # via requests cffi==1.15.1 \ --hash=sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5 \ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 46d23716..5405cc8f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -25,7 +25,7 @@ repos: rev: 22.3.0 hooks: - id: black -- repo: https://gitlab.com/pycqa/flake8 +- repo: https://github.com/pycqa/flake8 rev: 3.9.2 hooks: - id: flake8 From 4940d2315bf36607687be6ebcfe495445494f66c Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Wed, 14 Dec 2022 17:43:05 +0100 Subject: [PATCH 16/20] chore(deps): update all dependencies (#522) --- samples/snippets/requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/samples/snippets/requirements.txt b/samples/snippets/requirements.txt index 48337dda..ef67e91e 100644 --- a/samples/snippets/requirements.txt +++ b/samples/snippets/requirements.txt @@ -1,5 +1,5 @@ -google-cloud-storage==2.6.0 +google-cloud-storage==2.7.0 google-cloud-asset==3.14.2 google-cloud-resource-manager==1.6.3 google-cloud-pubsub==2.13.11 -google-cloud-bigquery==3.4.0 +google-cloud-bigquery==3.4.1 From d8acb6cf05759737eae8ffeeb7f175920feeec1e Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Fri, 16 Dec 2022 00:27:49 +0100 Subject: [PATCH 17/20] chore(deps): update dependency google-cloud-resource-manager to v1.7.0 (#525) --- samples/snippets/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/requirements.txt b/samples/snippets/requirements.txt index ef67e91e..5d50f964 100644 --- a/samples/snippets/requirements.txt +++ b/samples/snippets/requirements.txt @@ -1,5 +1,5 @@ google-cloud-storage==2.7.0 google-cloud-asset==3.14.2 -google-cloud-resource-manager==1.6.3 +google-cloud-resource-manager==1.7.0 google-cloud-pubsub==2.13.11 google-cloud-bigquery==3.4.1 From e693377375dd21b924a6e9489f349b7fbcbce0aa Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 6 Jan 2023 12:19:15 -0500 Subject: [PATCH 18/20] chore(python): add support for python 3.11 (#526) Source-Link: https://github.com/googleapis/synthtool/commit/7197a001ffb6d8ce7b0b9b11c280f0c536c1033a Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:c43f1d918bcf817d337aa29ff833439494a158a0831508fda4ec75dc4c0d0320 Co-authored-by: Owl Bot --- .github/.OwlBot.lock.yaml | 4 +- .github/workflows/unittest.yml | 2 +- .kokoro/samples/python3.11/common.cfg | 40 ++++++++++++++++++++ .kokoro/samples/python3.11/continuous.cfg | 6 +++ .kokoro/samples/python3.11/periodic-head.cfg | 11 ++++++ .kokoro/samples/python3.11/periodic.cfg | 6 +++ .kokoro/samples/python3.11/presubmit.cfg | 6 +++ CONTRIBUTING.rst | 6 ++- noxfile.py | 2 +- samples/snippets/noxfile.py | 2 +- 10 files changed, 78 insertions(+), 7 deletions(-) create mode 100644 .kokoro/samples/python3.11/common.cfg create mode 100644 .kokoro/samples/python3.11/continuous.cfg create mode 100644 .kokoro/samples/python3.11/periodic-head.cfg create mode 100644 .kokoro/samples/python3.11/periodic.cfg create mode 100644 .kokoro/samples/python3.11/presubmit.cfg diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index fccaa8e8..889f77df 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -1,4 +1,4 @@ -# Copyright 2022 Google LLC +# Copyright 2023 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,4 +13,4 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:3bf87e47c2173d7eed42714589dc4da2c07c3268610f1e47f8e1a30decbfc7f1 + digest: sha256:c43f1d918bcf817d337aa29ff833439494a158a0831508fda4ec75dc4c0d0320 diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index c0dca034..280fec17 100644 --- a/.github/workflows/unittest.yml +++ b/.github/workflows/unittest.yml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python: ['3.7', '3.8', '3.9', '3.10'] + python: ['3.7', '3.8', '3.9', '3.10', '3.11'] steps: - name: Checkout uses: actions/checkout@v3 diff --git a/.kokoro/samples/python3.11/common.cfg b/.kokoro/samples/python3.11/common.cfg new file mode 100644 index 00000000..c5d8a032 --- /dev/null +++ b/.kokoro/samples/python3.11/common.cfg @@ -0,0 +1,40 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Build logs will be here +action { + define_artifacts { + regex: "**/*sponge_log.xml" + } +} + +# Specify which tests to run +env_vars: { + key: "RUN_TESTS_SESSION" + value: "py-3.11" +} + +# Declare build specific Cloud project. +env_vars: { + key: "BUILD_SPECIFIC_GCLOUD_PROJECT" + value: "python-docs-samples-tests-311" +} + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/python-asset/.kokoro/test-samples.sh" +} + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/python-samples-testing-docker" +} + +# Download secrets for samples +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/python-docs-samples" + +# Download trampoline resources. +gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline" + +# Use the trampoline script to run in docker. +build_file: "python-asset/.kokoro/trampoline_v2.sh" \ No newline at end of file diff --git a/.kokoro/samples/python3.11/continuous.cfg b/.kokoro/samples/python3.11/continuous.cfg new file mode 100644 index 00000000..a1c8d975 --- /dev/null +++ b/.kokoro/samples/python3.11/continuous.cfg @@ -0,0 +1,6 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "INSTALL_LIBRARY_FROM_SOURCE" + value: "True" +} \ No newline at end of file diff --git a/.kokoro/samples/python3.11/periodic-head.cfg b/.kokoro/samples/python3.11/periodic-head.cfg new file mode 100644 index 00000000..1c694c2b --- /dev/null +++ b/.kokoro/samples/python3.11/periodic-head.cfg @@ -0,0 +1,11 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "INSTALL_LIBRARY_FROM_SOURCE" + value: "True" +} + +env_vars: { + key: "TRAMPOLINE_BUILD_FILE" + value: "github/python-asset/.kokoro/test-samples-against-head.sh" +} diff --git a/.kokoro/samples/python3.11/periodic.cfg b/.kokoro/samples/python3.11/periodic.cfg new file mode 100644 index 00000000..71cd1e59 --- /dev/null +++ b/.kokoro/samples/python3.11/periodic.cfg @@ -0,0 +1,6 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "INSTALL_LIBRARY_FROM_SOURCE" + value: "False" +} diff --git a/.kokoro/samples/python3.11/presubmit.cfg b/.kokoro/samples/python3.11/presubmit.cfg new file mode 100644 index 00000000..a1c8d975 --- /dev/null +++ b/.kokoro/samples/python3.11/presubmit.cfg @@ -0,0 +1,6 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +env_vars: { + key: "INSTALL_LIBRARY_FROM_SOURCE" + value: "True" +} \ No newline at end of file diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 9ccbb9a1..6b4a3267 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -22,7 +22,7 @@ In order to add a feature: documentation. - The feature must work fully on the following CPython versions: - 3.7, 3.8, 3.9 and 3.10 on both UNIX and Windows. + 3.7, 3.8, 3.9, 3.10 and 3.11 on both UNIX and Windows. - The feature must not add unnecessary dependencies (where "unnecessary" is of course subjective, but new dependencies should @@ -72,7 +72,7 @@ We use `nox `__ to instrument our tests. - To run a single unit test:: - $ nox -s unit-3.10 -- -k + $ nox -s unit-3.11 -- -k .. note:: @@ -225,11 +225,13 @@ We support: - `Python 3.8`_ - `Python 3.9`_ - `Python 3.10`_ +- `Python 3.11`_ .. _Python 3.7: https://docs.python.org/3.7/ .. _Python 3.8: https://docs.python.org/3.8/ .. _Python 3.9: https://docs.python.org/3.9/ .. _Python 3.10: https://docs.python.org/3.10/ +.. _Python 3.11: https://docs.python.org/3.11/ Supported versions can be found in our ``noxfile.py`` `config`_. diff --git a/noxfile.py b/noxfile.py index cf6ce80f..c043a072 100644 --- a/noxfile.py +++ b/noxfile.py @@ -31,7 +31,7 @@ DEFAULT_PYTHON_VERSION = "3.8" -UNIT_TEST_PYTHON_VERSIONS = ["3.7", "3.8", "3.9", "3.10"] +UNIT_TEST_PYTHON_VERSIONS = ["3.7", "3.8", "3.9", "3.10", "3.11"] UNIT_TEST_STANDARD_DEPENDENCIES = [ "mock", "asyncmock", diff --git a/samples/snippets/noxfile.py b/samples/snippets/noxfile.py index f5c32b22..7c8a6399 100644 --- a/samples/snippets/noxfile.py +++ b/samples/snippets/noxfile.py @@ -89,7 +89,7 @@ def get_pytest_env_vars() -> Dict[str, str]: # DO NOT EDIT - automatically generated. # All versions used to test samples. -ALL_VERSIONS = ["3.7", "3.8", "3.9", "3.10"] +ALL_VERSIONS = ["3.7", "3.8", "3.9", "3.10", "3.11"] # Any default versions that should be ignored. IGNORED_VERSIONS = TEST_CONFIG["ignored_versions"] From 6bad165c91a86f7d685801c99cbdf79b3b31dbaf Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Sat, 7 Jan 2023 11:38:39 -0500 Subject: [PATCH 19/20] fix(deps): Require google-api-core >=1.34.0, >=2.11.0 (#516) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: update to gapic-generator-python 1.5.0 feat: add support for `google.cloud..__version__` PiperOrigin-RevId: 484665853 Source-Link: https://github.com/googleapis/googleapis/commit/8eb249a19db926c2fbc4ecf1dc09c0e521a88b22 Source-Link: https://github.com/googleapis/googleapis-gen/commit/c8aa327b5f478865fc3fd91e3c2768e54e26ad44 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYzhhYTMyN2I1ZjQ3ODg2NWZjM2ZkOTFlM2MyNzY4ZTU0ZTI2YWQ0NCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * update version in gapic_version.py * add .release-please-manifest.json with correct version * set manifest to true in .github/release-please.yml * add release-please-config.json * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * chore: Update to gapic-generator-python 1.6.0 feat(python): Add typing to proto.Message based class attributes feat(python): Snippetgen handling of repeated enum field PiperOrigin-RevId: 487326846 Source-Link: https://github.com/googleapis/googleapis/commit/da380c77bb87ba0f752baf07605dd1db30e1f7e1 Source-Link: https://github.com/googleapis/googleapis-gen/commit/61ef5762ee6731a0cbbfea22fd0eecee51ab1c8e Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNjFlZjU3NjJlZTY3MzFhMGNiYmZlYTIyZmQwZWVjZWU1MWFiMWM4ZSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: new APIs added to reflect updates to the filestore service - Add ENTERPRISE Tier - Add snapshot APIs: RevertInstance, ListSnapshots, CreateSnapshot, DeleteSnapshot, UpdateSnapshot - Add multi-share APIs: ListShares, GetShare, CreateShare, DeleteShare, UpdateShare - Add ConnectMode to NetworkConfig (for Private Service Access support) - New status codes (SUSPENDED/SUSPENDING, REVERTING/RESUMING) - Add SuspensionReason (for KMS related suspension) - Add new fields to Instance information: max_capacity_gb, capacity_step_size_gb, max_share_count, capacity_gb, multi_share_enabled PiperOrigin-RevId: 487492758 Source-Link: https://github.com/googleapis/googleapis/commit/5be5981f50322cf0c7388595e0f31ac5d0693469 Source-Link: https://github.com/googleapis/googleapis-gen/commit/ab0e217f560cc2c1afc11441c2eab6b6950efd2b Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYWIwZTIxN2Y1NjBjYzJjMWFmYzExNDQxYzJlYWI2YjY5NTBlZmQyYiJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * update path to snippet metadata json * chore: Update gapic-generator-python to v1.6.1 PiperOrigin-RevId: 488036204 Source-Link: https://github.com/googleapis/googleapis/commit/08f275f5c1c0d99056e1cb68376323414459ee19 Source-Link: https://github.com/googleapis/googleapis-gen/commit/555c0945e60649e38739ae64bc45719cdf72178f Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNTU1YzA5NDVlNjA2NDllMzg3MzlhZTY0YmM0NTcxOWNkZjcyMTc4ZiJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * docs: Small change for documentation PiperOrigin-RevId: 490109215 Source-Link: https://github.com/googleapis/googleapis/commit/0cbcc5936011e99d7cf395869bc04bf905cf4d8d Source-Link: https://github.com/googleapis/googleapis-gen/commit/6c019fa15754bbedfb0dcfcbcdc97a85d38cf19d Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNmMwMTlmYTE1NzU0YmJlZGZiMGRjZmNiY2RjOTdhODVkMzhjZjE5ZCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * docs: Small change for documentation PiperOrigin-RevId: 490314741 Source-Link: https://github.com/googleapis/googleapis/commit/9247e23c08cb628ff7387338c872b5cd9efada28 Source-Link: https://github.com/googleapis/googleapis-gen/commit/40eb7b33539558db502c8bd83f2062b986f8a9c5 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNDBlYjdiMzM1Mzk1NThkYjUwMmM4YmQ4M2YyMDYyYjk4NmY4YTljNSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * add gapic_version.py * fix(deps): Require google-api-core >=1.34.0, >=2.11.0 fix: Drop usage of pkg_resources fix: Fix timeout default values docs(samples): Snippetgen should call await on the operation coroutine before calling result PiperOrigin-RevId: 493260409 Source-Link: https://github.com/googleapis/googleapis/commit/fea43879f83a8d0dacc9353b3f75f8f46d37162f Source-Link: https://github.com/googleapis/googleapis-gen/commit/387b7344c7529ee44be84e613b19a820508c612b Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMzg3YjczNDRjNzUyOWVlNDRiZTg0ZTYxM2IxOWE4MjA1MDhjNjEyYiJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * add gapic_version.py * use templated owlbot.py and setup.py * configure release please to use manifest * restore testing/constraints-3.7.txt * update version in gapic_version.py * remove obsolete entries in release please config Co-authored-by: Owl Bot Co-authored-by: Anthonios Partheniou --- .coveragerc | 5 - .github/release-please.yml | 1 + .release-please-manifest.json | 3 + docs/asset_v1/types.rst | 1 - docs/asset_v1p1beta1/types.rst | 1 - docs/asset_v1p2beta1/types.rst | 1 - docs/asset_v1p5beta1/types.rst | 1 - google/cloud/asset/__init__.py | 4 + google/cloud/asset/gapic_version.py | 16 + google/cloud/asset_v1/__init__.py | 4 + google/cloud/asset_v1/gapic_version.py | 16 + .../services/asset_service/async_client.py | 202 +++++---- .../asset_v1/services/asset_service/client.py | 164 ++++--- .../services/asset_service/transports/base.py | 16 +- .../services/asset_service/transports/grpc.py | 20 +- .../asset_service/transports/grpc_asyncio.py | 16 +- google/cloud/asset_v1/types/asset_service.py | 428 +++++++++--------- google/cloud/asset_v1/types/assets.py | 266 +++++------ google/cloud/asset_v1p1beta1/__init__.py | 4 + google/cloud/asset_v1p1beta1/gapic_version.py | 16 + .../services/asset_service/async_client.py | 56 ++- .../services/asset_service/client.py | 58 ++- .../services/asset_service/transports/base.py | 16 +- .../services/asset_service/transports/grpc.py | 20 +- .../asset_service/transports/grpc_asyncio.py | 16 +- .../asset_v1p1beta1/types/asset_service.py | 36 +- google/cloud/asset_v1p1beta1/types/assets.py | 42 +- google/cloud/asset_v1p2beta1/__init__.py | 4 + google/cloud/asset_v1p2beta1/gapic_version.py | 16 + .../services/asset_service/async_client.py | 70 +-- .../services/asset_service/client.py | 66 +-- .../services/asset_service/transports/base.py | 16 +- .../services/asset_service/transports/grpc.py | 20 +- .../asset_service/transports/grpc_asyncio.py | 16 +- .../asset_v1p2beta1/types/asset_service.py | 44 +- google/cloud/asset_v1p2beta1/types/assets.py | 36 +- google/cloud/asset_v1p4beta1/gapic_version.py | 16 + google/cloud/asset_v1p5beta1/__init__.py | 4 + google/cloud/asset_v1p5beta1/gapic_version.py | 16 + .../services/asset_service/async_client.py | 36 +- .../services/asset_service/client.py | 40 +- .../services/asset_service/transports/base.py | 16 +- .../services/asset_service/transports/grpc.py | 20 +- .../asset_service/transports/grpc_asyncio.py | 16 +- .../asset_v1p5beta1/types/asset_service.py | 24 +- google/cloud/asset_v1p5beta1/types/assets.py | 36 +- noxfile.py | 2 +- owlbot.py | 57 ++- release-please-config.json | 43 ++ ...ce_analyze_iam_policy_longrunning_async.py | 2 +- ...rated_asset_service_export_assets_async.py | 2 +- ..._asset_service_analyze_iam_policy_async.py | 48 -- ...d_asset_service_analyze_iam_policy_sync.py | 48 -- ...ervice_export_iam_policy_analysis_async.py | 56 --- ...service_export_iam_policy_analysis_sync.py | 56 --- .../snippet_metadata_asset_v1p4beta1.json | 320 ------------- ...ippet_metadata_google.cloud.asset.v1.json} | 7 +- ...etadata_google.cloud.asset.v1p1beta1.json} | 7 +- ...etadata_google.cloud.asset.v1p2beta1.json} | 3 +- ...etadata_google.cloud.asset.v1p5beta1.json} | 3 +- samples/snippets/conftest.py | 6 +- samples/snippets/noxfile.py | 15 +- .../snippets/quickstart_analyzeiampolicy.py | 8 +- .../quickstart_analyzeiampolicylongrunning.py | 28 +- ...kstart_analyzeiampolicylongrunning_test.py | 11 +- .../quickstart_batchgeteffectiveiampolicy.py | 13 +- ...ckstart_batchgeteffectiveiampolicy_test.py | 6 +- .../snippets/quickstart_create_saved_query.py | 4 +- .../quickstart_create_saved_query_test.py | 3 +- samples/snippets/quickstart_createfeed.py | 4 +- .../snippets/quickstart_createfeed_test.py | 12 +- samples/snippets/quickstart_exportassets.py | 4 +- .../snippets/quickstart_exportassets_test.py | 11 +- samples/snippets/quickstart_listassets.py | 4 +- .../snippets/quickstart_listassets_test.py | 13 +- .../snippets/quickstart_update_saved_query.py | 4 +- setup.py | 57 ++- testing/constraints-3.10.txt | 7 + testing/constraints-3.11.txt | 7 + testing/constraints-3.7.txt | 10 +- testing/constraints-3.8.txt | 7 + testing/constraints-3.9.txt | 7 + 82 files changed, 1316 insertions(+), 1520 deletions(-) create mode 100644 .release-please-manifest.json create mode 100644 google/cloud/asset/gapic_version.py create mode 100644 google/cloud/asset_v1/gapic_version.py create mode 100644 google/cloud/asset_v1p1beta1/gapic_version.py create mode 100644 google/cloud/asset_v1p2beta1/gapic_version.py create mode 100644 google/cloud/asset_v1p4beta1/gapic_version.py create mode 100644 google/cloud/asset_v1p5beta1/gapic_version.py create mode 100644 release-please-config.json delete mode 100644 samples/generated_samples/cloudasset_v1p4beta1_generated_asset_service_analyze_iam_policy_async.py delete mode 100644 samples/generated_samples/cloudasset_v1p4beta1_generated_asset_service_analyze_iam_policy_sync.py delete mode 100644 samples/generated_samples/cloudasset_v1p4beta1_generated_asset_service_export_iam_policy_analysis_async.py delete mode 100644 samples/generated_samples/cloudasset_v1p4beta1_generated_asset_service_export_iam_policy_analysis_sync.py delete mode 100644 samples/generated_samples/snippet_metadata_asset_v1p4beta1.json rename samples/generated_samples/{snippet_metadata_asset_v1.json => snippet_metadata_google.cloud.asset.v1.json} (99%) rename samples/generated_samples/{snippet_metadata_asset_v1p1beta1.json => snippet_metadata_google.cloud.asset.v1p1beta1.json} (98%) rename samples/generated_samples/{snippet_metadata_asset_v1p2beta1.json => snippet_metadata_google.cloud.asset.v1p2beta1.json} (99%) rename samples/generated_samples/{snippet_metadata_asset_v1p5beta1.json => snippet_metadata_google.cloud.asset.v1p5beta1.json} (98%) diff --git a/.coveragerc b/.coveragerc index 3425850c..f5ee43d5 100644 --- a/.coveragerc +++ b/.coveragerc @@ -10,8 +10,3 @@ exclude_lines = pragma: NO COVER # Ignore debug-only repr def __repr__ - # Ignore pkg_resources exceptions. - # This is added at the module level as a safeguard for if someone - # generates the code and tries to run it without pip installing. This - # makes it virtually impossible to test properly. - except pkg_resources.DistributionNotFound diff --git a/.github/release-please.yml b/.github/release-please.yml index 5161ab34..dbd2cc9d 100644 --- a/.github/release-please.yml +++ b/.github/release-please.yml @@ -1,5 +1,6 @@ releaseType: python handleGHRelease: true +manifest: true # NOTE: this section is generated by synthtool.languages.python # See https://github.com/googleapis/synthtool/blob/master/synthtool/languages/python.py branches: diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 00000000..60bb6868 --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1,3 @@ +{ + ".": "3.14.1" +} diff --git a/docs/asset_v1/types.rst b/docs/asset_v1/types.rst index c75a1efd..750d9c16 100644 --- a/docs/asset_v1/types.rst +++ b/docs/asset_v1/types.rst @@ -3,5 +3,4 @@ Types for Google Cloud Asset v1 API .. automodule:: google.cloud.asset_v1.types :members: - :undoc-members: :show-inheritance: diff --git a/docs/asset_v1p1beta1/types.rst b/docs/asset_v1p1beta1/types.rst index d0875802..0df91774 100644 --- a/docs/asset_v1p1beta1/types.rst +++ b/docs/asset_v1p1beta1/types.rst @@ -3,5 +3,4 @@ Types for Google Cloud Asset v1p1beta1 API .. automodule:: google.cloud.asset_v1p1beta1.types :members: - :undoc-members: :show-inheritance: diff --git a/docs/asset_v1p2beta1/types.rst b/docs/asset_v1p2beta1/types.rst index b83adc35..cfbf146e 100644 --- a/docs/asset_v1p2beta1/types.rst +++ b/docs/asset_v1p2beta1/types.rst @@ -3,5 +3,4 @@ Types for Google Cloud Asset v1p2beta1 API .. automodule:: google.cloud.asset_v1p2beta1.types :members: - :undoc-members: :show-inheritance: diff --git a/docs/asset_v1p5beta1/types.rst b/docs/asset_v1p5beta1/types.rst index 31650c9a..0d143122 100644 --- a/docs/asset_v1p5beta1/types.rst +++ b/docs/asset_v1p5beta1/types.rst @@ -3,5 +3,4 @@ Types for Google Cloud Asset v1p5beta1 API .. automodule:: google.cloud.asset_v1p5beta1.types :members: - :undoc-members: :show-inheritance: diff --git a/google/cloud/asset/__init__.py b/google/cloud/asset/__init__.py index 1682bc2b..d9e982df 100644 --- a/google/cloud/asset/__init__.py +++ b/google/cloud/asset/__init__.py @@ -13,6 +13,10 @@ # See the License for the specific language governing permissions and # limitations under the License. # +from google.cloud.asset import gapic_version as package_version + +__version__ = package_version.__version__ + from google.cloud.asset_v1.services.asset_service.client import AssetServiceClient from google.cloud.asset_v1.services.asset_service.async_client import ( diff --git a/google/cloud/asset/gapic_version.py b/google/cloud/asset/gapic_version.py new file mode 100644 index 00000000..bb82e29f --- /dev/null +++ b/google/cloud/asset/gapic_version.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +# Copyright 2022 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 +# +# http://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. +# +__version__ = "3.14.1" # {x-release-please-version} diff --git a/google/cloud/asset_v1/__init__.py b/google/cloud/asset_v1/__init__.py index 9d86f7a7..d89abd8a 100644 --- a/google/cloud/asset_v1/__init__.py +++ b/google/cloud/asset_v1/__init__.py @@ -13,6 +13,10 @@ # See the License for the specific language governing permissions and # limitations under the License. # +from google.cloud.asset_v1 import gapic_version as package_version + +__version__ = package_version.__version__ + from .services.asset_service import AssetServiceClient from .services.asset_service import AssetServiceAsyncClient diff --git a/google/cloud/asset_v1/gapic_version.py b/google/cloud/asset_v1/gapic_version.py new file mode 100644 index 00000000..bb82e29f --- /dev/null +++ b/google/cloud/asset_v1/gapic_version.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +# Copyright 2022 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 +# +# http://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. +# +__version__ = "3.14.1" # {x-release-please-version} diff --git a/google/cloud/asset_v1/services/asset_service/async_client.py b/google/cloud/asset_v1/services/asset_service/async_client.py index 61017958..0628b7ac 100644 --- a/google/cloud/asset_v1/services/asset_service/async_client.py +++ b/google/cloud/asset_v1/services/asset_service/async_client.py @@ -16,8 +16,19 @@ from collections import OrderedDict import functools import re -from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union -import pkg_resources +from typing import ( + Dict, + Mapping, + MutableMapping, + MutableSequence, + Optional, + Sequence, + Tuple, + Type, + Union, +) + +from google.cloud.asset_v1 import gapic_version as package_version from google.api_core.client_options import ClientOptions from google.api_core import exceptions as core_exceptions @@ -175,9 +186,9 @@ def transport(self) -> AssetServiceTransport: def __init__( self, *, - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, transport: Union[str, AssetServiceTransport] = "grpc_asyncio", - client_options: ClientOptions = None, + client_options: Optional[ClientOptions] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, ) -> None: """Instantiates the asset service client. @@ -221,10 +232,10 @@ def __init__( async def export_assets( self, - request: Union[asset_service.ExportAssetsRequest, dict] = None, + request: Optional[Union[asset_service.ExportAssetsRequest, dict]] = None, *, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Exports assets with time and resource types to a given Cloud @@ -270,13 +281,13 @@ async def sample_export_assets(): print("Waiting for operation to complete...") - response = await operation.result() + response = (await operation).result() # Handle the response print(response) Args: - request (Union[google.cloud.asset_v1.types.ExportAssetsRequest, dict]): + request (Optional[Union[google.cloud.asset_v1.types.ExportAssetsRequest, dict]]): The request object. Export asset request. retry (google.api_core.retry.Retry): Designation of what errors, if any, should be retried. @@ -333,11 +344,11 @@ async def sample_export_assets(): async def list_assets( self, - request: Union[asset_service.ListAssetsRequest, dict] = None, + request: Optional[Union[asset_service.ListAssetsRequest, dict]] = None, *, - parent: str = None, + parent: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListAssetsAsyncPager: r"""Lists assets with time and resource types and returns @@ -371,7 +382,7 @@ async def sample_list_assets(): print(response) Args: - request (Union[google.cloud.asset_v1.types.ListAssetsRequest, dict]): + request (Optional[Union[google.cloud.asset_v1.types.ListAssetsRequest, dict]]): The request object. ListAssets request. parent (:class:`str`): Required. Name of the organization, folder, or project @@ -462,10 +473,12 @@ async def sample_list_assets(): async def batch_get_assets_history( self, - request: Union[asset_service.BatchGetAssetsHistoryRequest, dict] = None, + request: Optional[ + Union[asset_service.BatchGetAssetsHistoryRequest, dict] + ] = None, *, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.BatchGetAssetsHistoryResponse: r"""Batch gets the update history of assets that overlap a time @@ -503,7 +516,7 @@ async def sample_batch_get_assets_history(): print(response) Args: - request (Union[google.cloud.asset_v1.types.BatchGetAssetsHistoryRequest, dict]): + request (Optional[Union[google.cloud.asset_v1.types.BatchGetAssetsHistoryRequest, dict]]): The request object. Batch get assets history request. retry (google.api_core.retry.Retry): Designation of what errors, if any, should be retried. @@ -555,11 +568,11 @@ async def sample_batch_get_assets_history(): async def create_feed( self, - request: Union[asset_service.CreateFeedRequest, dict] = None, + request: Optional[Union[asset_service.CreateFeedRequest, dict]] = None, *, - parent: str = None, + parent: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.Feed: r"""Creates a feed in a parent @@ -598,7 +611,7 @@ async def sample_create_feed(): print(response) Args: - request (Union[google.cloud.asset_v1.types.CreateFeedRequest, dict]): + request (Optional[Union[google.cloud.asset_v1.types.CreateFeedRequest, dict]]): The request object. Create asset feed request. parent (:class:`str`): Required. The name of the @@ -675,11 +688,11 @@ async def sample_create_feed(): async def get_feed( self, - request: Union[asset_service.GetFeedRequest, dict] = None, + request: Optional[Union[asset_service.GetFeedRequest, dict]] = None, *, - name: str = None, + name: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.Feed: r"""Gets details about an asset feed. @@ -711,7 +724,7 @@ async def sample_get_feed(): print(response) Args: - request (Union[google.cloud.asset_v1.types.GetFeedRequest, dict]): + request (Optional[Union[google.cloud.asset_v1.types.GetFeedRequest, dict]]): The request object. Get asset feed request. name (:class:`str`): Required. The name of the Feed and it must be in the @@ -793,11 +806,11 @@ async def sample_get_feed(): async def list_feeds( self, - request: Union[asset_service.ListFeedsRequest, dict] = None, + request: Optional[Union[asset_service.ListFeedsRequest, dict]] = None, *, - parent: str = None, + parent: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.ListFeedsResponse: r"""Lists all asset feeds in a parent @@ -830,7 +843,7 @@ async def sample_list_feeds(): print(response) Args: - request (Union[google.cloud.asset_v1.types.ListFeedsRequest, dict]): + request (Optional[Union[google.cloud.asset_v1.types.ListFeedsRequest, dict]]): The request object. List asset feeds request. parent (:class:`str`): Required. The parent @@ -907,11 +920,11 @@ async def sample_list_feeds(): async def update_feed( self, - request: Union[asset_service.UpdateFeedRequest, dict] = None, + request: Optional[Union[asset_service.UpdateFeedRequest, dict]] = None, *, - feed: asset_service.Feed = None, + feed: Optional[asset_service.Feed] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.Feed: r"""Updates an asset feed configuration. @@ -946,7 +959,7 @@ async def sample_update_feed(): print(response) Args: - request (Union[google.cloud.asset_v1.types.UpdateFeedRequest, dict]): + request (Optional[Union[google.cloud.asset_v1.types.UpdateFeedRequest, dict]]): The request object. Update asset feed request. feed (:class:`google.cloud.asset_v1.types.Feed`): Required. The new values of feed details. It must match @@ -1021,11 +1034,11 @@ async def sample_update_feed(): async def delete_feed( self, - request: Union[asset_service.DeleteFeedRequest, dict] = None, + request: Optional[Union[asset_service.DeleteFeedRequest, dict]] = None, *, - name: str = None, + name: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> None: r"""Deletes an asset feed. @@ -1054,7 +1067,7 @@ async def sample_delete_feed(): await client.delete_feed(request=request) Args: - request (Union[google.cloud.asset_v1.types.DeleteFeedRequest, dict]): + request (Optional[Union[google.cloud.asset_v1.types.DeleteFeedRequest, dict]]): The request object. name (:class:`str`): Required. The name of the feed and it must be in the @@ -1122,13 +1135,13 @@ async def sample_delete_feed(): async def search_all_resources( self, - request: Union[asset_service.SearchAllResourcesRequest, dict] = None, + request: Optional[Union[asset_service.SearchAllResourcesRequest, dict]] = None, *, - scope: str = None, - query: str = None, - asset_types: Sequence[str] = None, + scope: Optional[str] = None, + query: Optional[str] = None, + asset_types: Optional[MutableSequence[str]] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.SearchAllResourcesAsyncPager: r"""Searches all Cloud resources within the specified scope, such as @@ -1164,7 +1177,7 @@ async def sample_search_all_resources(): print(response) Args: - request (Union[google.cloud.asset_v1.types.SearchAllResourcesRequest, dict]): + request (Optional[Union[google.cloud.asset_v1.types.SearchAllResourcesRequest, dict]]): The request object. Search all resources request. scope (:class:`str`): Required. A scope can be a project, a folder, or an @@ -1252,7 +1265,7 @@ async def sample_search_all_resources(): This corresponds to the ``query`` field on the ``request`` instance; if ``request`` is provided, this should not be set. - asset_types (:class:`Sequence[str]`): + asset_types (:class:`MutableSequence[str]`): Optional. A list of asset types that this request searches for. If empty, it will search all the `searchable asset @@ -1355,12 +1368,14 @@ async def sample_search_all_resources(): async def search_all_iam_policies( self, - request: Union[asset_service.SearchAllIamPoliciesRequest, dict] = None, + request: Optional[ + Union[asset_service.SearchAllIamPoliciesRequest, dict] + ] = None, *, - scope: str = None, - query: str = None, + scope: Optional[str] = None, + query: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.SearchAllIamPoliciesAsyncPager: r"""Searches all IAM policies within the specified scope, such as a @@ -1396,7 +1411,7 @@ async def sample_search_all_iam_policies(): print(response) Args: - request (Union[google.cloud.asset_v1.types.SearchAllIamPoliciesRequest, dict]): + request (Optional[Union[google.cloud.asset_v1.types.SearchAllIamPoliciesRequest, dict]]): The request object. Search all IAM policies request. scope (:class:`str`): Required. A scope can be a project, a folder, or an @@ -1551,10 +1566,10 @@ async def sample_search_all_iam_policies(): async def analyze_iam_policy( self, - request: Union[asset_service.AnalyzeIamPolicyRequest, dict] = None, + request: Optional[Union[asset_service.AnalyzeIamPolicyRequest, dict]] = None, *, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.AnalyzeIamPolicyResponse: r"""Analyzes IAM policies to answer which identities have @@ -1590,7 +1605,7 @@ async def sample_analyze_iam_policy(): print(response) Args: - request (Union[google.cloud.asset_v1.types.AnalyzeIamPolicyRequest, dict]): + request (Optional[Union[google.cloud.asset_v1.types.AnalyzeIamPolicyRequest, dict]]): The request object. A request message for [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]. retry (google.api_core.retry.Retry): Designation of what errors, if any, @@ -1646,10 +1661,12 @@ async def sample_analyze_iam_policy(): async def analyze_iam_policy_longrunning( self, - request: Union[asset_service.AnalyzeIamPolicyLongrunningRequest, dict] = None, + request: Optional[ + Union[asset_service.AnalyzeIamPolicyLongrunningRequest, dict] + ] = None, *, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> operation_async.AsyncOperation: r"""Analyzes IAM policies asynchronously to answer which identities @@ -1697,13 +1714,13 @@ async def sample_analyze_iam_policy_longrunning(): print("Waiting for operation to complete...") - response = await operation.result() + response = (await operation).result() # Handle the response print(response) Args: - request (Union[google.cloud.asset_v1.types.AnalyzeIamPolicyLongrunningRequest, dict]): + request (Optional[Union[google.cloud.asset_v1.types.AnalyzeIamPolicyLongrunningRequest, dict]]): The request object. A request message for [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]. retry (google.api_core.retry.Retry): Designation of what errors, if any, @@ -1762,10 +1779,10 @@ async def sample_analyze_iam_policy_longrunning(): async def analyze_move( self, - request: Union[asset_service.AnalyzeMoveRequest, dict] = None, + request: Optional[Union[asset_service.AnalyzeMoveRequest, dict]] = None, *, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.AnalyzeMoveResponse: r"""Analyze moving a resource to a specified destination @@ -1804,7 +1821,7 @@ async def sample_analyze_move(): print(response) Args: - request (Union[google.cloud.asset_v1.types.AnalyzeMoveRequest, dict]): + request (Optional[Union[google.cloud.asset_v1.types.AnalyzeMoveRequest, dict]]): The request object. The request message for performing resource move analysis. retry (google.api_core.retry.Retry): Designation of what errors, if any, @@ -1849,10 +1866,10 @@ async def sample_analyze_move(): async def query_assets( self, - request: Union[asset_service.QueryAssetsRequest, dict] = None, + request: Optional[Union[asset_service.QueryAssetsRequest, dict]] = None, *, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.QueryAssetsResponse: r"""Issue a job that queries assets using a SQL statement compatible @@ -1900,7 +1917,7 @@ async def sample_query_assets(): print(response) Args: - request (Union[google.cloud.asset_v1.types.QueryAssetsRequest, dict]): + request (Optional[Union[google.cloud.asset_v1.types.QueryAssetsRequest, dict]]): The request object. QueryAssets request. retry (google.api_core.retry.Retry): Designation of what errors, if any, should be retried. @@ -1951,13 +1968,13 @@ async def sample_query_assets(): async def create_saved_query( self, - request: Union[asset_service.CreateSavedQueryRequest, dict] = None, + request: Optional[Union[asset_service.CreateSavedQueryRequest, dict]] = None, *, - parent: str = None, - saved_query: asset_service.SavedQuery = None, - saved_query_id: str = None, + parent: Optional[str] = None, + saved_query: Optional[asset_service.SavedQuery] = None, + saved_query_id: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.SavedQuery: r"""Creates a saved query in a parent @@ -1991,7 +2008,7 @@ async def sample_create_saved_query(): print(response) Args: - request (Union[google.cloud.asset_v1.types.CreateSavedQueryRequest, dict]): + request (Optional[Union[google.cloud.asset_v1.types.CreateSavedQueryRequest, dict]]): The request object. Request to create a saved query. parent (:class:`str`): Required. The name of the project/folder/organization @@ -2087,11 +2104,11 @@ async def sample_create_saved_query(): async def get_saved_query( self, - request: Union[asset_service.GetSavedQueryRequest, dict] = None, + request: Optional[Union[asset_service.GetSavedQueryRequest, dict]] = None, *, - name: str = None, + name: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.SavedQuery: r"""Gets details about a saved query. @@ -2123,7 +2140,7 @@ async def sample_get_saved_query(): print(response) Args: - request (Union[google.cloud.asset_v1.types.GetSavedQueryRequest, dict]): + request (Optional[Union[google.cloud.asset_v1.types.GetSavedQueryRequest, dict]]): The request object. Request to get a saved query. name (:class:`str`): Required. The name of the saved query and it must be in @@ -2202,11 +2219,11 @@ async def sample_get_saved_query(): async def list_saved_queries( self, - request: Union[asset_service.ListSavedQueriesRequest, dict] = None, + request: Optional[Union[asset_service.ListSavedQueriesRequest, dict]] = None, *, - parent: str = None, + parent: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListSavedQueriesAsyncPager: r"""Lists all saved queries in a parent @@ -2240,7 +2257,7 @@ async def sample_list_saved_queries(): print(response) Args: - request (Union[google.cloud.asset_v1.types.ListSavedQueriesRequest, dict]): + request (Optional[Union[google.cloud.asset_v1.types.ListSavedQueriesRequest, dict]]): The request object. Request to list saved queries. parent (:class:`str`): Required. The parent @@ -2331,12 +2348,12 @@ async def sample_list_saved_queries(): async def update_saved_query( self, - request: Union[asset_service.UpdateSavedQueryRequest, dict] = None, + request: Optional[Union[asset_service.UpdateSavedQueryRequest, dict]] = None, *, - saved_query: asset_service.SavedQuery = None, - update_mask: field_mask_pb2.FieldMask = None, + saved_query: Optional[asset_service.SavedQuery] = None, + update_mask: Optional[field_mask_pb2.FieldMask] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.SavedQuery: r"""Updates a saved query. @@ -2367,7 +2384,7 @@ async def sample_update_saved_query(): print(response) Args: - request (Union[google.cloud.asset_v1.types.UpdateSavedQueryRequest, dict]): + request (Optional[Union[google.cloud.asset_v1.types.UpdateSavedQueryRequest, dict]]): The request object. Request to update a saved query. saved_query (:class:`google.cloud.asset_v1.types.SavedQuery`): Required. The saved query to update. @@ -2449,11 +2466,11 @@ async def sample_update_saved_query(): async def delete_saved_query( self, - request: Union[asset_service.DeleteSavedQueryRequest, dict] = None, + request: Optional[Union[asset_service.DeleteSavedQueryRequest, dict]] = None, *, - name: str = None, + name: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> None: r"""Deletes a saved query. @@ -2482,7 +2499,7 @@ async def sample_delete_saved_query(): await client.delete_saved_query(request=request) Args: - request (Union[google.cloud.asset_v1.types.DeleteSavedQueryRequest, dict]): + request (Optional[Union[google.cloud.asset_v1.types.DeleteSavedQueryRequest, dict]]): The request object. Request to delete a saved query. name (:class:`str`): Required. The name of the saved query to delete. It must @@ -2552,10 +2569,12 @@ async def sample_delete_saved_query(): async def batch_get_effective_iam_policies( self, - request: Union[asset_service.BatchGetEffectiveIamPoliciesRequest, dict] = None, + request: Optional[ + Union[asset_service.BatchGetEffectiveIamPoliciesRequest, dict] + ] = None, *, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.BatchGetEffectiveIamPoliciesResponse: r"""Gets effective IAM policies for a batch of resources. @@ -2588,7 +2607,7 @@ async def sample_batch_get_effective_iam_policies(): print(response) Args: - request (Union[google.cloud.asset_v1.types.BatchGetEffectiveIamPoliciesRequest, dict]): + request (Optional[Union[google.cloud.asset_v1.types.BatchGetEffectiveIamPoliciesRequest, dict]]): The request object. A request message for [AssetService.BatchGetEffectiveIamPolicies][google.cloud.asset.v1.AssetService.BatchGetEffectiveIamPolicies]. retry (google.api_core.retry.Retry): Designation of what errors, if any, @@ -2647,14 +2666,9 @@ async def __aexit__(self, exc_type, exc, tb): await self.transport.close() -try: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( - gapic_version=pkg_resources.get_distribution( - "google-cloud-asset", - ).version, - ) -except pkg_resources.DistributionNotFound: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() +DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( + gapic_version=package_version.__version__ +) __all__ = ("AssetServiceAsyncClient",) diff --git a/google/cloud/asset_v1/services/asset_service/client.py b/google/cloud/asset_v1/services/asset_service/client.py index 333e580a..d5ed3a56 100644 --- a/google/cloud/asset_v1/services/asset_service/client.py +++ b/google/cloud/asset_v1/services/asset_service/client.py @@ -16,8 +16,20 @@ from collections import OrderedDict import os import re -from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union -import pkg_resources +from typing import ( + Dict, + Mapping, + MutableMapping, + MutableSequence, + Optional, + Sequence, + Tuple, + Type, + Union, + cast, +) + +from google.cloud.asset_v1 import gapic_version as package_version from google.api_core import client_options as client_options_lib from google.api_core import exceptions as core_exceptions @@ -62,7 +74,7 @@ class AssetServiceClientMeta(type): def get_transport_class( cls, - label: str = None, + label: Optional[str] = None, ) -> Type[AssetServiceTransport]: """Returns an appropriate transport class. @@ -433,8 +445,8 @@ def __init__( self, *, credentials: Optional[ga_credentials.Credentials] = None, - transport: Union[str, AssetServiceTransport, None] = None, - client_options: Optional[client_options_lib.ClientOptions] = None, + transport: Optional[Union[str, AssetServiceTransport]] = None, + client_options: Optional[Union[client_options_lib.ClientOptions, dict]] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, ) -> None: """Instantiates the asset service client. @@ -448,7 +460,7 @@ def __init__( transport (Union[str, AssetServiceTransport]): The transport to use. If set to None, a transport is chosen automatically. - client_options (google.api_core.client_options.ClientOptions): Custom options for the + client_options (Optional[Union[google.api_core.client_options.ClientOptions, dict]]): Custom options for the client. It won't take effect if a ``transport`` instance is provided. (1) The ``api_endpoint`` property can be used to override the default endpoint provided by the client. GOOGLE_API_USE_MTLS_ENDPOINT @@ -478,6 +490,7 @@ def __init__( client_options = client_options_lib.from_dict(client_options) if client_options is None: client_options = client_options_lib.ClientOptions() + client_options = cast(client_options_lib.ClientOptions, client_options) api_endpoint, client_cert_source_func = self.get_mtls_endpoint_and_cert_source( client_options @@ -530,10 +543,10 @@ def __init__( def export_assets( self, - request: Union[asset_service.ExportAssetsRequest, dict] = None, + request: Optional[Union[asset_service.ExportAssetsRequest, dict]] = None, *, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: r"""Exports assets with time and resource types to a given Cloud @@ -643,11 +656,11 @@ def sample_export_assets(): def list_assets( self, - request: Union[asset_service.ListAssetsRequest, dict] = None, + request: Optional[Union[asset_service.ListAssetsRequest, dict]] = None, *, - parent: str = None, + parent: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListAssetsPager: r"""Lists assets with time and resource types and returns @@ -762,10 +775,12 @@ def sample_list_assets(): def batch_get_assets_history( self, - request: Union[asset_service.BatchGetAssetsHistoryRequest, dict] = None, + request: Optional[ + Union[asset_service.BatchGetAssetsHistoryRequest, dict] + ] = None, *, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.BatchGetAssetsHistoryResponse: r"""Batch gets the update history of assets that overlap a time @@ -846,11 +861,11 @@ def sample_batch_get_assets_history(): def create_feed( self, - request: Union[asset_service.CreateFeedRequest, dict] = None, + request: Optional[Union[asset_service.CreateFeedRequest, dict]] = None, *, - parent: str = None, + parent: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.Feed: r"""Creates a feed in a parent @@ -966,11 +981,11 @@ def sample_create_feed(): def get_feed( self, - request: Union[asset_service.GetFeedRequest, dict] = None, + request: Optional[Union[asset_service.GetFeedRequest, dict]] = None, *, - name: str = None, + name: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.Feed: r"""Gets details about an asset feed. @@ -1074,11 +1089,11 @@ def sample_get_feed(): def list_feeds( self, - request: Union[asset_service.ListFeedsRequest, dict] = None, + request: Optional[Union[asset_service.ListFeedsRequest, dict]] = None, *, - parent: str = None, + parent: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.ListFeedsResponse: r"""Lists all asset feeds in a parent @@ -1178,11 +1193,11 @@ def sample_list_feeds(): def update_feed( self, - request: Union[asset_service.UpdateFeedRequest, dict] = None, + request: Optional[Union[asset_service.UpdateFeedRequest, dict]] = None, *, - feed: asset_service.Feed = None, + feed: Optional[asset_service.Feed] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.Feed: r"""Updates an asset feed configuration. @@ -1292,11 +1307,11 @@ def sample_update_feed(): def delete_feed( self, - request: Union[asset_service.DeleteFeedRequest, dict] = None, + request: Optional[Union[asset_service.DeleteFeedRequest, dict]] = None, *, - name: str = None, + name: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> None: r"""Deletes an asset feed. @@ -1383,13 +1398,13 @@ def sample_delete_feed(): def search_all_resources( self, - request: Union[asset_service.SearchAllResourcesRequest, dict] = None, + request: Optional[Union[asset_service.SearchAllResourcesRequest, dict]] = None, *, - scope: str = None, - query: str = None, - asset_types: Sequence[str] = None, + scope: Optional[str] = None, + query: Optional[str] = None, + asset_types: Optional[MutableSequence[str]] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.SearchAllResourcesPager: r"""Searches all Cloud resources within the specified scope, such as @@ -1513,7 +1528,7 @@ def sample_search_all_resources(): This corresponds to the ``query`` field on the ``request`` instance; if ``request`` is provided, this should not be set. - asset_types (Sequence[str]): + asset_types (MutableSequence[str]): Optional. A list of asset types that this request searches for. If empty, it will search all the `searchable asset @@ -1607,12 +1622,14 @@ def sample_search_all_resources(): def search_all_iam_policies( self, - request: Union[asset_service.SearchAllIamPoliciesRequest, dict] = None, + request: Optional[ + Union[asset_service.SearchAllIamPoliciesRequest, dict] + ] = None, *, - scope: str = None, - query: str = None, + scope: Optional[str] = None, + query: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.SearchAllIamPoliciesPager: r"""Searches all IAM policies within the specified scope, such as a @@ -1794,10 +1811,10 @@ def sample_search_all_iam_policies(): def analyze_iam_policy( self, - request: Union[asset_service.AnalyzeIamPolicyRequest, dict] = None, + request: Optional[Union[asset_service.AnalyzeIamPolicyRequest, dict]] = None, *, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.AnalyzeIamPolicyResponse: r"""Analyzes IAM policies to answer which identities have @@ -1881,10 +1898,12 @@ def sample_analyze_iam_policy(): def analyze_iam_policy_longrunning( self, - request: Union[asset_service.AnalyzeIamPolicyLongrunningRequest, dict] = None, + request: Optional[ + Union[asset_service.AnalyzeIamPolicyLongrunningRequest, dict] + ] = None, *, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> operation.Operation: r"""Analyzes IAM policies asynchronously to answer which identities @@ -2000,10 +2019,10 @@ def sample_analyze_iam_policy_longrunning(): def analyze_move( self, - request: Union[asset_service.AnalyzeMoveRequest, dict] = None, + request: Optional[Union[asset_service.AnalyzeMoveRequest, dict]] = None, *, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.AnalyzeMoveResponse: r"""Analyze moving a resource to a specified destination @@ -2088,10 +2107,10 @@ def sample_analyze_move(): def query_assets( self, - request: Union[asset_service.QueryAssetsRequest, dict] = None, + request: Optional[Union[asset_service.QueryAssetsRequest, dict]] = None, *, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.QueryAssetsResponse: r"""Issue a job that queries assets using a SQL statement compatible @@ -2182,13 +2201,13 @@ def sample_query_assets(): def create_saved_query( self, - request: Union[asset_service.CreateSavedQueryRequest, dict] = None, + request: Optional[Union[asset_service.CreateSavedQueryRequest, dict]] = None, *, - parent: str = None, - saved_query: asset_service.SavedQuery = None, - saved_query_id: str = None, + parent: Optional[str] = None, + saved_query: Optional[asset_service.SavedQuery] = None, + saved_query_id: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.SavedQuery: r"""Creates a saved query in a parent @@ -2318,11 +2337,11 @@ def sample_create_saved_query(): def get_saved_query( self, - request: Union[asset_service.GetSavedQueryRequest, dict] = None, + request: Optional[Union[asset_service.GetSavedQueryRequest, dict]] = None, *, - name: str = None, + name: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.SavedQuery: r"""Gets details about a saved query. @@ -2423,11 +2442,11 @@ def sample_get_saved_query(): def list_saved_queries( self, - request: Union[asset_service.ListSavedQueriesRequest, dict] = None, + request: Optional[Union[asset_service.ListSavedQueriesRequest, dict]] = None, *, - parent: str = None, + parent: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListSavedQueriesPager: r"""Lists all saved queries in a parent @@ -2542,12 +2561,12 @@ def sample_list_saved_queries(): def update_saved_query( self, - request: Union[asset_service.UpdateSavedQueryRequest, dict] = None, + request: Optional[Union[asset_service.UpdateSavedQueryRequest, dict]] = None, *, - saved_query: asset_service.SavedQuery = None, - update_mask: field_mask_pb2.FieldMask = None, + saved_query: Optional[asset_service.SavedQuery] = None, + update_mask: Optional[field_mask_pb2.FieldMask] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.SavedQuery: r"""Updates a saved query. @@ -2660,11 +2679,11 @@ def sample_update_saved_query(): def delete_saved_query( self, - request: Union[asset_service.DeleteSavedQueryRequest, dict] = None, + request: Optional[Union[asset_service.DeleteSavedQueryRequest, dict]] = None, *, - name: str = None, + name: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> None: r"""Deletes a saved query. @@ -2753,10 +2772,12 @@ def sample_delete_saved_query(): def batch_get_effective_iam_policies( self, - request: Union[asset_service.BatchGetEffectiveIamPoliciesRequest, dict] = None, + request: Optional[ + Union[asset_service.BatchGetEffectiveIamPoliciesRequest, dict] + ] = None, *, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.BatchGetEffectiveIamPoliciesResponse: r"""Gets effective IAM policies for a batch of resources. @@ -2849,14 +2870,9 @@ def __exit__(self, type, value, traceback): self.transport.close() -try: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( - gapic_version=pkg_resources.get_distribution( - "google-cloud-asset", - ).version, - ) -except pkg_resources.DistributionNotFound: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() +DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( + gapic_version=package_version.__version__ +) __all__ = ("AssetServiceClient",) diff --git a/google/cloud/asset_v1/services/asset_service/transports/base.py b/google/cloud/asset_v1/services/asset_service/transports/base.py index 82cfc36e..630fcfef 100644 --- a/google/cloud/asset_v1/services/asset_service/transports/base.py +++ b/google/cloud/asset_v1/services/asset_service/transports/base.py @@ -15,7 +15,8 @@ # import abc from typing import Awaitable, Callable, Dict, Optional, Sequence, Union -import pkg_resources + +from google.cloud.asset_v1 import gapic_version as package_version import google.auth # type: ignore import google.api_core @@ -30,14 +31,9 @@ from google.longrunning import operations_pb2 # type: ignore from google.protobuf import empty_pb2 # type: ignore -try: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( - gapic_version=pkg_resources.get_distribution( - "google-cloud-asset", - ).version, - ) -except pkg_resources.DistributionNotFound: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() +DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( + gapic_version=package_version.__version__ +) class AssetServiceTransport(abc.ABC): @@ -51,7 +47,7 @@ def __init__( self, *, host: str = DEFAULT_HOST, - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, quota_project_id: Optional[str] = None, diff --git a/google/cloud/asset_v1/services/asset_service/transports/grpc.py b/google/cloud/asset_v1/services/asset_service/transports/grpc.py index e735300f..9fe89817 100644 --- a/google/cloud/asset_v1/services/asset_service/transports/grpc.py +++ b/google/cloud/asset_v1/services/asset_service/transports/grpc.py @@ -50,14 +50,14 @@ def __init__( self, *, host: str = "cloudasset.googleapis.com", - credentials: ga_credentials.Credentials = None, - credentials_file: str = None, - scopes: Sequence[str] = None, - channel: grpc.Channel = None, - api_mtls_endpoint: str = None, - client_cert_source: Callable[[], Tuple[bytes, bytes]] = None, - ssl_channel_credentials: grpc.ChannelCredentials = None, - client_cert_source_for_mtls: Callable[[], Tuple[bytes, bytes]] = None, + credentials: Optional[ga_credentials.Credentials] = None, + credentials_file: Optional[str] = None, + scopes: Optional[Sequence[str]] = None, + channel: Optional[grpc.Channel] = None, + api_mtls_endpoint: Optional[str] = None, + client_cert_source: Optional[Callable[[], Tuple[bytes, bytes]]] = None, + ssl_channel_credentials: Optional[grpc.ChannelCredentials] = None, + client_cert_source_for_mtls: Optional[Callable[[], Tuple[bytes, bytes]]] = None, quota_project_id: Optional[str] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, always_use_jwt_access: Optional[bool] = False, @@ -185,8 +185,8 @@ def __init__( def create_channel( cls, host: str = "cloudasset.googleapis.com", - credentials: ga_credentials.Credentials = None, - credentials_file: str = None, + credentials: Optional[ga_credentials.Credentials] = None, + credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, quota_project_id: Optional[str] = None, **kwargs, diff --git a/google/cloud/asset_v1/services/asset_service/transports/grpc_asyncio.py b/google/cloud/asset_v1/services/asset_service/transports/grpc_asyncio.py index 617dd96f..56163d84 100644 --- a/google/cloud/asset_v1/services/asset_service/transports/grpc_asyncio.py +++ b/google/cloud/asset_v1/services/asset_service/transports/grpc_asyncio.py @@ -52,7 +52,7 @@ class AssetServiceGrpcAsyncIOTransport(AssetServiceTransport): def create_channel( cls, host: str = "cloudasset.googleapis.com", - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, quota_project_id: Optional[str] = None, @@ -95,15 +95,15 @@ def __init__( self, *, host: str = "cloudasset.googleapis.com", - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, - channel: aio.Channel = None, - api_mtls_endpoint: str = None, - client_cert_source: Callable[[], Tuple[bytes, bytes]] = None, - ssl_channel_credentials: grpc.ChannelCredentials = None, - client_cert_source_for_mtls: Callable[[], Tuple[bytes, bytes]] = None, - quota_project_id=None, + channel: Optional[aio.Channel] = None, + api_mtls_endpoint: Optional[str] = None, + client_cert_source: Optional[Callable[[], Tuple[bytes, bytes]]] = None, + ssl_channel_credentials: Optional[grpc.ChannelCredentials] = None, + client_cert_source_for_mtls: Optional[Callable[[], Tuple[bytes, bytes]]] = None, + quota_project_id: Optional[str] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, always_use_jwt_access: Optional[bool] = False, api_audience: Optional[str] = None, diff --git a/google/cloud/asset_v1/types/asset_service.py b/google/cloud/asset_v1/types/asset_service.py index 9eaec07d..bbb00c5e 100644 --- a/google/cloud/asset_v1/types/asset_service.py +++ b/google/cloud/asset_v1/types/asset_service.py @@ -13,6 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +from typing import MutableMapping, MutableSequence + import proto # type: ignore from google.cloud.asset_v1.types import assets as gca_assets @@ -106,7 +108,7 @@ class AnalyzeIamPolicyLongrunningMetadata(proto.Message): created. """ - create_time = proto.Field( + create_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=1, message=timestamp_pb2.Timestamp, @@ -133,7 +135,7 @@ class ExportAssetsRequest(proto.Message): collection and indexing, there is a volatile window during which running the same query may get different results. - asset_types (Sequence[str]): + asset_types (MutableSequence[str]): A list of asset types to take a snapshot for. For example: "compute.googleapis.com/Disk". @@ -162,7 +164,7 @@ class ExportAssetsRequest(proto.Message): output_config (google.cloud.asset_v1.types.OutputConfig): Required. Output configuration indicating where the results will be output to. - relationship_types (Sequence[str]): + relationship_types (MutableSequence[str]): A list of relationship types to export, for example: ``INSTANCE_TO_INSTANCEGROUP``. This field should only be specified if content_type=RELATIONSHIP. @@ -181,30 +183,30 @@ class ExportAssetsRequest(proto.Message): for all supported asset types and relationship types. """ - parent = proto.Field( + parent: str = proto.Field( proto.STRING, number=1, ) - read_time = proto.Field( + read_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=2, message=timestamp_pb2.Timestamp, ) - asset_types = proto.RepeatedField( + asset_types: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=3, ) - content_type = proto.Field( + content_type: "ContentType" = proto.Field( proto.ENUM, number=4, enum="ContentType", ) - output_config = proto.Field( + output_config: "OutputConfig" = proto.Field( proto.MESSAGE, number=5, message="OutputConfig", ) - relationship_types = proto.RepeatedField( + relationship_types: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=6, ) @@ -232,17 +234,17 @@ class ExportAssetsResponse(proto.Message): it exceeds a single Google Cloud Storage object limit. """ - read_time = proto.Field( + read_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=1, message=timestamp_pb2.Timestamp, ) - output_config = proto.Field( + output_config: "OutputConfig" = proto.Field( proto.MESSAGE, number=2, message="OutputConfig", ) - output_result = proto.Field( + output_result: "OutputResult" = proto.Field( proto.MESSAGE, number=3, message="OutputResult", @@ -270,7 +272,7 @@ class ListAssetsRequest(proto.Message): collection and indexing, there is a volatile window during which running the same query may get different results. - asset_types (Sequence[str]): + asset_types (MutableSequence[str]): A list of asset types to take a snapshot for. For example: "compute.googleapis.com/Disk". @@ -306,7 +308,7 @@ class ListAssetsRequest(proto.Message): ``ListAssetsRequest``. It is a continuation of a prior ``ListAssets`` call, and the API should return the next page of assets. - relationship_types (Sequence[str]): + relationship_types (MutableSequence[str]): A list of relationship types to output, for example: ``INSTANCE_TO_INSTANCEGROUP``. This field should only be specified if content_type=RELATIONSHIP. @@ -325,33 +327,33 @@ class ListAssetsRequest(proto.Message): for all supported asset types and relationship types. """ - parent = proto.Field( + parent: str = proto.Field( proto.STRING, number=1, ) - read_time = proto.Field( + read_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=2, message=timestamp_pb2.Timestamp, ) - asset_types = proto.RepeatedField( + asset_types: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=3, ) - content_type = proto.Field( + content_type: "ContentType" = proto.Field( proto.ENUM, number=4, enum="ContentType", ) - page_size = proto.Field( + page_size: int = proto.Field( proto.INT32, number=5, ) - page_token = proto.Field( + page_token: str = proto.Field( proto.STRING, number=6, ) - relationship_types = proto.RepeatedField( + relationship_types: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=7, ) @@ -363,7 +365,7 @@ class ListAssetsResponse(proto.Message): Attributes: read_time (google.protobuf.timestamp_pb2.Timestamp): Time the snapshot was taken. - assets (Sequence[google.cloud.asset_v1.types.Asset]): + assets (MutableSequence[google.cloud.asset_v1.types.Asset]): Assets. next_page_token (str): Token to retrieve the next page of results. @@ -376,17 +378,17 @@ class ListAssetsResponse(proto.Message): def raw_page(self): return self - read_time = proto.Field( + read_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=1, message=timestamp_pb2.Timestamp, ) - assets = proto.RepeatedField( + assets: MutableSequence[gca_assets.Asset] = proto.RepeatedField( proto.MESSAGE, number=2, message=gca_assets.Asset, ) - next_page_token = proto.Field( + next_page_token: str = proto.Field( proto.STRING, number=3, ) @@ -402,7 +404,7 @@ class BatchGetAssetsHistoryRequest(proto.Message): (such as "organizations/123"), a project ID (such as "projects/my-project-id")", or a project number (such as "projects/12345"). - asset_names (Sequence[str]): + asset_names (MutableSequence[str]): A list of the full names of the assets. See: https://cloud.google.com/asset-inventory/docs/resource-name-format Example: @@ -422,7 +424,7 @@ class BatchGetAssetsHistoryRequest(proto.Message): not set, the snapshot of the assets at end_time will be returned. The returned results contain all temporal assets whose time window overlap with read_time_window. - relationship_types (Sequence[str]): + relationship_types (MutableSequence[str]): Optional. A list of relationship types to output, for example: ``INSTANCE_TO_INSTANCEGROUP``. This field should only be specified if content_type=RELATIONSHIP. @@ -441,25 +443,25 @@ class BatchGetAssetsHistoryRequest(proto.Message): for all supported asset types and relationship types. """ - parent = proto.Field( + parent: str = proto.Field( proto.STRING, number=1, ) - asset_names = proto.RepeatedField( + asset_names: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=2, ) - content_type = proto.Field( + content_type: "ContentType" = proto.Field( proto.ENUM, number=3, enum="ContentType", ) - read_time_window = proto.Field( + read_time_window: gca_assets.TimeWindow = proto.Field( proto.MESSAGE, number=4, message=gca_assets.TimeWindow, ) - relationship_types = proto.RepeatedField( + relationship_types: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=5, ) @@ -469,11 +471,11 @@ class BatchGetAssetsHistoryResponse(proto.Message): r"""Batch get assets history response. Attributes: - assets (Sequence[google.cloud.asset_v1.types.TemporalAsset]): + assets (MutableSequence[google.cloud.asset_v1.types.TemporalAsset]): A list of assets with valid time windows. """ - assets = proto.RepeatedField( + assets: MutableSequence[gca_assets.TemporalAsset] = proto.RepeatedField( proto.MESSAGE, number=1, message=gca_assets.TemporalAsset, @@ -505,15 +507,15 @@ class CreateFeedRequest(proto.Message): organizations/organization_number/feeds/feed_id """ - parent = proto.Field( + parent: str = proto.Field( proto.STRING, number=1, ) - feed_id = proto.Field( + feed_id: str = proto.Field( proto.STRING, number=2, ) - feed = proto.Field( + feed: "Feed" = proto.Field( proto.MESSAGE, number=3, message="Feed", @@ -531,7 +533,7 @@ class GetFeedRequest(proto.Message): organizations/organization_number/feeds/feed_id """ - name = proto.Field( + name: str = proto.Field( proto.STRING, number=1, ) @@ -550,7 +552,7 @@ class ListFeedsRequest(proto.Message): "projects/my-project-id"). """ - parent = proto.Field( + parent: str = proto.Field( proto.STRING, number=1, ) @@ -560,11 +562,11 @@ class ListFeedsResponse(proto.Message): r""" Attributes: - feeds (Sequence[google.cloud.asset_v1.types.Feed]): + feeds (MutableSequence[google.cloud.asset_v1.types.Feed]): A list of feeds. """ - feeds = proto.RepeatedField( + feeds: MutableSequence["Feed"] = proto.RepeatedField( proto.MESSAGE, number=1, message="Feed", @@ -587,12 +589,12 @@ class UpdateFeedRequest(proto.Message): contain fields that are immutable or only set by the server. """ - feed = proto.Field( + feed: "Feed" = proto.Field( proto.MESSAGE, number=1, message="Feed", ) - update_mask = proto.Field( + update_mask: field_mask_pb2.FieldMask = proto.Field( proto.MESSAGE, number=2, message=field_mask_pb2.FieldMask, @@ -610,7 +612,7 @@ class DeleteFeedRequest(proto.Message): organizations/organization_number/feeds/feed_id """ - name = proto.Field( + name: str = proto.Field( proto.STRING, number=1, ) @@ -639,13 +641,13 @@ class OutputConfig(proto.Message): This field is a member of `oneof`_ ``destination``. """ - gcs_destination = proto.Field( + gcs_destination: "GcsDestination" = proto.Field( proto.MESSAGE, number=1, oneof="destination", message="GcsDestination", ) - bigquery_destination = proto.Field( + bigquery_destination: "BigQueryDestination" = proto.Field( proto.MESSAGE, number=2, oneof="destination", @@ -665,7 +667,7 @@ class OutputResult(proto.Message): This field is a member of `oneof`_ ``result``. """ - gcs_result = proto.Field( + gcs_result: "GcsOutputResult" = proto.Field( proto.MESSAGE, number=1, oneof="result", @@ -677,12 +679,12 @@ class GcsOutputResult(proto.Message): r"""A Cloud Storage output result. Attributes: - uris (Sequence[str]): + uris (MutableSequence[str]): List of uris of the Cloud Storage objects. Example: "gs://bucket_name/object_name". """ - uris = proto.RepeatedField( + uris: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=1, ) @@ -726,12 +728,12 @@ class GcsDestination(proto.Message): This field is a member of `oneof`_ ``object_uri``. """ - uri = proto.Field( + uri: str = proto.Field( proto.STRING, number=1, oneof="object_uri", ) - uri_prefix = proto.Field( + uri_prefix: str = proto.Field( proto.STRING, number=2, oneof="object_uri", @@ -822,24 +824,24 @@ class BigQueryDestination(proto.Message): a table. """ - dataset = proto.Field( + dataset: str = proto.Field( proto.STRING, number=1, ) - table = proto.Field( + table: str = proto.Field( proto.STRING, number=2, ) - force = proto.Field( + force: bool = proto.Field( proto.BOOL, number=3, ) - partition_spec = proto.Field( + partition_spec: "PartitionSpec" = proto.Field( proto.MESSAGE, number=4, message="PartitionSpec", ) - separate_tables_per_asset_type = proto.Field( + separate_tables_per_asset_type: bool = proto.Field( proto.BOOL, number=5, ) @@ -866,7 +868,7 @@ class PartitionKey(proto.Enum): READ_TIME = 1 REQUEST_TIME = 2 - partition_key = proto.Field( + partition_key: PartitionKey = proto.Field( proto.ENUM, number=1, enum=PartitionKey, @@ -882,7 +884,7 @@ class PubsubDestination(proto.Message): ``projects/PROJECT_ID/topics/TOPIC_ID``. """ - topic = proto.Field( + topic: str = proto.Field( proto.STRING, number=1, ) @@ -900,7 +902,7 @@ class FeedOutputConfig(proto.Message): This field is a member of `oneof`_ ``destination``. """ - pubsub_destination = proto.Field( + pubsub_destination: "PubsubDestination" = proto.Field( proto.MESSAGE, number=1, oneof="destination", @@ -926,7 +928,7 @@ class Feed(proto.Message): The client-assigned feed identifier must be unique within the parent project/folder/organization. - asset_names (Sequence[str]): + asset_names (MutableSequence[str]): A list of the full names of the assets to receive updates. You must specify either or both of asset_names and asset_types. Only asset updates matching specified @@ -936,7 +938,7 @@ class Feed(proto.Message): For a list of the full names for supported asset types, see `Resource name format `__. - asset_types (Sequence[str]): + asset_types (MutableSequence[str]): A list of types of the assets to receive updates. You must specify either or both of asset_names and asset_types. Only asset updates matching specified asset_names or asset_types @@ -967,7 +969,7 @@ class Feed(proto.Message): See our `user guide `__ for detailed instructions. - relationship_types (Sequence[str]): + relationship_types (MutableSequence[str]): A list of relationship types to output, for example: ``INSTANCE_TO_INSTANCEGROUP``. This field should only be specified if content_type=RELATIONSHIP. @@ -988,34 +990,34 @@ class Feed(proto.Message): for all supported asset types and relationship types. """ - name = proto.Field( + name: str = proto.Field( proto.STRING, number=1, ) - asset_names = proto.RepeatedField( + asset_names: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=2, ) - asset_types = proto.RepeatedField( + asset_types: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=3, ) - content_type = proto.Field( + content_type: "ContentType" = proto.Field( proto.ENUM, number=4, enum="ContentType", ) - feed_output_config = proto.Field( + feed_output_config: "FeedOutputConfig" = proto.Field( proto.MESSAGE, number=5, message="FeedOutputConfig", ) - condition = proto.Field( + condition: expr_pb2.Expr = proto.Field( proto.MESSAGE, number=6, message=expr_pb2.Expr, ) - relationship_types = proto.RepeatedField( + relationship_types: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=7, ) @@ -1099,7 +1101,7 @@ class SearchAllResourcesRequest(proto.Message): resources that contain "Important" as a word in any of the searchable fields and are also located in the "us-west1" region or the "global" location. - asset_types (Sequence[str]): + asset_types (MutableSequence[str]): Optional. A list of asset types that this request searches for. If empty, it will search all the `searchable asset types `__. @@ -1192,31 +1194,31 @@ class SearchAllResourcesRequest(proto.Message): INVALID_ARGUMENT error. """ - scope = proto.Field( + scope: str = proto.Field( proto.STRING, number=1, ) - query = proto.Field( + query: str = proto.Field( proto.STRING, number=2, ) - asset_types = proto.RepeatedField( + asset_types: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=3, ) - page_size = proto.Field( + page_size: int = proto.Field( proto.INT32, number=4, ) - page_token = proto.Field( + page_token: str = proto.Field( proto.STRING, number=5, ) - order_by = proto.Field( + order_by: str = proto.Field( proto.STRING, number=6, ) - read_mask = proto.Field( + read_mask: field_mask_pb2.FieldMask = proto.Field( proto.MESSAGE, number=8, message=field_mask_pb2.FieldMask, @@ -1227,7 +1229,7 @@ class SearchAllResourcesResponse(proto.Message): r"""Search all resources response. Attributes: - results (Sequence[google.cloud.asset_v1.types.ResourceSearchResult]): + results (MutableSequence[google.cloud.asset_v1.types.ResourceSearchResult]): A list of Resources that match the search query. It contains the resource standard metadata information. @@ -1242,12 +1244,12 @@ class SearchAllResourcesResponse(proto.Message): def raw_page(self): return self - results = proto.RepeatedField( + results: MutableSequence[gca_assets.ResourceSearchResult] = proto.RepeatedField( proto.MESSAGE, number=1, message=gca_assets.ResourceSearchResult, ) - next_page_token = proto.Field( + next_page_token: str = proto.Field( proto.STRING, number=2, ) @@ -1331,7 +1333,7 @@ class SearchAllIamPoliciesRequest(proto.Message): be the value of ``next_page_token`` from the previous response. The values of all other method parameters must be identical to those in the previous call. - asset_types (Sequence[str]): + asset_types (MutableSequence[str]): Optional. A list of asset types that the IAM policies are attached to. If empty, it will search the IAM policies that are attached to all the `searchable asset @@ -1366,27 +1368,27 @@ class SearchAllIamPoliciesRequest(proto.Message): ``policy``) are not supported. """ - scope = proto.Field( + scope: str = proto.Field( proto.STRING, number=1, ) - query = proto.Field( + query: str = proto.Field( proto.STRING, number=2, ) - page_size = proto.Field( + page_size: int = proto.Field( proto.INT32, number=3, ) - page_token = proto.Field( + page_token: str = proto.Field( proto.STRING, number=4, ) - asset_types = proto.RepeatedField( + asset_types: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=5, ) - order_by = proto.Field( + order_by: str = proto.Field( proto.STRING, number=7, ) @@ -1396,7 +1398,7 @@ class SearchAllIamPoliciesResponse(proto.Message): r"""Search all IAM policies response. Attributes: - results (Sequence[google.cloud.asset_v1.types.IamPolicySearchResult]): + results (MutableSequence[google.cloud.asset_v1.types.IamPolicySearchResult]): A list of IamPolicy that match the search query. Related information such as the associated resource is returned along with the @@ -1411,12 +1413,12 @@ class SearchAllIamPoliciesResponse(proto.Message): def raw_page(self): return self - results = proto.RepeatedField( + results: MutableSequence[gca_assets.IamPolicySearchResult] = proto.RepeatedField( proto.MESSAGE, number=1, message=gca_assets.IamPolicySearchResult, ) - next_page_token = proto.Field( + next_page_token: str = proto.Field( proto.STRING, number=2, ) @@ -1469,7 +1471,7 @@ class ResourceSelector(proto.Message): types `__. """ - full_resource_name = proto.Field( + full_resource_name: str = proto.Field( proto.STRING, number=1, ) @@ -1494,7 +1496,7 @@ class IdentitySelector(proto.Message): supported. You must give a specific identity. """ - identity = proto.Field( + identity: str = proto.Field( proto.STRING, number=1, ) @@ -1507,18 +1509,18 @@ class AccessSelector(proto.Message): roles and permissions should be equal or less than 10. Attributes: - roles (Sequence[str]): + roles (MutableSequence[str]): Optional. The roles to appear in result. - permissions (Sequence[str]): + permissions (MutableSequence[str]): Optional. The permissions to appear in result. """ - roles = proto.RepeatedField( + roles: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=1, ) - permissions = proto.RepeatedField( + permissions: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=2, ) @@ -1631,27 +1633,27 @@ class Options(proto.Message): Default is false. """ - expand_groups = proto.Field( + expand_groups: bool = proto.Field( proto.BOOL, number=1, ) - expand_roles = proto.Field( + expand_roles: bool = proto.Field( proto.BOOL, number=2, ) - expand_resources = proto.Field( + expand_resources: bool = proto.Field( proto.BOOL, number=3, ) - output_resource_edges = proto.Field( + output_resource_edges: bool = proto.Field( proto.BOOL, number=4, ) - output_group_edges = proto.Field( + output_group_edges: bool = proto.Field( proto.BOOL, number=5, ) - analyze_service_account_impersonation = proto.Field( + analyze_service_account_impersonation: bool = proto.Field( proto.BOOL, number=6, ) @@ -1671,38 +1673,38 @@ class ConditionContext(proto.Message): This field is a member of `oneof`_ ``TimeContext``. """ - access_time = proto.Field( + access_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=1, oneof="TimeContext", message=timestamp_pb2.Timestamp, ) - scope = proto.Field( + scope: str = proto.Field( proto.STRING, number=1, ) - resource_selector = proto.Field( + resource_selector: ResourceSelector = proto.Field( proto.MESSAGE, number=2, message=ResourceSelector, ) - identity_selector = proto.Field( + identity_selector: IdentitySelector = proto.Field( proto.MESSAGE, number=3, message=IdentitySelector, ) - access_selector = proto.Field( + access_selector: AccessSelector = proto.Field( proto.MESSAGE, number=4, message=AccessSelector, ) - options = proto.Field( + options: Options = proto.Field( proto.MESSAGE, number=5, message=Options, ) - condition_context = proto.Field( + condition_context: ConditionContext = proto.Field( proto.MESSAGE, number=6, message=ConditionContext, @@ -1750,16 +1752,16 @@ class AnalyzeIamPolicyRequest(proto.Message): Default is empty. """ - analysis_query = proto.Field( + analysis_query: "IamPolicyAnalysisQuery" = proto.Field( proto.MESSAGE, number=1, message="IamPolicyAnalysisQuery", ) - saved_analysis_query = proto.Field( + saved_analysis_query: str = proto.Field( proto.STRING, number=3, ) - execution_timeout = proto.Field( + execution_timeout: duration_pb2.Duration = proto.Field( proto.MESSAGE, number=2, message=duration_pb2.Duration, @@ -1774,7 +1776,7 @@ class AnalyzeIamPolicyResponse(proto.Message): main_analysis (google.cloud.asset_v1.types.AnalyzeIamPolicyResponse.IamPolicyAnalysis): The main analysis that matches the original request. - service_account_impersonation_analysis (Sequence[google.cloud.asset_v1.types.AnalyzeIamPolicyResponse.IamPolicyAnalysis]): + service_account_impersonation_analysis (MutableSequence[google.cloud.asset_v1.types.AnalyzeIamPolicyResponse.IamPolicyAnalysis]): The service account impersonation analysis if [AnalyzeIamPolicyRequest.analyze_service_account_impersonation][] is enabled. @@ -1792,7 +1794,7 @@ class IamPolicyAnalysis(proto.Message): Attributes: analysis_query (google.cloud.asset_v1.types.IamPolicyAnalysisQuery): The analysis query. - analysis_results (Sequence[google.cloud.asset_v1.types.IamPolicyAnalysisResult]): + analysis_results (MutableSequence[google.cloud.asset_v1.types.IamPolicyAnalysisResult]): A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or empty if no result is @@ -1801,42 +1803,48 @@ class IamPolicyAnalysis(proto.Message): Represents whether all entries in the [analysis_results][google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.analysis_results] have been fully explored to answer the query. - non_critical_errors (Sequence[google.cloud.asset_v1.types.IamPolicyAnalysisState]): + non_critical_errors (MutableSequence[google.cloud.asset_v1.types.IamPolicyAnalysisState]): A list of non-critical errors happened during the query handling. """ - analysis_query = proto.Field( + analysis_query: "IamPolicyAnalysisQuery" = proto.Field( proto.MESSAGE, number=1, message="IamPolicyAnalysisQuery", ) - analysis_results = proto.RepeatedField( + analysis_results: MutableSequence[ + gca_assets.IamPolicyAnalysisResult + ] = proto.RepeatedField( proto.MESSAGE, number=2, message=gca_assets.IamPolicyAnalysisResult, ) - fully_explored = proto.Field( + fully_explored: bool = proto.Field( proto.BOOL, number=3, ) - non_critical_errors = proto.RepeatedField( + non_critical_errors: MutableSequence[ + gca_assets.IamPolicyAnalysisState + ] = proto.RepeatedField( proto.MESSAGE, number=5, message=gca_assets.IamPolicyAnalysisState, ) - main_analysis = proto.Field( + main_analysis: IamPolicyAnalysis = proto.Field( proto.MESSAGE, number=1, message=IamPolicyAnalysis, ) - service_account_impersonation_analysis = proto.RepeatedField( + service_account_impersonation_analysis: MutableSequence[ + IamPolicyAnalysis + ] = proto.RepeatedField( proto.MESSAGE, number=2, message=IamPolicyAnalysis, ) - fully_explored = proto.Field( + fully_explored: bool = proto.Field( proto.BOOL, number=3, ) @@ -1882,7 +1890,7 @@ class GcsDestination(proto.Message): it will be overwritten with the analysis result. """ - uri = proto.Field( + uri: str = proto.Field( proto.STRING, number=1, ) @@ -1941,31 +1949,31 @@ class PartitionKey(proto.Enum): PARTITION_KEY_UNSPECIFIED = 0 REQUEST_TIME = 1 - dataset = proto.Field( + dataset: str = proto.Field( proto.STRING, number=1, ) - table_prefix = proto.Field( + table_prefix: str = proto.Field( proto.STRING, number=2, ) - partition_key = proto.Field( + partition_key: "IamPolicyAnalysisOutputConfig.BigQueryDestination.PartitionKey" = proto.Field( proto.ENUM, number=3, enum="IamPolicyAnalysisOutputConfig.BigQueryDestination.PartitionKey", ) - write_disposition = proto.Field( + write_disposition: str = proto.Field( proto.STRING, number=4, ) - gcs_destination = proto.Field( + gcs_destination: GcsDestination = proto.Field( proto.MESSAGE, number=1, oneof="destination", message=GcsDestination, ) - bigquery_destination = proto.Field( + bigquery_destination: BigQueryDestination = proto.Field( proto.MESSAGE, number=2, oneof="destination", @@ -2004,16 +2012,16 @@ class AnalyzeIamPolicyLongrunningRequest(proto.Message): where the results will be output to. """ - analysis_query = proto.Field( + analysis_query: "IamPolicyAnalysisQuery" = proto.Field( proto.MESSAGE, number=1, message="IamPolicyAnalysisQuery", ) - saved_analysis_query = proto.Field( + saved_analysis_query: str = proto.Field( proto.STRING, number=3, ) - output_config = proto.Field( + output_config: "IamPolicyAnalysisOutputConfig" = proto.Field( proto.MESSAGE, number=2, message="IamPolicyAnalysisOutputConfig", @@ -2052,7 +2060,7 @@ class SavedQuery(proto.Message): last_updater (str): Output only. The account's email address who has updated this saved query most recently. - labels (Mapping[str, str]): + labels (MutableMapping[str, str]): Labels applied on the resource. This value should not contain more than 10 entries. The key and value of each entry must be @@ -2077,45 +2085,45 @@ class QueryContent(proto.Message): This field is a member of `oneof`_ ``query_content``. """ - iam_policy_analysis_query = proto.Field( + iam_policy_analysis_query: "IamPolicyAnalysisQuery" = proto.Field( proto.MESSAGE, number=1, oneof="query_content", message="IamPolicyAnalysisQuery", ) - name = proto.Field( + name: str = proto.Field( proto.STRING, number=1, ) - description = proto.Field( + description: str = proto.Field( proto.STRING, number=2, ) - create_time = proto.Field( + create_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=3, message=timestamp_pb2.Timestamp, ) - creator = proto.Field( + creator: str = proto.Field( proto.STRING, number=4, ) - last_update_time = proto.Field( + last_update_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=5, message=timestamp_pb2.Timestamp, ) - last_updater = proto.Field( + last_updater: str = proto.Field( proto.STRING, number=6, ) - labels = proto.MapField( + labels: MutableMapping[str, str] = proto.MapField( proto.STRING, proto.STRING, number=7, ) - content = proto.Field( + content: QueryContent = proto.Field( proto.MESSAGE, number=8, message=QueryContent, @@ -2150,16 +2158,16 @@ class CreateSavedQueryRequest(proto.Message): be ignored. """ - parent = proto.Field( + parent: str = proto.Field( proto.STRING, number=1, ) - saved_query = proto.Field( + saved_query: "SavedQuery" = proto.Field( proto.MESSAGE, number=2, message="SavedQuery", ) - saved_query_id = proto.Field( + saved_query_id: str = proto.Field( proto.STRING, number=3, ) @@ -2178,7 +2186,7 @@ class GetSavedQueryRequest(proto.Message): - organizations/organization_number/savedQueries/saved_query_id """ - name = proto.Field( + name: str = proto.Field( proto.STRING, number=1, ) @@ -2221,19 +2229,19 @@ class ListSavedQueriesRequest(proto.Message): page token. """ - parent = proto.Field( + parent: str = proto.Field( proto.STRING, number=1, ) - filter = proto.Field( + filter: str = proto.Field( proto.STRING, number=4, ) - page_size = proto.Field( + page_size: int = proto.Field( proto.INT32, number=2, ) - page_token = proto.Field( + page_token: str = proto.Field( proto.STRING, number=3, ) @@ -2243,7 +2251,7 @@ class ListSavedQueriesResponse(proto.Message): r"""Response of listing saved queries. Attributes: - saved_queries (Sequence[google.cloud.asset_v1.types.SavedQuery]): + saved_queries (MutableSequence[google.cloud.asset_v1.types.SavedQuery]): A list of savedQueries. next_page_token (str): A token, which can be sent as ``page_token`` to retrieve the @@ -2255,12 +2263,12 @@ class ListSavedQueriesResponse(proto.Message): def raw_page(self): return self - saved_queries = proto.RepeatedField( + saved_queries: MutableSequence["SavedQuery"] = proto.RepeatedField( proto.MESSAGE, number=1, message="SavedQuery", ) - next_page_token = proto.Field( + next_page_token: str = proto.Field( proto.STRING, number=2, ) @@ -2283,12 +2291,12 @@ class UpdateSavedQueryRequest(proto.Message): Required. The list of fields to update. """ - saved_query = proto.Field( + saved_query: "SavedQuery" = proto.Field( proto.MESSAGE, number=1, message="SavedQuery", ) - update_mask = proto.Field( + update_mask: field_mask_pb2.FieldMask = proto.Field( proto.MESSAGE, number=2, message=field_mask_pb2.FieldMask, @@ -2308,7 +2316,7 @@ class DeleteSavedQueryRequest(proto.Message): - organizations/organization_number/savedQueries/saved_query_id """ - name = proto.Field( + name: str = proto.Field( proto.STRING, number=1, ) @@ -2345,15 +2353,15 @@ class AnalysisView(proto.Enum): FULL = 1 BASIC = 2 - resource = proto.Field( + resource: str = proto.Field( proto.STRING, number=1, ) - destination_parent = proto.Field( + destination_parent: str = proto.Field( proto.STRING, number=2, ) - view = proto.Field( + view: AnalysisView = proto.Field( proto.ENUM, number=3, enum=AnalysisView, @@ -2364,13 +2372,13 @@ class AnalyzeMoveResponse(proto.Message): r"""The response message for resource move analysis. Attributes: - move_analysis (Sequence[google.cloud.asset_v1.types.MoveAnalysis]): + move_analysis (MutableSequence[google.cloud.asset_v1.types.MoveAnalysis]): The list of analyses returned from performing the intended resource move analysis. The analysis is grouped by different Cloud services. """ - move_analysis = proto.RepeatedField( + move_analysis: MutableSequence["MoveAnalysis"] = proto.RepeatedField( proto.MESSAGE, number=1, message="MoveAnalysis", @@ -2403,17 +2411,17 @@ class MoveAnalysis(proto.Message): This field is a member of `oneof`_ ``result``. """ - display_name = proto.Field( + display_name: str = proto.Field( proto.STRING, number=1, ) - analysis = proto.Field( + analysis: "MoveAnalysisResult" = proto.Field( proto.MESSAGE, number=2, oneof="result", message="MoveAnalysisResult", ) - error = proto.Field( + error: status_pb2.Status = proto.Field( proto.MESSAGE, number=3, oneof="result", @@ -2425,11 +2433,11 @@ class MoveAnalysisResult(proto.Message): r"""An analysis result including blockers and warnings. Attributes: - blockers (Sequence[google.cloud.asset_v1.types.MoveImpact]): + blockers (MutableSequence[google.cloud.asset_v1.types.MoveImpact]): Blocking information that would prevent the target resource from moving to the specified destination at runtime. - warnings (Sequence[google.cloud.asset_v1.types.MoveImpact]): + warnings (MutableSequence[google.cloud.asset_v1.types.MoveImpact]): Warning information indicating that moving the target resource to the specified destination might be unsafe. This can include important @@ -2437,12 +2445,12 @@ class MoveAnalysisResult(proto.Message): but will not block moves at runtime. """ - blockers = proto.RepeatedField( + blockers: MutableSequence["MoveImpact"] = proto.RepeatedField( proto.MESSAGE, number=1, message="MoveImpact", ) - warnings = proto.RepeatedField( + warnings: MutableSequence["MoveImpact"] = proto.RepeatedField( proto.MESSAGE, number=2, message="MoveImpact", @@ -2458,7 +2466,7 @@ class MoveImpact(proto.Message): message. """ - detail = proto.Field( + detail: str = proto.Field( proto.STRING, number=1, ) @@ -2503,20 +2511,20 @@ class BigQueryDestination(proto.Message): The default value is WRITE_EMPTY. """ - dataset = proto.Field( + dataset: str = proto.Field( proto.STRING, number=1, ) - table = proto.Field( + table: str = proto.Field( proto.STRING, number=2, ) - write_disposition = proto.Field( + write_disposition: str = proto.Field( proto.STRING, number=3, ) - bigquery_destination = proto.Field( + bigquery_destination: BigQueryDestination = proto.Field( proto.MESSAGE, number=1, message=BigQueryDestination, @@ -2606,46 +2614,46 @@ class QueryAssetsRequest(proto.Message): passed to a following [QueryAssets] API call. """ - parent = proto.Field( + parent: str = proto.Field( proto.STRING, number=1, ) - statement = proto.Field( + statement: str = proto.Field( proto.STRING, number=2, oneof="query", ) - job_reference = proto.Field( + job_reference: str = proto.Field( proto.STRING, number=3, oneof="query", ) - page_size = proto.Field( + page_size: int = proto.Field( proto.INT32, number=4, ) - page_token = proto.Field( + page_token: str = proto.Field( proto.STRING, number=5, ) - timeout = proto.Field( + timeout: duration_pb2.Duration = proto.Field( proto.MESSAGE, number=6, message=duration_pb2.Duration, ) - read_time_window = proto.Field( + read_time_window: gca_assets.TimeWindow = proto.Field( proto.MESSAGE, number=7, oneof="time", message=gca_assets.TimeWindow, ) - read_time = proto.Field( + read_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=8, oneof="time", message=timestamp_pb2.Timestamp, ) - output_config = proto.Field( + output_config: "QueryAssetsOutputConfig" = proto.Field( proto.MESSAGE, number=9, message="QueryAssetsOutputConfig", @@ -2690,27 +2698,27 @@ class QueryAssetsResponse(proto.Message): This field is a member of `oneof`_ ``response``. """ - job_reference = proto.Field( + job_reference: str = proto.Field( proto.STRING, number=1, ) - done = proto.Field( + done: bool = proto.Field( proto.BOOL, number=2, ) - error = proto.Field( + error: status_pb2.Status = proto.Field( proto.MESSAGE, number=3, oneof="response", message=status_pb2.Status, ) - query_result = proto.Field( + query_result: "QueryResult" = proto.Field( proto.MESSAGE, number=4, oneof="response", message="QueryResult", ) - output_config = proto.Field( + output_config: "QueryAssetsOutputConfig" = proto.Field( proto.MESSAGE, number=5, oneof="response", @@ -2726,7 +2734,7 @@ class QueryResult(proto.Message): token to retrieve the results of following pages. Attributes: - rows (Sequence[google.protobuf.struct_pb2.Struct]): + rows (MutableSequence[google.protobuf.struct_pb2.Struct]): Each row hold a query result in the format of ``Struct``. schema (google.cloud.asset_v1.types.TableSchema): Describes the format of the [rows]. @@ -2741,21 +2749,21 @@ class QueryResult(proto.Message): def raw_page(self): return self - rows = proto.RepeatedField( + rows: MutableSequence[struct_pb2.Struct] = proto.RepeatedField( proto.MESSAGE, number=1, message=struct_pb2.Struct, ) - schema = proto.Field( + schema: "TableSchema" = proto.Field( proto.MESSAGE, number=2, message="TableSchema", ) - next_page_token = proto.Field( + next_page_token: str = proto.Field( proto.STRING, number=3, ) - total_rows = proto.Field( + total_rows: int = proto.Field( proto.INT64, number=4, ) @@ -2765,11 +2773,11 @@ class TableSchema(proto.Message): r"""BigQuery Compatible table schema. Attributes: - fields (Sequence[google.cloud.asset_v1.types.TableFieldSchema]): + fields (MutableSequence[google.cloud.asset_v1.types.TableFieldSchema]): Describes the fields in a table. """ - fields = proto.RepeatedField( + fields: MutableSequence["TableFieldSchema"] = proto.RepeatedField( proto.MESSAGE, number=1, message="TableFieldSchema", @@ -2806,24 +2814,24 @@ class TableFieldSchema(proto.Message): The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. - fields (Sequence[google.cloud.asset_v1.types.TableFieldSchema]): + fields (MutableSequence[google.cloud.asset_v1.types.TableFieldSchema]): Describes the nested schema fields if the type property is set to RECORD. """ - field = proto.Field( + field: str = proto.Field( proto.STRING, number=1, ) - type_ = proto.Field( + type_: str = proto.Field( proto.STRING, number=2, ) - mode = proto.Field( + mode: str = proto.Field( proto.STRING, number=3, ) - fields = proto.RepeatedField( + fields: MutableSequence["TableFieldSchema"] = proto.RepeatedField( proto.MESSAGE, number=4, message="TableFieldSchema", @@ -2850,7 +2858,7 @@ class BatchGetEffectiveIamPoliciesRequest(proto.Message): To know how to get folder or project id, visit `here `__. - names (Sequence[str]): + names (MutableSequence[str]): Required. The names refer to the [full_resource_names] (https://cloud.google.com/asset-inventory/docs/resource-name-format) of `searchable asset @@ -2859,11 +2867,11 @@ class BatchGetEffectiveIamPoliciesRequest(proto.Message): retrieved in a batch. """ - scope = proto.Field( + scope: str = proto.Field( proto.STRING, number=1, ) - names = proto.RepeatedField( + names: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=3, ) @@ -2874,7 +2882,7 @@ class BatchGetEffectiveIamPoliciesResponse(proto.Message): [AssetService.BatchGetEffectiveIamPolicies][google.cloud.asset.v1.AssetService.BatchGetEffectiveIamPolicies]. Attributes: - policy_results (Sequence[google.cloud.asset_v1.types.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy]): + policy_results (MutableSequence[google.cloud.asset_v1.types.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy]): The effective policies for a batch of resources. Note that the results order is the same as the order of [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names]. @@ -2895,7 +2903,7 @@ class EffectiveIamPolicy(proto.Message): are computed. This is one of the [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names] the caller provides in the request. - policies (Sequence[google.cloud.asset_v1.types.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo]): + policies (MutableSequence[google.cloud.asset_v1.types.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo]): The effective policies for the [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]. @@ -2931,27 +2939,29 @@ class PolicyInfo(proto.Message): [attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]. """ - attached_resource = proto.Field( + attached_resource: str = proto.Field( proto.STRING, number=1, ) - policy = proto.Field( + policy: policy_pb2.Policy = proto.Field( proto.MESSAGE, number=2, message=policy_pb2.Policy, ) - full_resource_name = proto.Field( + full_resource_name: str = proto.Field( proto.STRING, number=1, ) - policies = proto.RepeatedField( + policies: MutableSequence[ + "BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo" + ] = proto.RepeatedField( proto.MESSAGE, number=2, message="BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo", ) - policy_results = proto.RepeatedField( + policy_results: MutableSequence[EffectiveIamPolicy] = proto.RepeatedField( proto.MESSAGE, number=2, message=EffectiveIamPolicy, diff --git a/google/cloud/asset_v1/types/assets.py b/google/cloud/asset_v1/types/assets.py index 4ef063e2..69a9b45f 100644 --- a/google/cloud/asset_v1/types/assets.py +++ b/google/cloud/asset_v1/types/assets.py @@ -13,6 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +from typing import MutableMapping, MutableSequence + import proto # type: ignore from google.cloud.orgpolicy.v1 import orgpolicy_pb2 # type: ignore @@ -78,26 +80,26 @@ class PriorAssetState(proto.Enum): DOES_NOT_EXIST = 3 DELETED = 4 - window = proto.Field( + window: "TimeWindow" = proto.Field( proto.MESSAGE, number=1, message="TimeWindow", ) - deleted = proto.Field( + deleted: bool = proto.Field( proto.BOOL, number=2, ) - asset = proto.Field( + asset: "Asset" = proto.Field( proto.MESSAGE, number=3, message="Asset", ) - prior_asset_state = proto.Field( + prior_asset_state: PriorAssetState = proto.Field( proto.ENUM, number=4, enum=PriorAssetState, ) - prior_asset = proto.Field( + prior_asset: "Asset" = proto.Field( proto.MESSAGE, number=5, message="Asset", @@ -116,12 +118,12 @@ class TimeWindow(proto.Message): instead. """ - start_time = proto.Field( + start_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=1, message=timestamp_pb2.Timestamp, ) - end_time = proto.Field( + end_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=2, message=timestamp_pb2.Timestamp, @@ -178,7 +180,7 @@ class Asset(proto.Message): See `this topic `__ for more information. - org_policy (Sequence[google.cloud.orgpolicy.v1.orgpolicy_pb2.Policy]): + org_policy (MutableSequence[google.cloud.orgpolicy.v1.orgpolicy_pb2.Policy]): A representation of an `organization policy `__. There can be more than one organization policy with @@ -198,7 +200,7 @@ class Asset(proto.Message): guide `__. This field is a member of `oneof`_ ``access_context_policy``. - os_inventory (google.cloud.osconfig_v1.Inventory): + os_inventory (google.cloud.osconfig.v1.Inventory): A representation of runtime OS Inventory information. See `this topic `__ @@ -212,7 +214,7 @@ class Asset(proto.Message): type of relationship. related_asset (google.cloud.asset_v1.types.RelatedAsset): One related asset of the current asset. - ancestors (Sequence[str]): + ancestors (MutableSequence[str]): The ancestry path of an asset in Google Cloud `resource hierarchy `__, represented as a list of relative resource names. An @@ -225,68 +227,68 @@ class Asset(proto.Message): ``["projects/123456789", "folders/5432", "organizations/1234"]`` """ - update_time = proto.Field( + update_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=11, message=timestamp_pb2.Timestamp, ) - name = proto.Field( + name: str = proto.Field( proto.STRING, number=1, ) - asset_type = proto.Field( + asset_type: str = proto.Field( proto.STRING, number=2, ) - resource = proto.Field( + resource: "Resource" = proto.Field( proto.MESSAGE, number=3, message="Resource", ) - iam_policy = proto.Field( + iam_policy: policy_pb2.Policy = proto.Field( proto.MESSAGE, number=4, message=policy_pb2.Policy, ) - org_policy = proto.RepeatedField( + org_policy: MutableSequence[orgpolicy_pb2.Policy] = proto.RepeatedField( proto.MESSAGE, number=6, message=orgpolicy_pb2.Policy, ) - access_policy = proto.Field( + access_policy: access_policy_pb2.AccessPolicy = proto.Field( proto.MESSAGE, number=7, oneof="access_context_policy", message=access_policy_pb2.AccessPolicy, ) - access_level = proto.Field( + access_level: access_level_pb2.AccessLevel = proto.Field( proto.MESSAGE, number=8, oneof="access_context_policy", message=access_level_pb2.AccessLevel, ) - service_perimeter = proto.Field( + service_perimeter: service_perimeter_pb2.ServicePerimeter = proto.Field( proto.MESSAGE, number=9, oneof="access_context_policy", message=service_perimeter_pb2.ServicePerimeter, ) - os_inventory = proto.Field( + os_inventory: Inventory = proto.Field( proto.MESSAGE, number=12, message=Inventory, ) - related_assets = proto.Field( + related_assets: "RelatedAssets" = proto.Field( proto.MESSAGE, number=13, message="RelatedAssets", ) - related_asset = proto.Field( + related_asset: "RelatedAsset" = proto.Field( proto.MESSAGE, number=15, message="RelatedAsset", ) - ancestors = proto.RepeatedField( + ancestors: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=10, ) @@ -341,32 +343,32 @@ class Resource(proto.Message): https://cloud.google.com/about/locations/. """ - version = proto.Field( + version: str = proto.Field( proto.STRING, number=1, ) - discovery_document_uri = proto.Field( + discovery_document_uri: str = proto.Field( proto.STRING, number=2, ) - discovery_name = proto.Field( + discovery_name: str = proto.Field( proto.STRING, number=3, ) - resource_url = proto.Field( + resource_url: str = proto.Field( proto.STRING, number=4, ) - parent = proto.Field( + parent: str = proto.Field( proto.STRING, number=5, ) - data = proto.Field( + data: struct_pb2.Struct = proto.Field( proto.MESSAGE, number=6, message=struct_pb2.Struct, ) - location = proto.Field( + location: str = proto.Field( proto.STRING, number=8, ) @@ -381,16 +383,16 @@ class RelatedAssets(proto.Message): Attributes: relationship_attributes (google.cloud.asset_v1.types.RelationshipAttributes): The detailed relationship attributes. - assets (Sequence[google.cloud.asset_v1.types.RelatedAsset]): + assets (MutableSequence[google.cloud.asset_v1.types.RelatedAsset]): The peer resources of the relationship. """ - relationship_attributes = proto.Field( + relationship_attributes: "RelationshipAttributes" = proto.Field( proto.MESSAGE, number=1, message="RelationshipAttributes", ) - assets = proto.RepeatedField( + assets: MutableSequence["RelatedAsset"] = proto.RepeatedField( proto.MESSAGE, number=2, message="RelatedAsset", @@ -418,19 +420,19 @@ class RelationshipAttributes(proto.Message): ``attaches`` """ - type_ = proto.Field( + type_: str = proto.Field( proto.STRING, number=4, ) - source_resource_type = proto.Field( + source_resource_type: str = proto.Field( proto.STRING, number=1, ) - target_resource_type = proto.Field( + target_resource_type: str = proto.Field( proto.STRING, number=2, ) - action = proto.Field( + action: str = proto.Field( proto.STRING, number=3, ) @@ -462,7 +464,7 @@ class RelatedAsset(proto.Message): See `Supported asset types `__ for more information. - ancestors (Sequence[str]): + ancestors (MutableSequence[str]): The ancestors of an asset in Google Cloud `resource hierarchy `__, represented as a list of relative resource names. An @@ -476,19 +478,19 @@ class RelatedAsset(proto.Message): ``INSTANCE_TO_INSTANCEGROUP`` """ - asset = proto.Field( + asset: str = proto.Field( proto.STRING, number=1, ) - asset_type = proto.Field( + asset_type: str = proto.Field( proto.STRING, number=2, ) - ancestors = proto.RepeatedField( + ancestors: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=3, ) - relationship_type = proto.Field( + relationship_type: str = proto.Field( proto.STRING, number=4, ) @@ -528,7 +530,7 @@ class ResourceSearchResult(proto.Message): - Use a free text query. Example: ``12345`` - Specify the ``scope`` field as this project in your search request. - folders (Sequence[str]): + folders (MutableSequence[str]): The folder(s) that this resource belongs to, in the form of folders/{FOLDER_NUMBER}. This field is available when the resource belongs to one or more folders. @@ -577,7 +579,7 @@ class ResourceSearchResult(proto.Message): - Use a field query. Example: ``location:us-west*`` - Use a free text query. Example: ``us-west*`` - labels (Mapping[str, str]): + labels (MutableMapping[str, str]): Labels associated with this resource. See `Labelling and grouping GCP resources `__ @@ -595,7 +597,7 @@ class ResourceSearchResult(proto.Message): ``labels.env:*`` - Use a free text query. Example: ``prod`` - network_tags (Sequence[str]): + network_tags (MutableSequence[str]): Network tags associated with this resource. Like labels, network tags are a type of annotations used to group GCP resources. See `Labelling GCP @@ -626,7 +628,7 @@ class ResourceSearchResult(proto.Message): - Use a field query. Example: ``kmsKey:key`` - Use a free text query. Example: ``key`` - kms_keys (Sequence[str]): + kms_keys (MutableSequence[str]): The Cloud KMS `CryptoKey `__ names or @@ -720,7 +722,7 @@ class ResourceSearchResult(proto.Message): - Use a field query. Example: ``parentFullResourceName:"project-name"`` - Use a free text query. Example: ``project-name`` - versioned_resources (Sequence[google.cloud.asset_v1.types.VersionedResource]): + versioned_resources (MutableSequence[google.cloud.asset_v1.types.VersionedResource]): Versioned resource representations of this resource. This is repeated because there could be multiple versions of resource representations during version migration. @@ -729,7 +731,7 @@ class ResourceSearchResult(proto.Message): attributes of the resource representations are exposed in ``additional_attributes`` field, so as to allow users to search on them. - attached_resources (Sequence[google.cloud.asset_v1.types.AttachedResource]): + attached_resources (MutableSequence[google.cloud.asset_v1.types.AttachedResource]): Attached resources of this resource. For example, an OSConfig Inventory is an attached resource of a Compute Instance. This field is repeated because a resource could @@ -739,14 +741,14 @@ class ResourceSearchResult(proto.Message): attributes of the attached resources are exposed in ``additional_attributes`` field, so as to allow users to search on them. - relationships (Mapping[str, google.cloud.asset_v1.types.RelatedResources]): + relationships (MutableMapping[str, google.cloud.asset_v1.types.RelatedResources]): A map of related resources of this resource, keyed by the relationship type. A relationship type is in the format of {SourceType}*{ACTION}*\ {DestType}. Example: ``DISK_TO_INSTANCE``, ``DISK_TO_NETWORK``, ``INSTANCE_TO_INSTANCEGROUP``. See `supported relationship types `__. - tag_keys (Sequence[str]): + tag_keys (MutableSequence[str]): TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}. To search against the ``tagKeys``: @@ -760,7 +762,7 @@ class ResourceSearchResult(proto.Message): - Use a free text query. Example: - ``env`` - tag_values (Sequence[str]): + tag_values (MutableSequence[str]): TagValue namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}. To search against the ``tagValues``: @@ -775,7 +777,7 @@ class ResourceSearchResult(proto.Message): - Use a free text query. Example: - ``prod`` - tag_value_ids (Sequence[str]): + tag_value_ids (MutableSequence[str]): TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}. To search against the ``tagValueIds``: @@ -799,107 +801,107 @@ class ResourceSearchResult(proto.Message): ``cloudresourcemanager.googleapis.com/Project`` """ - name = proto.Field( + name: str = proto.Field( proto.STRING, number=1, ) - asset_type = proto.Field( + asset_type: str = proto.Field( proto.STRING, number=2, ) - project = proto.Field( + project: str = proto.Field( proto.STRING, number=3, ) - folders = proto.RepeatedField( + folders: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=17, ) - organization = proto.Field( + organization: str = proto.Field( proto.STRING, number=18, ) - display_name = proto.Field( + display_name: str = proto.Field( proto.STRING, number=4, ) - description = proto.Field( + description: str = proto.Field( proto.STRING, number=5, ) - location = proto.Field( + location: str = proto.Field( proto.STRING, number=6, ) - labels = proto.MapField( + labels: MutableMapping[str, str] = proto.MapField( proto.STRING, proto.STRING, number=7, ) - network_tags = proto.RepeatedField( + network_tags: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=8, ) - kms_key = proto.Field( + kms_key: str = proto.Field( proto.STRING, number=10, ) - kms_keys = proto.RepeatedField( + kms_keys: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=28, ) - create_time = proto.Field( + create_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=11, message=timestamp_pb2.Timestamp, ) - update_time = proto.Field( + update_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=12, message=timestamp_pb2.Timestamp, ) - state = proto.Field( + state: str = proto.Field( proto.STRING, number=13, ) - additional_attributes = proto.Field( + additional_attributes: struct_pb2.Struct = proto.Field( proto.MESSAGE, number=9, message=struct_pb2.Struct, ) - parent_full_resource_name = proto.Field( + parent_full_resource_name: str = proto.Field( proto.STRING, number=19, ) - versioned_resources = proto.RepeatedField( + versioned_resources: MutableSequence["VersionedResource"] = proto.RepeatedField( proto.MESSAGE, number=16, message="VersionedResource", ) - attached_resources = proto.RepeatedField( + attached_resources: MutableSequence["AttachedResource"] = proto.RepeatedField( proto.MESSAGE, number=20, message="AttachedResource", ) - relationships = proto.MapField( + relationships: MutableMapping[str, "RelatedResources"] = proto.MapField( proto.STRING, proto.MESSAGE, number=21, message="RelatedResources", ) - tag_keys = proto.RepeatedField( + tag_keys: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=23, ) - tag_values = proto.RepeatedField( + tag_values: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=25, ) - tag_value_ids = proto.RepeatedField( + tag_value_ids: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=26, ) - parent_asset_type = proto.Field( + parent_asset_type: str = proto.Field( proto.STRING, number=103, ) @@ -931,11 +933,11 @@ class VersionedResource(proto.Message): ``https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types`` """ - version = proto.Field( + version: str = proto.Field( proto.STRING, number=1, ) - resource = proto.Field( + resource: struct_pb2.Struct = proto.Field( proto.MESSAGE, number=2, message=struct_pb2.Struct, @@ -956,7 +958,7 @@ class AttachedResource(proto.Message): You can find the supported attached asset types of each resource in this table: ``https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types`` - versioned_resources (Sequence[google.cloud.asset_v1.types.VersionedResource]): + versioned_resources (MutableSequence[google.cloud.asset_v1.types.VersionedResource]): Versioned resource representations of this attached resource. This is repeated because there could be multiple versions of the attached @@ -964,11 +966,11 @@ class AttachedResource(proto.Message): migration. """ - asset_type = proto.Field( + asset_type: str = proto.Field( proto.STRING, number=1, ) - versioned_resources = proto.RepeatedField( + versioned_resources: MutableSequence["VersionedResource"] = proto.RepeatedField( proto.MESSAGE, number=3, message="VersionedResource", @@ -979,12 +981,12 @@ class RelatedResources(proto.Message): r"""The related resources of the primary resource. Attributes: - related_resources (Sequence[google.cloud.asset_v1.types.RelatedResource]): + related_resources (MutableSequence[google.cloud.asset_v1.types.RelatedResource]): The detailed related resources of the primary resource. """ - related_resources = proto.RepeatedField( + related_resources: MutableSequence["RelatedResource"] = proto.RepeatedField( proto.MESSAGE, number=1, message="RelatedResource", @@ -1003,11 +1005,11 @@ class RelatedResource(proto.Message): ``//compute.googleapis.com/projects/my_proj_123/zones/instance/instance123`` """ - asset_type = proto.Field( + asset_type: str = proto.Field( proto.STRING, number=1, ) - full_resource_name = proto.Field( + full_resource_name: str = proto.Field( proto.STRING, number=2, ) @@ -1049,7 +1051,7 @@ class IamPolicySearchResult(proto.Message): - specify the ``scope`` field as this project in your search request. - folders (Sequence[str]): + folders (MutableSequence[str]): The folder(s) that the IAM policy belongs to, in the form of folders/{FOLDER_NUMBER}. This field is available when the IAM policy belongs to one or more folders. @@ -1099,7 +1101,7 @@ class Explanation(proto.Message): r"""Explanation about the IAM policy search result. Attributes: - matched_permissions (Mapping[str, google.cloud.asset_v1.types.IamPolicySearchResult.Explanation.Permissions]): + matched_permissions (MutableMapping[str, google.cloud.asset_v1.types.IamPolicySearchResult.Explanation.Permissions]): The map from roles to their included permissions that match the permission query (i.e., a query containing ``policy.role.permissions:``). Example: if query @@ -1116,49 +1118,51 @@ class Permissions(proto.Message): r"""IAM permissions Attributes: - permissions (Sequence[str]): + permissions (MutableSequence[str]): A list of permissions. A sample permission string: ``compute.disk.get``. """ - permissions = proto.RepeatedField( + permissions: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=1, ) - matched_permissions = proto.MapField( + matched_permissions: MutableMapping[ + str, "IamPolicySearchResult.Explanation.Permissions" + ] = proto.MapField( proto.STRING, proto.MESSAGE, number=1, message="IamPolicySearchResult.Explanation.Permissions", ) - resource = proto.Field( + resource: str = proto.Field( proto.STRING, number=1, ) - asset_type = proto.Field( + asset_type: str = proto.Field( proto.STRING, number=5, ) - project = proto.Field( + project: str = proto.Field( proto.STRING, number=2, ) - folders = proto.RepeatedField( + folders: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=6, ) - organization = proto.Field( + organization: str = proto.Field( proto.STRING, number=7, ) - policy = proto.Field( + policy: policy_pb2.Policy = proto.Field( proto.MESSAGE, number=3, message=policy_pb2.Policy, ) - explanation = proto.Field( + explanation: Explanation = proto.Field( proto.MESSAGE, number=4, message=Explanation, @@ -1185,12 +1189,12 @@ class IamPolicyAnalysisState(proto.Message): of failure. """ - code = proto.Field( + code: code_pb2.Code = proto.Field( proto.ENUM, number=1, enum=code_pb2.Code, ) - cause = proto.Field( + cause: str = proto.Field( proto.STRING, number=2, ) @@ -1211,7 +1215,7 @@ class EvaluationValue(proto.Enum): FALSE = 2 CONDITIONAL = 3 - evaluation_value = proto.Field( + evaluation_value: EvaluationValue = proto.Field( proto.ENUM, number=1, enum=EvaluationValue, @@ -1231,7 +1235,7 @@ class IamPolicyAnalysisResult(proto.Message): policy attaches. iam_binding (google.iam.v1.policy_pb2.Binding): The Cloud IAM policy binding under analysis. - access_control_lists (Sequence[google.cloud.asset_v1.types.IamPolicyAnalysisResult.AccessControlList]): + access_control_lists (MutableSequence[google.cloud.asset_v1.types.IamPolicyAnalysisResult.AccessControlList]): The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or potentially match resource and access @@ -1258,11 +1262,11 @@ class Resource(proto.Message): The analysis state of this resource. """ - full_resource_name = proto.Field( + full_resource_name: str = proto.Field( proto.STRING, number=1, ) - analysis_state = proto.Field( + analysis_state: "IamPolicyAnalysisState" = proto.Field( proto.MESSAGE, number=2, message="IamPolicyAnalysisState", @@ -1291,17 +1295,17 @@ class Access(proto.Message): The analysis state of this access. """ - role = proto.Field( + role: str = proto.Field( proto.STRING, number=1, oneof="oneof_access", ) - permission = proto.Field( + permission: str = proto.Field( proto.STRING, number=2, oneof="oneof_access", ) - analysis_state = proto.Field( + analysis_state: "IamPolicyAnalysisState" = proto.Field( proto.MESSAGE, number=3, message="IamPolicyAnalysisState", @@ -1328,11 +1332,11 @@ class Identity(proto.Message): The analysis state of this identity. """ - name = proto.Field( + name: str = proto.Field( proto.STRING, number=1, ) - analysis_state = proto.Field( + analysis_state: "IamPolicyAnalysisState" = proto.Field( proto.MESSAGE, number=2, message="IamPolicyAnalysisState", @@ -1352,11 +1356,11 @@ class Edge(proto.Message): node or an email of an identity. """ - source_node = proto.Field( + source_node: str = proto.Field( proto.STRING, number=1, ) - target_node = proto.Field( + target_node: str = proto.Field( proto.STRING, number=2, ) @@ -1382,19 +1386,19 @@ class AccessControlList(proto.Message): - AccessControlList 2: [R2, R3], [P3] Attributes: - resources (Sequence[google.cloud.asset_v1.types.IamPolicyAnalysisResult.Resource]): + resources (MutableSequence[google.cloud.asset_v1.types.IamPolicyAnalysisResult.Resource]): The resources that match one of the following conditions: - The resource_selector, if it is specified in request; - Otherwise, resources reachable from the policy attached resource. - accesses (Sequence[google.cloud.asset_v1.types.IamPolicyAnalysisResult.Access]): + accesses (MutableSequence[google.cloud.asset_v1.types.IamPolicyAnalysisResult.Access]): The accesses that match one of the following conditions: - The access_selector, if it is specified in request; - Otherwise, access specifiers reachable from the policy binding's role. - resource_edges (Sequence[google.cloud.asset_v1.types.IamPolicyAnalysisResult.Edge]): + resource_edges (MutableSequence[google.cloud.asset_v1.types.IamPolicyAnalysisResult.Edge]): Resource edges of the graph starting from the policy attached resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] @@ -1409,22 +1413,28 @@ class AccessControlList(proto.Message): defined in the above IAM policy binding. """ - resources = proto.RepeatedField( + resources: MutableSequence[ + "IamPolicyAnalysisResult.Resource" + ] = proto.RepeatedField( proto.MESSAGE, number=1, message="IamPolicyAnalysisResult.Resource", ) - accesses = proto.RepeatedField( + accesses: MutableSequence[ + "IamPolicyAnalysisResult.Access" + ] = proto.RepeatedField( proto.MESSAGE, number=2, message="IamPolicyAnalysisResult.Access", ) - resource_edges = proto.RepeatedField( + resource_edges: MutableSequence[ + "IamPolicyAnalysisResult.Edge" + ] = proto.RepeatedField( proto.MESSAGE, number=3, message="IamPolicyAnalysisResult.Edge", ) - condition_evaluation = proto.Field( + condition_evaluation: "ConditionEvaluation" = proto.Field( proto.MESSAGE, number=4, message="ConditionEvaluation", @@ -1434,14 +1444,14 @@ class IdentityList(proto.Message): r"""The identities and group edges. Attributes: - identities (Sequence[google.cloud.asset_v1.types.IamPolicyAnalysisResult.Identity]): + identities (MutableSequence[google.cloud.asset_v1.types.IamPolicyAnalysisResult.Identity]): Only the identities that match one of the following conditions will be presented: - The identity_selector, if it is specified in request; - Otherwise, identities reachable from the policy binding's members. - group_edges (Sequence[google.cloud.asset_v1.types.IamPolicyAnalysisResult.Edge]): + group_edges (MutableSequence[google.cloud.asset_v1.types.IamPolicyAnalysisResult.Edge]): Group identity edges of the graph starting from the binding's group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. @@ -1455,37 +1465,41 @@ class IdentityList(proto.Message): enabled in request. """ - identities = proto.RepeatedField( + identities: MutableSequence[ + "IamPolicyAnalysisResult.Identity" + ] = proto.RepeatedField( proto.MESSAGE, number=1, message="IamPolicyAnalysisResult.Identity", ) - group_edges = proto.RepeatedField( + group_edges: MutableSequence[ + "IamPolicyAnalysisResult.Edge" + ] = proto.RepeatedField( proto.MESSAGE, number=2, message="IamPolicyAnalysisResult.Edge", ) - attached_resource_full_name = proto.Field( + attached_resource_full_name: str = proto.Field( proto.STRING, number=1, ) - iam_binding = proto.Field( + iam_binding: policy_pb2.Binding = proto.Field( proto.MESSAGE, number=2, message=policy_pb2.Binding, ) - access_control_lists = proto.RepeatedField( + access_control_lists: MutableSequence[AccessControlList] = proto.RepeatedField( proto.MESSAGE, number=3, message=AccessControlList, ) - identity_list = proto.Field( + identity_list: IdentityList = proto.Field( proto.MESSAGE, number=4, message=IdentityList, ) - fully_explored = proto.Field( + fully_explored: bool = proto.Field( proto.BOOL, number=5, ) diff --git a/google/cloud/asset_v1p1beta1/__init__.py b/google/cloud/asset_v1p1beta1/__init__.py index f2d3b6ae..c43c6385 100644 --- a/google/cloud/asset_v1p1beta1/__init__.py +++ b/google/cloud/asset_v1p1beta1/__init__.py @@ -13,6 +13,10 @@ # See the License for the specific language governing permissions and # limitations under the License. # +from google.cloud.asset_v1p1beta1 import gapic_version as package_version + +__version__ = package_version.__version__ + from .services.asset_service import AssetServiceClient from .services.asset_service import AssetServiceAsyncClient diff --git a/google/cloud/asset_v1p1beta1/gapic_version.py b/google/cloud/asset_v1p1beta1/gapic_version.py new file mode 100644 index 00000000..bb82e29f --- /dev/null +++ b/google/cloud/asset_v1p1beta1/gapic_version.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +# Copyright 2022 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 +# +# http://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. +# +__version__ = "3.14.1" # {x-release-please-version} diff --git a/google/cloud/asset_v1p1beta1/services/asset_service/async_client.py b/google/cloud/asset_v1p1beta1/services/asset_service/async_client.py index eb6258fb..96c0ed54 100644 --- a/google/cloud/asset_v1p1beta1/services/asset_service/async_client.py +++ b/google/cloud/asset_v1p1beta1/services/asset_service/async_client.py @@ -16,8 +16,19 @@ from collections import OrderedDict import functools import re -from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union -import pkg_resources +from typing import ( + Dict, + Mapping, + MutableMapping, + MutableSequence, + Optional, + Sequence, + Tuple, + Type, + Union, +) + +from google.cloud.asset_v1p1beta1 import gapic_version as package_version from google.api_core.client_options import ClientOptions from google.api_core import exceptions as core_exceptions @@ -153,9 +164,9 @@ def transport(self) -> AssetServiceTransport: def __init__( self, *, - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, transport: Union[str, AssetServiceTransport] = "grpc_asyncio", - client_options: ClientOptions = None, + client_options: Optional[ClientOptions] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, ) -> None: """Instantiates the asset service client. @@ -199,13 +210,13 @@ def __init__( async def search_all_resources( self, - request: Union[asset_service.SearchAllResourcesRequest, dict] = None, + request: Optional[Union[asset_service.SearchAllResourcesRequest, dict]] = None, *, - scope: str = None, - query: str = None, - asset_types: Sequence[str] = None, + scope: Optional[str] = None, + query: Optional[str] = None, + asset_types: Optional[MutableSequence[str]] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.SearchAllResourcesAsyncPager: r"""Searches all the resources under a given accessible @@ -244,7 +255,7 @@ async def sample_search_all_resources(): print(response) Args: - request (Union[google.cloud.asset_v1p1beta1.types.SearchAllResourcesRequest, dict]): + request (Optional[Union[google.cloud.asset_v1p1beta1.types.SearchAllResourcesRequest, dict]]): The request object. Search all resources request. scope (:class:`str`): Required. The relative name of an asset. The search is @@ -264,7 +275,7 @@ async def sample_search_all_resources(): This corresponds to the ``query`` field on the ``request`` instance; if ``request`` is provided, this should not be set. - asset_types (:class:`Sequence[str]`): + asset_types (:class:`MutableSequence[str]`): Optional. A list of asset types that this request searches for. If empty, it will search all the supported asset @@ -354,12 +365,14 @@ async def sample_search_all_resources(): async def search_all_iam_policies( self, - request: Union[asset_service.SearchAllIamPoliciesRequest, dict] = None, + request: Optional[ + Union[asset_service.SearchAllIamPoliciesRequest, dict] + ] = None, *, - scope: str = None, - query: str = None, + scope: Optional[str] = None, + query: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.SearchAllIamPoliciesAsyncPager: r"""Searches all the IAM policies under a given @@ -399,7 +412,7 @@ async def sample_search_all_iam_policies(): print(response) Args: - request (Union[google.cloud.asset_v1p1beta1.types.SearchAllIamPoliciesRequest, dict]): + request (Optional[Union[google.cloud.asset_v1p1beta1.types.SearchAllIamPoliciesRequest, dict]]): The request object. Search all IAM policies request. scope (:class:`str`): Required. The relative name of an asset. The search is @@ -507,14 +520,9 @@ async def __aexit__(self, exc_type, exc, tb): await self.transport.close() -try: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( - gapic_version=pkg_resources.get_distribution( - "google-cloud-asset", - ).version, - ) -except pkg_resources.DistributionNotFound: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() +DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( + gapic_version=package_version.__version__ +) __all__ = ("AssetServiceAsyncClient",) diff --git a/google/cloud/asset_v1p1beta1/services/asset_service/client.py b/google/cloud/asset_v1p1beta1/services/asset_service/client.py index b10a946c..532032bc 100644 --- a/google/cloud/asset_v1p1beta1/services/asset_service/client.py +++ b/google/cloud/asset_v1p1beta1/services/asset_service/client.py @@ -16,8 +16,20 @@ from collections import OrderedDict import os import re -from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union -import pkg_resources +from typing import ( + Dict, + Mapping, + MutableMapping, + MutableSequence, + Optional, + Sequence, + Tuple, + Type, + Union, + cast, +) + +from google.cloud.asset_v1p1beta1 import gapic_version as package_version from google.api_core import client_options as client_options_lib from google.api_core import exceptions as core_exceptions @@ -56,7 +68,7 @@ class AssetServiceClientMeta(type): def get_transport_class( cls, - label: str = None, + label: Optional[str] = None, ) -> Type[AssetServiceTransport]: """Returns an appropriate transport class. @@ -309,8 +321,8 @@ def __init__( self, *, credentials: Optional[ga_credentials.Credentials] = None, - transport: Union[str, AssetServiceTransport, None] = None, - client_options: Optional[client_options_lib.ClientOptions] = None, + transport: Optional[Union[str, AssetServiceTransport]] = None, + client_options: Optional[Union[client_options_lib.ClientOptions, dict]] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, ) -> None: """Instantiates the asset service client. @@ -324,7 +336,7 @@ def __init__( transport (Union[str, AssetServiceTransport]): The transport to use. If set to None, a transport is chosen automatically. - client_options (google.api_core.client_options.ClientOptions): Custom options for the + client_options (Optional[Union[google.api_core.client_options.ClientOptions, dict]]): Custom options for the client. It won't take effect if a ``transport`` instance is provided. (1) The ``api_endpoint`` property can be used to override the default endpoint provided by the client. GOOGLE_API_USE_MTLS_ENDPOINT @@ -354,6 +366,7 @@ def __init__( client_options = client_options_lib.from_dict(client_options) if client_options is None: client_options = client_options_lib.ClientOptions() + client_options = cast(client_options_lib.ClientOptions, client_options) api_endpoint, client_cert_source_func = self.get_mtls_endpoint_and_cert_source( client_options @@ -406,13 +419,13 @@ def __init__( def search_all_resources( self, - request: Union[asset_service.SearchAllResourcesRequest, dict] = None, + request: Optional[Union[asset_service.SearchAllResourcesRequest, dict]] = None, *, - scope: str = None, - query: str = None, - asset_types: Sequence[str] = None, + scope: Optional[str] = None, + query: Optional[str] = None, + asset_types: Optional[MutableSequence[str]] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.SearchAllResourcesPager: r"""Searches all the resources under a given accessible @@ -471,7 +484,7 @@ def sample_search_all_resources(): This corresponds to the ``query`` field on the ``request`` instance; if ``request`` is provided, this should not be set. - asset_types (Sequence[str]): + asset_types (MutableSequence[str]): Optional. A list of asset types that this request searches for. If empty, it will search all the supported asset @@ -551,12 +564,14 @@ def sample_search_all_resources(): def search_all_iam_policies( self, - request: Union[asset_service.SearchAllIamPoliciesRequest, dict] = None, + request: Optional[ + Union[asset_service.SearchAllIamPoliciesRequest, dict] + ] = None, *, - scope: str = None, - query: str = None, + scope: Optional[str] = None, + query: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.SearchAllIamPoliciesPager: r"""Searches all the IAM policies under a given @@ -701,14 +716,9 @@ def __exit__(self, type, value, traceback): self.transport.close() -try: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( - gapic_version=pkg_resources.get_distribution( - "google-cloud-asset", - ).version, - ) -except pkg_resources.DistributionNotFound: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() +DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( + gapic_version=package_version.__version__ +) __all__ = ("AssetServiceClient",) diff --git a/google/cloud/asset_v1p1beta1/services/asset_service/transports/base.py b/google/cloud/asset_v1p1beta1/services/asset_service/transports/base.py index 66abbb1a..a6e33d53 100644 --- a/google/cloud/asset_v1p1beta1/services/asset_service/transports/base.py +++ b/google/cloud/asset_v1p1beta1/services/asset_service/transports/base.py @@ -15,7 +15,8 @@ # import abc from typing import Awaitable, Callable, Dict, Optional, Sequence, Union -import pkg_resources + +from google.cloud.asset_v1p1beta1 import gapic_version as package_version import google.auth # type: ignore import google.api_core @@ -27,14 +28,9 @@ from google.cloud.asset_v1p1beta1.types import asset_service -try: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( - gapic_version=pkg_resources.get_distribution( - "google-cloud-asset", - ).version, - ) -except pkg_resources.DistributionNotFound: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() +DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( + gapic_version=package_version.__version__ +) class AssetServiceTransport(abc.ABC): @@ -48,7 +44,7 @@ def __init__( self, *, host: str = DEFAULT_HOST, - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, quota_project_id: Optional[str] = None, diff --git a/google/cloud/asset_v1p1beta1/services/asset_service/transports/grpc.py b/google/cloud/asset_v1p1beta1/services/asset_service/transports/grpc.py index 4c1eb231..61d74b33 100644 --- a/google/cloud/asset_v1p1beta1/services/asset_service/transports/grpc.py +++ b/google/cloud/asset_v1p1beta1/services/asset_service/transports/grpc.py @@ -47,14 +47,14 @@ def __init__( self, *, host: str = "cloudasset.googleapis.com", - credentials: ga_credentials.Credentials = None, - credentials_file: str = None, - scopes: Sequence[str] = None, - channel: grpc.Channel = None, - api_mtls_endpoint: str = None, - client_cert_source: Callable[[], Tuple[bytes, bytes]] = None, - ssl_channel_credentials: grpc.ChannelCredentials = None, - client_cert_source_for_mtls: Callable[[], Tuple[bytes, bytes]] = None, + credentials: Optional[ga_credentials.Credentials] = None, + credentials_file: Optional[str] = None, + scopes: Optional[Sequence[str]] = None, + channel: Optional[grpc.Channel] = None, + api_mtls_endpoint: Optional[str] = None, + client_cert_source: Optional[Callable[[], Tuple[bytes, bytes]]] = None, + ssl_channel_credentials: Optional[grpc.ChannelCredentials] = None, + client_cert_source_for_mtls: Optional[Callable[[], Tuple[bytes, bytes]]] = None, quota_project_id: Optional[str] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, always_use_jwt_access: Optional[bool] = False, @@ -181,8 +181,8 @@ def __init__( def create_channel( cls, host: str = "cloudasset.googleapis.com", - credentials: ga_credentials.Credentials = None, - credentials_file: str = None, + credentials: Optional[ga_credentials.Credentials] = None, + credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, quota_project_id: Optional[str] = None, **kwargs, diff --git a/google/cloud/asset_v1p1beta1/services/asset_service/transports/grpc_asyncio.py b/google/cloud/asset_v1p1beta1/services/asset_service/transports/grpc_asyncio.py index 426ab16b..e31076d9 100644 --- a/google/cloud/asset_v1p1beta1/services/asset_service/transports/grpc_asyncio.py +++ b/google/cloud/asset_v1p1beta1/services/asset_service/transports/grpc_asyncio.py @@ -49,7 +49,7 @@ class AssetServiceGrpcAsyncIOTransport(AssetServiceTransport): def create_channel( cls, host: str = "cloudasset.googleapis.com", - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, quota_project_id: Optional[str] = None, @@ -92,15 +92,15 @@ def __init__( self, *, host: str = "cloudasset.googleapis.com", - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, - channel: aio.Channel = None, - api_mtls_endpoint: str = None, - client_cert_source: Callable[[], Tuple[bytes, bytes]] = None, - ssl_channel_credentials: grpc.ChannelCredentials = None, - client_cert_source_for_mtls: Callable[[], Tuple[bytes, bytes]] = None, - quota_project_id=None, + channel: Optional[aio.Channel] = None, + api_mtls_endpoint: Optional[str] = None, + client_cert_source: Optional[Callable[[], Tuple[bytes, bytes]]] = None, + ssl_channel_credentials: Optional[grpc.ChannelCredentials] = None, + client_cert_source_for_mtls: Optional[Callable[[], Tuple[bytes, bytes]]] = None, + quota_project_id: Optional[str] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, always_use_jwt_access: Optional[bool] = False, api_audience: Optional[str] = None, diff --git a/google/cloud/asset_v1p1beta1/types/asset_service.py b/google/cloud/asset_v1p1beta1/types/asset_service.py index 16d1a602..2a987d0c 100644 --- a/google/cloud/asset_v1p1beta1/types/asset_service.py +++ b/google/cloud/asset_v1p1beta1/types/asset_service.py @@ -13,6 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +from typing import MutableMapping, MutableSequence + import proto # type: ignore from google.cloud.asset_v1p1beta1.types import assets @@ -44,7 +46,7 @@ class SearchAllResourcesRequest(proto.Message): - Project id (such as "projects/abc") query (str): Optional. The query statement. - asset_types (Sequence[str]): + asset_types (MutableSequence[str]): Optional. A list of asset types that this request searches for. If empty, it will search all the supported asset types. @@ -70,27 +72,27 @@ class SearchAllResourcesRequest(proto.Message): example, " foo , bar desc ". """ - scope = proto.Field( + scope: str = proto.Field( proto.STRING, number=1, ) - query = proto.Field( + query: str = proto.Field( proto.STRING, number=2, ) - asset_types = proto.RepeatedField( + asset_types: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=3, ) - page_size = proto.Field( + page_size: int = proto.Field( proto.INT32, number=4, ) - page_token = proto.Field( + page_token: str = proto.Field( proto.STRING, number=5, ) - order_by = proto.Field( + order_by: str = proto.Field( proto.STRING, number=10, ) @@ -100,7 +102,7 @@ class SearchAllResourcesResponse(proto.Message): r"""Search all resources response. Attributes: - results (Sequence[google.cloud.asset_v1p1beta1.types.StandardResourceMetadata]): + results (MutableSequence[google.cloud.asset_v1p1beta1.types.StandardResourceMetadata]): A list of resource that match the search query. next_page_token (str): @@ -114,12 +116,12 @@ class SearchAllResourcesResponse(proto.Message): def raw_page(self): return self - results = proto.RepeatedField( + results: MutableSequence[assets.StandardResourceMetadata] = proto.RepeatedField( proto.MESSAGE, number=1, message=assets.StandardResourceMetadata, ) - next_page_token = proto.Field( + next_page_token: str = proto.Field( proto.STRING, number=2, ) @@ -158,19 +160,19 @@ class SearchAllIamPoliciesRequest(proto.Message): identical to those in the previous call. """ - scope = proto.Field( + scope: str = proto.Field( proto.STRING, number=1, ) - query = proto.Field( + query: str = proto.Field( proto.STRING, number=2, ) - page_size = proto.Field( + page_size: int = proto.Field( proto.INT32, number=3, ) - page_token = proto.Field( + page_token: str = proto.Field( proto.STRING, number=4, ) @@ -180,7 +182,7 @@ class SearchAllIamPoliciesResponse(proto.Message): r"""Search all IAM policies response. Attributes: - results (Sequence[google.cloud.asset_v1p1beta1.types.IamPolicySearchResult]): + results (MutableSequence[google.cloud.asset_v1p1beta1.types.IamPolicySearchResult]): A list of IamPolicy that match the search query. Related information such as the associated resource is returned along with the @@ -195,12 +197,12 @@ class SearchAllIamPoliciesResponse(proto.Message): def raw_page(self): return self - results = proto.RepeatedField( + results: MutableSequence[assets.IamPolicySearchResult] = proto.RepeatedField( proto.MESSAGE, number=1, message=assets.IamPolicySearchResult, ) - next_page_token = proto.Field( + next_page_token: str = proto.Field( proto.STRING, number=2, ) diff --git a/google/cloud/asset_v1p1beta1/types/assets.py b/google/cloud/asset_v1p1beta1/types/assets.py index e34bc832..579cc488 100644 --- a/google/cloud/asset_v1p1beta1/types/assets.py +++ b/google/cloud/asset_v1p1beta1/types/assets.py @@ -13,6 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +from typing import MutableMapping, MutableSequence + import proto # type: ignore from google.iam.v1 import policy_pb2 # type: ignore @@ -50,7 +52,7 @@ class StandardResourceMetadata(proto.Message): One or more paragraphs of text description of this resource. Maximum length could be up to 1M bytes. - additional_attributes (Sequence[str]): + additional_attributes (MutableSequence[str]): Additional searchable attributes of this resource. Informational only. The exact set of attributes is subject to change. For example: @@ -58,12 +60,12 @@ class StandardResourceMetadata(proto.Message): location (str): Location can be "global", regional like "us-east1", or zonal like "us-west1-b". - labels (Mapping[str, str]): + labels (MutableMapping[str, str]): Labels associated with this resource. See `Labelling and grouping GCP resources `__ for more information. - network_tags (Sequence[str]): + network_tags (MutableSequence[str]): Network tags associated with this resource. Like labels, network tags are a type of annotations used to group GCP resources. See `Labelling GCP @@ -71,40 +73,40 @@ class StandardResourceMetadata(proto.Message): for more information. """ - name = proto.Field( + name: str = proto.Field( proto.STRING, number=1, ) - asset_type = proto.Field( + asset_type: str = proto.Field( proto.STRING, number=2, ) - project = proto.Field( + project: str = proto.Field( proto.STRING, number=3, ) - display_name = proto.Field( + display_name: str = proto.Field( proto.STRING, number=4, ) - description = proto.Field( + description: str = proto.Field( proto.STRING, number=5, ) - additional_attributes = proto.RepeatedField( + additional_attributes: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=10, ) - location = proto.Field( + location: str = proto.Field( proto.STRING, number=11, ) - labels = proto.MapField( + labels: MutableMapping[str, str] = proto.MapField( proto.STRING, proto.STRING, number=12, ) - network_tags = proto.RepeatedField( + network_tags: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=13, ) @@ -143,7 +145,7 @@ class Explanation(proto.Message): r"""Explanation about the IAM policy search result. Attributes: - matched_permissions (Mapping[str, google.cloud.asset_v1p1beta1.types.Permissions]): + matched_permissions (MutableMapping[str, google.cloud.asset_v1p1beta1.types.Permissions]): The map from roles to their included permission matching the permission query (e.g. containing ``policy.role.permissions:``). A sample role string: @@ -152,27 +154,27 @@ class Explanation(proto.Message): populated only if requesting with a permission query. """ - matched_permissions = proto.MapField( + matched_permissions: MutableMapping[str, "Permissions"] = proto.MapField( proto.STRING, proto.MESSAGE, number=1, message="Permissions", ) - resource = proto.Field( + resource: str = proto.Field( proto.STRING, number=1, ) - project = proto.Field( + project: str = proto.Field( proto.STRING, number=3, ) - policy = proto.Field( + policy: policy_pb2.Policy = proto.Field( proto.MESSAGE, number=4, message=policy_pb2.Policy, ) - explanation = proto.Field( + explanation: Explanation = proto.Field( proto.MESSAGE, number=5, message=Explanation, @@ -183,12 +185,12 @@ class Permissions(proto.Message): r"""IAM permissions Attributes: - permissions (Sequence[str]): + permissions (MutableSequence[str]): A list of permissions. A sample permission string: "compute.disk.get". """ - permissions = proto.RepeatedField( + permissions: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=1, ) diff --git a/google/cloud/asset_v1p2beta1/__init__.py b/google/cloud/asset_v1p2beta1/__init__.py index c1bf761f..59bb16d7 100644 --- a/google/cloud/asset_v1p2beta1/__init__.py +++ b/google/cloud/asset_v1p2beta1/__init__.py @@ -13,6 +13,10 @@ # See the License for the specific language governing permissions and # limitations under the License. # +from google.cloud.asset_v1p2beta1 import gapic_version as package_version + +__version__ = package_version.__version__ + from .services.asset_service import AssetServiceClient from .services.asset_service import AssetServiceAsyncClient diff --git a/google/cloud/asset_v1p2beta1/gapic_version.py b/google/cloud/asset_v1p2beta1/gapic_version.py new file mode 100644 index 00000000..bb82e29f --- /dev/null +++ b/google/cloud/asset_v1p2beta1/gapic_version.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +# Copyright 2022 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 +# +# http://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. +# +__version__ = "3.14.1" # {x-release-please-version} diff --git a/google/cloud/asset_v1p2beta1/services/asset_service/async_client.py b/google/cloud/asset_v1p2beta1/services/asset_service/async_client.py index 9fc35cf7..6fd005bd 100644 --- a/google/cloud/asset_v1p2beta1/services/asset_service/async_client.py +++ b/google/cloud/asset_v1p2beta1/services/asset_service/async_client.py @@ -16,8 +16,19 @@ from collections import OrderedDict import functools import re -from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union -import pkg_resources +from typing import ( + Dict, + Mapping, + MutableMapping, + MutableSequence, + Optional, + Sequence, + Tuple, + Type, + Union, +) + +from google.cloud.asset_v1p2beta1 import gapic_version as package_version from google.api_core.client_options import ClientOptions from google.api_core import exceptions as core_exceptions @@ -153,9 +164,9 @@ def transport(self) -> AssetServiceTransport: def __init__( self, *, - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, transport: Union[str, AssetServiceTransport] = "grpc_asyncio", - client_options: ClientOptions = None, + client_options: Optional[ClientOptions] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, ) -> None: """Instantiates the asset service client. @@ -199,11 +210,11 @@ def __init__( async def create_feed( self, - request: Union[asset_service.CreateFeedRequest, dict] = None, + request: Optional[Union[asset_service.CreateFeedRequest, dict]] = None, *, - parent: str = None, + parent: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.Feed: r"""Creates a feed in a parent @@ -242,7 +253,7 @@ async def sample_create_feed(): print(response) Args: - request (Union[google.cloud.asset_v1p2beta1.types.CreateFeedRequest, dict]): + request (Optional[Union[google.cloud.asset_v1p2beta1.types.CreateFeedRequest, dict]]): The request object. Create asset feed request. parent (:class:`str`): Required. The name of the @@ -319,11 +330,11 @@ async def sample_create_feed(): async def get_feed( self, - request: Union[asset_service.GetFeedRequest, dict] = None, + request: Optional[Union[asset_service.GetFeedRequest, dict]] = None, *, - name: str = None, + name: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.Feed: r"""Gets details about an asset feed. @@ -355,7 +366,7 @@ async def sample_get_feed(): print(response) Args: - request (Union[google.cloud.asset_v1p2beta1.types.GetFeedRequest, dict]): + request (Optional[Union[google.cloud.asset_v1p2beta1.types.GetFeedRequest, dict]]): The request object. Get asset feed request. name (:class:`str`): Required. The name of the Feed and it must be in the @@ -437,11 +448,11 @@ async def sample_get_feed(): async def list_feeds( self, - request: Union[asset_service.ListFeedsRequest, dict] = None, + request: Optional[Union[asset_service.ListFeedsRequest, dict]] = None, *, - parent: str = None, + parent: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.ListFeedsResponse: r"""Lists all asset feeds in a parent @@ -474,7 +485,7 @@ async def sample_list_feeds(): print(response) Args: - request (Union[google.cloud.asset_v1p2beta1.types.ListFeedsRequest, dict]): + request (Optional[Union[google.cloud.asset_v1p2beta1.types.ListFeedsRequest, dict]]): The request object. List asset feeds request. parent (:class:`str`): Required. The parent @@ -551,11 +562,11 @@ async def sample_list_feeds(): async def update_feed( self, - request: Union[asset_service.UpdateFeedRequest, dict] = None, + request: Optional[Union[asset_service.UpdateFeedRequest, dict]] = None, *, - feed: asset_service.Feed = None, + feed: Optional[asset_service.Feed] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.Feed: r"""Updates an asset feed configuration. @@ -590,7 +601,7 @@ async def sample_update_feed(): print(response) Args: - request (Union[google.cloud.asset_v1p2beta1.types.UpdateFeedRequest, dict]): + request (Optional[Union[google.cloud.asset_v1p2beta1.types.UpdateFeedRequest, dict]]): The request object. Update asset feed request. feed (:class:`google.cloud.asset_v1p2beta1.types.Feed`): Required. The new values of feed details. It must match @@ -665,11 +676,11 @@ async def sample_update_feed(): async def delete_feed( self, - request: Union[asset_service.DeleteFeedRequest, dict] = None, + request: Optional[Union[asset_service.DeleteFeedRequest, dict]] = None, *, - name: str = None, + name: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> None: r"""Deletes an asset feed. @@ -698,7 +709,7 @@ async def sample_delete_feed(): await client.delete_feed(request=request) Args: - request (Union[google.cloud.asset_v1p2beta1.types.DeleteFeedRequest, dict]): + request (Optional[Union[google.cloud.asset_v1p2beta1.types.DeleteFeedRequest, dict]]): The request object. name (:class:`str`): Required. The name of the feed and it must be in the @@ -771,14 +782,9 @@ async def __aexit__(self, exc_type, exc, tb): await self.transport.close() -try: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( - gapic_version=pkg_resources.get_distribution( - "google-cloud-asset", - ).version, - ) -except pkg_resources.DistributionNotFound: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() +DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( + gapic_version=package_version.__version__ +) __all__ = ("AssetServiceAsyncClient",) diff --git a/google/cloud/asset_v1p2beta1/services/asset_service/client.py b/google/cloud/asset_v1p2beta1/services/asset_service/client.py index 6eb31206..c6e00700 100644 --- a/google/cloud/asset_v1p2beta1/services/asset_service/client.py +++ b/google/cloud/asset_v1p2beta1/services/asset_service/client.py @@ -16,8 +16,20 @@ from collections import OrderedDict import os import re -from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union -import pkg_resources +from typing import ( + Dict, + Mapping, + MutableMapping, + MutableSequence, + Optional, + Sequence, + Tuple, + Type, + Union, + cast, +) + +from google.cloud.asset_v1p2beta1 import gapic_version as package_version from google.api_core import client_options as client_options_lib from google.api_core import exceptions as core_exceptions @@ -54,7 +66,7 @@ class AssetServiceClientMeta(type): def get_transport_class( cls, - label: str = None, + label: Optional[str] = None, ) -> Type[AssetServiceTransport]: """Returns an appropriate transport class. @@ -324,8 +336,8 @@ def __init__( self, *, credentials: Optional[ga_credentials.Credentials] = None, - transport: Union[str, AssetServiceTransport, None] = None, - client_options: Optional[client_options_lib.ClientOptions] = None, + transport: Optional[Union[str, AssetServiceTransport]] = None, + client_options: Optional[Union[client_options_lib.ClientOptions, dict]] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, ) -> None: """Instantiates the asset service client. @@ -339,7 +351,7 @@ def __init__( transport (Union[str, AssetServiceTransport]): The transport to use. If set to None, a transport is chosen automatically. - client_options (google.api_core.client_options.ClientOptions): Custom options for the + client_options (Optional[Union[google.api_core.client_options.ClientOptions, dict]]): Custom options for the client. It won't take effect if a ``transport`` instance is provided. (1) The ``api_endpoint`` property can be used to override the default endpoint provided by the client. GOOGLE_API_USE_MTLS_ENDPOINT @@ -369,6 +381,7 @@ def __init__( client_options = client_options_lib.from_dict(client_options) if client_options is None: client_options = client_options_lib.ClientOptions() + client_options = cast(client_options_lib.ClientOptions, client_options) api_endpoint, client_cert_source_func = self.get_mtls_endpoint_and_cert_source( client_options @@ -421,11 +434,11 @@ def __init__( def create_feed( self, - request: Union[asset_service.CreateFeedRequest, dict] = None, + request: Optional[Union[asset_service.CreateFeedRequest, dict]] = None, *, - parent: str = None, + parent: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.Feed: r"""Creates a feed in a parent @@ -541,11 +554,11 @@ def sample_create_feed(): def get_feed( self, - request: Union[asset_service.GetFeedRequest, dict] = None, + request: Optional[Union[asset_service.GetFeedRequest, dict]] = None, *, - name: str = None, + name: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.Feed: r"""Gets details about an asset feed. @@ -649,11 +662,11 @@ def sample_get_feed(): def list_feeds( self, - request: Union[asset_service.ListFeedsRequest, dict] = None, + request: Optional[Union[asset_service.ListFeedsRequest, dict]] = None, *, - parent: str = None, + parent: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.ListFeedsResponse: r"""Lists all asset feeds in a parent @@ -753,11 +766,11 @@ def sample_list_feeds(): def update_feed( self, - request: Union[asset_service.UpdateFeedRequest, dict] = None, + request: Optional[Union[asset_service.UpdateFeedRequest, dict]] = None, *, - feed: asset_service.Feed = None, + feed: Optional[asset_service.Feed] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> asset_service.Feed: r"""Updates an asset feed configuration. @@ -867,11 +880,11 @@ def sample_update_feed(): def delete_feed( self, - request: Union[asset_service.DeleteFeedRequest, dict] = None, + request: Optional[Union[asset_service.DeleteFeedRequest, dict]] = None, *, - name: str = None, + name: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> None: r"""Deletes an asset feed. @@ -970,14 +983,9 @@ def __exit__(self, type, value, traceback): self.transport.close() -try: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( - gapic_version=pkg_resources.get_distribution( - "google-cloud-asset", - ).version, - ) -except pkg_resources.DistributionNotFound: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() +DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( + gapic_version=package_version.__version__ +) __all__ = ("AssetServiceClient",) diff --git a/google/cloud/asset_v1p2beta1/services/asset_service/transports/base.py b/google/cloud/asset_v1p2beta1/services/asset_service/transports/base.py index 713cb31d..611a2c29 100644 --- a/google/cloud/asset_v1p2beta1/services/asset_service/transports/base.py +++ b/google/cloud/asset_v1p2beta1/services/asset_service/transports/base.py @@ -15,7 +15,8 @@ # import abc from typing import Awaitable, Callable, Dict, Optional, Sequence, Union -import pkg_resources + +from google.cloud.asset_v1p2beta1 import gapic_version as package_version import google.auth # type: ignore import google.api_core @@ -28,14 +29,9 @@ from google.cloud.asset_v1p2beta1.types import asset_service from google.protobuf import empty_pb2 # type: ignore -try: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( - gapic_version=pkg_resources.get_distribution( - "google-cloud-asset", - ).version, - ) -except pkg_resources.DistributionNotFound: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() +DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( + gapic_version=package_version.__version__ +) class AssetServiceTransport(abc.ABC): @@ -49,7 +45,7 @@ def __init__( self, *, host: str = DEFAULT_HOST, - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, quota_project_id: Optional[str] = None, diff --git a/google/cloud/asset_v1p2beta1/services/asset_service/transports/grpc.py b/google/cloud/asset_v1p2beta1/services/asset_service/transports/grpc.py index d07469ae..1e238527 100644 --- a/google/cloud/asset_v1p2beta1/services/asset_service/transports/grpc.py +++ b/google/cloud/asset_v1p2beta1/services/asset_service/transports/grpc.py @@ -48,14 +48,14 @@ def __init__( self, *, host: str = "cloudasset.googleapis.com", - credentials: ga_credentials.Credentials = None, - credentials_file: str = None, - scopes: Sequence[str] = None, - channel: grpc.Channel = None, - api_mtls_endpoint: str = None, - client_cert_source: Callable[[], Tuple[bytes, bytes]] = None, - ssl_channel_credentials: grpc.ChannelCredentials = None, - client_cert_source_for_mtls: Callable[[], Tuple[bytes, bytes]] = None, + credentials: Optional[ga_credentials.Credentials] = None, + credentials_file: Optional[str] = None, + scopes: Optional[Sequence[str]] = None, + channel: Optional[grpc.Channel] = None, + api_mtls_endpoint: Optional[str] = None, + client_cert_source: Optional[Callable[[], Tuple[bytes, bytes]]] = None, + ssl_channel_credentials: Optional[grpc.ChannelCredentials] = None, + client_cert_source_for_mtls: Optional[Callable[[], Tuple[bytes, bytes]]] = None, quota_project_id: Optional[str] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, always_use_jwt_access: Optional[bool] = False, @@ -182,8 +182,8 @@ def __init__( def create_channel( cls, host: str = "cloudasset.googleapis.com", - credentials: ga_credentials.Credentials = None, - credentials_file: str = None, + credentials: Optional[ga_credentials.Credentials] = None, + credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, quota_project_id: Optional[str] = None, **kwargs, diff --git a/google/cloud/asset_v1p2beta1/services/asset_service/transports/grpc_asyncio.py b/google/cloud/asset_v1p2beta1/services/asset_service/transports/grpc_asyncio.py index 661329e5..f9d2f333 100644 --- a/google/cloud/asset_v1p2beta1/services/asset_service/transports/grpc_asyncio.py +++ b/google/cloud/asset_v1p2beta1/services/asset_service/transports/grpc_asyncio.py @@ -50,7 +50,7 @@ class AssetServiceGrpcAsyncIOTransport(AssetServiceTransport): def create_channel( cls, host: str = "cloudasset.googleapis.com", - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, quota_project_id: Optional[str] = None, @@ -93,15 +93,15 @@ def __init__( self, *, host: str = "cloudasset.googleapis.com", - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, - channel: aio.Channel = None, - api_mtls_endpoint: str = None, - client_cert_source: Callable[[], Tuple[bytes, bytes]] = None, - ssl_channel_credentials: grpc.ChannelCredentials = None, - client_cert_source_for_mtls: Callable[[], Tuple[bytes, bytes]] = None, - quota_project_id=None, + channel: Optional[aio.Channel] = None, + api_mtls_endpoint: Optional[str] = None, + client_cert_source: Optional[Callable[[], Tuple[bytes, bytes]]] = None, + ssl_channel_credentials: Optional[grpc.ChannelCredentials] = None, + client_cert_source_for_mtls: Optional[Callable[[], Tuple[bytes, bytes]]] = None, + quota_project_id: Optional[str] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, always_use_jwt_access: Optional[bool] = False, api_audience: Optional[str] = None, diff --git a/google/cloud/asset_v1p2beta1/types/asset_service.py b/google/cloud/asset_v1p2beta1/types/asset_service.py index 74da9252..8f7e9e15 100644 --- a/google/cloud/asset_v1p2beta1/types/asset_service.py +++ b/google/cloud/asset_v1p2beta1/types/asset_service.py @@ -13,6 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +from typing import MutableMapping, MutableSequence + import proto # type: ignore from google.protobuf import field_mask_pb2 # type: ignore @@ -69,15 +71,15 @@ class CreateFeedRequest(proto.Message): organizations/organization_number/feeds/feed_id """ - parent = proto.Field( + parent: str = proto.Field( proto.STRING, number=1, ) - feed_id = proto.Field( + feed_id: str = proto.Field( proto.STRING, number=2, ) - feed = proto.Field( + feed: "Feed" = proto.Field( proto.MESSAGE, number=3, message="Feed", @@ -95,7 +97,7 @@ class GetFeedRequest(proto.Message): organizations/organization_number/feeds/feed_id """ - name = proto.Field( + name: str = proto.Field( proto.STRING, number=1, ) @@ -114,7 +116,7 @@ class ListFeedsRequest(proto.Message): "projects/my-project-id"). """ - parent = proto.Field( + parent: str = proto.Field( proto.STRING, number=1, ) @@ -124,11 +126,11 @@ class ListFeedsResponse(proto.Message): r""" Attributes: - feeds (Sequence[google.cloud.asset_v1p2beta1.types.Feed]): + feeds (MutableSequence[google.cloud.asset_v1p2beta1.types.Feed]): A list of feeds. """ - feeds = proto.RepeatedField( + feeds: MutableSequence["Feed"] = proto.RepeatedField( proto.MESSAGE, number=1, message="Feed", @@ -151,12 +153,12 @@ class UpdateFeedRequest(proto.Message): contain fields that are immutable or only set by the server. """ - feed = proto.Field( + feed: "Feed" = proto.Field( proto.MESSAGE, number=1, message="Feed", ) - update_mask = proto.Field( + update_mask: field_mask_pb2.FieldMask = proto.Field( proto.MESSAGE, number=2, message=field_mask_pb2.FieldMask, @@ -174,7 +176,7 @@ class DeleteFeedRequest(proto.Message): organizations/organization_number/feeds/feed_id """ - name = proto.Field( + name: str = proto.Field( proto.STRING, number=1, ) @@ -192,7 +194,7 @@ class OutputConfig(proto.Message): This field is a member of `oneof`_ ``destination``. """ - gcs_destination = proto.Field( + gcs_destination: "GcsDestination" = proto.Field( proto.MESSAGE, number=1, oneof="destination", @@ -217,7 +219,7 @@ class GcsDestination(proto.Message): This field is a member of `oneof`_ ``object_uri``. """ - uri = proto.Field( + uri: str = proto.Field( proto.STRING, number=1, oneof="object_uri", @@ -233,7 +235,7 @@ class PubsubDestination(proto.Message): example: ``projects/PROJECT_ID/topics/TOPIC_ID``. """ - topic = proto.Field( + topic: str = proto.Field( proto.STRING, number=1, ) @@ -251,7 +253,7 @@ class FeedOutputConfig(proto.Message): This field is a member of `oneof`_ ``destination``. """ - pubsub_destination = proto.Field( + pubsub_destination: "PubsubDestination" = proto.Field( proto.MESSAGE, number=1, oneof="destination", @@ -277,7 +279,7 @@ class Feed(proto.Message): The client-assigned feed identifier must be unique within the parent project/folder/organization. - asset_names (Sequence[str]): + asset_names (MutableSequence[str]): A list of the full names of the assets to receive updates. You must specify either or both of asset_names and asset_types. Only asset updates matching specified @@ -287,7 +289,7 @@ class Feed(proto.Message): See `Resource Names `__ for more info. - asset_types (Sequence[str]): + asset_types (MutableSequence[str]): A list of types of the assets to receive updates. You must specify either or both of asset_names and asset_types. Only asset updates matching specified asset_names and asset_types @@ -305,24 +307,24 @@ class Feed(proto.Message): where the asset updates are published to. """ - name = proto.Field( + name: str = proto.Field( proto.STRING, number=1, ) - asset_names = proto.RepeatedField( + asset_names: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=2, ) - asset_types = proto.RepeatedField( + asset_types: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=3, ) - content_type = proto.Field( + content_type: "ContentType" = proto.Field( proto.ENUM, number=4, enum="ContentType", ) - feed_output_config = proto.Field( + feed_output_config: "FeedOutputConfig" = proto.Field( proto.MESSAGE, number=5, message="FeedOutputConfig", diff --git a/google/cloud/asset_v1p2beta1/types/assets.py b/google/cloud/asset_v1p2beta1/types/assets.py index 97514ebe..c273f24a 100644 --- a/google/cloud/asset_v1p2beta1/types/assets.py +++ b/google/cloud/asset_v1p2beta1/types/assets.py @@ -13,6 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +from typing import MutableMapping, MutableSequence + import proto # type: ignore from google.iam.v1 import policy_pb2 # type: ignore @@ -46,16 +48,16 @@ class TemporalAsset(proto.Message): Asset. """ - window = proto.Field( + window: "TimeWindow" = proto.Field( proto.MESSAGE, number=1, message="TimeWindow", ) - deleted = proto.Field( + deleted: bool = proto.Field( proto.BOOL, number=2, ) - asset = proto.Field( + asset: "Asset" = proto.Field( proto.MESSAGE, number=3, message="Asset", @@ -73,12 +75,12 @@ class TimeWindow(proto.Message): Current timestamp if not specified. """ - start_time = proto.Field( + start_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=1, message=timestamp_pb2.Timestamp, ) - end_time = proto.Field( + end_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=2, message=timestamp_pb2.Timestamp, @@ -106,7 +108,7 @@ class Asset(proto.Message): set on a cloud resource. For each resource, there must be at most one Cloud IAM policy set on it. - ancestors (Sequence[str]): + ancestors (MutableSequence[str]): Asset's ancestry path in Cloud Resource Manager (CRM) hierarchy, represented as a list of relative resource names. Ancestry path starts with the closest CRM ancestor and ends @@ -117,25 +119,25 @@ class Asset(proto.Message): "organizations/1234"] """ - name = proto.Field( + name: str = proto.Field( proto.STRING, number=1, ) - asset_type = proto.Field( + asset_type: str = proto.Field( proto.STRING, number=2, ) - resource = proto.Field( + resource: "Resource" = proto.Field( proto.MESSAGE, number=3, message="Resource", ) - iam_policy = proto.Field( + iam_policy: policy_pb2.Policy = proto.Field( proto.MESSAGE, number=4, message=policy_pb2.Policy, ) - ancestors = proto.RepeatedField( + ancestors: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=6, ) @@ -184,27 +186,27 @@ class Resource(proto.Message): be present. """ - version = proto.Field( + version: str = proto.Field( proto.STRING, number=1, ) - discovery_document_uri = proto.Field( + discovery_document_uri: str = proto.Field( proto.STRING, number=2, ) - discovery_name = proto.Field( + discovery_name: str = proto.Field( proto.STRING, number=3, ) - resource_url = proto.Field( + resource_url: str = proto.Field( proto.STRING, number=4, ) - parent = proto.Field( + parent: str = proto.Field( proto.STRING, number=5, ) - data = proto.Field( + data: struct_pb2.Struct = proto.Field( proto.MESSAGE, number=6, message=struct_pb2.Struct, diff --git a/google/cloud/asset_v1p4beta1/gapic_version.py b/google/cloud/asset_v1p4beta1/gapic_version.py new file mode 100644 index 00000000..bb82e29f --- /dev/null +++ b/google/cloud/asset_v1p4beta1/gapic_version.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +# Copyright 2022 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 +# +# http://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. +# +__version__ = "3.14.1" # {x-release-please-version} diff --git a/google/cloud/asset_v1p5beta1/__init__.py b/google/cloud/asset_v1p5beta1/__init__.py index 0d0790a9..56cf5efa 100644 --- a/google/cloud/asset_v1p5beta1/__init__.py +++ b/google/cloud/asset_v1p5beta1/__init__.py @@ -13,6 +13,10 @@ # See the License for the specific language governing permissions and # limitations under the License. # +from google.cloud.asset_v1p5beta1 import gapic_version as package_version + +__version__ = package_version.__version__ + from .services.asset_service import AssetServiceClient from .services.asset_service import AssetServiceAsyncClient diff --git a/google/cloud/asset_v1p5beta1/gapic_version.py b/google/cloud/asset_v1p5beta1/gapic_version.py new file mode 100644 index 00000000..bb82e29f --- /dev/null +++ b/google/cloud/asset_v1p5beta1/gapic_version.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +# Copyright 2022 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 +# +# http://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. +# +__version__ = "3.14.1" # {x-release-please-version} diff --git a/google/cloud/asset_v1p5beta1/services/asset_service/async_client.py b/google/cloud/asset_v1p5beta1/services/asset_service/async_client.py index a3a4705d..b012fcea 100644 --- a/google/cloud/asset_v1p5beta1/services/asset_service/async_client.py +++ b/google/cloud/asset_v1p5beta1/services/asset_service/async_client.py @@ -16,8 +16,19 @@ from collections import OrderedDict import functools import re -from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union -import pkg_resources +from typing import ( + Dict, + Mapping, + MutableMapping, + MutableSequence, + Optional, + Sequence, + Tuple, + Type, + Union, +) + +from google.cloud.asset_v1p5beta1 import gapic_version as package_version from google.api_core.client_options import ClientOptions from google.api_core import exceptions as core_exceptions @@ -163,9 +174,9 @@ def transport(self) -> AssetServiceTransport: def __init__( self, *, - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, transport: Union[str, AssetServiceTransport] = "grpc_asyncio", - client_options: ClientOptions = None, + client_options: Optional[ClientOptions] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, ) -> None: """Instantiates the asset service client. @@ -209,10 +220,10 @@ def __init__( async def list_assets( self, - request: Union[asset_service.ListAssetsRequest, dict] = None, + request: Optional[Union[asset_service.ListAssetsRequest, dict]] = None, *, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListAssetsAsyncPager: r"""Lists assets with time and resource types and returns @@ -246,7 +257,7 @@ async def sample_list_assets(): print(response) Args: - request (Union[google.cloud.asset_v1p5beta1.types.ListAssetsRequest, dict]): + request (Optional[Union[google.cloud.asset_v1p5beta1.types.ListAssetsRequest, dict]]): The request object. ListAssets request. retry (google.api_core.retry.Retry): Designation of what errors, if any, should be retried. @@ -316,14 +327,9 @@ async def __aexit__(self, exc_type, exc, tb): await self.transport.close() -try: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( - gapic_version=pkg_resources.get_distribution( - "google-cloud-asset", - ).version, - ) -except pkg_resources.DistributionNotFound: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() +DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( + gapic_version=package_version.__version__ +) __all__ = ("AssetServiceAsyncClient",) diff --git a/google/cloud/asset_v1p5beta1/services/asset_service/client.py b/google/cloud/asset_v1p5beta1/services/asset_service/client.py index 1546e032..60c15695 100644 --- a/google/cloud/asset_v1p5beta1/services/asset_service/client.py +++ b/google/cloud/asset_v1p5beta1/services/asset_service/client.py @@ -16,8 +16,20 @@ from collections import OrderedDict import os import re -from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union -import pkg_resources +from typing import ( + Dict, + Mapping, + MutableMapping, + MutableSequence, + Optional, + Sequence, + Tuple, + Type, + Union, + cast, +) + +from google.cloud.asset_v1p5beta1 import gapic_version as package_version from google.api_core import client_options as client_options_lib from google.api_core import exceptions as core_exceptions @@ -56,7 +68,7 @@ class AssetServiceClientMeta(type): def get_transport_class( cls, - label: str = None, + label: Optional[str] = None, ) -> Type[AssetServiceTransport]: """Returns an appropriate transport class. @@ -369,8 +381,8 @@ def __init__( self, *, credentials: Optional[ga_credentials.Credentials] = None, - transport: Union[str, AssetServiceTransport, None] = None, - client_options: Optional[client_options_lib.ClientOptions] = None, + transport: Optional[Union[str, AssetServiceTransport]] = None, + client_options: Optional[Union[client_options_lib.ClientOptions, dict]] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, ) -> None: """Instantiates the asset service client. @@ -384,7 +396,7 @@ def __init__( transport (Union[str, AssetServiceTransport]): The transport to use. If set to None, a transport is chosen automatically. - client_options (google.api_core.client_options.ClientOptions): Custom options for the + client_options (Optional[Union[google.api_core.client_options.ClientOptions, dict]]): Custom options for the client. It won't take effect if a ``transport`` instance is provided. (1) The ``api_endpoint`` property can be used to override the default endpoint provided by the client. GOOGLE_API_USE_MTLS_ENDPOINT @@ -414,6 +426,7 @@ def __init__( client_options = client_options_lib.from_dict(client_options) if client_options is None: client_options = client_options_lib.ClientOptions() + client_options = cast(client_options_lib.ClientOptions, client_options) api_endpoint, client_cert_source_func = self.get_mtls_endpoint_and_cert_source( client_options @@ -466,10 +479,10 @@ def __init__( def list_assets( self, - request: Union[asset_service.ListAssetsRequest, dict] = None, + request: Optional[Union[asset_service.ListAssetsRequest, dict]] = None, *, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListAssetsPager: r"""Lists assets with time and resource types and returns @@ -571,14 +584,9 @@ def __exit__(self, type, value, traceback): self.transport.close() -try: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( - gapic_version=pkg_resources.get_distribution( - "google-cloud-asset", - ).version, - ) -except pkg_resources.DistributionNotFound: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() +DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( + gapic_version=package_version.__version__ +) __all__ = ("AssetServiceClient",) diff --git a/google/cloud/asset_v1p5beta1/services/asset_service/transports/base.py b/google/cloud/asset_v1p5beta1/services/asset_service/transports/base.py index 0d8f3193..49c0181e 100644 --- a/google/cloud/asset_v1p5beta1/services/asset_service/transports/base.py +++ b/google/cloud/asset_v1p5beta1/services/asset_service/transports/base.py @@ -15,7 +15,8 @@ # import abc from typing import Awaitable, Callable, Dict, Optional, Sequence, Union -import pkg_resources + +from google.cloud.asset_v1p5beta1 import gapic_version as package_version import google.auth # type: ignore import google.api_core @@ -27,14 +28,9 @@ from google.cloud.asset_v1p5beta1.types import asset_service -try: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( - gapic_version=pkg_resources.get_distribution( - "google-cloud-asset", - ).version, - ) -except pkg_resources.DistributionNotFound: - DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() +DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( + gapic_version=package_version.__version__ +) class AssetServiceTransport(abc.ABC): @@ -48,7 +44,7 @@ def __init__( self, *, host: str = DEFAULT_HOST, - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, quota_project_id: Optional[str] = None, diff --git a/google/cloud/asset_v1p5beta1/services/asset_service/transports/grpc.py b/google/cloud/asset_v1p5beta1/services/asset_service/transports/grpc.py index 5e41d2cc..22908e9d 100644 --- a/google/cloud/asset_v1p5beta1/services/asset_service/transports/grpc.py +++ b/google/cloud/asset_v1p5beta1/services/asset_service/transports/grpc.py @@ -47,14 +47,14 @@ def __init__( self, *, host: str = "cloudasset.googleapis.com", - credentials: ga_credentials.Credentials = None, - credentials_file: str = None, - scopes: Sequence[str] = None, - channel: grpc.Channel = None, - api_mtls_endpoint: str = None, - client_cert_source: Callable[[], Tuple[bytes, bytes]] = None, - ssl_channel_credentials: grpc.ChannelCredentials = None, - client_cert_source_for_mtls: Callable[[], Tuple[bytes, bytes]] = None, + credentials: Optional[ga_credentials.Credentials] = None, + credentials_file: Optional[str] = None, + scopes: Optional[Sequence[str]] = None, + channel: Optional[grpc.Channel] = None, + api_mtls_endpoint: Optional[str] = None, + client_cert_source: Optional[Callable[[], Tuple[bytes, bytes]]] = None, + ssl_channel_credentials: Optional[grpc.ChannelCredentials] = None, + client_cert_source_for_mtls: Optional[Callable[[], Tuple[bytes, bytes]]] = None, quota_project_id: Optional[str] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, always_use_jwt_access: Optional[bool] = False, @@ -181,8 +181,8 @@ def __init__( def create_channel( cls, host: str = "cloudasset.googleapis.com", - credentials: ga_credentials.Credentials = None, - credentials_file: str = None, + credentials: Optional[ga_credentials.Credentials] = None, + credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, quota_project_id: Optional[str] = None, **kwargs, diff --git a/google/cloud/asset_v1p5beta1/services/asset_service/transports/grpc_asyncio.py b/google/cloud/asset_v1p5beta1/services/asset_service/transports/grpc_asyncio.py index f7abd4bf..d919107a 100644 --- a/google/cloud/asset_v1p5beta1/services/asset_service/transports/grpc_asyncio.py +++ b/google/cloud/asset_v1p5beta1/services/asset_service/transports/grpc_asyncio.py @@ -49,7 +49,7 @@ class AssetServiceGrpcAsyncIOTransport(AssetServiceTransport): def create_channel( cls, host: str = "cloudasset.googleapis.com", - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, quota_project_id: Optional[str] = None, @@ -92,15 +92,15 @@ def __init__( self, *, host: str = "cloudasset.googleapis.com", - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, - channel: aio.Channel = None, - api_mtls_endpoint: str = None, - client_cert_source: Callable[[], Tuple[bytes, bytes]] = None, - ssl_channel_credentials: grpc.ChannelCredentials = None, - client_cert_source_for_mtls: Callable[[], Tuple[bytes, bytes]] = None, - quota_project_id=None, + channel: Optional[aio.Channel] = None, + api_mtls_endpoint: Optional[str] = None, + client_cert_source: Optional[Callable[[], Tuple[bytes, bytes]]] = None, + ssl_channel_credentials: Optional[grpc.ChannelCredentials] = None, + client_cert_source_for_mtls: Optional[Callable[[], Tuple[bytes, bytes]]] = None, + quota_project_id: Optional[str] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, always_use_jwt_access: Optional[bool] = False, api_audience: Optional[str] = None, diff --git a/google/cloud/asset_v1p5beta1/types/asset_service.py b/google/cloud/asset_v1p5beta1/types/asset_service.py index 1f15df80..d2266b8b 100644 --- a/google/cloud/asset_v1p5beta1/types/asset_service.py +++ b/google/cloud/asset_v1p5beta1/types/asset_service.py @@ -13,6 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +from typing import MutableMapping, MutableSequence + import proto # type: ignore from google.cloud.asset_v1p5beta1.types import assets as gca_assets @@ -56,7 +58,7 @@ class ListAssetsRequest(proto.Message): delays in resource data collection and indexing, there is a volatile window during which running the same query may get different results. - asset_types (Sequence[str]): + asset_types (MutableSequence[str]): A list of asset types of which to take a snapshot for. For example: "compute.googleapis.com/Disk". If specified, only matching assets will be returned. See `Introduction to Cloud @@ -78,29 +80,29 @@ class ListAssetsRequest(proto.Message): of assets. """ - parent = proto.Field( + parent: str = proto.Field( proto.STRING, number=1, ) - read_time = proto.Field( + read_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=2, message=timestamp_pb2.Timestamp, ) - asset_types = proto.RepeatedField( + asset_types: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=3, ) - content_type = proto.Field( + content_type: "ContentType" = proto.Field( proto.ENUM, number=4, enum="ContentType", ) - page_size = proto.Field( + page_size: int = proto.Field( proto.INT32, number=5, ) - page_token = proto.Field( + page_token: str = proto.Field( proto.STRING, number=6, ) @@ -112,7 +114,7 @@ class ListAssetsResponse(proto.Message): Attributes: read_time (google.protobuf.timestamp_pb2.Timestamp): Time the snapshot was taken. - assets (Sequence[google.cloud.asset_v1p5beta1.types.Asset]): + assets (MutableSequence[google.cloud.asset_v1p5beta1.types.Asset]): Assets. next_page_token (str): Token to retrieve the next page of results. @@ -123,17 +125,17 @@ class ListAssetsResponse(proto.Message): def raw_page(self): return self - read_time = proto.Field( + read_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=1, message=timestamp_pb2.Timestamp, ) - assets = proto.RepeatedField( + assets: MutableSequence[gca_assets.Asset] = proto.RepeatedField( proto.MESSAGE, number=2, message=gca_assets.Asset, ) - next_page_token = proto.Field( + next_page_token: str = proto.Field( proto.STRING, number=3, ) diff --git a/google/cloud/asset_v1p5beta1/types/assets.py b/google/cloud/asset_v1p5beta1/types/assets.py index 5399b2c8..d0b435c1 100644 --- a/google/cloud/asset_v1p5beta1/types/assets.py +++ b/google/cloud/asset_v1p5beta1/types/assets.py @@ -13,6 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +from typing import MutableMapping, MutableSequence + import proto # type: ignore from google.cloud.orgpolicy.v1 import orgpolicy_pb2 # type: ignore @@ -60,7 +62,7 @@ class Asset(proto.Message): set on a cloud resource. For each resource, there must be at most one Cloud IAM policy set on it. - org_policy (Sequence[google.cloud.orgpolicy.v1.orgpolicy_pb2.Policy]): + org_policy (MutableSequence[google.cloud.orgpolicy.v1.orgpolicy_pb2.Policy]): Representation of the Cloud Organization Policy set on an asset. For each asset, there could be multiple Organization policies with @@ -74,7 +76,7 @@ class Asset(proto.Message): service_perimeter (google.identity.accesscontextmanager.v1.service_perimeter_pb2.ServicePerimeter): This field is a member of `oneof`_ ``access_context_policy``. - ancestors (Sequence[str]): + ancestors (MutableSequence[str]): Asset's ancestry path in Cloud Resource Manager (CRM) hierarchy, represented as a list of relative resource names. Ancestry path starts with the closest CRM ancestor and ends @@ -85,48 +87,48 @@ class Asset(proto.Message): "organizations/1234"] """ - name = proto.Field( + name: str = proto.Field( proto.STRING, number=1, ) - asset_type = proto.Field( + asset_type: str = proto.Field( proto.STRING, number=2, ) - resource = proto.Field( + resource: "Resource" = proto.Field( proto.MESSAGE, number=3, message="Resource", ) - iam_policy = proto.Field( + iam_policy: policy_pb2.Policy = proto.Field( proto.MESSAGE, number=4, message=policy_pb2.Policy, ) - org_policy = proto.RepeatedField( + org_policy: MutableSequence[orgpolicy_pb2.Policy] = proto.RepeatedField( proto.MESSAGE, number=6, message=orgpolicy_pb2.Policy, ) - access_policy = proto.Field( + access_policy: access_policy_pb2.AccessPolicy = proto.Field( proto.MESSAGE, number=7, oneof="access_context_policy", message=access_policy_pb2.AccessPolicy, ) - access_level = proto.Field( + access_level: access_level_pb2.AccessLevel = proto.Field( proto.MESSAGE, number=8, oneof="access_context_policy", message=access_level_pb2.AccessLevel, ) - service_perimeter = proto.Field( + service_perimeter: service_perimeter_pb2.ServicePerimeter = proto.Field( proto.MESSAGE, number=9, oneof="access_context_policy", message=service_perimeter_pb2.ServicePerimeter, ) - ancestors = proto.RepeatedField( + ancestors: MutableSequence[str] = proto.RepeatedField( proto.STRING, number=10, ) @@ -175,27 +177,27 @@ class Resource(proto.Message): be present. """ - version = proto.Field( + version: str = proto.Field( proto.STRING, number=1, ) - discovery_document_uri = proto.Field( + discovery_document_uri: str = proto.Field( proto.STRING, number=2, ) - discovery_name = proto.Field( + discovery_name: str = proto.Field( proto.STRING, number=3, ) - resource_url = proto.Field( + resource_url: str = proto.Field( proto.STRING, number=4, ) - parent = proto.Field( + parent: str = proto.Field( proto.STRING, number=5, ) - data = proto.Field( + data: struct_pb2.Struct = proto.Field( proto.MESSAGE, number=6, message=struct_pb2.Struct, diff --git a/noxfile.py b/noxfile.py index c043a072..f322298c 100644 --- a/noxfile.py +++ b/noxfile.py @@ -286,7 +286,7 @@ def docs(session): shutil.rmtree(os.path.join("docs", "_build"), ignore_errors=True) session.run( "sphinx-build", - # "-W", # warnings as errors + "-W", # warnings as errors "-T", # show full traceback on exception "-N", # no colors "-b", diff --git a/owlbot.py b/owlbot.py index 27c15937..8f351856 100644 --- a/owlbot.py +++ b/owlbot.py @@ -1,4 +1,4 @@ -# Copyright 2018 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,19 +12,30 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""This script is used to synthesize generated parts of this library.""" - +import json +from pathlib import Path import re +import shutil import synthtool as s -from synthtool import gcp +import synthtool.gcp as gcp from synthtool.languages import python -common = gcp.CommonTemplates() +# ---------------------------------------------------------------------------- +# Copy the generated client from the owl-bot staging directory +# ---------------------------------------------------------------------------- -default_version = "v1" +clean_up_generated_samples = True + +# Load the default version defined in .repo-metadata.json. +default_version = json.load(open(".repo-metadata.json", "rt")).get( + "default_version" +) for library in s.get_staging_dirs(default_version): + if clean_up_generated_samples: + shutil.rmtree("samples/generated_samples", ignore_errors=True) + clean_up_generated_samples = False # Fix import of 'osconfig' type s.replace( library / f"google/cloud/asset_{library.name}/types/assets.py", @@ -34,8 +45,8 @@ s.replace( library / f"google/cloud/asset_{library.name}/types/assets.py", - "message=inventory_pb2\.Inventory,", - "message=Inventory," + "inventory_pb2\.Inventory", + "Inventory" ) s.replace( @@ -67,30 +78,28 @@ def parse_asset_path.*?@staticmethod""", flags=re.MULTILINE | re.DOTALL, ) - excludes = ["setup.py", "nox*.py", "README.rst", "docs/conf.py", "docs/index.rst"] - s.move(library, excludes=excludes) + s.replace( + library / "google/cloud/asset_v*/__init__.py", + "from google.cloud.asset import gapic_version as package_version", + f"from google.cloud.asset_{library.name} import gapic_version as package_version", + ) + s.move([library], excludes=["**/gapic_version.py", "docs/index.rst", "setup.py", "testing/constraints-3.7.txt"]) s.remove_staging_dirs() # ---------------------------------------------------------------------------- # Add templated files # ---------------------------------------------------------------------------- -templated_files = common.py_library( - samples=True, # set to True only if there are samples - microgenerator=True, + +templated_files = gcp.CommonTemplates().py_library( cov_level=99, + microgenerator=True, + versions=gcp.common.detect_versions(path="./google", default_first=True), ) -s.move(templated_files, excludes=[".coveragerc"]) # microgenerator has a good .coveragerc file -python.configure_previous_major_version_branches() - -# ---------------------------------------------------------------------------- -# Samples templates -# ---------------------------------------------------------------------------- +s.move(templated_files, excludes=[".coveragerc", ".github/release-please.yml", "docs/index.rst"]) python.py_samples(skip_readmes=True) -# Temporarily disable warnings due to -# https://github.com/googleapis/gapic-generator-python/issues/525 -s.replace("noxfile.py", '[\"\']-W[\"\']', '# "-W"') - -s.shell.run(["nox", "-s", "blacken"], hide_output=False) +# run format session for all directories which have a noxfile +for noxfile in Path(".").glob("**/noxfile.py"): + s.shell.run(["nox", "-s", "blacken"], cwd=noxfile.parent, hide_output=False) diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 00000000..f27199ec --- /dev/null +++ b/release-please-config.json @@ -0,0 +1,43 @@ +{ + "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", + "packages": { + ".": { + "release-type": "python", + "extra-files": [ + "google/cloud/asset_v1p2beta1/gapic_version.py", + "google/cloud/asset_v1p1beta1/gapic_version.py", + "google/cloud/asset_v1p5beta1/gapic_version.py", + "google/cloud/asset_v1/gapic_version.py", + "google/cloud/asset/gapic_version.py", + "google/cloud/asset_v1p4beta1/gapic_version.py", + { + "type": "json", + "path": "samples/generated_samples/snippet_metadata_google.cloud.asset.v1.json", + "jsonpath": "$.clientLibrary.version" + }, + { + "type": "json", + "path": "samples/generated_samples/snippet_metadata_google.cloud.asset.v1p5beta1.json", + "jsonpath": "$.clientLibrary.version" + }, + { + "type": "json", + "path": "samples/generated_samples/snippet_metadata_google.cloud.asset.v1p2beta1.json", + "jsonpath": "$.clientLibrary.version" + }, + { + "type": "json", + "path": "samples/generated_samples/snippet_metadata_google.cloud.asset.v1p1beta1.json", + "jsonpath": "$.clientLibrary.version" + } + ] + } + }, + "release-type": "python", + "plugins": [ + { + "type": "sentence-case" + } + ], + "initial-version": "0.1.0" +} diff --git a/samples/generated_samples/cloudasset_v1_generated_asset_service_analyze_iam_policy_longrunning_async.py b/samples/generated_samples/cloudasset_v1_generated_asset_service_analyze_iam_policy_longrunning_async.py index e1305583..0fbd7944 100644 --- a/samples/generated_samples/cloudasset_v1_generated_asset_service_analyze_iam_policy_longrunning_async.py +++ b/samples/generated_samples/cloudasset_v1_generated_asset_service_analyze_iam_policy_longrunning_async.py @@ -55,7 +55,7 @@ async def sample_analyze_iam_policy_longrunning(): print("Waiting for operation to complete...") - response = await operation.result() + response = (await operation).result() # Handle the response print(response) diff --git a/samples/generated_samples/cloudasset_v1_generated_asset_service_export_assets_async.py b/samples/generated_samples/cloudasset_v1_generated_asset_service_export_assets_async.py index f9ca7f17..36815d3c 100644 --- a/samples/generated_samples/cloudasset_v1_generated_asset_service_export_assets_async.py +++ b/samples/generated_samples/cloudasset_v1_generated_asset_service_export_assets_async.py @@ -52,7 +52,7 @@ async def sample_export_assets(): print("Waiting for operation to complete...") - response = await operation.result() + response = (await operation).result() # Handle the response print(response) diff --git a/samples/generated_samples/cloudasset_v1p4beta1_generated_asset_service_analyze_iam_policy_async.py b/samples/generated_samples/cloudasset_v1p4beta1_generated_asset_service_analyze_iam_policy_async.py deleted file mode 100644 index d7aed0d4..00000000 --- a/samples/generated_samples/cloudasset_v1p4beta1_generated_asset_service_analyze_iam_policy_async.py +++ /dev/null @@ -1,48 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 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 -# -# http://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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for AnalyzeIamPolicy -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-asset - - -# [START cloudasset_v1p4beta1_generated_AssetService_AnalyzeIamPolicy_async] -from google.cloud import asset_v1p4beta1 - - -async def sample_analyze_iam_policy(): - # Create a client - client = asset_v1p4beta1.AssetServiceAsyncClient() - - # Initialize request argument(s) - analysis_query = asset_v1p4beta1.IamPolicyAnalysisQuery() - analysis_query.parent = "parent_value" - - request = asset_v1p4beta1.AnalyzeIamPolicyRequest( - analysis_query=analysis_query, - ) - - # Make the request - response = await client.analyze_iam_policy(request=request) - - # Handle the response - print(response) - -# [END cloudasset_v1p4beta1_generated_AssetService_AnalyzeIamPolicy_async] diff --git a/samples/generated_samples/cloudasset_v1p4beta1_generated_asset_service_analyze_iam_policy_sync.py b/samples/generated_samples/cloudasset_v1p4beta1_generated_asset_service_analyze_iam_policy_sync.py deleted file mode 100644 index 6ce8dda4..00000000 --- a/samples/generated_samples/cloudasset_v1p4beta1_generated_asset_service_analyze_iam_policy_sync.py +++ /dev/null @@ -1,48 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 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 -# -# http://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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for AnalyzeIamPolicy -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-asset - - -# [START cloudasset_v1p4beta1_generated_AssetService_AnalyzeIamPolicy_sync] -from google.cloud import asset_v1p4beta1 - - -def sample_analyze_iam_policy(): - # Create a client - client = asset_v1p4beta1.AssetServiceClient() - - # Initialize request argument(s) - analysis_query = asset_v1p4beta1.IamPolicyAnalysisQuery() - analysis_query.parent = "parent_value" - - request = asset_v1p4beta1.AnalyzeIamPolicyRequest( - analysis_query=analysis_query, - ) - - # Make the request - response = client.analyze_iam_policy(request=request) - - # Handle the response - print(response) - -# [END cloudasset_v1p4beta1_generated_AssetService_AnalyzeIamPolicy_sync] diff --git a/samples/generated_samples/cloudasset_v1p4beta1_generated_asset_service_export_iam_policy_analysis_async.py b/samples/generated_samples/cloudasset_v1p4beta1_generated_asset_service_export_iam_policy_analysis_async.py deleted file mode 100644 index 2859417c..00000000 --- a/samples/generated_samples/cloudasset_v1p4beta1_generated_asset_service_export_iam_policy_analysis_async.py +++ /dev/null @@ -1,56 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 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 -# -# http://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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for ExportIamPolicyAnalysis -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-asset - - -# [START cloudasset_v1p4beta1_generated_AssetService_ExportIamPolicyAnalysis_async] -from google.cloud import asset_v1p4beta1 - - -async def sample_export_iam_policy_analysis(): - # Create a client - client = asset_v1p4beta1.AssetServiceAsyncClient() - - # Initialize request argument(s) - analysis_query = asset_v1p4beta1.IamPolicyAnalysisQuery() - analysis_query.parent = "parent_value" - - output_config = asset_v1p4beta1.IamPolicyAnalysisOutputConfig() - output_config.gcs_destination.uri = "uri_value" - - request = asset_v1p4beta1.ExportIamPolicyAnalysisRequest( - analysis_query=analysis_query, - output_config=output_config, - ) - - # Make the request - operation = client.export_iam_policy_analysis(request=request) - - print("Waiting for operation to complete...") - - response = await operation.result() - - # Handle the response - print(response) - -# [END cloudasset_v1p4beta1_generated_AssetService_ExportIamPolicyAnalysis_async] diff --git a/samples/generated_samples/cloudasset_v1p4beta1_generated_asset_service_export_iam_policy_analysis_sync.py b/samples/generated_samples/cloudasset_v1p4beta1_generated_asset_service_export_iam_policy_analysis_sync.py deleted file mode 100644 index 05c73b3e..00000000 --- a/samples/generated_samples/cloudasset_v1p4beta1_generated_asset_service_export_iam_policy_analysis_sync.py +++ /dev/null @@ -1,56 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright 2022 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 -# -# http://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. -# -# Generated code. DO NOT EDIT! -# -# Snippet for ExportIamPolicyAnalysis -# NOTE: This snippet has been automatically generated for illustrative purposes only. -# It may require modifications to work in your environment. - -# To install the latest published package dependency, execute the following: -# python3 -m pip install google-cloud-asset - - -# [START cloudasset_v1p4beta1_generated_AssetService_ExportIamPolicyAnalysis_sync] -from google.cloud import asset_v1p4beta1 - - -def sample_export_iam_policy_analysis(): - # Create a client - client = asset_v1p4beta1.AssetServiceClient() - - # Initialize request argument(s) - analysis_query = asset_v1p4beta1.IamPolicyAnalysisQuery() - analysis_query.parent = "parent_value" - - output_config = asset_v1p4beta1.IamPolicyAnalysisOutputConfig() - output_config.gcs_destination.uri = "uri_value" - - request = asset_v1p4beta1.ExportIamPolicyAnalysisRequest( - analysis_query=analysis_query, - output_config=output_config, - ) - - # Make the request - operation = client.export_iam_policy_analysis(request=request) - - print("Waiting for operation to complete...") - - response = operation.result() - - # Handle the response - print(response) - -# [END cloudasset_v1p4beta1_generated_AssetService_ExportIamPolicyAnalysis_sync] diff --git a/samples/generated_samples/snippet_metadata_asset_v1p4beta1.json b/samples/generated_samples/snippet_metadata_asset_v1p4beta1.json deleted file mode 100644 index f68b216f..00000000 --- a/samples/generated_samples/snippet_metadata_asset_v1p4beta1.json +++ /dev/null @@ -1,320 +0,0 @@ -{ - "clientLibrary": { - "apis": [ - { - "id": "google.cloud.asset.v1p4beta1", - "version": "v1p4beta1" - } - ], - "language": "PYTHON", - "name": "google-cloud-asset" - }, - "snippets": [ - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.asset_v1p4beta1.AssetServiceAsyncClient", - "shortName": "AssetServiceAsyncClient" - }, - "fullName": "google.cloud.asset_v1p4beta1.AssetServiceAsyncClient.analyze_iam_policy", - "method": { - "fullName": "google.cloud.asset.v1p4beta1.AssetService.AnalyzeIamPolicy", - "service": { - "fullName": "google.cloud.asset.v1p4beta1.AssetService", - "shortName": "AssetService" - }, - "shortName": "AnalyzeIamPolicy" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.asset_v1p4beta1.types.AnalyzeIamPolicyRequest" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.asset_v1p4beta1.types.AnalyzeIamPolicyResponse", - "shortName": "analyze_iam_policy" - }, - "description": "Sample for AnalyzeIamPolicy", - "file": "cloudasset_v1p4beta1_generated_asset_service_analyze_iam_policy_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "cloudasset_v1p4beta1_generated_AssetService_AnalyzeIamPolicy_async", - "segments": [ - { - "end": 47, - "start": 27, - "type": "FULL" - }, - { - "end": 47, - "start": 27, - "type": "SHORT" - }, - { - "end": 33, - "start": 31, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 41, - "start": 34, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 44, - "start": 42, - "type": "REQUEST_EXECUTION" - }, - { - "end": 48, - "start": 45, - "type": "RESPONSE_HANDLING" - } - ], - "title": "cloudasset_v1p4beta1_generated_asset_service_analyze_iam_policy_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.asset_v1p4beta1.AssetServiceClient", - "shortName": "AssetServiceClient" - }, - "fullName": "google.cloud.asset_v1p4beta1.AssetServiceClient.analyze_iam_policy", - "method": { - "fullName": "google.cloud.asset.v1p4beta1.AssetService.AnalyzeIamPolicy", - "service": { - "fullName": "google.cloud.asset.v1p4beta1.AssetService", - "shortName": "AssetService" - }, - "shortName": "AnalyzeIamPolicy" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.asset_v1p4beta1.types.AnalyzeIamPolicyRequest" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.cloud.asset_v1p4beta1.types.AnalyzeIamPolicyResponse", - "shortName": "analyze_iam_policy" - }, - "description": "Sample for AnalyzeIamPolicy", - "file": "cloudasset_v1p4beta1_generated_asset_service_analyze_iam_policy_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "cloudasset_v1p4beta1_generated_AssetService_AnalyzeIamPolicy_sync", - "segments": [ - { - "end": 47, - "start": 27, - "type": "FULL" - }, - { - "end": 47, - "start": 27, - "type": "SHORT" - }, - { - "end": 33, - "start": 31, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 41, - "start": 34, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 44, - "start": 42, - "type": "REQUEST_EXECUTION" - }, - { - "end": 48, - "start": 45, - "type": "RESPONSE_HANDLING" - } - ], - "title": "cloudasset_v1p4beta1_generated_asset_service_analyze_iam_policy_sync.py" - }, - { - "canonical": true, - "clientMethod": { - "async": true, - "client": { - "fullName": "google.cloud.asset_v1p4beta1.AssetServiceAsyncClient", - "shortName": "AssetServiceAsyncClient" - }, - "fullName": "google.cloud.asset_v1p4beta1.AssetServiceAsyncClient.export_iam_policy_analysis", - "method": { - "fullName": "google.cloud.asset.v1p4beta1.AssetService.ExportIamPolicyAnalysis", - "service": { - "fullName": "google.cloud.asset.v1p4beta1.AssetService", - "shortName": "AssetService" - }, - "shortName": "ExportIamPolicyAnalysis" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.asset_v1p4beta1.types.ExportIamPolicyAnalysisRequest" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.api_core.operation_async.AsyncOperation", - "shortName": "export_iam_policy_analysis" - }, - "description": "Sample for ExportIamPolicyAnalysis", - "file": "cloudasset_v1p4beta1_generated_asset_service_export_iam_policy_analysis_async.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "cloudasset_v1p4beta1_generated_AssetService_ExportIamPolicyAnalysis_async", - "segments": [ - { - "end": 55, - "start": 27, - "type": "FULL" - }, - { - "end": 55, - "start": 27, - "type": "SHORT" - }, - { - "end": 33, - "start": 31, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 34, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 52, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 56, - "start": 53, - "type": "RESPONSE_HANDLING" - } - ], - "title": "cloudasset_v1p4beta1_generated_asset_service_export_iam_policy_analysis_async.py" - }, - { - "canonical": true, - "clientMethod": { - "client": { - "fullName": "google.cloud.asset_v1p4beta1.AssetServiceClient", - "shortName": "AssetServiceClient" - }, - "fullName": "google.cloud.asset_v1p4beta1.AssetServiceClient.export_iam_policy_analysis", - "method": { - "fullName": "google.cloud.asset.v1p4beta1.AssetService.ExportIamPolicyAnalysis", - "service": { - "fullName": "google.cloud.asset.v1p4beta1.AssetService", - "shortName": "AssetService" - }, - "shortName": "ExportIamPolicyAnalysis" - }, - "parameters": [ - { - "name": "request", - "type": "google.cloud.asset_v1p4beta1.types.ExportIamPolicyAnalysisRequest" - }, - { - "name": "retry", - "type": "google.api_core.retry.Retry" - }, - { - "name": "timeout", - "type": "float" - }, - { - "name": "metadata", - "type": "Sequence[Tuple[str, str]" - } - ], - "resultType": "google.api_core.operation.Operation", - "shortName": "export_iam_policy_analysis" - }, - "description": "Sample for ExportIamPolicyAnalysis", - "file": "cloudasset_v1p4beta1_generated_asset_service_export_iam_policy_analysis_sync.py", - "language": "PYTHON", - "origin": "API_DEFINITION", - "regionTag": "cloudasset_v1p4beta1_generated_AssetService_ExportIamPolicyAnalysis_sync", - "segments": [ - { - "end": 55, - "start": 27, - "type": "FULL" - }, - { - "end": 55, - "start": 27, - "type": "SHORT" - }, - { - "end": 33, - "start": 31, - "type": "CLIENT_INITIALIZATION" - }, - { - "end": 45, - "start": 34, - "type": "REQUEST_INITIALIZATION" - }, - { - "end": 52, - "start": 46, - "type": "REQUEST_EXECUTION" - }, - { - "end": 56, - "start": 53, - "type": "RESPONSE_HANDLING" - } - ], - "title": "cloudasset_v1p4beta1_generated_asset_service_export_iam_policy_analysis_sync.py" - } - ] -} diff --git a/samples/generated_samples/snippet_metadata_asset_v1.json b/samples/generated_samples/snippet_metadata_google.cloud.asset.v1.json similarity index 99% rename from samples/generated_samples/snippet_metadata_asset_v1.json rename to samples/generated_samples/snippet_metadata_google.cloud.asset.v1.json index 9454e4c4..09e6bc95 100644 --- a/samples/generated_samples/snippet_metadata_asset_v1.json +++ b/samples/generated_samples/snippet_metadata_google.cloud.asset.v1.json @@ -7,7 +7,8 @@ } ], "language": "PYTHON", - "name": "google-cloud-asset" + "name": "google-cloud-asset", + "version": "0.1.0" }, "snippets": [ { @@ -2735,7 +2736,7 @@ }, { "name": "asset_types", - "type": "Sequence[str]" + "type": "MutableSequence[str]" }, { "name": "retry", @@ -2823,7 +2824,7 @@ }, { "name": "asset_types", - "type": "Sequence[str]" + "type": "MutableSequence[str]" }, { "name": "retry", diff --git a/samples/generated_samples/snippet_metadata_asset_v1p1beta1.json b/samples/generated_samples/snippet_metadata_google.cloud.asset.v1p1beta1.json similarity index 98% rename from samples/generated_samples/snippet_metadata_asset_v1p1beta1.json rename to samples/generated_samples/snippet_metadata_google.cloud.asset.v1p1beta1.json index 1b348e35..dcbeb822 100644 --- a/samples/generated_samples/snippet_metadata_asset_v1p1beta1.json +++ b/samples/generated_samples/snippet_metadata_google.cloud.asset.v1p1beta1.json @@ -7,7 +7,8 @@ } ], "language": "PYTHON", - "name": "google-cloud-asset" + "name": "google-cloud-asset", + "version": "0.1.0" }, "snippets": [ { @@ -211,7 +212,7 @@ }, { "name": "asset_types", - "type": "Sequence[str]" + "type": "MutableSequence[str]" }, { "name": "retry", @@ -299,7 +300,7 @@ }, { "name": "asset_types", - "type": "Sequence[str]" + "type": "MutableSequence[str]" }, { "name": "retry", diff --git a/samples/generated_samples/snippet_metadata_asset_v1p2beta1.json b/samples/generated_samples/snippet_metadata_google.cloud.asset.v1p2beta1.json similarity index 99% rename from samples/generated_samples/snippet_metadata_asset_v1p2beta1.json rename to samples/generated_samples/snippet_metadata_google.cloud.asset.v1p2beta1.json index b0bc6aae..38eaede8 100644 --- a/samples/generated_samples/snippet_metadata_asset_v1p2beta1.json +++ b/samples/generated_samples/snippet_metadata_google.cloud.asset.v1p2beta1.json @@ -7,7 +7,8 @@ } ], "language": "PYTHON", - "name": "google-cloud-asset" + "name": "google-cloud-asset", + "version": "0.1.0" }, "snippets": [ { diff --git a/samples/generated_samples/snippet_metadata_asset_v1p5beta1.json b/samples/generated_samples/snippet_metadata_google.cloud.asset.v1p5beta1.json similarity index 98% rename from samples/generated_samples/snippet_metadata_asset_v1p5beta1.json rename to samples/generated_samples/snippet_metadata_google.cloud.asset.v1p5beta1.json index 79f71d8d..14cc28d9 100644 --- a/samples/generated_samples/snippet_metadata_asset_v1p5beta1.json +++ b/samples/generated_samples/snippet_metadata_google.cloud.asset.v1p5beta1.json @@ -7,7 +7,8 @@ } ], "language": "PYTHON", - "name": "google-cloud-asset" + "name": "google-cloud-asset", + "version": "0.1.0" }, "snippets": [ { diff --git a/samples/snippets/conftest.py b/samples/snippets/conftest.py index 7a7577d7..54199ab9 100644 --- a/samples/snippets/conftest.py +++ b/samples/snippets/conftest.py @@ -66,7 +66,11 @@ def test_feed(test_topic): @backoff.on_exception(backoff.expo, InternalServerError, max_time=60) def create_feed(): return quickstart_createfeed.create_feed( - PROJECT, feed_id, [asset_name], test_topic.name, asset_v1.ContentType.RESOURCE + PROJECT, + feed_id, + [asset_name], + test_topic.name, + asset_v1.ContentType.RESOURCE, ) feed = create_feed() diff --git a/samples/snippets/noxfile.py b/samples/snippets/noxfile.py index 7c8a6399..1224cbe2 100644 --- a/samples/snippets/noxfile.py +++ b/samples/snippets/noxfile.py @@ -160,6 +160,7 @@ def blacken(session: nox.sessions.Session) -> None: # format = isort + black # + @nox.session def format(session: nox.sessions.Session) -> None: """ @@ -187,7 +188,9 @@ def _session_tests( session: nox.sessions.Session, post_install: Callable = None ) -> None: # check for presence of tests - test_list = glob.glob("**/*_test.py", recursive=True) + glob.glob("**/test_*.py", recursive=True) + test_list = glob.glob("**/*_test.py", recursive=True) + glob.glob( + "**/test_*.py", recursive=True + ) test_list.extend(glob.glob("**/tests", recursive=True)) if len(test_list) == 0: @@ -209,9 +212,7 @@ def _session_tests( if os.path.exists("requirements-test.txt"): if os.path.exists("constraints-test.txt"): - session.install( - "-r", "requirements-test.txt", "-c", "constraints-test.txt" - ) + session.install("-r", "requirements-test.txt", "-c", "constraints-test.txt") else: session.install("-r", "requirements-test.txt") with open("requirements-test.txt") as rtfile: @@ -224,9 +225,9 @@ def _session_tests( post_install(session) if "pytest-parallel" in packages: - concurrent_args.extend(['--workers', 'auto', '--tests-per-worker', 'auto']) + concurrent_args.extend(["--workers", "auto", "--tests-per-worker", "auto"]) elif "pytest-xdist" in packages: - concurrent_args.extend(['-n', 'auto']) + concurrent_args.extend(["-n", "auto"]) session.run( "pytest", @@ -256,7 +257,7 @@ def py(session: nox.sessions.Session) -> None: def _get_repo_root() -> Optional[str]: - """ Returns the root folder of the project. """ + """Returns the root folder of the project.""" # Get root of this repository. Assume we don't have directories nested deeper than 10 items. p = Path(os.getcwd()) for i in range(10): diff --git a/samples/snippets/quickstart_analyzeiampolicy.py b/samples/snippets/quickstart_analyzeiampolicy.py index 20e0fa51..ee43cd9d 100644 --- a/samples/snippets/quickstart_analyzeiampolicy.py +++ b/samples/snippets/quickstart_analyzeiampolicy.py @@ -30,13 +30,13 @@ def analyze_iam_policy(project_id): # Build analysis query analysis_query = asset_v1.IamPolicyAnalysisQuery() analysis_query.scope = parent - analysis_query.resource_selector.full_resource_name = f"//cloudresourcemanager.googleapis.com/{parent}" + analysis_query.resource_selector.full_resource_name = ( + f"//cloudresourcemanager.googleapis.com/{parent}" + ) analysis_query.options.expand_groups = True analysis_query.options.output_group_edges = True - response = client.analyze_iam_policy( - request={"analysis_query": analysis_query} - ) + response = client.analyze_iam_policy(request={"analysis_query": analysis_query}) print(response) # [END asset_quickstart_analyze_iam_policy] diff --git a/samples/snippets/quickstart_analyzeiampolicylongrunning.py b/samples/snippets/quickstart_analyzeiampolicylongrunning.py index 8b932f6c..29f59092 100644 --- a/samples/snippets/quickstart_analyzeiampolicylongrunning.py +++ b/samples/snippets/quickstart_analyzeiampolicylongrunning.py @@ -31,7 +31,9 @@ def analyze_iam_policy_longrunning_gcs(project_id, dump_file_path): # Build analysis query analysis_query = asset_v1.IamPolicyAnalysisQuery() analysis_query.scope = parent - analysis_query.resource_selector.full_resource_name = f"//cloudresourcemanager.googleapis.com/{parent}" + analysis_query.resource_selector.full_resource_name = ( + f"//cloudresourcemanager.googleapis.com/{parent}" + ) analysis_query.options.expand_groups = True analysis_query.options.output_group_edges = True @@ -60,7 +62,9 @@ def analyze_iam_policy_longrunning_bigquery(project_id, dataset, table): # Build analysis query analysis_query = asset_v1.IamPolicyAnalysisQuery() analysis_query.scope = parent - analysis_query.resource_selector.full_resource_name = f"//cloudresourcemanager.googleapis.com/{parent}" + analysis_query.resource_selector.full_resource_name = ( + f"//cloudresourcemanager.googleapis.com/{parent}" + ) analysis_query.options.expand_groups = True analysis_query.options.output_group_edges = True @@ -89,17 +93,19 @@ def analyze_iam_policy_longrunning_bigquery(project_id, dataset, table): "e.g.: gs:///analysis_dump_file", ) parser.add_argument( - "dataset", - help="The BigQuery dataset that analysis results will be exported to, " - "e.g.: my_dataset", - ) + "dataset", + help="The BigQuery dataset that analysis results will be exported to, " + "e.g.: my_dataset", + ) parser.add_argument( - "table_prefix", - help="The prefix of the BigQuery table that analysis results will be exported to, " - "e.g.: my_table", - ) + "table_prefix", + help="The prefix of the BigQuery table that analysis results will be exported to, " + "e.g.: my_table", + ) args = parser.parse_args() analyze_iam_policy_longrunning_gcs(args.project_id, args.dump_file_path) - analyze_iam_policy_longrunning_bigquery(args.project_id, args.dataset, args.table_prefix) + analyze_iam_policy_longrunning_bigquery( + args.project_id, args.dataset, args.table_prefix + ) diff --git a/samples/snippets/quickstart_analyzeiampolicylongrunning_test.py b/samples/snippets/quickstart_analyzeiampolicylongrunning_test.py index bbee8d79..0cb22a3a 100644 --- a/samples/snippets/quickstart_analyzeiampolicylongrunning_test.py +++ b/samples/snippets/quickstart_analyzeiampolicylongrunning_test.py @@ -61,17 +61,20 @@ def dataset(bigquery_client): yield DATASET - bigquery_client.delete_dataset( - dataset_id, delete_contents=True, not_found_ok=False) + bigquery_client.delete_dataset(dataset_id, delete_contents=True, not_found_ok=False) def test_analyze_iam_policy_longrunning(analysis_bucket, dataset, capsys): dump_file_path = "gs://{}/analysis-dump.txt".format(analysis_bucket) - quickstart_analyzeiampolicylongrunning.analyze_iam_policy_longrunning_gcs(PROJECT, dump_file_path) + quickstart_analyzeiampolicylongrunning.analyze_iam_policy_longrunning_gcs( + PROJECT, dump_file_path + ) out, _ = capsys.readouterr() assert "True" in out dataset_id = "projects/{}/datasets/{}".format(PROJECT, dataset) - quickstart_analyzeiampolicylongrunning.analyze_iam_policy_longrunning_bigquery(PROJECT, dataset_id, "analysis_") + quickstart_analyzeiampolicylongrunning.analyze_iam_policy_longrunning_bigquery( + PROJECT, dataset_id, "analysis_" + ) out, _ = capsys.readouterr() assert "True" in out diff --git a/samples/snippets/quickstart_batchgeteffectiveiampolicy.py b/samples/snippets/quickstart_batchgeteffectiveiampolicy.py index 379f75a7..4e7f2e3c 100644 --- a/samples/snippets/quickstart_batchgeteffectiveiampolicy.py +++ b/samples/snippets/quickstart_batchgeteffectiveiampolicy.py @@ -28,7 +28,7 @@ def batch_get_effective_iam_policies(resource_names, scope): client = asset_v1.AssetServiceClient() response = client.batch_get_effective_iam_policies( - request={"scope": scope, "names": resource_names} + request={"scope": scope, "names": resource_names} ) print(response) # [END asset_quickstart_batch_get_effective_iam_policies] @@ -36,11 +36,14 @@ def batch_get_effective_iam_policies(resource_names, scope): if __name__ == "__main__": parser = argparse.ArgumentParser( - description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter + description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter + ) + parser.add_argument( + "resource_names", + help="Your specified accessible " + "scope, such as a project, " + "folder or organization", ) - parser.add_argument("resource_names", help="Your specified accessible " - "scope, such as a project, " - "folder or organization") parser.add_argument("scope", help="Your specified list of resource names") args = parser.parse_args() diff --git a/samples/snippets/quickstart_batchgeteffectiveiampolicy_test.py b/samples/snippets/quickstart_batchgeteffectiveiampolicy_test.py index 7fdaaa73..e04628b1 100644 --- a/samples/snippets/quickstart_batchgeteffectiveiampolicy_test.py +++ b/samples/snippets/quickstart_batchgeteffectiveiampolicy_test.py @@ -24,8 +24,10 @@ def test_batch_get_effective_iam_policies(capsys): scope = "projects/{}".format(PROJECT) resource_names = [ - "//cloudresourcemanager.googleapis.com/projects/{}".format(PROJECT)] + "//cloudresourcemanager.googleapis.com/projects/{}".format(PROJECT) + ] quickstart_batchgeteffectiveiampolicy.batch_get_effective_iam_policies( - resource_names, scope) + resource_names, scope + ) out, _ = capsys.readouterr() assert resource_names[0] in out diff --git a/samples/snippets/quickstart_create_saved_query.py b/samples/snippets/quickstart_create_saved_query.py index 42ae2b3c..3b75e72e 100644 --- a/samples/snippets/quickstart_create_saved_query.py +++ b/samples/snippets/quickstart_create_saved_query.py @@ -32,7 +32,9 @@ def create_saved_query(project_id, saved_query_id, description): # TODO: customize your saved query based on the guide below. # https://cloud.google.com/asset-inventory/docs/reference/rest/v1/savedQueries#IamPolicyAnalysisQuery saved_query.content.iam_policy_analysis_query.scope = parent - query_access_selector = saved_query.content.iam_policy_analysis_query.access_selector + query_access_selector = ( + saved_query.content.iam_policy_analysis_query.access_selector + ) query_access_selector.permissions.append("iam.serviceAccounts.actAs") response = client.create_saved_query( diff --git a/samples/snippets/quickstart_create_saved_query_test.py b/samples/snippets/quickstart_create_saved_query_test.py index 0cc2d925..cefb731a 100644 --- a/samples/snippets/quickstart_create_saved_query_test.py +++ b/samples/snippets/quickstart_create_saved_query_test.py @@ -26,7 +26,8 @@ def test_create_saved_query(capsys, saved_query_deleter): saved_query = quickstart_create_saved_query.create_saved_query( - PROJECT, SAVED_QUERY_ID, "saved query foo") + PROJECT, SAVED_QUERY_ID, "saved query foo" + ) saved_query_deleter.append(saved_query.name) expected_resource_name_suffix = f"savedQueries/{SAVED_QUERY_ID}" assert saved_query.name.endswith(expected_resource_name_suffix) diff --git a/samples/snippets/quickstart_createfeed.py b/samples/snippets/quickstart_createfeed.py index 0e8b1cf8..9e19433f 100644 --- a/samples/snippets/quickstart_createfeed.py +++ b/samples/snippets/quickstart_createfeed.py @@ -52,4 +52,6 @@ def create_feed(project_id, feed_id, asset_names, topic, content_type): parser.add_argument("topic", help="Topic name of the feed") parser.add_argument("content_type", help="Content type of the feed") args = parser.parse_args() - create_feed(args.project_id, args.feed_id, args.asset_names, args.topic, args.content_type) + create_feed( + args.project_id, args.feed_id, args.asset_names, args.topic, args.content_type + ) diff --git a/samples/snippets/quickstart_createfeed_test.py b/samples/snippets/quickstart_createfeed_test.py index 2e794152..c464c11a 100644 --- a/samples/snippets/quickstart_createfeed_test.py +++ b/samples/snippets/quickstart_createfeed_test.py @@ -30,15 +30,19 @@ def test_create_feed(capsys, test_topic, deleter): from google.cloud import asset_v1 feed = quickstart_createfeed.create_feed( - PROJECT, FEED_ID, [ASSET_NAME], test_topic.name, - asset_v1.ContentType.RESOURCE) + PROJECT, FEED_ID, [ASSET_NAME], test_topic.name, asset_v1.ContentType.RESOURCE + ) deleter.append(feed.name) out, _ = capsys.readouterr() assert "feed" in out feed_r = quickstart_createfeed.create_feed( - PROJECT, FEED_ID_R, [ASSET_NAME], test_topic.name, - asset_v1.ContentType.RELATIONSHIP) + PROJECT, + FEED_ID_R, + [ASSET_NAME], + test_topic.name, + asset_v1.ContentType.RELATIONSHIP, + ) deleter.append(feed_r.name) out_r, _ = capsys.readouterr() assert "feed" in out_r diff --git a/samples/snippets/quickstart_exportassets.py b/samples/snippets/quickstart_exportassets.py index 17c767fb..d61b0d86 100644 --- a/samples/snippets/quickstart_exportassets.py +++ b/samples/snippets/quickstart_exportassets.py @@ -55,8 +55,8 @@ def export_assets_bigquery(project_id, dataset, table, content_type): request={ "parent": parent, "content_type": content_type, - "output_config": output_config - } + "output_config": output_config, + } ) print(response.result()) # [END asset_quickstart_export_assets_bigquery] diff --git a/samples/snippets/quickstart_exportassets_test.py b/samples/snippets/quickstart_exportassets_test.py index 7d527dc9..274bbb67 100644 --- a/samples/snippets/quickstart_exportassets_test.py +++ b/samples/snippets/quickstart_exportassets_test.py @@ -52,7 +52,7 @@ def asset_bucket(storage_client): raise e -@pytest.fixture(scope='module') +@pytest.fixture(scope="module") def dataset(bigquery_client): dataset_id = "{}.{}".format(PROJECT, DATASET) dataset = bigquery.Dataset(dataset_id) @@ -61,8 +61,7 @@ def dataset(bigquery_client): yield DATASET - bigquery_client.delete_dataset( - dataset_id, delete_contents=True, not_found_ok=False) + bigquery_client.delete_dataset(dataset_id, delete_contents=True, not_found_ok=False) def test_export_assets(asset_bucket, dataset, capsys): @@ -74,12 +73,14 @@ def test_export_assets(asset_bucket, dataset, capsys): content_type = asset_v1.ContentType.RESOURCE dataset_id = "projects/{}/datasets/{}".format(PROJECT, dataset) quickstart_exportassets.export_assets_bigquery( - PROJECT, dataset_id, "assettable", content_type) + PROJECT, dataset_id, "assettable", content_type + ) out, _ = capsys.readouterr() assert dataset_id in out content_type_r = asset_v1.ContentType.RELATIONSHIP quickstart_exportassets.export_assets_bigquery( - PROJECT, dataset_id, "assettable", content_type_r) + PROJECT, dataset_id, "assettable", content_type_r + ) out_r, _ = capsys.readouterr() assert dataset_id in out_r diff --git a/samples/snippets/quickstart_listassets.py b/samples/snippets/quickstart_listassets.py index 3cd29691..da1e71b5 100644 --- a/samples/snippets/quickstart_listassets.py +++ b/samples/snippets/quickstart_listassets.py @@ -69,4 +69,6 @@ def list_assets(project_id, asset_types, page_size, content_type): asset_type_list = args.asset_types.split(",") - list_assets(args.project_id, asset_type_list, int(args.page_size), args.content_type) + list_assets( + args.project_id, asset_type_list, int(args.page_size), args.content_type + ) diff --git a/samples/snippets/quickstart_listassets_test.py b/samples/snippets/quickstart_listassets_test.py index 801270d3..8060921c 100644 --- a/samples/snippets/quickstart_listassets_test.py +++ b/samples/snippets/quickstart_listassets_test.py @@ -25,12 +25,19 @@ def test_list_assets(capsys): from google.cloud import asset_v1 quickstart_listassets.list_assets( - project_id=PROJECT, asset_types=["iam.googleapis.com/Role"], page_size=10, - content_type=asset_v1.ContentType.RESOURCE) + project_id=PROJECT, + asset_types=["iam.googleapis.com/Role"], + page_size=10, + content_type=asset_v1.ContentType.RESOURCE, + ) out, _ = capsys.readouterr() assert "asset" in out quickstart_listassets.list_assets( - project_id=PROJECT, asset_types=[], page_size=10, content_type=asset_v1.ContentType.RELATIONSHIP) + project_id=PROJECT, + asset_types=[], + page_size=10, + content_type=asset_v1.ContentType.RELATIONSHIP, + ) out_r, _ = capsys.readouterr() assert "asset" in out_r diff --git a/samples/snippets/quickstart_update_saved_query.py b/samples/snippets/quickstart_update_saved_query.py index 52981399..a27d051c 100644 --- a/samples/snippets/quickstart_update_saved_query.py +++ b/samples/snippets/quickstart_update_saved_query.py @@ -34,7 +34,9 @@ def update_saved_query(saved_query_name, description): # In this example, we only update description of the saved_query. # You can update other content of the saved query. update_mask.paths.append("description") - response = client.update_saved_query(request={"saved_query": saved_query, "update_mask": update_mask}) + response = client.update_saved_query( + request={"saved_query": saved_query, "update_mask": update_mask} + ) print(f"updated_saved_query: {response}") # [END asset_quickstart_update_saved_query] diff --git a/setup.py b/setup.py index e8d05c46..c05b6b95 100644 --- a/setup.py +++ b/setup.py @@ -1,34 +1,42 @@ -# Copyright 2018 Google LLC +# -*- coding: utf-8 -*- +# Copyright 2022 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 +# http://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. - +# import io import os -import setuptools +import setuptools # type: ignore -# Package metadata. +package_root = os.path.abspath(os.path.dirname(__file__)) name = "google-cloud-asset" -description = "Cloud Asset API API client library" -version = "3.14.1" -# Should be one of: -# 'Development Status :: 3 - Alpha' -# 'Development Status :: 4 - Beta' -# 'Development Status :: 5 - Production/Stable' -release_status = "Development Status :: 5 - Production/Stable" + + +description = "Google Cloud Asset API client library" + +version = {} +with open(os.path.join(package_root, "google/cloud/asset/gapic_version.py")) as fp: + exec(fp.read(), version) +version = version["__version__"] + +if version[0] == "0": + release_status = "Development Status :: 4 - Beta" +else: + release_status = "Development Status :: 5 - Production/Stable" + dependencies = [ - "google-api-core[grpc] >= 1.32.0, <3.0.0dev,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*", + "google-api-core[grpc] >= 1.34.0, <3.0.0dev,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,!=2.10.*", "grpc-google-iam-v1 >=0.12.4, <1.0.0dev", "google-cloud-access-context-manager >= 0.1.2, <1.0.0dev", "google-cloud-org-policy>=0.1.2, <2.0.0", @@ -36,10 +44,7 @@ "proto-plus >= 1.22.0, <2.0.0dev", "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", ] - -extras = {"libcst": "libcst >= 0.2.5"} - -# Setup boilerplate below this line. +url = "https://github.com/googleapis/python-asset" package_root = os.path.abspath(os.path.dirname(__file__)) @@ -47,15 +52,12 @@ with io.open(readme_filename, encoding="utf-8") as readme_file: readme = readme_file.read() -# Only include packages under the 'google' namespace. Do not include tests, -# benchmarks, etc. packages = [ package for package in setuptools.PEP420PackageFinder.find() if package.startswith("google") ] -# Determine which namespaces are needed. namespaces = ["google"] if "google.cloud" in packages: namespaces.append("google.cloud") @@ -68,7 +70,7 @@ author="Google LLC", author_email="googleapis-packages@google.com", license="Apache 2.0", - url="https://github.com/googleapis/python-asset", + url=url, classifiers=[ release_status, "Intended Audience :: Developers", @@ -77,23 +79,16 @@ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", "Operating System :: OS Independent", "Topic :: Internet", ], platforms="Posix; MacOS X; Windows", packages=packages, + python_requires=">=3.7", namespace_packages=namespaces, install_requires=dependencies, - extras_require=extras, - python_requires=">=3.7", - scripts=[ - "scripts/fixup_asset_v1_keywords.py", - "scripts/fixup_asset_v1beta1_keywords.py", - "scripts/fixup_asset_v1p1beta1_keywords.py", - "scripts/fixup_asset_v1p2beta1_keywords.py", - "scripts/fixup_asset_v1p4beta1_keywords.py", - "scripts/fixup_asset_v1p5beta1_keywords.py", - ], include_package_data=True, zip_safe=False, ) diff --git a/testing/constraints-3.10.txt b/testing/constraints-3.10.txt index e69de29b..ad3f0fa5 100644 --- a/testing/constraints-3.10.txt +++ b/testing/constraints-3.10.txt @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +# This constraints file is required for unit tests. +# List all library dependencies and extras in this file. +google-api-core +proto-plus +protobuf +grpc-google-iam-v1 diff --git a/testing/constraints-3.11.txt b/testing/constraints-3.11.txt index e69de29b..ad3f0fa5 100644 --- a/testing/constraints-3.11.txt +++ b/testing/constraints-3.11.txt @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +# This constraints file is required for unit tests. +# List all library dependencies and extras in this file. +google-api-core +proto-plus +protobuf +grpc-google-iam-v1 diff --git a/testing/constraints-3.7.txt b/testing/constraints-3.7.txt index bb9ff58d..307e89fe 100644 --- a/testing/constraints-3.7.txt +++ b/testing/constraints-3.7.txt @@ -1,15 +1,13 @@ # This constraints file is used to check that lower bounds # are correct in setup.py -# List *all* library dependencies and extras in this file. +# List all library dependencies and extras in this file. # Pin the version to the lower bound. -# -# e.g., if setup.py has "foo >= 1.14.0, < 2.0.0dev", -# Then this file should have foo==1.14.0 -google-api-core==1.32.0 +# e.g., if setup.py has "google-cloud-foo >= 1.14.0, < 2.0.0dev", +# Then this file should have google-cloud-foo==1.14.0 +google-api-core==1.34.0 grpc-google-iam-v1==0.12.4 google-cloud-access-context-manager==0.1.2 google-cloud-org-policy==0.1.2 google-cloud-os-config==1.0.0 proto-plus==1.22.0 -libcst==0.2.5 protobuf==3.19.5 diff --git a/testing/constraints-3.8.txt b/testing/constraints-3.8.txt index e69de29b..ad3f0fa5 100644 --- a/testing/constraints-3.8.txt +++ b/testing/constraints-3.8.txt @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +# This constraints file is required for unit tests. +# List all library dependencies and extras in this file. +google-api-core +proto-plus +protobuf +grpc-google-iam-v1 diff --git a/testing/constraints-3.9.txt b/testing/constraints-3.9.txt index e69de29b..ad3f0fa5 100644 --- a/testing/constraints-3.9.txt +++ b/testing/constraints-3.9.txt @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +# This constraints file is required for unit tests. +# List all library dependencies and extras in this file. +google-api-core +proto-plus +protobuf +grpc-google-iam-v1 From 8bcae10613ea3d551bf8bc7e8ef3df348c68ec2e Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 9 Jan 2023 13:42:37 -0500 Subject: [PATCH 20/20] chore(main): release 3.15.0 (#507) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- .release-please-manifest.json | 2 +- CHANGELOG.md | 26 +++++++++++++++++++ google/cloud/asset/gapic_version.py | 2 +- google/cloud/asset_v1/gapic_version.py | 2 +- google/cloud/asset_v1p1beta1/gapic_version.py | 2 +- google/cloud/asset_v1p2beta1/gapic_version.py | 2 +- google/cloud/asset_v1p4beta1/gapic_version.py | 2 +- google/cloud/asset_v1p5beta1/gapic_version.py | 2 +- ...nippet_metadata_google.cloud.asset.v1.json | 2 +- ...metadata_google.cloud.asset.v1p1beta1.json | 2 +- ...metadata_google.cloud.asset.v1p2beta1.json | 2 +- ...metadata_google.cloud.asset.v1p5beta1.json | 2 +- 12 files changed, 37 insertions(+), 11 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 60bb6868..9c10c70f 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "3.14.1" + ".": "3.15.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 3735d4e5..16b419fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,32 @@ [1]: https://pypi.org/project/google-cloud-asset/#history +## [3.15.0](https://github.com/googleapis/python-asset/compare/v3.14.1...v3.15.0) (2023-01-07) + + +### Features + +* Add a new searchable field kmsKeys ([#506](https://github.com/googleapis/python-asset/issues/506)) ([07dd6cc](https://github.com/googleapis/python-asset/commit/07dd6ccc25d032b3fad6a0a262067b7a4fdd5f65)) +* Add support for `google.cloud.asset.__version__` ([6bad165](https://github.com/googleapis/python-asset/commit/6bad165c91a86f7d685801c99cbdf79b3b31dbaf)) +* Add typing to proto.Message based class attributes ([6bad165](https://github.com/googleapis/python-asset/commit/6bad165c91a86f7d685801c99cbdf79b3b31dbaf)) + + +### Bug Fixes + +* Add dict typing for client_options ([6bad165](https://github.com/googleapis/python-asset/commit/6bad165c91a86f7d685801c99cbdf79b3b31dbaf)) +* Deprecate searchable field kmsKey ([07dd6cc](https://github.com/googleapis/python-asset/commit/07dd6ccc25d032b3fad6a0a262067b7a4fdd5f65)) +* **deps:** Allow protobuf 3.19.5 ([#508](https://github.com/googleapis/python-asset/issues/508)) ([818abbb](https://github.com/googleapis/python-asset/commit/818abbbcbb829a726d18ba1e7e7e03f997d4256a)) +* **deps:** Require google-api-core >=1.34.0, >=2.11.0 ([6bad165](https://github.com/googleapis/python-asset/commit/6bad165c91a86f7d685801c99cbdf79b3b31dbaf)) +* Drop usage of pkg_resources ([6bad165](https://github.com/googleapis/python-asset/commit/6bad165c91a86f7d685801c99cbdf79b3b31dbaf)) +* Fix timeout default values ([6bad165](https://github.com/googleapis/python-asset/commit/6bad165c91a86f7d685801c99cbdf79b3b31dbaf)) + + +### Documentation + +* **samples:** Snippetgen handling of repeated enum field ([6bad165](https://github.com/googleapis/python-asset/commit/6bad165c91a86f7d685801c99cbdf79b3b31dbaf)) +* **samples:** Snippetgen should call await on the operation coroutine before calling result ([6bad165](https://github.com/googleapis/python-asset/commit/6bad165c91a86f7d685801c99cbdf79b3b31dbaf)) +* Small change for documentation ([6bad165](https://github.com/googleapis/python-asset/commit/6bad165c91a86f7d685801c99cbdf79b3b31dbaf)) + ## [3.14.1](https://github.com/googleapis/python-asset/compare/v3.14.0...v3.14.1) (2022-09-29) diff --git a/google/cloud/asset/gapic_version.py b/google/cloud/asset/gapic_version.py index bb82e29f..19dd3db7 100644 --- a/google/cloud/asset/gapic_version.py +++ b/google/cloud/asset/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "3.14.1" # {x-release-please-version} +__version__ = "3.15.0" # {x-release-please-version} diff --git a/google/cloud/asset_v1/gapic_version.py b/google/cloud/asset_v1/gapic_version.py index bb82e29f..19dd3db7 100644 --- a/google/cloud/asset_v1/gapic_version.py +++ b/google/cloud/asset_v1/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "3.14.1" # {x-release-please-version} +__version__ = "3.15.0" # {x-release-please-version} diff --git a/google/cloud/asset_v1p1beta1/gapic_version.py b/google/cloud/asset_v1p1beta1/gapic_version.py index bb82e29f..19dd3db7 100644 --- a/google/cloud/asset_v1p1beta1/gapic_version.py +++ b/google/cloud/asset_v1p1beta1/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "3.14.1" # {x-release-please-version} +__version__ = "3.15.0" # {x-release-please-version} diff --git a/google/cloud/asset_v1p2beta1/gapic_version.py b/google/cloud/asset_v1p2beta1/gapic_version.py index bb82e29f..19dd3db7 100644 --- a/google/cloud/asset_v1p2beta1/gapic_version.py +++ b/google/cloud/asset_v1p2beta1/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "3.14.1" # {x-release-please-version} +__version__ = "3.15.0" # {x-release-please-version} diff --git a/google/cloud/asset_v1p4beta1/gapic_version.py b/google/cloud/asset_v1p4beta1/gapic_version.py index bb82e29f..19dd3db7 100644 --- a/google/cloud/asset_v1p4beta1/gapic_version.py +++ b/google/cloud/asset_v1p4beta1/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "3.14.1" # {x-release-please-version} +__version__ = "3.15.0" # {x-release-please-version} diff --git a/google/cloud/asset_v1p5beta1/gapic_version.py b/google/cloud/asset_v1p5beta1/gapic_version.py index bb82e29f..19dd3db7 100644 --- a/google/cloud/asset_v1p5beta1/gapic_version.py +++ b/google/cloud/asset_v1p5beta1/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "3.14.1" # {x-release-please-version} +__version__ = "3.15.0" # {x-release-please-version} diff --git a/samples/generated_samples/snippet_metadata_google.cloud.asset.v1.json b/samples/generated_samples/snippet_metadata_google.cloud.asset.v1.json index 09e6bc95..5fd2c759 100644 --- a/samples/generated_samples/snippet_metadata_google.cloud.asset.v1.json +++ b/samples/generated_samples/snippet_metadata_google.cloud.asset.v1.json @@ -8,7 +8,7 @@ ], "language": "PYTHON", "name": "google-cloud-asset", - "version": "0.1.0" + "version": "3.15.0" }, "snippets": [ { diff --git a/samples/generated_samples/snippet_metadata_google.cloud.asset.v1p1beta1.json b/samples/generated_samples/snippet_metadata_google.cloud.asset.v1p1beta1.json index dcbeb822..cc609d8a 100644 --- a/samples/generated_samples/snippet_metadata_google.cloud.asset.v1p1beta1.json +++ b/samples/generated_samples/snippet_metadata_google.cloud.asset.v1p1beta1.json @@ -8,7 +8,7 @@ ], "language": "PYTHON", "name": "google-cloud-asset", - "version": "0.1.0" + "version": "3.15.0" }, "snippets": [ { diff --git a/samples/generated_samples/snippet_metadata_google.cloud.asset.v1p2beta1.json b/samples/generated_samples/snippet_metadata_google.cloud.asset.v1p2beta1.json index 38eaede8..2830003b 100644 --- a/samples/generated_samples/snippet_metadata_google.cloud.asset.v1p2beta1.json +++ b/samples/generated_samples/snippet_metadata_google.cloud.asset.v1p2beta1.json @@ -8,7 +8,7 @@ ], "language": "PYTHON", "name": "google-cloud-asset", - "version": "0.1.0" + "version": "3.15.0" }, "snippets": [ { diff --git a/samples/generated_samples/snippet_metadata_google.cloud.asset.v1p5beta1.json b/samples/generated_samples/snippet_metadata_google.cloud.asset.v1p5beta1.json index 14cc28d9..012f1b5b 100644 --- a/samples/generated_samples/snippet_metadata_google.cloud.asset.v1p5beta1.json +++ b/samples/generated_samples/snippet_metadata_google.cloud.asset.v1p5beta1.json @@ -8,7 +8,7 @@ ], "language": "PYTHON", "name": "google-cloud-asset", - "version": "0.1.0" + "version": "3.15.0" }, "snippets": [ { pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy