Skip to content

Conversation

@amanda-tarafa
Copy link
Contributor

Changes in this PR will be published to Nuget on the next release cycle.

@amanda-tarafa amanda-tarafa requested a review from a team as a code owner January 26, 2026 09:08
@gemini-code-assist
Copy link

Summary of Changes

Hello @amanda-tarafa, 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 integrates the latest API discovery documents across a wide array of Google Cloud services. The updates bring new functionalities, improve existing API definitions for better developer experience, and ensure consistency in terminology and resource management. The changes reflect ongoing evolution in Google Cloud's offerings, from core infrastructure to specialized services like AI and security.

Highlights

  • New API Introductions: Two new APIs, hypercomputecluster.v1 and threatintelligence.v1beta, have been added to the client libraries, expanding the range of Google Cloud services available.
  • API Schema Enhancements: Existing API schemas across multiple services have been updated with new fields and refined descriptions. Notable additions include allowedDaysWithoutUpdate in androidmanagement.v1, documentPrompt in documentai.v1, and extensive new schemas for correlation and auto-labeling in contactcenterinsights.v1.
  • Improved Clarity and Consistency: Many API descriptions have been revised for better clarity and consistency. This includes changing 'GCP project' to 'Google Cloud project' in apihub.v1, clarifying resource name formats, and updating descriptions for network configurations and polling intervals in datastream.v1.
  • Advanced Inspection Rules for DLP: The dlp.v2 API now includes advanced inspection rules for image findings, introducing new schemas like AdjustByImageFindings, AdjustmentRule, and ImageContainmentType to enable more granular control over sensitive data detection in images.
  • Instance Management in Cloud Run: Both run.v1 and run.v2 APIs have gained comprehensive instance management capabilities, including methods for creating, deleting, getting, listing, starting, and stopping instances, along with associated IAM policy management.
  • Tagging and Operations Management: The memcache.v1 API now supports getTags and setTags methods for resource tagging, and storagebatchoperations.v1 introduces bucketOperations for managing bucket-level batch tasks, enhancing operational control and visibility.
Using Gemini Code Assist

The 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 /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@jskeet jskeet merged commit 3afd3b0 into main Jan 26, 2026
6 checks passed
@jskeet jskeet deleted the release-2026-01-26.09-02-39 branch January 26, 2026 09:38
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request primarily consists of API regeneration changes, including new fields, schemas, and updated descriptions across various services. There are also updates to copyright years and package versions in the generated C# client libraries. Most changes are minor descriptive improvements or additions of new API surface. However, there are a few notable changes that impact API contracts and usage, which are highlighted in the specific review comments.

Comment on lines +186 to 313
"global": {
"resources": {
"operations": {
"methods": {
"cancel": {
"description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.",
"flatPath": "v1/organizations/{organizationsId}/locations/global/operations/{operationsId}:cancel",
"httpMethod": "POST",
"id": "networkmanagement.organizations.locations.global.operations.cancel",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource to be cancelled.",
"location": "path",
"pattern": "^organizations/[^/]+/locations/global/operations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}:cancel",
"request": {
"$ref": "CancelOperationRequest"
},
"response": {
"$ref": "Empty"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"pageSize": {
"description": "The standard list page size.",
"format": "int32",
"location": "query",
"type": "integer"
"delete": {
"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
"flatPath": "v1/organizations/{organizationsId}/locations/global/operations/{operationsId}",
"httpMethod": "DELETE",
"id": "networkmanagement.organizations.locations.global.operations.delete",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource to be deleted.",
"location": "path",
"pattern": "^organizations/[^/]+/locations/global/operations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "Empty"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"pageToken": {
"description": "The standard list page token.",
"location": "query",
"type": "string"
"get": {
"description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
"flatPath": "v1/organizations/{organizationsId}/locations/global/operations/{operationsId}",
"httpMethod": "GET",
"id": "networkmanagement.organizations.locations.global.operations.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "The name of the operation resource.",
"location": "path",
"pattern": "^organizations/[^/]+/locations/global/operations/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "Operation"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"returnPartialSuccess": {
"description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.",
"location": "query",
"type": "boolean"
"list": {
"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
"flatPath": "v1/organizations/{organizationsId}/locations/global/operations",
"httpMethod": "GET",
"id": "networkmanagement.organizations.locations.global.operations.list",
"parameterOrder": [
"name"
],
"parameters": {
"filter": {
"description": "The standard list filter.",
"location": "query",
"type": "string"
},
"name": {
"description": "The name of the operation's parent resource.",
"location": "path",
"pattern": "^organizations/[^/]+/locations/global$",
"required": true,
"type": "string"
},
"pageSize": {
"description": "The standard list page size.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "The standard list page token.",
"location": "query",
"type": "string"
},
"returnPartialSuccess": {
"description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.",
"location": "query",
"type": "boolean"
}
},
"path": "v1/{+name}/operations",
"response": {
"$ref": "ListOperationsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}

Choose a reason for hiding this comment

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

high

The resource path for operations has been changed from being location-specific (organizations/{organizationsId}/locations/{locationsId}/operations) to a global scope (organizations/{organizationsId}/locations/global/operations). This is a significant change in the API's resource hierarchy and could be a breaking change for existing clients that expect operations to be nested under a specific location. It's important to ensure this change is intentional and communicated clearly to API consumers.

Comment on lines +10278 to +10280
/// <summary>
/// Optional. The peer database name to switch over to. Required for cross-region standby, and must be omitted
/// for in-region Data Guard.

Choose a reason for hiding this comment

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

high

The PeerAutonomousDatabase field in SwitchoverAutonomousDatabaseRequest has changed from Required to Optional, with additional conditions for when it is required or must be omitted. This is a breaking change for clients that might have relied on it always being required. Ensure this change is well-documented and communicated to API consumers.

Comment on lines +9023 to +9025
/// <summary>
/// Optional. The peer database name to fail over to. Required for cross-region standby, and must be omitted for
/// in-region Data Guard.

Choose a reason for hiding this comment

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

high

The PeerAutonomousDatabase field in FailoverAutonomousDatabaseRequest has changed from Required to Optional, with additional conditions for when it is required or must be omitted. This is a breaking change for clients that might have relied on it always being required. Ensure this change is well-documented and communicated to API consumers.

Comment on lines +299 to 300
Global = new GlobalResource(service);
VpcFlowLogsConfigs = new VpcFlowLogsConfigsResource(service);

Choose a reason for hiding this comment

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

high

The Operations resource has been moved under a Global sub-resource. This refactoring changes the API path for operations, which could lead to breaking changes for existing client code. It's crucial to ensure that this change is intentional and that client libraries are updated accordingly to reflect the new hierarchy.

Comment on lines +7088 to 7089
"description": "Optional. The peer database name to switch over to. Required for cross-region standby, and must be omitted for in-region Data Guard.",
"type": "string"

Choose a reason for hiding this comment

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

high

The peerAutonomousDatabase field in SwitchoverAutonomousDatabaseRequest has changed from Required to Optional, with additional conditions for when it is required or must be omitted. This is a breaking change for clients that might have relied on it always being required. Ensure this change is well-documented and communicated to API consumers.

Comment on lines +6824 to 6825
/// <summary>Optional. Immutable. The private endpoint label for the Autonomous Database.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("privateEndpointLabel")]

Choose a reason for hiding this comment

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

medium

The PrivateEndpointLabel property is now marked as Immutable. This is an important clarification of the API contract, indicating that this field cannot be changed after creation. This improves API predictability and maintainability for consumers.

Comment on lines +6844 to 6845
/// <summary>Optional. Immutable. The ID of the Oracle Cloud Infrastructure vault secret.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("secretId")]

Choose a reason for hiding this comment

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

medium

The SecretId property is now marked as Immutable. This is an important clarification of the API contract, indicating that this field cannot be changed after creation. This improves API predictability and maintainability for consumers.

Comment on lines +6879 to 6880
/// <summary>Optional. Immutable. The ID of the Oracle Cloud Infrastructure vault.</summary>
[Newtonsoft.Json.JsonPropertyAttribute("vaultId")]

Choose a reason for hiding this comment

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

medium

The VaultId property is now marked as Immutable. This is an important clarification of the API contract, indicating that this field cannot be changed after creation. This improves API predictability and maintainability for consumers.

Comment on lines +2509 to 2510
"description": "Optional. Immutable. The subnet CIDR range for the Autonomous Database.",
"type": "string"

Choose a reason for hiding this comment

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

medium

The cidr property is now marked as Immutable. This is an important clarification of the API contract, indicating that this field cannot be changed after creation. This improves API predictability and maintainability for consumers.

Comment on lines +2505 to 2506
"description": "Optional. Immutable. The password for the default ADMIN user.",
"type": "string"

Choose a reason for hiding this comment

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

medium

The adminPassword property is now marked as Immutable. This is an important clarification of the API contract, indicating that this field cannot be changed after creation. This improves API predictability and maintainability for consumers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants