Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Use parent type instead of child_type in method doc sample #862

Merged
merged 8 commits into from Nov 3, 2021

Conversation

meltsufin
Copy link
Member

Fixes: #852.

@product-auto-label product-auto-label bot added the samples Issues that are directly related to samples. label Oct 20, 2021
@google-cla google-cla bot added the cla: yes This human has signed the Contributor License Agreement. label Oct 20, 2021
@meltsufin meltsufin changed the title fix: User parent type instead of child_type in method doc sample fix: Use parent type instead of child_type in method doc sample Oct 20, 2021
@codecov
Copy link

codecov bot commented Oct 20, 2021

Codecov Report

Merging #862 (8c8ab88) into main (64d8374) will increase coverage by 0.05%.
The diff coverage is 94.28%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #862      +/-   ##
==========================================
+ Coverage   87.59%   87.65%   +0.05%     
==========================================
  Files         152      153       +1     
  Lines       15982    16000      +18     
  Branches     1162     1168       +6     
==========================================
+ Hits        14000    14025      +25     
+ Misses       1641     1634       -7     
  Partials      341      341              
Impacted Files Coverage Δ
...google/api/generator/gapic/protoparser/Parser.java 45.11% <50.00%> (-0.08%) ⬇️
...ic/composer/defaultvalue/DefaultValueComposer.java 82.94% <94.44%> (+0.53%) ⬆️
...er/samplecode/ServiceClientSampleCodeComposer.java 99.28% <100.00%> (+<0.01%) ⬆️
...tor/gapic/protoparser/ResourceReferenceParser.java 80.26% <100.00%> (+7.22%) ⬆️
.../generator/gapic/utils/ResourceReferenceUtils.java 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 64d8374...8c8ab88. Read the comment docs.

Copy link
Contributor

@vam-google vam-google left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM in substance, but please address the two concerns first:

  1. Make it clear that the fix is not complete in a sense that the samples for non-flattened methods are still broken, as well as any potential flattened methods with more than one resource name input )
  2. Please strongly consider modifying the testing approach.

@meltsufin meltsufin marked this pull request as ready for review October 26, 2021 02:41
@meltsufin meltsufin requested review from miraleung and a team as code owners October 26, 2021 02:41
@meltsufin
Copy link
Member Author

Make it clear that the fix is not complete in a sense that the samples for non-flattened methods are still broken, as well as any potential flattened methods with more than one resource name input )

@vam-google Can you point to some examples please?

Please strongly consider modifying the testing approach.

The datastream was never intended to stay. It was there just to work on the PR. I did follow your suggestion to use messaging.proto. It has pretty nice coverage for this issue.

I decided to make the condition a bit more flexible to allow the case of multiple parents, in which case we just choose the first one.

Please take another look. Thanks!

@chanseokoh
Copy link
Contributor

in which case we just choose the first one

I may be talking something different, but isn't it that we need to choose the best match (the longest match) when there are multiple parent candidates?

@meltsufin
Copy link
Member Author

in which case we just choose the first one

I may be talking something different, but isn't it that we need to choose the best match (the longest match) when there are multiple parent candidates?

I don't think that's specified. Have you seen that somewhere?

@meltsufin meltsufin requested a review from a team as a code owner October 29, 2021 18:47
Copy link
Contributor

@vam-google vam-google left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM to unblock things. There are two non-blocking concerns though (check the corresponding comments for details):

  1. Extra util class, with logic which hopefully can be kept in the parser class
  2. The parseParentPattern method logic is probably no accurate (but it was like that before this PR).

@@ -881,7 +881,11 @@ static String parsePageSizeFieldName(
// with monolith-gnerated libraries.
String pagedFieldName = null;

if (inputMessage.fieldMap().containsKey("page_token")
if (inputMessage != null
&& inputMessage.fieldMap() != null
Copy link
Contributor

@vam-google vam-google Nov 1, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why did this if statement get so much bigger? Specifically, looks like inputMessage.fieldMap() was guaranteed to not be null (as we would get NPE otherwise).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point on fieldMap() being non-nullible. However, inputMessage can be null as the new messaging test revealed.

@@ -0,0 +1,49 @@
// Copyright 2020 Google LLC
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2021

import java.util.Arrays;
import java.util.Optional;

public final class ResourceReferenceUtils {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tl;dr; can we keep this in parser class?

It seems we can avoid creating a new util class for this:
It is one-method util class.
The only method is called parse* and we already have ResourceReferenceParser class, so it is hard to justify presence of ResourceReferenceUtils which does the parser's job.
I guess it is so because this new parse method is now used in two places - ResourceReferenceParser and DefaultValueComposer.

WDYT about keeping the parser method in parser class, but make the parent-child resolution logic persisted in ResourceName class (or another/new data structure returned by the parser class) and make the parser class precompute everything only once. If parent-child resolutin is not a property of a resource name but a property of an rpc method using that resource name, then it is not clear why that logic is still called in resource name parser class.

Map<String, ResourceName> identityResourceNames = Parser
.parseResourceNames(identityFileDescriptor);

resourceNames.put("showcase.googleapis.com/User",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this needed? If there is stuff in the messaging.proto file, which just causes troubles but is not essential for the tests, please feel free to remove it. If there are missing imports please just add them on proot/bazel lavel.
Basically any API definition problems are expected to be solved on proto level, but not in the logic which loads/parse the protos.

@@ -16,7 +16,6 @@ syntax = "proto3";

import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/cloud/extended_operations.proto";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please put it back. It will be needed soon, even though it is technically not used now.

List<ResourceName> resnames,
String fieldOrMessageName,
boolean allowAnonResourceNameClass) {

if (isChildType) {
resourceName = findParentResource(resourceName, resnames).orElse(resourceName);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does the orElse part mean that if we did not manage to find a parent, the code will behave as before, basically meaning that the child is its own parent?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep. Do you think we should fail instead?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, just wanted to make sure I understood it right.

}

for (String childPattern : childResource.patterns()) {
Optional<String> parentPattern = ResourceReferenceUtils.parseParentPattern(childPattern);
Copy link
Contributor

@vam-google vam-google Nov 1, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*Please see the other comment in ResourceReferenceUtils class for context

I could be missing some more complicated interactions, but at first glance:
ResourceReferenceUtils.parseParentPattern(childPattern) is called for every pattern in childResource which is of type ResourceName, created by ResourceReferenceParser. So instead of computing the parentPattern portion here, it may be precomputed and included in ResourceName class itself, which is constructed in ResourceReferenceParser, thus eliminating the need to have the utils class.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As far as I can tell, ResourceReferenceUtils.parseParentPattern(childPattern) is only called by MethodSigantureParser and by Parser, but only for Google Ads API. So, I don't see a straightforward way to include the mapping to the parent in the ResourceName itself, especially since the class is immutable, and you need to have access to all ResourceNames before computing the mapping from child to parent.

resourceName, isChildType, resnames, fieldOrMessageName, true);
}

private static Optional<ResourceName> findParentResource(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this whole thing be included in ResourceReferenceParser class? This seems like a general resource names resolution logic, not necessarily specific to sample generation.


private ResourceReferenceUtils() {}

public static Optional<String> parseParentPattern(String pattern) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This logic was there before, but it does not look accurate, as it makes many different assumption, which may be false.

for examle, if there is a pattern /a/{b}/c/e/{f}
when we search for its parent we must check at least 3 possible cases:

/a/{b}/c/e/{f}  - child
/a/{b}/c/e      - parent candidate 1
/a/{b}/c        - parent candidate 2 (if 1 did not match anything)
/a/{b}          - parent candidate 3 (if neither 1 nor 2 matched anything)

Instead this logic always returns only one candidate. Not sure how many (if any) practical cases we have which the current implementation would not satisfy. I guess it is ok to keep the implementaiton as is for now, but maybe put a comment/request for refactoring it.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's true, but according to https://google.aip.dev/122, this example is not a recommended pattern.

Resource name components should usually alternate between collection identifiers (example: publishers, books, users) and resource IDs (example: 123, les-miserables, vhugo1802).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, but if it was guaranteed they would phrase it as "must" in the AIP. I think it is ok to keep the implementation as is, since it is beyond the scope of this PR, just maybe add a comment about it.

@meltsufin meltsufin merged commit 6a39c7f into main Nov 3, 2021
@meltsufin meltsufin deleted the fix_method_doc_child_type branch November 3, 2021 01:37
suztomo pushed a commit that referenced this pull request Mar 21, 2023
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.api.grpc:grpc-google-iam-v1](https://togithub.com/googleapis/java-iam/grpc-google-iam-v1) ([source](https://togithub.com/googleapis/java-iam)) | `1.6.3` -> `1.6.4` | [![age](https://badges.renovateapi.com/packages/maven/com.google.api.grpc:grpc-google-iam-v1/1.6.4/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.api.grpc:grpc-google-iam-v1/1.6.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.api.grpc:grpc-google-iam-v1/1.6.4/compatibility-slim/1.6.3)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.api.grpc:grpc-google-iam-v1/1.6.4/confidence-slim/1.6.3)](https://docs.renovatebot.com/merge-confidence/) |
| [com.google.api.grpc:proto-google-iam-v1](https://togithub.com/googleapis/java-iam/proto-google-iam-v1) ([source](https://togithub.com/googleapis/java-iam)) | `1.6.3` -> `1.6.4` | [![age](https://badges.renovateapi.com/packages/maven/com.google.api.grpc:proto-google-iam-v1/1.6.4/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.api.grpc:proto-google-iam-v1/1.6.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.api.grpc:proto-google-iam-v1/1.6.4/compatibility-slim/1.6.3)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.api.grpc:proto-google-iam-v1/1.6.4/confidence-slim/1.6.3)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>googleapis/java-iam</summary>

### [`v1.6.4`](https://togithub.com/googleapis/java-iam/blob/HEAD/CHANGELOG.md#&#8203;164-httpsgithubcomgoogleapisjava-iamcomparev163v164-2022-10-10)

[Compare Source](https://togithub.com/googleapis/java-iam/compare/v1.6.3...v1.6.4)

##### Dependencies

-   Update dependency com.google.cloud:google-iam-policy to v1.6.3 ([#&#8203;472](https://togithub.com/googleapis/java-iam/issues/472)) ([8f911be](https://togithub.com/googleapis/java-iam/commit/8f911bef57b66ab9dd092ed7912702c038e8565e))

</details>

---

### 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.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->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/java-shared-dependencies).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4yMzAuMCIsInVwZGF0ZWRJblZlciI6IjMyLjIzMC4wIn0=-->
suztomo pushed a commit that referenced this pull request Mar 21, 2023
🤖 I have created a release *beep* *boop*
---


## [3.0.5](https://togithub.com/googleapis/java-shared-dependencies/compare/v3.0.4...v3.0.5) (2022-10-20)


### Dependencies

* Update dependency com.fasterxml.jackson:jackson-bom to v2.13.4.20221013 ([#868](https://togithub.com/googleapis/java-shared-dependencies/issues/868)) ([5c2a825](https://togithub.com/googleapis/java-shared-dependencies/commit/5c2a825c18af61784287dd41eba3a21be80bbe6b))
* Update dependency com.google.auth:google-auth-library-bom to v1.12.0 ([#870](https://togithub.com/googleapis/java-shared-dependencies/issues/870)) ([3e3a60d](https://togithub.com/googleapis/java-shared-dependencies/commit/3e3a60dfd45f08401ee3ac7a98007fae21d5bba6))
* Update dependency com.google.auth:google-auth-library-bom to v1.12.1 ([#871](https://togithub.com/googleapis/java-shared-dependencies/issues/871)) ([4d94c75](https://togithub.com/googleapis/java-shared-dependencies/commit/4d94c753b46d7f8c787b0efa21d7bc42b1ca1c6c))
* Update dependency com.google.cloud:grpc-gcp to v1.3.0 ([#867](https://togithub.com/googleapis/java-shared-dependencies/issues/867)) ([48ca222](https://togithub.com/googleapis/java-shared-dependencies/commit/48ca222a5e4d9f88737d4c4a4ee2a42a7145619e))
* Update dependency com.google.errorprone:error_prone_annotations to v2.16 ([#865](https://togithub.com/googleapis/java-shared-dependencies/issues/865)) ([d7a494d](https://togithub.com/googleapis/java-shared-dependencies/commit/d7a494dcd12a529121b74fd9fb9dfc679017f844))
* Update dependency com.google.protobuf:protobuf-bom to v3.21.8 ([#872](https://togithub.com/googleapis/java-shared-dependencies/issues/872)) ([ebe5d5f](https://togithub.com/googleapis/java-shared-dependencies/commit/ebe5d5f27dbe4f12c06d3a69c14c74bbf4e76dd1))
* Update dependency gcp-releasetool to v1.8.10 ([#853](https://togithub.com/googleapis/java-shared-dependencies/issues/853)) ([5c6367a](https://togithub.com/googleapis/java-shared-dependencies/commit/5c6367a643f491d2ec04be58c1ff0eca5aa10904))
* Update dependency google-api-core to v2.10.2 ([#858](https://togithub.com/googleapis/java-shared-dependencies/issues/858)) ([bc91e8d](https://togithub.com/googleapis/java-shared-dependencies/commit/bc91e8df54f9d919a9e0dc69e61d52fd855a8dbf))
* Update dependency io.grpc:grpc-bom to v1.50.0 ([#866](https://togithub.com/googleapis/java-shared-dependencies/issues/866)) ([50039f4](https://togithub.com/googleapis/java-shared-dependencies/commit/50039f41bfba37e65685c4a5b279d3cb2a92f2c5))
* Update dependency io.grpc:grpc-bom to v1.50.1 ([#873](https://togithub.com/googleapis/java-shared-dependencies/issues/873)) ([9fb1561](https://togithub.com/googleapis/java-shared-dependencies/commit/9fb15613976f83c5545e2b664c488e9811c1f185))
* Update dependency org.checkerframework:checker-qual to v3.26.0 ([#852](https://togithub.com/googleapis/java-shared-dependencies/issues/852)) ([1e8cd60](https://togithub.com/googleapis/java-shared-dependencies/commit/1e8cd609b3be0cdd748a8fea6bc0fcb15d8f4c96))
* Update dependency org.threeten:threetenbp to v1.6.3 ([#869](https://togithub.com/googleapis/java-shared-dependencies/issues/869)) ([e992190](https://togithub.com/googleapis/java-shared-dependencies/commit/e9921900ec590e281b5ae6e16ab51e7bd67c1242))
* Update dependency typing-extensions to v4.4.0 ([#854](https://togithub.com/googleapis/java-shared-dependencies/issues/854)) ([c909a13](https://togithub.com/googleapis/java-shared-dependencies/commit/c909a13fa626eb387c8ee87b7cc22607cb9cf889))
* Update dependency zipp to v3.9.0 ([#859](https://togithub.com/googleapis/java-shared-dependencies/issues/859)) ([971b84e](https://togithub.com/googleapis/java-shared-dependencies/commit/971b84eb801699b585cd35300bed8d4fb65046d8))
* Update gax.version to v2.19.4 ([#875](https://togithub.com/googleapis/java-shared-dependencies/issues/875)) ([2eb7f3d](https://togithub.com/googleapis/java-shared-dependencies/commit/2eb7f3d6cf834c474dcdc99740f8cdabf50bca51))
* Update google.core.version to v2.8.21 ([#861](https://togithub.com/googleapis/java-shared-dependencies/issues/861)) ([2fda421](https://togithub.com/googleapis/java-shared-dependencies/commit/2fda4213796df086450fdc3d69d53a0bd1d59f46))
* Update google.core.version to v2.8.22 ([#879](https://togithub.com/googleapis/java-shared-dependencies/issues/879)) ([e4f9f9a](https://togithub.com/googleapis/java-shared-dependencies/commit/e4f9f9ad6373fb52c069985ca4390663ccdacb7d))
* Update iam.version to v1.6.3 ([#857](https://togithub.com/googleapis/java-shared-dependencies/issues/857)) ([6758373](https://togithub.com/googleapis/java-shared-dependencies/commit/675837378642f39fe55c0e30b62755b9185bee3d))
* Update iam.version to v1.6.4 ([#862](https://togithub.com/googleapis/java-shared-dependencies/issues/862)) ([1e1bc34](https://togithub.com/googleapis/java-shared-dependencies/commit/1e1bc341c9dd0f8f5a2d14aa8dd52399b2ce71c1))

---
This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please).
suztomo pushed a commit that referenced this pull request Mar 21, 2023
….5.0 (#862)

[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.api.grpc:proto-google-iam-v1](https://togithub.com/googleapis/java-iam) | `1.4.1` -> `1.5.0` | [![age](https://badges.renovateapi.com/packages/maven/com.google.api.grpc:proto-google-iam-v1/1.5.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.api.grpc:proto-google-iam-v1/1.5.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.api.grpc:proto-google-iam-v1/1.5.0/compatibility-slim/1.4.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.api.grpc:proto-google-iam-v1/1.5.0/confidence-slim/1.4.1)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>googleapis/java-iam</summary>

### [`v1.5.0`](https://togithub.com/googleapis/java-iam/blob/HEAD/CHANGELOG.md#&#8203;150-httpsgithubcomgoogleapisjava-iamcomparev141v150-2022-06-30)

[Compare Source](https://togithub.com/googleapis/java-iam/compare/v1.4.1...v1.5.0)

##### Features

-   add v2beta client ([#&#8203;364](https://togithub.com/googleapis/java-iam/issues/364)) ([0904baa](https://togithub.com/googleapis/java-iam/commit/0904baa7be7dda2b0c8ec9e68ade548d173761fd))

##### Dependencies

-   update dependency com.google.cloud:google-cloud-shared-dependencies to v2.13.0 ([#&#8203;367](https://togithub.com/googleapis/java-iam/issues/367)) ([ece5f7d](https://togithub.com/googleapis/java-iam/commit/ece5f7dda5fcba488f1416593114ba6ab8ab31ef))
-   update dependency com.google.protobuf:protobuf-java to v3.21.2 ([#&#8203;368](https://togithub.com/googleapis/java-iam/issues/368)) ([64b6349](https://togithub.com/googleapis/java-iam/commit/64b6349880792f3a534aa879ca1f0044d25603be))

</details>

---

### 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.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->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/java-core).
suztomo pushed a commit that referenced this pull request Mar 21, 2023
🤖 I have created a release *beep* *boop*
---


## [2.8.2](googleapis/java-core@v2.8.1...v2.8.2) (2022-07-13)


### Bug Fixes

* enable longpaths support for windows test ([#1485](https://github.com/googleapis/java-core/issues/1485)) ([#866](googleapis/java-core#866)) ([8a8ac99](googleapis/java-core@8a8ac99))


### Dependencies

* update dependency com.google.api-client:google-api-client-bom to v1.35.2 ([#859](googleapis/java-core#859)) ([6b51a1c](googleapis/java-core@6b51a1c))
* update dependency com.google.api:gax-bom to v2.18.3 ([#860](googleapis/java-core#860)) ([f5a5278](googleapis/java-core@f5a5278))
* update dependency com.google.api.grpc:proto-google-common-protos to v2.9.1 ([#855](googleapis/java-core#855)) ([4ec6635](googleapis/java-core@4ec6635))
* update dependency com.google.api.grpc:proto-google-iam-v1 to v1.5.0 ([#862](googleapis/java-core#862)) ([19aebbe](googleapis/java-core@19aebbe))
* update dependency com.google.http-client:google-http-client-bom to v1.42.1 ([#861](googleapis/java-core#861)) ([4d7548b](googleapis/java-core@4d7548b))

---
This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes This human has signed the Contributor License Agreement. samples Issues that are directly related to samples.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Method documentation uses child_type resource instead of parent resource in examples
3 participants