feat(docs): add devsite-help and snippets for Retries, Update Masks, and OCC#15308
feat(docs): add devsite-help and snippets for Retries, Update Masks, and OCC#15308
Conversation
Summary of ChangesHello @bshaffer, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly enhances the documentation for Google Cloud .NET client libraries by introducing three new guides focused on advanced usage patterns. These guides cover Optimistic Concurrency Control for IAM policies, flexible retry and timeout configurations, and efficient partial resource updates using update masks. Each guide is complemented by practical C# code snippets, providing developers with clear instructions and examples to implement these critical features effectively. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
|
Pull request diff results |
There was a problem hiding this comment.
Code Review
This pull request adds valuable documentation and examples for Retries, Update Masks, and Optimistic Concurrency Control for IAM. The documentation content is clear and well-structured. However, all the new C# code snippets contain several compilation errors that need to be addressed. These include incorrect async method signatures, use of an undefined _fixture variable, a missing semicolon, and unused using directives. I've left specific comments with suggestions to fix these issues. Once these are resolved, the snippets will be great examples for users.
ad64163 to
cd55d59
Compare
|
Pull request diff results |
amanda-tarafa
left a comment
There was a problem hiding this comment.
Let me know how I can help.
| string projectId = "your-project-id"; | ||
| string secretId = "test-secret"; |
There was a problem hiding this comment.
So that this is run, these need to come from the fixture.
There was a problem hiding this comment.
There is no secret in the fixture, should I add a _fixture.CreateSecret()?
amanda-tarafa
left a comment
There was a problem hiding this comment.
Let me know if you prefer I do the finishing touches.
| @@ -0,0 +1,22 @@ | |||
| # Optimistic Concurrency Control (OCC) for IAM | |||
There was a problem hiding this comment.
Can't find the other comment but yes, I think it'd be best to refer to IAM as an example only and remove it from anywhere that's general (the titles and file names etc.) and could imply that OCC only applies to IAM resources.
| string role = "roles/cloudkms.cryptoKeyEncrypterDecrypter"; | ||
| string member = "user:betterbrent@google.com"; |
There was a problem hiding this comment.
Thinking about this more, there are a couple of things that might be a problem here:
- We are changing permissions on the project that we run tests in, and we have automation for maintaining permissions on it, that will complain about these changes.
- It's OK to harcode these values, but we should use more inocuos roles and less specific members.
Because we can already create/destroy topics on the fixture, what about if we use the Pub/Sub Publisher client instead to update the IAM policy on the topic, and we can set the viewer role on the topic for "domain:google.com"?
Let me know if you'd prefer me to work on that one.
There was a problem hiding this comment.
Without knowing more about the way these tests are set up, I can't say I follow what the issue is we're trying to solve or how to solve it. If these are changes you feel like you could do easily instead, please do so!
| public void UpdateMasks() | ||
| { | ||
| string projectId = _fixture.ProjectId;; | ||
| string secretId = "test-secret"; |
There was a problem hiding this comment.
We don't have a test-secret so this will fail. Either we create and destroy a secret on the fixture, or we change this example to use a Pub/Sub topic and use the utilities that we already have on the fixture.
There was a problem hiding this comment.
Either way works for me, just let me know which you prefer (and maybe some guidance for how to set it up)
amanda-tarafa
left a comment
There was a problem hiding this comment.
I'll take it from here for the changes in the tests. Thanks!!!
And I'll send it for you to review once I've done that.
I followed the examples of other pages in
docs/devsite-help, but it's quite possible I'm missing a critical aspect. I also am not sure how these will be tested.I ran all samples locally to verify they worked but please take a look and review