diff --git a/.agents/skills/new-client-library-generator/SKILL.md b/.agents/skills/new-client-library-generator/SKILL.md deleted file mode 100644 index d333fdda1576..000000000000 --- a/.agents/skills/new-client-library-generator/SKILL.md +++ /dev/null @@ -1,124 +0,0 @@ ---- -name: new-client-library-generator -description: Generates new Google Cloud Java client libraries by processing service information and updating the hermetic build configuration. Use this skill when tasked with onboarding a new service or version to the google-cloud-java repository. ---- - -# New Client Library Generator - -This skill automates the process of adding a new client library to the `google-cloud-java` repository using the hermetic build system. It retrieves service information from a Buganizer ticket (which links to a Service YAML file) and runs the configuration script to update `generation_config.yaml`. - -## Workflow - -### 1. Retrieve Service Information from Buganizer - -Use the available Buganizer MCP server to fetch the ticket content. The ticket will contain a link to a Service YAML file. Parse this YAML file to extract the fields below. - -> [!IMPORTANT] -> Not all fields in the Service YAML file may exist. You must ensure that all **Required** fields are identified and populated before executing the generation script. - -**Required:** -- `api_shortname`: Unique service identifier (e.g., `alloydb`). -- `name_pretty`: Human-friendly name (e.g., `AlloyDB API`). -- `proto_path`: Versioned path to protos (e.g., `google/cloud/alloydb/v1`). Must include the version component — root-level paths like `google/cloud/alloydb` are not supported. -- `product_docs`: Product documentation URL (must start with `https://`). -- `api_description`: First sentence of the service summary. - -**Optional:** -- `rest_docs`: REST reference documentation URL. -- `rpc_docs`: RPC/proto reference documentation URL. -- `library_name`: Override the default `java-` directory name. -- `distribution_name`: Override Maven coordinates (default: `com.google.cloud:google-cloud-`). - -For the field-to-flag mapping, see [references/service_yaml_mapping.md](references/service_yaml_mapping.md) (Service YAML fields → script flags). - -### 2. Check for Conflicts - -Before running the script, verify `api_shortname` is not already in use: - -```bash -grep "api_shortname: " generation_config.yaml -``` - -If a conflict exists, determine a unique name or use `--library-name` to set a distinct directory. See [references/generation_guide.md](references/generation_guide.md) for examples. - -### 3. Special Cases - -Some APIs require non-default Maven coordinates and `api_shortname` values: - -| Proto path prefix | `--api-shortname` | `--distribution-name` | -|---------------------|------------------------------|----------------------------------------------------------| -| `google/maps/*` | `maps-` | `com.google.maps:google-maps-` | -| `google/shopping/*` | `shopping-` | `com.google.shopping:google-shopping-` | - -where `` is the value from the Service YAML. - -### 4. Execution - -#### Adding a new library - -If the library does not exist yet, run the script with the gathered information: - -```bash -python3 generation/new_client_hermetic_build/add-new-client-config.py add-new-library \ - --api-shortname="[API_SHORTNAME]" \ - --name-pretty="[NAME_PRETTY]" \ - --proto-path="[PROTO_PATH]" \ - --product-docs="[PRODUCT_DOCS]" \ - --api-description="[API_DESCRIPTION]" \ - [OPTIONAL_FLAGS] -``` - -The script modifies `generation_config.yaml` and sorts the `libraries` list alphabetically. - -To see all available flags: -```bash -python3 generation/new_client_hermetic_build/add-new-client-config.py add-new-library --help -``` - -#### Adding a new version to an existing library - -If the client library module already exists and the request is to add a new version, do NOT run the script. Instead, manually add the corresponding `proto_path` for the new version to the `GAPICs` list of the existing library entry in `generation_config.yaml`. - -Example entry update: -```yaml -- api_shortname: myapi - ... - GAPICs: - - proto_path: google/cloud/myapi/v1 - - proto_path: google/cloud/myapi/v2 # Manually added -``` - -### 5. Verification - -After execution or manual update: -1. Confirm `generation_config.yaml` has a new or updated entry with the correct fields. See [references/generation_config_schema.md](references/generation_config_schema.md). -2. Confirm `proto_path` under `GAPICs` includes a version component (e.g., `v1`, `v1beta`, `v1alpha`). -3. Confirm `product_documentation` starts with `https://`. - -### 6. Create a Branch and PR - -After verifying the changes: - -```bash -git checkout -b "new-library/[API_SHORTNAME]" -git add generation_config.yaml -git commit -m "feat: new module for [API_SHORTNAME]" -``` - -Then open a pull request. The Pull Request body must only contain the `add-new-library` command used. - -**PR Body Template:** - -```text -Command used: - -python3 generation/new_client_hermetic_build/add-new-client-config.py add-new-library \ - --api-shortname="[API_SHORTNAME]" \ - --name-pretty="[NAME_PRETTY]" \ - --proto-path="[PROTO_PATH]" \ - --product-docs="[PRODUCT_DOCS]" \ - --api-description="[API_DESCRIPTION]" \ - [OPTIONAL_FLAGS] -``` - -The hermetic library generation workflow will be triggered automatically upon changes to `generation_config.yaml`. diff --git a/.agents/skills/new-client-library-generator/references/generation_config_schema.md b/.agents/skills/new-client-library-generator/references/generation_config_schema.md deleted file mode 100644 index 075db9054032..000000000000 --- a/.agents/skills/new-client-library-generator/references/generation_config_schema.md +++ /dev/null @@ -1,57 +0,0 @@ -# generation_config.yaml Schema - -The `generation_config.yaml` file at the root of the repository controls the generation of all client libraries. - -## Key Fields - -- `gapic_generator_version`: The version of the GAPIC generator used globally (unless overridden). -- `googleapis_commitish`: The commit of the `googleapis` repository used as the source for protos. -- `libraries`: A list of library configurations. - -### Library Configuration Fields - -**Required (always present):** -- `api_shortname`: (String) Identifier (e.g., `alloydb`). -- `name_pretty`: (String) Display name (e.g., `AlloyDB API`). -- `product_documentation`: (URL) Product documentation URL. -- `api_description`: (String) Service description. -- `client_documentation`: (URL) Auto-generated link to the generated client docs. -- `release_level`: (String) Usually `preview` for new libraries. -- `distribution_name`: (String) Maven coordinates (e.g., `com.google.cloud:google-cloud-alloydb`). -- `api_id`: (String) API identifier (e.g., `alloydb.googleapis.com`). -- `library_type`: (String) Usually `GAPIC_AUTO`. -- `group_id`: (String) Maven group ID (e.g., `com.google.cloud`). -- `cloud_api`: (Boolean) `true` if distribution name starts with `google-cloud-`. -- `GAPICs`: (List) List of proto paths to generate from. - - `proto_path`: (String) Path to versioned protos (must include version, e.g., `google/cloud/alloydb/v1`). - -**Optional:** -- `library_name`: (String) Override the output directory name (without `java-` prefix). -- `rest_documentation`: (URL) REST reference documentation URL. -- `rpc_documentation`: (URL) RPC/proto reference documentation URL. -- `requires_billing`: (Boolean) Whether billing is required (default: `true`). -- `api_reference`: (URL) API reference documentation link. -- `codeowner_team`: (String) GitHub team responsible for this library. -- `googleapis_commitish`: (String) Pin to a specific `googleapis/googleapis` commit (overrides repo-level setting). -- `issue_tracker`: (URL) Issue tracker for this library. -- `extra_versioned_modules`: (String) Extra modules managed via `versions.txt`. -- `excluded_dependencies`: (String) Comma-separated dependencies excluded from postprocessing. -- `excluded_poms`: (String) Comma-separated pom files excluded from postprocessing. - -## Example Library Entry - -```yaml -- api_shortname: alloydb - name_pretty: AlloyDB API - product_documentation: https://cloud.google.com/alloydb/docs - api_description: AlloyDB for PostgreSQL is an open source-compatible database service. - client_documentation: https://cloud.google.com/java/docs/reference/google-cloud-alloydb/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-alloydb - api_id: alloydb.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/alloydb/v1 -``` diff --git a/.agents/skills/new-client-library-generator/references/generation_guide.md b/.agents/skills/new-client-library-generator/references/generation_guide.md deleted file mode 100644 index 486c4c20253f..000000000000 --- a/.agents/skills/new-client-library-generator/references/generation_guide.md +++ /dev/null @@ -1,75 +0,0 @@ -# New Client Library Generation Guide - -This guide describes how to generate a new client library by: -1. Appending a new library configuration to `generation_config.yaml` using the provided scripts. -2. Relying on the automated GitHub Actions to generate the code once the configuration is pushed in a Pull Request. - -## Components - -### `generation/new_client_hermetic_build/add-new-client-config.py` -This script updates `generation_config.yaml` with the necessary metadata for a new library. It takes several arguments that map to fields in the configuration file. - -## Local Execution - -To add a new library configuration, you must run the `add-new-client-config.py` script. The parameters for this script are typically found in the **Service YAML** file linked in the Buganizer request. - -### Basic Usage - -```bash -python3 generation/new_client_hermetic_build/add-new-client-config.py add-new-library \ - --api-shortname="[API_SHORTNAME]" \ - --name-pretty="[NAME_PRETTY]" \ - --proto-path="[PROTO_PATH]" \ - --product-docs="[PRODUCT_DOCS]" \ - --api-description="[API_DESCRIPTION]" -``` - -### Parameter Details - -#### API Short Name (`--api-shortname`) -The unique identifier for the library (e.g., `alloydb`). This is used to determine the directory name and default artifact name. -- **Source:** `api_short_name` in the Service YAML. - -#### Proto Path (`--proto-path`) -The path from the root of the `googleapis` repository to the directory containing the versioned proto definitions. -- **Example:** `google/cloud/alloydb/v1beta` -- **Note:** Root-level paths like `google/cloud/alloydb` are not supported. - -#### Name Pretty (`--name-pretty`) -The human-friendly name of the API. -- **Source:** `title` in the Service YAML. -- **Example:** `AlloyDB API` - -#### Product Docs (`--product-docs`) -The URL for the product documentation. Must start with `https://`. -- **Source:** `documentation_uri` in the Service YAML. - -#### API Description (`--api-description`) -A concise summary of the API for the README. -- **Source:** `documentation.summary` or `documentation.overview` in the Service YAML. Use the first sentence. - -## Prerequisites - -Ensure you have the following set up in your local environment: - -1. **Python 3.9+**: The scripts require Python 3.9 or higher. -2. **Dependencies**: Install the required Python packages from the root of the repository: - ```bash - pip install -r generation/new_client_hermetic_build/requirements.txt - ``` - -## Advanced Options - -For full control over the generation (e.g., overriding Maven coordinates or library names), run the script with the `--help` flag: - -```bash -python3 generation/new_client_hermetic_build/add-new-client-config.py add-new-library --help -``` - -### Special Case: Non-Cloud APIs -Some libraries (like Google Maps or Shopping) require special handling for Maven coordinates. - -| API Path Prefix | `--api-shortname` | `--distribution-name` | -|---|---|---| -| `google/maps/*` | `maps-` | `com.google.maps:google-maps-` | -| `google/shopping/*` | `shopping-` | `com.google.shopping:google-shopping-` | diff --git a/.agents/skills/new-client-library-generator/references/service_yaml_mapping.md b/.agents/skills/new-client-library-generator/references/service_yaml_mapping.md deleted file mode 100644 index f865062aee11..000000000000 --- a/.agents/skills/new-client-library-generator/references/service_yaml_mapping.md +++ /dev/null @@ -1,41 +0,0 @@ -# Service YAML Mapping to Generation Script Parameters - -This document explains how to extract information from a Service YAML file (linked in a Buganizer ticket) to populate the parameters for `generation/new_client_hermetic_build/add-new-client-config.py`. - -| Service YAML Field | Script Parameter (`--flag`) | Description | -|---|---|---| -| `api_short_name` | `api-shortname` | Unique identifier for the service (e.g., `alloydb`). | -| (extracted from proto) | `proto-path` | Path from the root of the googleapis repository to the versioned proto directory (e.g., `google/cloud/alloydb/v1alpha`). Root-level paths like `google/cloud/alloydb` are not supported. | -| `title` | `name-pretty` | Human-friendly name (e.g., `AlloyDB API`). | -| `documentation_uri` | `product-docs` | Product documentation URL. Must start with `https://`. | -| `rest_reference_documentation_uri` | `rest-docs` | REST documentation URL. Optional. | -| `proto_reference_documentation_uri` | `rpc-docs` | RPC/Proto documentation URL. Optional. | -| `documentation.summary` or `documentation.overview` | `api-description` | Concise summary of the service. Use the first sentence. | - -## Example Mapping - -**Service YAML File excerpt:** -```yaml -title: "Discovery Engine API" -api_short_name: "discoveryengine" -documentation_uri: "https://cloud.google.com/generative-ai-app-builder/docs/introduction" -rest_reference_documentation_uri: "https://cloud.google.com/generative-ai-app-builder/docs/reference/rest" -proto_reference_documentation_uri: "https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc" -documentation: - summary: "Discovery Engine for Search and Recommendations" -``` - -**Protos in `googleapis` repository:** -`google/cloud/discoveryengine/v1/` - -**Generated Command:** -```bash -python3 generation/new_client_hermetic_build/add-new-client-config.py add-new-library \ - --api-shortname="discoveryengine" \ - --name-pretty="Discovery Engine API" \ - --proto-path="google/cloud/discoveryengine/v1" \ - --product-docs="https://cloud.google.com/generative-ai-app-builder/docs/introduction" \ - --rest-docs="https://cloud.google.com/generative-ai-app-builder/docs/reference/rest" \ - --rpc-docs="https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc" \ - --api-description="Discovery Engine for Search and Recommendations" -``` diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 54dccfba735a..c219570c5bb1 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -20,3 +20,5 @@ /java-bigtable/ @googleapis/bigtable-team @googleapis/cloud-sdk-java-team @googleapis/cloud-sdk-librarian-team /java-firestore/ @googleapis/firestore-team @googleapis/cloud-sdk-java-team @googleapis/cloud-sdk-librarian-team /librarian.yaml @googleapis/cloud-sdk-java-team @googleapis/cloud-sdk-librarian-team +/java-cloud-bom/ @googleapis/cloud-sdk-java-team +/java-shared-config/ @googleapis/cloud-sdk-java-team @googleapis/cloud-sdk-librarian-team diff --git a/.github/release-note-generation/split_release_note.py b/.github/release-note-generation/split_release_note.py index 3870af2130cb..2251f8a47219 100644 --- a/.github/release-note-generation/split_release_note.py +++ b/.github/release-note-generation/split_release_note.py @@ -63,29 +63,16 @@ def detect_modules(root_directory: Path): module_path = repo_metadata_path.parent module_pom_xml = module_path / 'pom.xml' - owlbot_yaml_path = module_path/ '.OwlBot-hermetic.yaml' if not module_pom_xml.exists(): continue tree = ET.parse(module_pom_xml) root = tree.getroot() version = root.find('mvn:version', POM_NAMESPACES).text api_name = None - if owlbot_yaml_path.exists(): - # If OwlBot configuration file exists (most cases), it's the better - # source to get the OwlBot-generated pull request title prefix than - # the repo-metadata.json - with open(owlbot_yaml_path, 'r') as file: - owlbot_yaml_content = file.read() - match = re.search(r'api-name: (.+)', owlbot_yaml_content) - if match: - api_name = match.group(1) - - if not api_name: - # Fallback to repo-metadata.json (e.g. for vertexai or Spanner transitional state) - if repo_metadata_path.exists(): - with open(repo_metadata_path, 'r') as file: - repo_metadata = json.load(file) - api_name = repo_metadata.get('api_shortname') + if repo_metadata_path.exists(): + with open(repo_metadata_path, 'r') as file: + repo_metadata = json.load(file) + api_name = repo_metadata.get('api_shortname') if api_name: modules.append(LibraryModule(module_path, api_name, @@ -94,7 +81,6 @@ def detect_modules(root_directory: Path): else: raise Exception(f'Could not determine api-name for {repo_metadata_path}') - return modules diff --git a/.github/scripts/update_generation_config.sh b/.github/scripts/update_generation_config.sh deleted file mode 100755 index 3f7f46c1c257..000000000000 --- a/.github/scripts/update_generation_config.sh +++ /dev/null @@ -1,187 +0,0 @@ -#!/bin/bash -set -ex -# This script should be run at the root of the repository. -# This script is used to update googleapis_commitish, gapic_generator_version, -# and libraries_bom_version in generation configuration at the time of running -# and create a pull request. - -# The following commands need to be installed before running the script: -# 1. git -# 2. gh -# 3. jq - -# Utility functions -# Get the latest released version of a Maven artifact. -function get_latest_released_version() { - local group_id=$1 - local artifact_id=$2 - group_id_url_path="$(sed 's|\.|/|g' <<< "${group_id}")" - url="https://repo1.maven.org/maven2/${group_id_url_path}/${artifact_id}/maven-metadata.xml" - xml_content=$(curl -s --fail "${url}") - - # 1. Extract all version tags - # 2. Strip the XML tags to leave just the version numbers - # 3. Filter for strictly numbers.numbers.numbers (e.g., 2.54.0) - # 4. Sort by version (V) and take the last one (tail -n 1) - latest=$(echo "${xml_content}" \ - | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' \ - | sed -E 's/<[^>]+>//g' \ - | sort -V \ - | tail -n 1) - - if [[ -z "${latest}" ]]; then - echo "The latest version of ${group_id}:${artifact_id} is empty." - echo "The returned json from maven.org is invalid: ${json_content}" - exit 1 - else - echo "${latest}" - fi -} - -# Update a key to a new value in the generation config. -function update_config() { - local key_word=$1 - local new_value=$2 - local file=$3 - echo "Update ${key_word} to ${new_value} in ${file}" - sed -i -e "s/^${key_word}.*$/${key_word}: ${new_value}/" "${file}" -} - -# Update an action to a new version in GitHub action. -function update_action() { - local key_word=$1 - local new_value=$2 - local file=$3 - echo "Update ${key_word} to ${new_value} in ${file}" - # use a different delimiter because the key_word contains "/". - sed -i -e "s|${key_word}@v.*$|${key_word}@v${new_value}|" "${file}" -} - -# The parameters of this script is: -# 1. base_branch, the base branch of the result pull request. -# 2. repo, organization/repo-name, e.g., googleapis/google-cloud-java -# 3. [optional] generation_config, the path to the generation configuration, -# the default value is generation_config.yaml in the repository root. -# 4. [optional] workflow, the library generation workflow file, -# the default value is .github/workflows/hermetic_library_generation.yaml. -while [[ $# -gt 0 ]]; do -key="$1" -case "${key}" in - --base_branch) - base_branch="$2" - shift - ;; - --repo) - repo="$2" - shift - ;; - --generation_config) - generation_config="$2" - shift - ;; - --workflow) - workflow="$2" - shift - ;; - *) - echo "Invalid option: [$1]" - exit 1 - ;; -esac -shift -done - -if [ -z "${base_branch}" ]; then - echo "missing required argument --base_branch" - exit 1 -fi - -if [ -z "${repo}" ]; then - echo "missing required argument --repo" - exit 1 -fi - -if [ -z "${generation_config}" ]; then - generation_config="generation_config.yaml" - echo "Use default generation config: ${generation_config}" -fi - -if [ -z "${workflow}" ]; then - workflow=".github/workflows/hermetic_library_generation.yaml" - echo "Use default library generation workflow file: ${workflow}" -fi - -current_branch="generate-libraries-${base_branch}" -title="chore: Update generation configuration at $(date)" - -git checkout "${base_branch}" -# Try to find a open pull request associated with the branch -pr_num=$(gh pr list -s open -H "${current_branch}" -q . --json number | jq ".[] | .number") -# Create a branch if there's no open pull request associated with the -# branch; otherwise checkout the pull request. -if [ -z "${pr_num}" ]; then - git checkout -b "${current_branch}" - # Push the current branch to remote so that we can - # compare the commits later. - git push -u origin "${current_branch}" -else - gh pr checkout "${pr_num}" -fi - -# Only allow fast-forward merging; exit with non-zero result if there's merging -# conflict. -git merge -m "chore: merge ${base_branch} into ${current_branch}" "${base_branch}" - -mkdir tmp-googleapis -# Use partial clone because only commit history is needed. -git clone --filter=blob:none https://github.com/googleapis/googleapis.git tmp-googleapis -pushd tmp-googleapis -git pull -latest_commit=$(git rev-parse HEAD) -popd -rm -rf tmp-googleapis -update_config "googleapis_commitish" "${latest_commit}" "${generation_config}" - -# Update gapic-generator-java version to the latest -latest_version=$(get_latest_released_version "com.google.api" "gapic-generator-java") -update_config "gapic_generator_version" "${latest_version}" "${generation_config}" - -# Update composite action version to latest gapic-generator-java version -update_action "googleapis/sdk-platform-java/.github/scripts" \ - "${latest_version}" \ - "${workflow}" - -# Update libraries-bom version to the latest -latest_version=$(get_latest_released_version "com.google.cloud" "libraries-bom") -update_config "libraries_bom_version" "${latest_version}" "${generation_config}" - -git add "${generation_config}" "${workflow}" -changed_files=$(git diff --cached --name-only) -if [[ "${changed_files}" == "" ]]; then - echo "The latest generation config is not changed." - echo "Skip committing to the pull request." -else - git commit -m "${title}" -fi - -# There are potentially at most two commits: merge commit and change commit. -# We want to exit the script if no commit happens (otherwise this will be an -# infinite loop). -# `git cherry` is a way to find whether the local branch has commits that are -# not in the remote branch. -# If we find any such commit, push them to remote branch. -unpushed_commit=$(git cherry -v "origin/${current_branch}" | wc -l) -if [[ "${unpushed_commit}" -eq 0 ]]; then - echo "No unpushed commits, exit" - exit 0 -fi - -if [ -z "${pr_num}" ]; then - git remote add remote_repo https://cloud-java-bot:"${GH_TOKEN}@github.com/${repo}.git" - git fetch -q remote_repo - git push -f remote_repo "${current_branch}" - gh pr create --title "${title}" --head "${current_branch}" --body "${title}" --base "${base_branch}" -else - git push - gh pr edit "${pr_num}" --title "${title}" --body "${title}" -fi diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index e50686c059fa..110cd5faba9b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -46,8 +46,8 @@ jobs: workflows: - '.github/workflows/**' src: - - '!(google-auth-library-java|grpc-gcp-java|java-bigquery|java-bigquery-jdbc|java-bigquerystorage|java-bigtable|java-datastore|java-firestore|java-logging|java-logging-logback|java-pubsub|java-spanner|java-storage)/**/*.java' - - '!(google-auth-library-java|grpc-gcp-java|java-bigquery|java-bigquery-jdbc|java-bigquerystorage|java-bigtable|java-datastore|java-firestore|java-logging|java-logging-logback|java-pubsub|java-spanner|java-storage)/**/pom.xml' + - '!(google-auth-library-java|grpc-gcp-java|java-bigquery|java-bigquery-jdbc|java-bigquerystorage|java-bigtable|java-cloud-bom|java-datastore|java-firestore|java-logging|java-logging-logback|java-pubsub|java-shared-config|java-spanner|java-storage)/**/*.java' + - '!(google-auth-library-java|grpc-gcp-java|java-bigquery|java-bigquery-jdbc|java-bigquerystorage|java-bigtable|java-cloud-bom|java-datastore|java-firestore|java-logging|java-logging-logback|java-pubsub|java-shared-config|java-spanner|java-storage)/**/pom.xml' - 'pom.xml' ci: - '.github/workflows/ci.yaml' @@ -219,6 +219,8 @@ jobs: - 'sdk-platform-java/**/*.java' - 'sdk-platform-java/java-shared-dependencies/**/pom.xml' - 'sdk-platform-java/gapic-generator-java-pom-parent/pom.xml' + java-shared-config: + - 'java-shared-config/**' split-units: runs-on: ubuntu-latest needs: changes @@ -411,23 +413,4 @@ jobs: uses: googleapis/java-cloud-bom/tests/validate-bom@v26.79.0 with: bom-path: gapic-libraries-bom/pom.xml - generation-config-check: - needs: bulk-filter - if: ${{ needs.bulk-filter.outputs.runnable == 'true' }} - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: validate generation configuration - shell: bash - run: | - bash generation/run_generator_docker.sh "${library_generation_image_tag}" "${{ github.base_ref || 'main' }}" \ - -e GENERATOR_VERSION="${library_generation_image_tag}" \ - --quiet \ - -u "$(id -u):$(id -g)" \ - -v "$(pwd):${workspace_name}" \ - --entrypoint python \ - -- \ - /src/library_generation/cli/entry_point.py validate-generation-config - env: - library_generation_image_tag: 2.68.0 - workspace_name: /workspace + diff --git a/.github/workflows/create_additional_release_tag.yaml b/.github/workflows/create_additional_release_tag.yaml index 532307ad7157..a60c77e835bb 100644 --- a/.github/workflows/create_additional_release_tag.yaml +++ b/.github/workflows/create_additional_release_tag.yaml @@ -20,19 +20,23 @@ jobs: run: | git config --local user.email "action@github.com" git config --local user.name "GitHub Action" - - name: Fetch all tags - run: git fetch --tags - name: Create additional tags shell: bash + env: + GH_TOKEN: ${{ secrets.CLOUD_JAVA_BOT_GITHUB_TOKEN }} run: | - ARTIFACT_IDS=('google-cloud-shared-dependencies' 'api-common' 'gax' 'google-cloud-bigtable') + ARTIFACT_IDS=('google-cloud-shared-dependencies' 'api-common' 'gax' 'google-cloud-bigtable' 'libraries-bom') for ARTIFACT_ID in "${ARTIFACT_IDS[@]}"; do VERSION=$(grep "^${ARTIFACT_ID}:" versions.txt | cut -d':' -f2 | tr -d '[:space:]') TAG_NAME="${ARTIFACT_ID}/v$VERSION" - if git show-ref --tags | grep -q "refs/tags/$TAG_NAME"; then - echo "Tag $TAG_NAME already exists. Skipping." + if git ls-remote --tags origin | grep -q "refs/tags/$TAG_NAME"; then + echo "Tag $TAG_NAME already exists on remote. Skipping." continue fi git tag $TAG_NAME git push origin $TAG_NAME + if [ "${ARTIFACT_ID}" = "libraries-bom" ]; then + echo "Creating GitHub Release for ${TAG_NAME}" + gh release create "${TAG_NAME}" --title "GCP Libraries BOM ${VERSION}" --notes "libraries-bom release." + fi done diff --git a/.github/workflows/generate_new_client_hermetic_build.yaml b/.github/workflows/generate_new_client_hermetic_build.yaml deleted file mode 100644 index e59fba01bd7b..000000000000 --- a/.github/workflows/generate_new_client_hermetic_build.yaml +++ /dev/null @@ -1,117 +0,0 @@ -name: Generate new GAPIC client library (Hermetic Build) -on: - workflow_dispatch: - # some inputs are omitted due to limit of 10 input arguments - inputs: - api_shortname: - required: true - type: string - description: "`api_shortname`: Name for the new directory name and (default) artifact name" - name_pretty: - required: true - type: string - description: "`name_pretty`: The human-friendly name that appears in README.md" - api_description: - required: true - description: "`api_description`: Description that appears in README.md" - proto_path: - required: true - type: string - description: | - `proto_path`: Path to proto file from the root of the googleapis repository to the - directory that contains the proto files (with the version). - For example, to generate `v2` of google/cloud/library, - you must pass google/cloud/library/v2 - product_docs: - required: true - type: string - description: "`product_docs`: Documentation URL that appears in README.md" - rest_docs: - required: false - type: string - description: | - `rest_docs`: If it exists, link to the REST Documentation for a service - rpc_docs: - required: false - type: string - description: | - `rpc_docs`: If it exists, link to the RPC Documentation for a service - library_name: - required: false - type: string - description: | - `library_name`: The directory name of the new library. By default it's - java-. **Do not include `java-` as it will be automatically prepended** - distribution_name: - required: false - type: string - description: | - `distribution_name`: Maven coordinates of the generated library. By default it's - com.google.cloud:google-cloud- - -jobs: - generate: - runs-on: ubuntu-22.04 - permissions: - contents: write - pull-requests: write - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 - with: - python-version: '3.9' - cache: 'pip' # caching pip dependencies - - name: Install add-new-client-config.py dependencies - run: pip install --require-hashes -r generation/new_client_hermetic_build/requirements.txt - - name: Add entry to generation_config.yaml - id: config_generation - run: | - set -x - arguments=$(python generation/new_client_hermetic_build/generate-arguments.py) - echo "::set-output name=new_library_args::${arguments}" - echo "${arguments}" \ - | xargs python generation/new_client_hermetic_build/add-new-client-config.py add-new-library - env: - API_SHORTNAME: ${{ github.event.inputs.api_shortname }} - NAME_PRETTY: ${{ github.event.inputs.name_pretty }} - PROTO_PATH: ${{ github.event.inputs.proto_path }} - PRODUCT_DOCS: ${{ github.event.inputs.product_docs }} - REST_DOCS: ${{ github.event.inputs.rest_docs }} - RPC_DOCS: ${{ github.event.inputs.rpc_docs }} - API_DESCRIPTION: ${{ github.event.inputs.api_description }} - LIBRARY_NAME: ${{ github.event.inputs.library_name }} - DISTRIBUTION_NAME: ${{ github.event.inputs.distribution_name }} - - name: Push to branch and create PR - run: | - set -x - [ -z "`git config user.email`" ] && git config --global user.email "cloud-java-bot@google.com" - [ -z "`git config user.name`" ] && git config --global user.name "cloud-java-bot" - - # create and push to branch in origin - # random_id allows multiple runs of this workflow - random_id=$(tr -dc A-Za-z0-9 > $GITHUB_ENV + shell: bash + - uses: actions/setup-java@v5 + with: + java-version: 17 + distribution: temurin + cache: 'maven' + - name: Pre-install all BOM modules to populate local cache + run: bash java-cloud-bom/tests/pre-install.sh + shell: bash + - run: .kokoro/build.sh + env: + JOB_TYPE: test + GH_TOKEN: ${{ github.token }} + windows: + needs: filter + if: ${{ needs.filter.outputs.library == 'true' }} + runs-on: windows-latest + steps: + - name: Support longpaths + run: git config --system core.longpaths true + - uses: actions/checkout@v4 + - uses: actions/setup-java@v5 + with: + distribution: temurin + java-version: 11 + cache: 'maven' + - run: java -version + - name: Pre-install all BOM modules to populate local cache + run: bash java-cloud-bom/tests/pre-install.sh + shell: bash + - run: .kokoro/build.sh + env: + JOB_TYPE: test + GH_TOKEN: ${{ github.token }} + dependencies: + needs: filter + if: ${{ needs.filter.outputs.library == 'true' }} + runs-on: ubuntu-latest + strategy: + matrix: + java: [17] + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v5 + with: + distribution: temurin + java-version: ${{matrix.java}} + cache: 'maven' + - run: java -version + - name: Pre-install all BOM modules to populate local cache + run: bash java-cloud-bom/tests/pre-install.sh + shell: bash + - run: .kokoro/dependencies.sh + javadoc: + needs: filter + if: ${{ needs.filter.outputs.library == 'true' }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v5 + with: + distribution: temurin + java-version: 17 + cache: 'maven' + - run: java -version + - name: Pre-install all BOM modules to populate local cache + run: bash java-cloud-bom/tests/pre-install.sh + shell: bash + - run: .kokoro/build.sh + env: + JOB_TYPE: javadoc + lint: + needs: filter + if: ${{ needs.filter.outputs.library == 'true' }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: actions/setup-java@v5 + with: + distribution: temurin + java-version: 11 + cache: 'maven' + - run: java -version + - name: Pre-install all BOM modules to populate local cache + run: bash java-cloud-bom/tests/pre-install.sh + shell: bash + - run: .kokoro/build.sh + env: + JOB_TYPE: lint + HEAD_SHA: ${{ github.event.pull_request.head.sha || github.sha }} + BASE_SHA: ${{ github.event.pull_request.base.sha || github.event.before }} + clirr: + needs: filter + if: ${{ needs.filter.outputs.library == 'true' }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v5 + with: + distribution: temurin + java-version: 11 + cache: 'maven' + - run: java -version + - name: Pre-install all BOM modules to populate local cache + run: bash java-cloud-bom/tests/pre-install.sh + shell: bash + - run: .kokoro/build.sh + env: + JOB_TYPE: clirr + BUILD_SUBDIR: java-cloud-bom diff --git a/.github/workflows/java-cloud-bom-dashboard.yaml b/.github/workflows/java-cloud-bom-dashboard.yaml new file mode 100644 index 000000000000..b14cc10bb765 --- /dev/null +++ b/.github/workflows/java-cloud-bom-dashboard.yaml @@ -0,0 +1,53 @@ +on: + push: + branches: + - main + pull_request: +name: java-cloud-bom ci +env: + BUILD_SUBDIR: java-cloud-bom +jobs: + filter: + runs-on: ubuntu-latest + outputs: + library: ${{ steps.filter.outputs.library }} + steps: + - uses: actions/checkout@v4 + - uses: dorny/paths-filter@v3 + id: filter + with: + filters: | + library: + - 'java-cloud-bom/**' + - 'sdk-platform-java/**' + - 'google-auth-library-java/**' + dashboard: + needs: filter + if: ${{ needs.filter.outputs.library == 'true' }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v5 + with: + distribution: temurin + java-version: 11 + cache: maven + - run: java -version + - run: .kokoro/dashboard.sh + env: + JOB_TYPE: dashboard-units-check + shared-dependencies-convergence: + needs: filter + if: ${{ needs.filter.outputs.library == 'true' && github.repository_owner == 'googleapis' && github.head_ref == 'release-please--branches--main' }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v5 + with: + distribution: temurin + java-version: 11 + cache: maven + - run: java -version + - run: .kokoro/dashboard.sh + env: + JOB_TYPE: dependency-convergence-check diff --git a/.github/workflows/java-cloud-bom-release-note-generation.yaml b/.github/workflows/java-cloud-bom-release-note-generation.yaml new file mode 100644 index 000000000000..17601619812d --- /dev/null +++ b/.github/workflows/java-cloud-bom-release-note-generation.yaml @@ -0,0 +1,83 @@ +on: + workflow_dispatch: + inputs: + librariesBomVersion: + description: 'The version of the Libraries BOM we generate release note (e.g., 26.1.5)' + required: true + type: string + + release: # https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#release + types: [released] + +name: java-cloud-bom release-notes +env: + BUILD_SUBDIR: java-cloud-bom +jobs: + release-note-generation: + if: ${{ github.event_name == 'workflow_dispatch' || startsWith(github.event.release.tag_name, 'libraries-bom/') }} + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v5 + with: + distribution: temurin + java-version: 11 + cache: maven + - run: java -version + - name: Pre-install Snapshot Dependencies + run: | + bash java-cloud-bom/tests/pre-install.sh + shell: bash + - name: Pick Libraries BOM version + id: pick-version + shell: bash + run: | + set -x + if [ -n "${WORKFLOW_DISPATCH_INPUT}" ]; then + echo "WORKFLOW_DISPATCH_INPUT: ${WORKFLOW_DISPATCH_INPUT}" + echo "libraries-bom-version=${WORKFLOW_DISPATCH_INPUT}" >> $GITHUB_OUTPUT + elif [[ "${GITHUB_REF}" == *"refs/tags/libraries-bom/v"* ]]; then + # Example value of GITHUB_REF: refs/tags/libraries-bom/v26.5.0 + echo "GITHUB_REF: ${GITHUB_REF}" + VERSION=${GITHUB_REF#*v} + echo "libraries-bom-version=${VERSION}" >> $GITHUB_OUTPUT + else + echo "Couldn't find the Libraries BOM version. WORKFLOW_DISPATCH_INPUT \ + was empty and GITHUB_REF was ${GITHUB_REF}." + exit 1 + fi + env: + WORKFLOW_DISPATCH_INPUT: ${{ inputs.librariesBomVersion }} + - name: Install the BOMs locally + run: mvn install -f java-cloud-bom/pom.xml -DskipTests + shell: bash + - name: Generate release_note.md + shell: bash + run: | + set -x + mvn -B -ntp compile -f java-cloud-bom/release-note-generation/pom.xml + + GOOGLE_CLOUD_JAVA_VERSION=$(grep -A1 'gapic-libraries-bom' \ + ../google-cloud-bom/pom.xml |perl -nle 'print $1 if m/(.+)> $GITHUB_ENV + shell: bash + - uses: actions/setup-java@v4 + with: + java-version: 17 + distribution: temurin + - run: .kokoro/build.sh + env: + JOB_TYPE: test + windows: + needs: filter + if: ${{ needs.filter.outputs.library == 'true' }} + runs-on: windows-latest + steps: + - name: Support longpaths + run: git config --system core.longpaths true + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 11 + - run: java -version + - run: .kokoro/build.sh + env: + JOB_TYPE: test + dependencies: + needs: filter + if: ${{ needs.filter.outputs.library == 'true' }} + runs-on: ubuntu-latest + strategy: + matrix: + java: [17] + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: ${{matrix.java}} + - run: java -version + - run: .kokoro/dependencies.sh + javadoc: + needs: filter + if: ${{ needs.filter.outputs.library == 'true' }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 17 + - run: java -version + - run: .kokoro/build.sh + env: + JOB_TYPE: javadoc + lint: + needs: filter + if: ${{ needs.filter.outputs.library == 'true' }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 11 + - run: java -version + - run: .kokoro/build.sh + env: + JOB_TYPE: lint + HEAD_SHA: ${{ github.event.pull_request.head.sha || github.sha }} + BASE_SHA: ${{ github.event.pull_request.base.sha || github.event.before }} + clirr: + needs: filter + if: ${{ needs.filter.outputs.library == 'true' }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 11 + - run: java -version + - run: .kokoro/build.sh + env: + JOB_TYPE: clirr + BUILD_SUBDIR: java-shared-config diff --git a/.github/workflows/java-shared-config-downstream-dependencies.yaml b/.github/workflows/java-shared-config-downstream-dependencies.yaml new file mode 100644 index 000000000000..923068923ba3 --- /dev/null +++ b/.github/workflows/java-shared-config-downstream-dependencies.yaml @@ -0,0 +1,91 @@ +on: + push: + branches: + - main + pull_request: +name: java-shared-config downstream (dependencies) +env: + BUILD_SUBDIR: java-shared-config +jobs: + filter: + runs-on: ubuntu-latest + outputs: + library: ${{ steps.filter.outputs.library }} + steps: + - uses: actions/checkout@v4 + - uses: dorny/paths-filter@v3 + id: filter + with: + filters: | + library: + - 'java-shared-config/**' + dependencies: + needs: filter + if: ${{ needs.filter.outputs.library == 'true' }} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + java: [11] + repo: + - java-bigquery + - java-bigquerystorage + - java-spanner + - java-storage + - java-pubsub + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + - uses: actions/setup-java@v4 + with: + distribution: zulu + java-version: ${{matrix.java}} + - run: java -version + - run: sudo apt-get update -y + - run: sudo apt-get install libxml2-utils + - name: Install java-shared-dependencies and common dependencies + run: | + .kokoro/build.sh + env: + JOB_TYPE: install + - name: Pre-build dependencies + run: | + LIB_DIR="${{matrix.repo}}" + LIB_NAME="google-cloud-${LIB_DIR#java-}" + TARGET_PATH="${LIB_DIR}/${LIB_NAME}" + # Check if target matches standard structure (e.g. java-bigquery/google-cloud-bigquery) + if [ ! -d "${TARGET_PATH}" ]; then + # Fallback 1: Look for any google-cloud-* directory, excluding samples, retrofit, or BOMs (e.g. java-storage-nio/google-cloud-nio) + ALT_PATH=$(find "${LIB_DIR}" -maxdepth 1 -type d -name "google-cloud-*" ! -name "*-bom" ! -name "*-parent" ! -name "*-deps-bom" ! -name "*-examples" ! -name "*samples" ! -name "*-retrofit" | head -n 1) + if [ -n "${ALT_PATH}" ]; then + TARGET_PATH="${ALT_PATH}" + else + # Fallback 2: Assume single-module project where pom.xml is in the root directory (e.g. java-logging-logback) + TARGET_PATH="${LIB_DIR}" + fi + fi + mvn install -pl ${TARGET_PATH} -am -DskipTests=true -Dmaven.javadoc.skip=true -Dgcloud.download.skip=true -B -V -q + - run: .kokoro/client-library-check.sh ${{matrix.repo}} dependencies + + flatten-plugin-check: + needs: filter + if: ${{ needs.filter.outputs.library == 'true' }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + - uses: actions/setup-java@v4 + with: + distribution: zulu + java-version: 11 + - run: java -version + - run: sudo apt-get update -y + - run: sudo apt-get install libxml2-utils + - name: Install java-shared-dependencies and common dependencies + run: | + .kokoro/build.sh + env: + JOB_TYPE: install + - name: Pre-build dependencies + run: mvn install -pl java-storage/google-cloud-storage -am -DskipTests=true -Dmaven.javadoc.skip=true -Dgcloud.download.skip=true -B -V -q + - run: .kokoro/client-library-check.sh java-storage flatten-plugin + env: + EXPECTED_DEPENDENCIES_LIST: java-storage-expected-flattened-dependencies.txt diff --git a/.github/workflows/java-shared-config-downstream-maven-plugins.yaml b/.github/workflows/java-shared-config-downstream-maven-plugins.yaml new file mode 100644 index 000000000000..68428c6b68b1 --- /dev/null +++ b/.github/workflows/java-shared-config-downstream-maven-plugins.yaml @@ -0,0 +1,164 @@ +on: + push: + branches: + - main + pull_request: + +# Keeping this file separate as the dependencies check would use more +# repositories than needed this downstream check for GraalVM native image and +# other Maven plugins. +name: java-shared-config downstream (maven-plugins) +env: + BUILD_SUBDIR: java-shared-config +jobs: + filter: + runs-on: ubuntu-latest + outputs: + library: ${{ steps.filter.outputs.library }} + steps: + - uses: actions/checkout@v4 + - uses: dorny/paths-filter@v3 + id: filter + with: + filters: | + library: + - 'java-shared-config/**' + build: + needs: filter + if: ${{ needs.filter.outputs.library == 'true' }} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + java: [8, 11] + repo: + - java-bigquery + - java-bigtable + job-type: + - test # maven-surefire-plugin + - clirr # clirr-maven-plugin + - javadoc # maven-javadoc-plugin + - javadoc-with-doclet # test javadoc generation with doclet + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + - uses: actions/setup-java@v4 + with: + distribution: zulu + java-version: 11 + - name: Install java-shared-dependencies and common dependencies + run: | + .kokoro/build.sh + env: + JOB_TYPE: install + - name: Pre-build dependencies + run: | + LIB_DIR="${{matrix.repo}}" + LIB_NAME="google-cloud-${LIB_DIR#java-}" + mvn install -pl ${LIB_DIR}/${LIB_NAME} -am -DskipTests=true -Dmaven.javadoc.skip=true -Dgcloud.download.skip=true -B -V -q + - uses: actions/setup-java@v4 + with: + distribution: zulu + java-version: ${{matrix.java}} + - run: java -version + - run: sudo apt-get update -y + - run: sudo apt-get install libxml2-utils + - run: .kokoro/client-library-check.sh ${{matrix.repo}} ${{matrix.job-type}} + lint: + needs: filter + if: ${{ needs.filter.outputs.library == 'true' }} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + java: [17, 21] + repo: + - java-bigquery + - java-bigtable + job-type: + - lint # fmt-maven-plugin and google-java-format + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: actions/setup-java@v4 + with: + distribution: zulu + java-version: ${{matrix.java}} + - run: java -version + - run: sudo apt-get update -y + - run: sudo apt-get install libxml2-utils + - name: Install java-shared-dependencies and common dependencies + run: | + .kokoro/build.sh + env: + JOB_TYPE: install + - name: Pre-build dependencies + run: | + LIB_DIR="${{matrix.repo}}" + LIB_NAME="google-cloud-${LIB_DIR#java-}" + TARGET_PATH="${LIB_DIR}/${LIB_NAME}" + # Check if target matches standard structure (e.g. java-bigquery/google-cloud-bigquery) + if [ ! -d "${TARGET_PATH}" ]; then + # Fallback 1: Look for any google-cloud-* directory, excluding samples, retrofit, or BOMs (e.g. java-storage-nio/google-cloud-nio) + ALT_PATH=$(find "${LIB_DIR}" -maxdepth 1 -type d -name "google-cloud-*" ! -name "*-bom" ! -name "*-parent" ! -name "*-deps-bom" ! -name "*-examples" ! -name "*samples" ! -name "*-retrofit" | head -n 1) + if [ -n "${ALT_PATH}" ]; then + TARGET_PATH="${ALT_PATH}" + else + # Fallback 2: Assume single-module project where pom.xml is in the root directory (e.g. java-logging-logback) + TARGET_PATH="${LIB_DIR}" + fi + fi + mvn install -pl ${TARGET_PATH} -am -DskipTests=true -Dmaven.javadoc.skip=true -Dgcloud.download.skip=true -B -V -q + - run: .kokoro/client-library-check.sh ${{matrix.repo}} ${{matrix.job-type}} + javadoc-with-doclet: + needs: filter + if: ${{ needs.filter.outputs.library == 'true' }} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + repo: + - java-bigtable + - java-bigquery + - java-storage + - java-storage-nio + - java-spanner + - java-spanner-jdbc + - java-pubsub + - java-logging + - java-logging-logback + - java-firestore + - java-datastore + - java-bigquerystorage + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 17 + - run: java -version + - run: sudo apt-get update -y + - run: sudo apt-get install libxml2-utils + - name: Install java-shared-dependencies and common dependencies + run: | + .kokoro/build.sh + env: + JOB_TYPE: install + - name: Pre-build dependencies + run: | + LIB_DIR="${{matrix.repo}}" + LIB_NAME="google-cloud-${LIB_DIR#java-}" + TARGET_PATH="${LIB_DIR}/${LIB_NAME}" + # Check if target matches standard structure (e.g. java-bigquery/google-cloud-bigquery) + if [ ! -d "${TARGET_PATH}" ]; then + # Fallback 1: Look for any google-cloud-* directory, excluding samples, retrofit, or BOMs (e.g. java-storage-nio/google-cloud-nio) + ALT_PATH=$(find "${LIB_DIR}" -maxdepth 1 -type d -name "google-cloud-*" ! -name "*-bom" ! -name "*-parent" ! -name "*-deps-bom" ! -name "*-examples" ! -name "*samples" ! -name "*-retrofit" | head -n 1) + if [ -n "${ALT_PATH}" ]; then + TARGET_PATH="${ALT_PATH}" + else + # Fallback 2: Assume single-module project where pom.xml is in the root directory (e.g. java-logging-logback) + TARGET_PATH="${LIB_DIR}" + fi + fi + mvn install -pl ${TARGET_PATH} -am -DskipTests=true -Dmaven.javadoc.skip=true -Dgcloud.download.skip=true -B -V -q + - run: .kokoro/client-library-check-doclet.sh ${{matrix.repo}} diff --git a/.github/workflows/librarian_generation_check.yaml b/.github/workflows/librarian_generation_check.yaml index 462d5d710509..90997623e26b 100644 --- a/.github/workflows/librarian_generation_check.yaml +++ b/.github/workflows/librarian_generation_check.yaml @@ -11,7 +11,16 @@ # 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. -name: Librarian - Generate diff check on main + +# This workflow runs a check to ensure that all generated libraries are up-to-date with +# the latest configuration. +# +# Triggers: +# 1. Push to main: Generates the libraries, checks for git diffs, and fails (creating +# a Buganizer/GitHub issue) if any changes are detected. +# 2. Manual trigger (workflow_dispatch) on a branch (except main): Generates the +# libraries and commits the resulting diff directly back to the triggering branch. +name: Librarian - Generate libraries check / update on: push: branches: @@ -22,9 +31,14 @@ jobs: library_generation: runs-on: ubuntu-24.04 permissions: - contents: read + contents: write issues: write steps: + - name: Prevent running manually on main branch + if: ${{ github.event_name == 'workflow_dispatch' && github.ref_name == 'main' }} + run: | + echo "Error: Running this workflow manually on the main branch is not allowed." + exit 1 - uses: actions/checkout@v4 with: fetch-depth: 0 @@ -70,14 +84,33 @@ jobs: run: | librarian generate --all - name: Check for generated code changes + if: ${{ github.event_name != 'workflow_dispatch' }} run: | if [ -n "$(git status --porcelain)" ]; then git status + echo "==================== GIT DIFF ====================" + git diff + echo "==================================================" echo "Regeneration produced code changes! Please run 'librarian generate --all' to update the generated files." exit 1 fi + - name: Commit and push changes (manual run only) + if: ${{ github.event_name == 'workflow_dispatch' }} + env: + GH_TOKEN: ${{ secrets.CLOUD_JAVA_BOT_GITHUB_TOKEN }} + run: | + if [ -n "$(git status --porcelain)" ]; then + [ -z "$(git config user.email)" ] && git config --global user.email "cloud-java-bot@google.com" + [ -z "$(git config user.name)" ] && git config --global user.name "cloud-java-bot" + git add -A + git commit -m "chore: regenerate libraries" + git remote set-url origin https://cloud-java-bot:${GH_TOKEN}@github.com/${{ github.repository }}.git + git push origin HEAD:${{ github.ref }} + else + echo "No changes to commit" + fi - name: Create issue if previous step fails - if: ${{ failure() && github.ref == 'refs/heads/main' }} + if: ${{ failure() && github.event_name == 'push' && github.ref == 'refs/heads/main' }} uses: googleapis/librarian/.github/actions/create-issue-on-failure@main with: title: "Librarian generate diff check failed on main branch" diff --git a/.github/workflows/sdk-platform-java-downstream.yaml b/.github/workflows/sdk-platform-java-downstream.yaml index 1180a801ce25..f865c2224dd8 100644 --- a/.github/workflows/sdk-platform-java-downstream.yaml +++ b/.github/workflows/sdk-platform-java-downstream.yaml @@ -37,7 +37,6 @@ jobs: - java-bigtable - java-firestore - java-pubsub - - java-pubsublite steps: - uses: actions/checkout@v3 - uses: actions/setup-java@v3 diff --git a/.github/workflows/sdk-platform-java-downstream_protobuf_compatibility_check_nightly.yaml b/.github/workflows/sdk-platform-java-downstream_protobuf_compatibility_check_nightly.yaml deleted file mode 100644 index f32fcfdb33a6..000000000000 --- a/.github/workflows/sdk-platform-java-downstream_protobuf_compatibility_check_nightly.yaml +++ /dev/null @@ -1,54 +0,0 @@ -on: - pull_request: - # Runs on PRs targeting main, but will be filtered for Release PRs - branches: - - 'main' - workflow_dispatch: - inputs: - protobuf_runtime_versions: - description: 'Comma separated list of Protobuf-Java versions (i.e. "3.25.x","4.x.y"). - Note: Surround each version in the list with quotes ("")' - required: true - schedule: - - cron: '0 1 * * *' # Nightly at 1am - -# This job intends to test the compatibility of the Protobuf version against repos not in the -# monorepo. As repos are migrated to the monorepo, this job will be obsolete and turned off. -name: sdk-platform-java Downstream Protobuf Compatibility Check Nightly -jobs: - downstream-protobuf-test: - # This job runs if any of the three conditions match: - # 1. PR is raised from Release-Please (PR comes from branch: release-please--branches-main) - # 2. Job is invoked by the nightly job (scheduled event) - # 3. Job is manually invoked via Github UI (workflow_dispatch event) - if: github.head_ref == 'release-please--branches--main' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' - runs-on: ubuntu-22.04 - strategy: - fail-fast: false - matrix: - repo: - - java-pubsublite - # Default Protobuf-Java versions to use are specified here. Without this, the nightly workflow won't know - # which values to use and would resolve to ''. - protobuf-version: ${{ fromJSON(format('[{0}]', inputs.protobuf_runtime_versions || '"4.35.0"')) }} - steps: - - name: Checkout sdk-platform-java repo - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 - with: - java-version: 8 - distribution: temurin - - run: echo "JAVA8_HOME=${JAVA_HOME}" >> $GITHUB_ENV - # Java Client Libraries are compiled with Java 11 and target Java 8. Java 11 is required because GraalVM - # minimum support is for Java 11. - - uses: actions/setup-java@v4 - with: - java-version: 11 - distribution: temurin - - name: Print Protobuf-Java testing version - run: echo "Testing with Protobuf-Java v${{ matrix.protobuf-version }}" - - name: Perform downstream source compatibility testing - run: REPOS_UNDER_TEST="${{ matrix.repo }}" PROTOBUF_RUNTIME_VERSION="${{ matrix.protobuf-version }}" ./sdk-platform-java/.kokoro/nightly/downstream-protobuf-source-compatibility.sh - - name: Perform downstream binary compatibility testing - run: REPOS_UNDER_TEST="${{ matrix.repo }}" PROTOBUF_RUNTIME_VERSION="${{ matrix.protobuf-version }}" ./sdk-platform-java/.kokoro/nightly/downstream-protobuf-binary-compatibility.sh - diff --git a/.github/workflows/sdk-platform-java-nightly.yaml b/.github/workflows/sdk-platform-java-nightly.yaml index 27edfd43e5a0..91efdc0ed3c5 100644 --- a/.github/workflows/sdk-platform-java-nightly.yaml +++ b/.github/workflows/sdk-platform-java-nightly.yaml @@ -41,10 +41,11 @@ jobs: --title "Nightly build for Java ${{ matrix.java }} on ${{ matrix.os }} failed." \ --body "The build has failed : https://github.com/googleapis/google-cloud-java/actions/runs/${GITHUB_RUN_ID}" nightly-java8: # Compile with JDK 11. Run tests with JDK 8. + # We use macos-15-intel (x64) because Temurin JDK 8 is not available for macOS arm64 (macos-15) strategy: fail-fast: false matrix: - os: [ macos-15, ubuntu-24.04, windows-2025 ] + os: [ macos-15-intel, ubuntu-24.04, windows-2025 ] runs-on: ${{ matrix.os }} steps: - run: git config --global core.longpaths true diff --git a/.github/workflows/showcase.yaml b/.github/workflows/showcase.yaml index bb9901619966..ba670a1fa5cf 100644 --- a/.github/workflows/showcase.yaml +++ b/.github/workflows/showcase.yaml @@ -115,6 +115,34 @@ jobs: env: BUILD_SUBDIR: sdk-platform-java JOB_TYPE: install + - uses: actions/setup-go@v5 + with: + go-version: 'stable' + - name: Install protoc + run: | + set -e + VERSION="33.2" + curl -fsSL --retry 5 --retry-delay 15 -o /tmp/protoc.zip "https://github.com/protocolbuffers/protobuf/releases/download/v$VERSION/protoc-$VERSION-linux-x86_64.zip" + cd /usr/local + sudo unzip -o /tmp/protoc.zip + protoc --version + - uses: actions/setup-python@v5 + with: + python-version: "3.12" + cache: 'pip' + - name: Install Librarian and tools + env: + PYTHONPATH: ${{ github.workspace }}/sdk-platform-java/hermetic_build/library_generation/owlbot + run: | + V=$(go run github.com/googleapis/librarian/cmd/librarian@latest config get version) + echo "Installing librarian version $V" + go install github.com/googleapis/librarian/cmd/librarian@$V + librarian install + - name: Setup Java 17 for Golden Tests + uses: actions/setup-java@v4 + with: + java-version: 17 + distribution: temurin - name: Showcase golden tests working-directory: java-showcase run: | @@ -122,6 +150,11 @@ jobs: -P enable-golden-tests \ --batch-mode \ --no-transfer-progress + - name: Restore Matrix Java + uses: actions/setup-java@v4 + with: + java-version: ${{ matrix.java }} + distribution: temurin - name: Parse showcase version working-directory: java-showcase/gapic-showcase run: echo "SHOWCASE_VERSION=$(mvn help:evaluate -Dexpression=gapic-showcase.version -q -DforceStdout)" >> "$GITHUB_ENV" diff --git a/.github/workflows/update_librarian_googleapis.yaml b/.github/workflows/update_librarian_googleapis.yaml index 848ef6feb359..7999f6414aae 100644 --- a/.github/workflows/update_librarian_googleapis.yaml +++ b/.github/workflows/update_librarian_googleapis.yaml @@ -57,22 +57,21 @@ jobs: uses: actions/setup-go@v5 with: go-version: '>=1.20.2' - - name: Run librarian update + - name: Get librarian version + id: librarian run: | version=$(go run github.com/googleapis/librarian/cmd/librarian@latest config get version) - go run "github.com/googleapis/librarian/cmd/librarian@${version}" update sources.googleapis + echo "version=${version}" >> $GITHUB_OUTPUT + - name: Run librarian update + run: | + go run "github.com/googleapis/librarian/cmd/librarian@${{ steps.librarian.outputs.version }}" update sources.googleapis - name: Get latest commit id: commit run: | - version=$(go run github.com/googleapis/librarian/cmd/librarian@latest config get version) - new_commit=$(go run "github.com/googleapis/librarian/cmd/librarian@${version}" config get sources.googleapis.commit) + new_commit=$(go run "github.com/googleapis/librarian/cmd/librarian@${{ steps.librarian.outputs.version }}" config get sources.googleapis.commit) echo "new_commit=${new_commit}" >> $GITHUB_OUTPUT echo "short_commit=${new_commit:0:7}" >> $GITHUB_OUTPUT - # TODO(https://github.com/googleapis/librarian/issues/6220): Remove this step. - - name: Update generation_config.yaml - run: | - sed -i -e "s/^googleapis_commitish.*$/googleapis_commitish: ${{ steps.commit.outputs.new_commit }}/" generation_config.yaml - git diff generation_config.yaml + - name: Detect Changes To Librarian.yaml id: detect_librarian run: | @@ -115,21 +114,21 @@ jobs: - name: Run librarian install if: steps.detect_librarian.outputs.has_changes == 'true' run: | - go run github.com/googleapis/librarian/cmd/librarian@latest install + go run "github.com/googleapis/librarian/cmd/librarian@${{ steps.librarian.outputs.version }}" install echo "$HOME/.cache/librarian/bin/java_tools/bin" >> $GITHUB_PATH env: PYTHONPATH: ${{ github.workspace }}/sdk-platform-java/hermetic_build/library_generation/owlbot - name: Generate Libraries if: steps.detect_librarian.outputs.has_changes == 'true' run: | - go run github.com/googleapis/librarian/cmd/librarian@latest generate --all + go run "github.com/googleapis/librarian/cmd/librarian@${{ steps.librarian.outputs.version }}" generate --all - name: Commit and Create PR if: steps.detect_librarian.outputs.has_changes == 'true' env: GH_TOKEN: ${{ secrets.CLOUD_JAVA_BOT_GITHUB_TOKEN }} PR_TITLE: "chore: update googleapis commitish to ${{ steps.commit.outputs.short_commit }}" PR_BODY: | - Updated googleapis commitish in librarian.yaml and generation_config.yaml to https://github.com/googleapis/googleapis/commit/${{ steps.commit.outputs.new_commit }} + Updated googleapis commitish in librarian.yaml to https://github.com/googleapis/googleapis/commit/${{ steps.commit.outputs.new_commit }} 💡 **Note:** Please merge or close this PR so that the daily update workflow can continue to run successfully the next day. Alternatively, you can manually trigger the workflow once this PR is merged or closed. run: | @@ -154,7 +153,7 @@ jobs: # 1. Commit Config Changes # Ensure they are staged - git add librarian.yaml generation_config.yaml + git add librarian.yaml if ! git diff --cached --quiet; then git commit -m "${PR_TITLE}" else diff --git a/.kokoro/build.sh b/.kokoro/build.sh index b439241bbdb6..92e714cb451e 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -212,7 +212,10 @@ case ${JOB_TYPE} in MODULE_FILTER="" - if [ -n "${BASE_SHA}" ] && [ -n "${HEAD_SHA}" ]; then + if [ -n "${BUILD_SUBDIR}" ] && ( [ -z "${BASE_SHA}" ] || [ -z "${HEAD_SHA}" ] ); then + echo "BASE_SHA or HEAD_SHA is empty, but BUILD_SUBDIR is set. Running full lint check on ${BUILD_SUBDIR}." + MODULE_FILTER="" + elif [ -n "${BASE_SHA}" ] && [ -n "${HEAD_SHA}" ]; then # Optimize the build by identifying ONLY the Maven modules that contain changed Java source files. # Format those specific modules instead of the entire codebase, reducing format check time. # The --relative flag is when building in the submodule as only files modified in the module diff --git a/.kokoro/client-library-check-doclet.sh b/.kokoro/client-library-check-doclet.sh new file mode 100755 index 000000000000..3c774c62582f --- /dev/null +++ b/.kokoro/client-library-check-doclet.sh @@ -0,0 +1,150 @@ +#!/bin/bash +# Copyright 2024 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. + +# Presubmit to ensure the dependencies of the Google Libraries BOM, with the modification of change +# in the PR, pick up the highest versions among transitive dependencies. +# https://maven.apache.org/enforcer/enforcer-rules/requireUpperBoundDeps.html + +set -eo pipefail +# Display commands being run. +set -x + +function get_current_version_from_versions_txt() { + versions=$1 + key=$2 + version=$(grep "$key:" "${versions}" | cut -d: -f3) # 3rd field is current + echo "${version}" +} + +function get_released_version_from_versions_txt() { + versions=$1 + key=$2 + version=$(grep "$key:" "${versions}" | cut -d: -f2) # 2nd field is release + echo "${version}" +} + +function replace_java_shared_config_version() { + version=$1 + # replace version + xmllint --shell <(cat pom.xml) << EOF + setns x=http://maven.apache.org/POM/4.0.0 + cd .//x:artifactId[text()="google-cloud-shared-config"] + cd ../x:version + set ${version} + save pom.xml +EOF +} + +function replace_java_shared_dependencies_version() { + version=$1 + # replace version + xmllint --shell <(cat pom.xml) << EOF + setns x=http://maven.apache.org/POM/4.0.0 + cd .//x:properties/x:google-cloud-shared-dependencies.version + set ${version} + save pom.xml +EOF +} + +function replace_sdk_platform_java_config_version() { + version=$1 + # replace version in the shared parent POM + xmllint --shell <(cat ../google-cloud-pom-parent/pom.xml) << EOF + setns x=http://maven.apache.org/POM/4.0.0 + cd .//x:artifactId[text()="sdk-platform-java-config"] + cd ../x:version + set ${version} + save ../google-cloud-pom-parent/pom.xml +EOF +} +REPO=$1 +# Get the directory of the build script +scriptDir=$(realpath $(dirname "${BASH_SOURCE[0]}")) +## cd to the parent directory, i.e. the root of the git repo +cd ${scriptDir}/.. + +# Make artifacts available for 'mvn validate' at the bottom +pushd java-shared-config +mvn install -DskipTests=true -Dmaven.javadoc.skip=true -Dgcloud.download.skip=true -B -V -q --no-transfer-progress +popd + +# Get version of doclet used to generate Cloud RAD for javadoc testing with the doclet below +rm -rf java-docfx-doclet +git clone https://github.com/googleapis/java-docfx-doclet.git +pushd java-docfx-doclet/third_party/docfx-doclet-143274 +git checkout 1.9.0 +mvn package -Dmaven.test.skip=true -B -V --no-transfer-progress + +# work from the root directory +popd +docletPath=$(realpath "java-docfx-doclet/third_party/docfx-doclet-143274/target/docfx-doclet-1.0-SNAPSHOT-jar-with-dependencies.jar") +echo "This is the doclet path: ${docletPath}" + +# Read the current version of this BOM in the POM. Example version: '0.116.1-alpha-SNAPSHOT' +VERSION_POM=java-shared-config/java-shared-config/pom.xml +# Namespace (xmlns) prevents xmllint from specifying tag names in XPath +JAVA_SHARED_CONFIG_VERSION=`sed -e 's/xmlns=".*"//' ${VERSION_POM} | xmllint --xpath '/project/version/text()' -` + +if [ -z "${JAVA_SHARED_CONFIG_VERSION}" ]; then + echo "Version is not found in ${VERSION_POM}" + exit 1 +fi +echo "Version: ${JAVA_SHARED_CONFIG_VERSION}" + +# Update java-shared-config in sdk-platform-java-config +rm -rf google-cloud-java +# Find the latest tag matching v* and use it +LATEST_TAG=$(git ls-remote --tags https://github.com/googleapis/google-cloud-java.git | grep 'refs/tags/v' | sort -k2,2 -V | tail -n 1 | awk '{print $2}' | sed 's|refs/tags/||') +echo "Cloning google-cloud-java at tag: ${LATEST_TAG}" +git clone "https://github.com/googleapis/google-cloud-java.git" -b "${LATEST_TAG}" --depth=1 +pushd google-cloud-java/sdk-platform-java +SDK_PLATFORM_JAVA_CONFIG_VERSION=$(sed -e 's/xmlns=".*"//' sdk-platform-java-config/pom.xml | xmllint --xpath '/project/version/text()' -) + +pushd sdk-platform-java-config +# Use released version of google-cloud-shared-dependencies to avoid verifying SNAPSHOT changes. +replace_java_shared_config_version "${JAVA_SHARED_CONFIG_VERSION}" +echo "The diff in sdk-platform-java-config:" +git --no-pager diff +echo "--------" +mvn install "-DskipTests=true" "-Dmaven.javadoc.skip=true" "-Dgcloud.download.skip=true" "-Dcheckstyle.skip=true" -B -V -q --no-transfer-progress +popd +popd + +# Check javadoc generation with the doclet +pushd ${REPO} +replace_sdk_platform_java_config_version "${SDK_PLATFORM_JAVA_CONFIG_VERSION}" + +mvn clean -B --no-transfer-progress \ + -P docFX \ + -DdocletPath="${docletPath}" \ + -Dclirr.skip=true \ + -Denforcer.skip=true \ + -Dorg.slf4j.simpleLogger.showDateTime=true -Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss:SSS \ + -Dcheckstyle.skip=true \ + -Dflatten.skip=true \ + -Danimal.sniffer.skip=true \ + javadoc:aggregate + +RETURN_CODE=$? +if [ "${RETURN_CODE}" == 0 ]; then + echo "Javadocs generated successfully with doclet" +else + echo "Javadoc generation FAILED with doclet" +fi + +popd +git checkout -- ${REPO} + +exit ${RETURN_CODE} diff --git a/.kokoro/client-library-check.sh b/.kokoro/client-library-check.sh new file mode 100755 index 000000000000..0eb9f817bb61 --- /dev/null +++ b/.kokoro/client-library-check.sh @@ -0,0 +1,193 @@ +#!/bin/bash +# Copyright 2021 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. + +# Presubmit to ensure the dependencies of the Google Libraries BOM, with the modification of change +# in the PR, pick up the highest versions among transitive dependencies. +# https://maven.apache.org/enforcer/enforcer-rules/requireUpperBoundDeps.html + +set -eo pipefail +# Display commands being run. +set -x + +function get_current_version_from_versions_txt() { + versions=$1 + key=$2 + version=$(grep "$key:" "${versions}" | cut -d: -f3) # 3rd field is current + echo "${version}" +} + +function get_released_version_from_versions_txt() { + versions=$1 + key=$2 + version=$(grep "$key:" "${versions}" | cut -d: -f2) # 2nd field is release + echo "${version}" +} + +function replace_java_shared_config_version() { + version=$1 + # replace version + xmllint --shell <(cat pom.xml) << EOF + setns x=http://maven.apache.org/POM/4.0.0 + cd .//x:artifactId[text()="google-cloud-shared-config"] + cd ../x:version + set ${version} + save pom.xml +EOF +} + +function replace_java_shared_dependencies_version() { + version=$1 + # replace version + xmllint --shell <(cat pom.xml) << EOF + setns x=http://maven.apache.org/POM/4.0.0 + cd .//x:properties/x:google-cloud-shared-dependencies.version + set ${version} + save pom.xml +EOF +} + +function replace_sdk_platform_java_config_version() { + version=$1 + # replace version in the shared parent POM + xmllint --shell <(cat ../google-cloud-pom-parent/pom.xml) << EOF + setns x=http://maven.apache.org/POM/4.0.0 + cd .//x:artifactId[text()="sdk-platform-java-config"] + cd ../x:version + set ${version} + save ../google-cloud-pom-parent/pom.xml +EOF +} + +if [[ $# -ne 2 ]]; +then + echo "Usage: $0 " + echo "where repo-name is java-XXX and check-type is dependencies, lint, or clirr" + exit 1 +fi +REPO=$1 +LIBRARY_NAME="google-cloud-${REPO#java-}" +# build.sh uses this environment variable +export JOB_TYPE=$2 + +## Get the directory of the build script +scriptDir=$(realpath $(dirname "${BASH_SOURCE[0]}")) +## cd to the parent directory, i.e. the root of the git repo +cd ${scriptDir}/.. + +# Make artifacts available for 'mvn validate' at the bottom +pushd java-shared-config +mvn install -DskipTests=true -Dmaven.javadoc.skip=true -Dgcloud.download.skip=true -B -V -q +popd + +# Read the current version of this BOM in the POM. Example version: '0.116.1-alpha-SNAPSHOT' +VERSION_POM=java-shared-config/java-shared-config/pom.xml +# Namespace (xmlns) prevents xmllint from specifying tag names in XPath +JAVA_SHARED_CONFIG_VERSION=`sed -e 's/xmlns=".*"//' ${VERSION_POM} | xmllint --xpath '/project/version/text()' -` + +if [ -z "${JAVA_SHARED_CONFIG_VERSION}" ]; then + echo "Version is not found in ${VERSION_POM}" + exit 1 +fi +echo "Version: ${JAVA_SHARED_CONFIG_VERSION}" + +# Update java-shared-config in sdk-platform-java-config +rm -rf google-cloud-java +# Find the latest tag matching v* and use it +LATEST_TAG=$(git ls-remote --tags https://github.com/googleapis/google-cloud-java.git | grep 'refs/tags/v' | sort -k2,2 -V | tail -n 1 | awk '{print $2}' | sed 's|refs/tags/||') +echo "Cloning google-cloud-java at tag: ${LATEST_TAG}" +git clone "https://github.com/googleapis/google-cloud-java.git" -b "${LATEST_TAG}" --depth=1 +pushd google-cloud-java/sdk-platform-java +SDK_PLATFORM_JAVA_CONFIG_VERSION=$(sed -e 's/xmlns=".*"//' sdk-platform-java-config/pom.xml | xmllint --xpath '/project/version/text()' -) + +pushd sdk-platform-java-config +# Use released version of google-cloud-shared-dependencies to avoid verifying SNAPSHOT changes. +replace_java_shared_config_version "${JAVA_SHARED_CONFIG_VERSION}" +echo "The diff in sdk-platform-java-config:" +git --no-pager diff +echo "--------" +mvn install "-DskipTests=true" "-Dmaven.javadoc.skip=true" "-Dgcloud.download.skip=true" "-Dcheckstyle.skip=true" -B -V -q +popd + +popd + +# Check this BOM against a few java client libraries +pushd ${REPO} + +# If using an older version of java-storage, continue replacing java-shared-config version otherwise replace +# the version of sdk-platform-java-config. +if [ "${REPO_TAG}" == "v2.9.3" ] && [ "${REPO}" == "java-storage" ]; then + replace_java_shared_config_version "${JAVA_SHARED_CONFIG_VERSION}" +else + replace_sdk_platform_java_config_version "${SDK_PLATFORM_JAVA_CONFIG_VERSION}" +fi + +export BUILD_SUBDIR=${REPO} + +case ${JOB_TYPE} in +dependencies) + ../.kokoro/dependencies.sh + RETURN_CODE=$? + ;; +flatten-plugin) + # This creates .flattened-pom.xml + echo "Before running ../.kokoro/build.sh" + ../.kokoro/build.sh + echo "After running ../.kokoro/build.sh" + pushd ${LIBRARY_NAME} + mvn -B -ntp dependency:list -f .flattened-pom.xml -DincludeScope=runtime -Dsort=true \ + | grep '\[INFO] .*:.*:.*:.*:.*' |awk '{print $2}' > .actual-flattened-dependencies-list.txt + + # Strip -SNAPSHOT for comparison to support release PRs where dependencies are bumped to release versions + echo "Diff from the expected file (${EXPECTED_DEPENDENCIES_LIST}) (ignoring -SNAPSHOT):" + diff <(sed 's/-SNAPSHOT//g' "${scriptDir}/${EXPECTED_DEPENDENCIES_LIST}") <(sed 's/-SNAPSHOT//g' .actual-flattened-dependencies-list.txt) + RETURN_CODE=$? + if [ "${RETURN_CODE}" == 0 ]; then + echo "No diff." + else + echo "There was a diff." + fi + popd + ;; +*) + # For clirr and test, run directly in the subdirectory to avoid building monorepo dependencies (like gax) from source. + # This is necessary because some monorepo dependencies (like gax) use GraalVM 25+ which cannot be compiled under Java 8. + if [ "${JOB_TYPE}" == "clirr" ]; then + mvn -B -ntp \ + -Dfmt.skip=true \ + -Denforcer.skip=true \ + -Dcheckstyle.skip=true \ + clirr:check + RETURN_CODE=$? + elif [ "${JOB_TYPE}" == "test" ]; then + mvn test \ + -B -ntp \ + -Pquick-build \ + -Dorg.slf4j.simpleLogger.showDateTime=true \ + -Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss:SSS \ + -Dmaven.wagon.http.retryHandler.count=5 \ + ${SUREFIRE_JVM_OPT} + RETURN_CODE=$? + else + # For other job types (like javadoc, javadoc-with-doclet), they were previously no-ops in build.sh, so we keep them as no-ops. + RETURN_CODE=0 + fi + ;; +esac + +popd +git checkout -- ${REPO} + +echo "exiting with ${RETURN_CODE}" +exit ${RETURN_CODE} diff --git a/.kokoro/common.sh b/.kokoro/common.sh index 07e97d92bf61..a1dad45d963d 100644 --- a/.kokoro/common.sh +++ b/.kokoro/common.sh @@ -37,6 +37,8 @@ excluded_modules=( 'google-auth-library-java/oauth2_http' 'java-storage' 'java-storage-nio' + 'java-cloud-bom' + 'java-shared-config' 'java-firestore' 'java-bigtable' 'java-pubsub' @@ -405,6 +407,8 @@ function install_modules() { -Dorg.slf4j.simpleLogger.showDateTime=true \ -Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss:SSS \ -DskipTests=true \ + -Dmaven.javadoc.skip=true \ + -Dgcloud.download.skip=true \ -T 1C else printf "Installing modules:\n%s\n" "$1" @@ -431,6 +435,7 @@ function install_modules() { 'java-iam/proto-google-iam-v2beta' 'java-iam/proto-google-iam-v3' 'java-iam/proto-google-iam-v3beta' + 'gapic-libraries-bom' 'sdk-platform-java/java-shared-dependencies' 'sdk-platform-java/java-shared-dependencies/first-party-dependencies' 'sdk-platform-java/java-shared-dependencies/third-party-dependencies' @@ -472,6 +477,8 @@ function install_modules() { -Dorg.slf4j.simpleLogger.showDateTime=true \ -Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss:SSS \ -DskipTests=true \ + -Dmaven.javadoc.skip=true \ + -Dgcloud.download.skip=true \ -T 1C fi } diff --git a/.kokoro/dashboard.sh b/.kokoro/dashboard.sh new file mode 100755 index 000000000000..0a7fb642eb53 --- /dev/null +++ b/.kokoro/dashboard.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# Copyright 2021 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. + +set -eo pipefail + +scriptDir=$(realpath $(dirname "${BASH_SOURCE[0]}")) +cd ${scriptDir}/.. + +outputFile="$scriptDir/../java-cloud-bom/dashboard/target/tmp/output.txt" + +if [[ "${JOB_TYPE}" == "dashboard-units-check" ]]; then + cd java-cloud-bom/dashboard/ + echo -e "\n******************** BUILDING THE DASHBOARD ********************" + mvn test --fail-at-end +elif [[ "${JOB_TYPE}" == "dependency-convergence-check" ]]; then + echo -e "\n******************** BUILDING DEPENDENCIES ********************" + mvn install -B -ntp -T 1C -Pquick-build -DskipTests -Denforcer.skip=true + cd java-cloud-bom/tests/dependency-convergence/ + echo -e "\n******************** RUNNING DEPENDENCY CONVERGENCE CHECK ********************" + mvn validate --fail-at-end +else + echo "Unknown JOB_TYPE: ${JOB_TYPE}" + exit 1 +fi diff --git a/.kokoro/dependencies.sh b/.kokoro/dependencies.sh index 552492c5cf22..f341016b5033 100755 --- a/.kokoro/dependencies.sh +++ b/.kokoro/dependencies.sh @@ -38,12 +38,11 @@ function determineMavenOpts() { | sed -E 's/^(1\.[0-9]\.0).*$/\1/g' ) - if [[ $javaVersion == 17* ]] + if [[ $javaVersion == 1.* ]] then - # MaxPermSize is no longer supported as of jdk 17 - echo -n "-Xmx1024m" + echo -n "-Xmx3072m -XX:MaxPermSize=256m" else - echo -n "-Xmx1024m -XX:MaxPermSize=128m" + echo -n "-Xmx3072m" fi } diff --git a/.kokoro/java-storage-expected-flattened-dependencies.txt b/.kokoro/java-storage-expected-flattened-dependencies.txt new file mode 100644 index 000000000000..915d949d00c7 --- /dev/null +++ b/.kokoro/java-storage-expected-flattened-dependencies.txt @@ -0,0 +1,86 @@ +com.fasterxml.jackson.core:jackson-annotations:jar:2.18.3:compile +com.fasterxml.jackson.core:jackson-core:jar:2.18.3:compile +com.fasterxml.jackson.core:jackson-databind:jar:2.18.3:compile +com.fasterxml.jackson.dataformat:jackson-dataformat-xml:jar:2.18.3:compile +com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.18.3:compile +com.fasterxml.woodstox:woodstox-core:jar:7.0.0:compile +com.google.android:annotations:jar:4.1.1.4:runtime +com.google.api-client:google-api-client:jar:2.7.2:compile +com.google.api.grpc:gapic-google-cloud-storage-v2:jar:2.70.0-SNAPSHOT:compile +com.google.api.grpc:grpc-google-cloud-storage-v2:jar:2.70.0-SNAPSHOT:compile +com.google.api.grpc:proto-google-cloud-monitoring-v3:jar:3.52.0:compile +com.google.api.grpc:proto-google-cloud-storage-v2:jar:2.70.0-SNAPSHOT:compile +com.google.api.grpc:proto-google-common-protos:jar:2.73.0-SNAPSHOT:compile +com.google.api.grpc:proto-google-iam-v1:jar:1.68.0-SNAPSHOT:compile +com.google.api:api-common:jar:2.65.0-SNAPSHOT:compile +com.google.api:gax-grpc:jar:2.82.0-SNAPSHOT:compile +com.google.api:gax-httpjson:jar:2.82.0-SNAPSHOT:compile +com.google.api:gax:jar:2.82.0-SNAPSHOT:compile +com.google.apis:google-api-services-storage:jar:v1-rev20260524-2.0.0:compile +com.google.auth:google-auth-library-credentials:jar:1.49.0-SNAPSHOT:compile +com.google.auth:google-auth-library-oauth2-http:jar:1.49.0-SNAPSHOT:compile +com.google.auto.value:auto-value-annotations:jar:1.11.0:compile +com.google.cloud.opentelemetry:detector-resources-support:jar:0.33.0:runtime +com.google.cloud.opentelemetry:exporter-metrics:jar:0.33.0:compile +com.google.cloud.opentelemetry:shared-resourcemapping:jar:0.33.0:runtime +com.google.cloud:google-cloud-core-grpc:jar:2.72.0-SNAPSHOT:compile +com.google.cloud:google-cloud-core-http:jar:2.72.0-SNAPSHOT:compile +com.google.cloud:google-cloud-core:jar:2.72.0-SNAPSHOT:compile +com.google.cloud:google-cloud-monitoring:jar:3.52.0:compile +com.google.code.findbugs:jsr305:jar:3.0.2:compile +com.google.code.gson:gson:jar:2.13.2:compile +com.google.errorprone:error_prone_annotations:jar:2.48.0:compile +com.google.guava:failureaccess:jar:1.0.3:compile +com.google.guava:guava:jar:33.5.0-jre:compile +com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile +com.google.http-client:google-http-client-apache-v2:jar:2.1.1:compile +com.google.http-client:google-http-client-appengine:jar:2.1.1:compile +com.google.http-client:google-http-client-gson:jar:2.1.1:compile +com.google.http-client:google-http-client-jackson2:jar:2.1.1:compile +com.google.http-client:google-http-client:jar:2.1.1:compile +com.google.j2objc:j2objc-annotations:jar:3.1:compile +com.google.oauth-client:google-oauth-client:jar:1.39.0:compile +com.google.protobuf:protobuf-java-util:jar:4.33.2:compile +com.google.protobuf:protobuf-java:jar:4.33.2:compile +com.google.re2j:re2j:jar:1.8:runtime +commons-codec:commons-codec:jar:1.18.0:compile +io.grpc:grpc-alts:jar:1.81.0:compile +io.grpc:grpc-api:jar:1.81.0:compile +io.grpc:grpc-auth:jar:1.81.0:compile +io.grpc:grpc-context:jar:1.81.0:compile +io.grpc:grpc-core:jar:1.81.0:compile +io.grpc:grpc-googleapis:jar:1.81.0:runtime +io.grpc:grpc-grpclb:jar:1.81.0:compile +io.grpc:grpc-inprocess:jar:1.81.0:compile +io.grpc:grpc-netty-shaded:jar:1.81.0:runtime +io.grpc:grpc-opentelemetry:jar:1.81.0:compile +io.grpc:grpc-protobuf-lite:jar:1.81.0:runtime +io.grpc:grpc-protobuf:jar:1.81.0:compile +io.grpc:grpc-rls:jar:1.81.0:runtime +io.grpc:grpc-services:jar:1.81.0:runtime +io.grpc:grpc-stub:jar:1.81.0:compile +io.grpc:grpc-util:jar:1.81.0:runtime +io.grpc:grpc-xds:jar:1.81.0:runtime +io.opencensus:opencensus-api:jar:0.31.1:compile +io.opencensus:opencensus-contrib-http-util:jar:0.31.1:compile +io.opentelemetry.contrib:opentelemetry-gcp-resources:jar:1.37.0-alpha:compile +io.opentelemetry.semconv:opentelemetry-semconv:jar:1.29.0-alpha:compile +io.opentelemetry:opentelemetry-api:jar:1.62.0:compile +io.opentelemetry:opentelemetry-common:jar:1.62.0:compile +io.opentelemetry:opentelemetry-context:jar:1.62.0:compile +io.opentelemetry:opentelemetry-sdk-common:jar:1.62.0:compile +io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi:jar:1.62.0:compile +io.opentelemetry:opentelemetry-sdk-logs:jar:1.62.0:compile +io.opentelemetry:opentelemetry-sdk-metrics:jar:1.62.0:compile +io.opentelemetry:opentelemetry-sdk-trace:jar:1.62.0:compile +io.opentelemetry:opentelemetry-sdk:jar:1.62.0:compile +io.perfmark:perfmark-api:jar:0.27.0:runtime +org.apache.httpcomponents:httpclient:jar:4.5.14:compile +org.apache.httpcomponents:httpcore:jar:4.4.16:compile +org.checkerframework:checker-qual:jar:3.49.0:compile +org.codehaus.mojo:animal-sniffer-annotations:jar:1.27:compile +org.codehaus.woodstox:stax2-api:jar:4.2.2:compile +org.conscrypt:conscrypt-openjdk-uber:jar:2.5.2:compile +org.jspecify:jspecify:jar:1.0.0:compile +org.slf4j:slf4j-api:jar:2.0.16:compile +org.threeten:threetenbp:jar:1.7.0:compile diff --git a/.kokoro/presubmit/cloud-bom-integration.cfg b/.kokoro/presubmit/cloud-bom-integration.cfg new file mode 100644 index 000000000000..80abad3a3d4b --- /dev/null +++ b/.kokoro/presubmit/cloud-bom-integration.cfg @@ -0,0 +1,39 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +# Configure the docker image for kokoro-trampoline. +env_vars: { + key: "TRAMPOLINE_IMAGE" + value: "gcr.io/cloud-devrel-kokoro-resources/java11" +} + +env_vars: { + key: "JOB_TYPE" + value: "integration-single" +} + +# TODO: remove this after we've migrated all tests and scripts +env_vars: { + key: "GCLOUD_PROJECT" + value: "gcloud-devel" +} + +env_vars: { + key: "GOOGLE_CLOUD_PROJECT" + value: "gcloud-devel" +} + +env_vars: { + key: "GOOGLE_APPLICATION_CREDENTIALS" + value: "secret_manager/java-it-service-account" +} + +env_vars: { + key: "SECRET_MANAGER_KEYS" + value: "java-it-service-account" +} + + +env_vars: { + key: "BUILD_SUBDIR" + value: "java-cloud-bom" +} diff --git a/.kokoro/presubmit/downstream-build.sh b/.kokoro/presubmit/downstream-build.sh new file mode 100755 index 000000000000..aa6781b1ffee --- /dev/null +++ b/.kokoro/presubmit/downstream-build.sh @@ -0,0 +1,72 @@ +#!/bin/bash +# 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. +# 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. + +set -eo pipefail +set -x + +function modify_shared_config() { + xmllint --shell pom.xml < [!NOTE] +> As of June 30, 2026, running this workflow on GitHub Actions takes approximately 90 minutes to complete. +> +If you raise a Pull Request that you expect to introduce changes to generated code (e.g., changes in `gapic-generator-java`), but do not want to run `librarian generate` locally, you can have GitHub Actions automatically regenerate all the client libraries and push the changes back to your branch: + +1. Go to the **Actions** tab on the GitHub repository page. +2. Select **Librarian - Generate libraries check / update** from the workflow list on the left. +3. Click the **Run workflow** dropdown menu on the right. +4. Select your **PR branch** from the dropdown and click the **Run workflow** button. + +When run manually (via `workflow_dispatch`), the workflow will: +* Run the generation check. +* If any code changes are produced, it will automatically commit the changes (`chore: regenerate libraries`) and push them directly back to your PR branch. \ No newline at end of file diff --git a/WORKSPACE b/WORKSPACE index 7dd237935e26..9691b7f14549 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -67,7 +67,7 @@ load("@rules_jvm_external//:defs.bzl", "maven_install") load("@io_grpc_grpc_java//:repositories.bzl", "IO_GRPC_GRPC_JAVA_ARTIFACTS") load("@io_grpc_grpc_java//:repositories.bzl", "IO_GRPC_GRPC_JAVA_OVERRIDE_TARGETS") -_gapic_generator_java_version = "2.73.0" # {x-version-update:gapic-generator-java:current} +_gapic_generator_java_version = "2.74.0" # {x-version-update:gapic-generator-java:current} maven_install( artifacts = [ diff --git a/changelog.json b/changelog.json index ff33d97c554d..63914bbb7a3d 100644 --- a/changelog.json +++ b/changelog.json @@ -1,6 +1,583 @@ { "repository": "googleapis/google-cloud-java", "entries": [ + { + "changes": [ + { + "type": "feat", + "sha": "672881620651491ef45b38d9fd14bb1a0b8bebcf", + "message": "onboard a new library", + "issues": [ + "13509" + ], + "scope": "google/cloud/agentregistry/v1" + } + ], + "version": "1.88.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-agentregistry", + "id": "0e35c037-f91a-4083-9923-3e33193c0520", + "createTime": "2026-07-06T21:41:29.331Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "35eb04114702a207ef73c98e53241d0263ddb09a", + "message": "retry cancel job and routine creation on transient HTTP 5xx errors", + "issues": [ + "13416" + ], + "scope": "bigquery" + }, + { + "type": "fix", + "sha": "1a6f4d5acc5c1c79198d00927e4603431d440795", + "message": "Update fast query path to allow jobTimeoutMs in the request", + "issues": [ + "13502" + ], + "scope": "bigquery" + }, + { + "type": "fix", + "sha": "64cde7f23a2a0186664bc459e5e91d773ebb0b29", + "message": "route JOB_CREATION_REQUIRED through fast query path", + "issues": [ + "13437" + ], + "scope": "bigquery" + }, + { + "type": "feat", + "sha": "35804075564723e744a5fb30e291fcfc235bbcad", + "message": "add internal listProjects API to core client", + "issues": [ + "13429" + ], + "scope": "bigquery" + }, + { + "type": "fix", + "sha": "203a91e99c021c60918961f37a67ade77673fb29", + "message": "pass rowsInPage with TableResult", + "issues": [ + "13238" + ], + "scope": "bqjdbc" + }, + { + "type": "feat", + "sha": "110d2b79344eded7252d0985068e624464697a02", + "message": "enable self-signed JWTs by default in ServiceOptions", + "issues": [ + "13338" + ] + } + ], + "version": "1.88.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-bigquery", + "id": "7991a185-64fb-4dd0-bf86-d645c03a50ba", + "createTime": "2026-07-06T21:41:29.182Z" + }, + { + "changes": [ + { + "type": "feat", + "sha": "50a8658841f5dbd6ef64627a60efda5809445412", + "message": "update compose sample to support deleteSourceObjects option", + "issues": [ + "13493" + ], + "scope": "storage" + }, + { + "type": "feat", + "sha": "9492aa2b01382d731abf465aa69444092068a814", + "message": "log additional bytes received from GCS in read path", + "issues": [ + "13427" + ], + "scope": "storage" + }, + { + "type": "feat", + "sha": "591cae0298b7bc5e679fd7b67ac6fe7b8c0c480e", + "message": "adding disabling option for bidi reads", + "issues": [ + "13506" + ], + "scope": "storage" + }, + { + "type": "feat", + "sha": "872d7b7d83fe91abff7940f9c375752dcf83892f", + "message": "add checksum validation in the json read channel", + "issues": [ + "13270" + ], + "scope": "storage" + }, + { + "type": "feat", + "sha": "396b042298bdfb32abf48b15fe6f70577fb9d4b7", + "message": "add checksum validation on json read paths", + "issues": [ + "13269" + ], + "scope": "storage" + }, + { + "type": "feat", + "sha": "9113d80318a0fcd3c8c615b1051b689a14c83025", + "message": "add full object checksum validation for bidi flow", + "issues": [ + "13266" + ], + "scope": "storage" + }, + { + "type": "feat", + "sha": "a5ba6067abb00855466f31a53d037d8e61f45da0", + "message": "add full object checksum validation for grpc flow", + "issues": [ + "13265" + ], + "scope": "storage" + }, + { + "type": "feat", + "sha": "bd4032476d9ef97e3b513043b53bd446511c5e95", + "message": "Adding CumulativeHasher wrapper class for Full object …", + "issues": [ + "13239" + ], + "scope": "storage" + }, + { + "type": "feat", + "sha": "110d2b79344eded7252d0985068e624464697a02", + "message": "enable self-signed JWTs by default in ServiceOptions", + "issues": [ + "13338" + ] + } + ], + "version": "1.88.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-storage", + "id": "64c5816d-343a-49f4-a60f-1a90966fa917", + "createTime": "2026-07-06T21:41:29.031Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "6abef19ff0f095a6a3156e1d50ae7162f9d53315", + "message": "Upgrade google-http-client to v2.1.1", + "issues": [ + "13578" + ] + }, + { + "type": "feat", + "sha": "eb379b367581356de1d621bf17df5761de71d318", + "message": "scale up connection worker pool based on latency", + "issues": [ + "13384" + ] + } + ], + "version": "1.88.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-bigquerystorage", + "id": "64a1243a-5414-4874-bd0a-0bf7d222d446", + "createTime": "2026-07-06T21:41:28.871Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "6abef19ff0f095a6a3156e1d50ae7162f9d53315", + "message": "Upgrade google-http-client to v2.1.1", + "issues": [ + "13578" + ] + } + ], + "version": "1.88.0", + "language": "JAVA", + "artifactName": "com.google.cloud:grpc-gcp", + "id": "b044e434-012d-4411-8b3b-941569543fab", + "createTime": "2026-07-06T21:41:28.724Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "09faaacd5ab3c43ea72d453d4809d9418e450bf2", + "message": "Update gapic-showcase to v0.41.0", + "issues": [ + "13582" + ] + }, + { + "type": "feat", + "sha": "825dadd008632b633d18c5035f9d448a12d6a49f", + "message": "Add NullMarked annotation to generated classes", + "issues": [ + "13517" + ], + "scope": "gapic-generator" + } + ], + "version": "1.88.0", + "language": "JAVA", + "artifactName": "com.google.cloud:gapic-showcase", + "id": "d0213a08-71b3-4d7c-9766-041f3ab9070f", + "createTime": "2026-07-06T21:41:28.578Z" + }, + { + "changes": [ + { + "type": "deps", + "sha": "fd899574b69cfce2a36a734554d2c4290db3f4ca", + "message": "Update commons-codec to v1.18.0", + "issues": [ + "13598" + ], + "scope": "auth" + }, + { + "type": "deps", + "sha": "6abef19ff0f095a6a3156e1d50ae7162f9d53315", + "message": "Upgrade google-http-client to v2.1.1", + "issues": [ + "13578" + ] + }, + { + "type": "feat", + "sha": "b721e435849e3e4a0d0cecd8d09e18bd989f4205", + "message": "Add support for Regional Access Boundaries", + "issues": [ + "13499" + ], + "scope": "auth" + }, + { + "type": "fix", + "sha": "77e84a9f02a96974606924ad21e00c14a313cf5f", + "message": "handle missing APPDATA on Windows gracefully", + "issues": [ + "13471", + "12565" + ], + "scope": "auth" + }, + { + "type": "fix", + "sha": "2d9d01cdff846f8594927c9556bcc51cb8225817", + "message": "Fix UserCredentials serialization clientSecret leak", + "issues": [ + "13465" + ], + "scope": "auth" + } + ], + "version": "1.88.0", + "language": "JAVA", + "artifactName": "com.google.auth:google-auth-library", + "id": "236d39a7-2969-47e7-8ba7-e21b5d488d27", + "createTime": "2026-07-06T21:41:28.435Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "b56f9b854f9ba110606b2f123b989d6ca758c6a2", + "message": "honour session_load override when server-returned session_load is 0", + "issues": [ + "13629" + ], + "scope": "bigtable" + }, + { + "type": "fix", + "sha": "e8c428d17087b14938a57bce1096b96a9b489f5a", + "message": "fallback on VPC", + "issues": [ + "13567" + ] + }, + { + "type": "feat", + "sha": "2c7e5f530ebb5628a8c04d49be9019a0a66dfdca", + "message": "route point read rows to shim", + "issues": [ + "13542" + ], + "scope": "bigtable" + } + ], + "version": "1.88.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-bigtable", + "id": "1ff31888-c563-427a-9f60-b02d014c3fc5", + "createTime": "2026-07-06T21:41:28.283Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "37b77c3fbd509747ec10bd72e3227e4e7b2b22dc", + "message": "update dynamic channel pool default configuration", + "issues": [ + "13646" + ], + "scope": "spanner" + }, + { + "type": "feat", + "sha": "9d783074a6d33fd8821cad4d130ad75e32501dde", + "message": "add settings for gRCP keep-alive", + "issues": [ + "13643" + ], + "scope": "spanner" + }, + { + "type": "fix", + "sha": "863c26e5dd90186899ae92c24024012d3d4492f6", + "message": "remove explicit tink version to resolve dependency convergence conflict", + "issues": [ + "13602" + ], + "scope": "spanner" + }, + { + "type": "feat", + "sha": "55930b44ed3a4e9779a5f6fb0553b6642605d84a", + "message": "auth login support for Spanner Omni endpoints", + "issues": [ + "13470" + ], + "scope": "spanner" + }, + { + "type": "fix", + "sha": "6908deefbcb4f1e77b9a73b09a6ea96261a45846", + "message": "pin inline read-write transactions to default endpoint", + "issues": [ + "13562" + ], + "scope": "spanner" + }, + { + "type": "fix", + "sha": "94315ce3d80eab06295cceabedb70077e65778da", + "message": "fail fast when inline-begin DML returns no transaction id", + "issues": [ + "13536" + ], + "scope": "spanner" + }, + { + "type": "feat", + "sha": "29543a23d7f80d908fc019fa39f612d5eba83b10", + "message": "use self-signed JWTs in Spanner MutableCredentials", + "issues": [ + "13381" + ] + } + ], + "version": "1.88.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-spanner", + "id": "fd0376df-58df-46f4-9f9b-9827ff7b5c4d", + "createTime": "2026-07-06T21:41:28.131Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "f7eb23d3122b1112c7cfbd940b8af5602afe9666", + "message": "correct `FilterTablesOnDefaultDataset` fallback logic", + "issues": [ + "13625" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "fix", + "sha": "8707a659b17a5cdb854677c1193f5a8c4fcad7b0", + "message": "update Maven Central artifact link in the README", + "issues": [ + "13563" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "fix", + "sha": "a6bb362a704dfb3293fcbb4c631bb515897d1552", + "message": "ensure test uses unique dataset & cleans up", + "issues": [ + "13587" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "fix", + "sha": "4bb3a615fd45fb0ad487e1f6ef2a8418d391002b", + "message": "update format validation tests to create tables for the test", + "issues": [ + "13588" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "fix", + "sha": "9fd84fcbdcf8bedd5c5002e8d6a43abc45387dce", + "message": "add proper version to BigQueryDriver", + "issues": [ + "13294" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "fix", + "sha": "7ef1312df5607f402547b0bb582e2e8c6fcebef8", + "message": "shade org.slf4j", + "issues": [ + "13547" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "fix", + "sha": "79bbee10f478b63ee918e581467300e1923dde74", + "message": "avoid rollback on statement close in manual commit mode", + "issues": [ + "13503" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "feat", + "sha": "ab9669a1d41d1b24b997a7a5cfc15d580c8cca0a", + "message": "add `EnableProjectDiscovery` connection property for metadata methods", + "issues": [ + "13344" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "fix", + "sha": "87dda5dfd8e913262c7ada0d078040cf6597c645", + "message": "propagate connection proxy settings to auth library", + "issues": [ + "13539" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "feat", + "sha": "7af3224e40775de26c0408e9fcd28f598849159a", + "message": "respect standard JVM trustStore properties by default", + "issues": [ + "13435" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "fix", + "sha": "d3e7a198f2a37024c699d6d26addde3d909a9922", + "message": "ensure largeResults are handled in PreparedStatement", + "issues": [ + "13496" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "fix", + "sha": "40cd0a7c7700baec2d6f50d580e4566ab82236b3", + "message": "explicitly set location when available for temporary dataset", + "issues": [ + "13508" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "feat", + "sha": "341e51ad213290e54f004d84da42ae9f1d7844c7", + "message": "migrate statement execution thread tracking to connection-scoped executor", + "issues": [ + "13454" + ], + "scope": "bigquery-jdbc" + }, + { + "type": "fix", + "sha": "203a91e99c021c60918961f37a67ade77673fb29", + "message": "pass rowsInPage with TableResult", + "issues": [ + "13238" + ], + "scope": "bqjdbc" + }, + { + "type": "feat", + "sha": "79e26b8c2c70eabdebe1f7c08208d34a388ee89d", + "message": "support connection-scoped executor isolation and dynamic queue warnings", + "issues": [ + "13413" + ], + "scope": "bigquery-jdbc" + } + ], + "version": "1.88.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-bigquery-jdbc", + "id": "3b934674-24a7-4edb-98f0-383cc0c7109e", + "createTime": "2026-07-06T21:41:27.990Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "8afc0abd26061afc41184e49ad4b79461b091276", + "message": "reduce flakiness of E2E tracing tests", + "issues": [ + "13645" + ], + "scope": "datastore" + }, + { + "type": "fix", + "sha": "d281a620642e4867d8b6503f9f482fadd9931aa0", + "message": "Configure TraceExporter with Datastore credentials in E2E tests", + "issues": [ + "13627" + ], + "scope": "datastore" + }, + { + "type": "fix", + "sha": "53b7142d7b04c8a85ea67feab6a3d8320d1a507d", + "message": "disable built-in OpenTelemetry SDK when metrics export is disabled", + "issues": [ + "13543" + ], + "scope": "datastore" + } + ], + "version": "1.88.0", + "language": "JAVA", + "artifactName": "com.google.cloud:google-cloud-datastore", + "id": "f678e625-3fd3-47ea-bb85-4baaf8c0da53", + "createTime": "2026-07-06T21:41:27.828Z" + }, { "changes": [ { @@ -361046,5 +361623,5 @@ "createTime": "2026-02-25T17:30:12.355Z" } ], - "updateTime": "2026-06-03T15:29:09.558Z" + "updateTime": "2026-07-06T21:41:29.331Z" } \ No newline at end of file diff --git a/gapic-libraries-bom/pom.xml b/gapic-libraries-bom/pom.xml index d804633cb9a4..03934ceffe98 100644 --- a/gapic-libraries-bom/pom.xml +++ b/gapic-libraries-bom/pom.xml @@ -4,7 +4,7 @@ com.google.cloud gapic-libraries-bom pom - 1.87.1 + 1.88.0 Google Cloud Java BOM BOM for the libraries in google-cloud-java repository. Users should not @@ -15,7 +15,7 @@ google-cloud-pom-parent com.google.cloud - 1.87.0 + 1.88.0 ../google-cloud-pom-parent/pom.xml @@ -24,1522 +24,1534 @@ com.google.analytics google-analytics-admin-bom - 0.103.0 + 0.104.0 pom import com.google.analytics google-analytics-data-bom - 0.104.0 + 0.105.0 pom import com.google.area120 google-area120-tables-bom - 0.97.0 + 0.98.0 pom import com.google.cloud google-cloud-accessapproval-bom - 2.94.0 + 2.95.0 pom import com.google.cloud google-cloud-advisorynotifications-bom - 0.82.0 + 0.83.0 + pom + import + + + com.google.cloud + google-cloud-agentregistry-bom + 0.1.0 pom import com.google.cloud google-cloud-aiplatform-bom - 3.94.0 + 3.95.0 pom import com.google.cloud google-cloud-alloydb-bom - 0.82.0 + 0.83.0 pom import com.google.cloud google-cloud-alloydb-connectors-bom - 0.71.0 + 0.72.0 pom import com.google.cloud google-cloud-analyticshub-bom - 0.90.0 + 0.91.0 pom import com.google.cloud google-cloud-api-gateway-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-apigee-connect-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-apigee-registry-bom - 0.93.0 + 0.94.0 pom import com.google.cloud google-cloud-apihub-bom - 0.46.0 + 0.47.0 pom import com.google.cloud google-cloud-apikeys-bom - 0.91.0 + 0.92.0 pom import com.google.cloud google-cloud-appengine-admin-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-apphub-bom - 0.57.0 + 0.58.0 pom import com.google.cloud google-cloud-appoptimize-bom - 0.3.0 + 0.4.0 pom import com.google.cloud google-cloud-artifact-registry-bom - 1.92.0 + 1.93.0 pom import com.google.cloud google-cloud-asset-bom - 3.97.0 + 3.98.0 pom import com.google.cloud google-cloud-assured-workloads-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-auditmanager-bom - 0.11.0 + 0.12.0 pom import com.google.cloud google-cloud-automl-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-backstory-bom - 0.1.0 + 0.2.0 pom import com.google.cloud google-cloud-backupdr-bom - 0.52.0 + 0.53.0 pom import com.google.cloud google-cloud-bare-metal-solution-bom - 0.93.0 + 0.94.0 pom import com.google.cloud google-cloud-batch-bom - 0.93.0 + 0.94.0 pom import com.google.cloud google-cloud-beyondcorp-appconnections-bom - 0.91.0 + 0.92.0 pom import com.google.cloud google-cloud-beyondcorp-appconnectors-bom - 0.91.0 + 0.92.0 pom import com.google.cloud google-cloud-beyondcorp-appgateways-bom - 0.91.0 + 0.92.0 pom import com.google.cloud google-cloud-beyondcorp-clientconnectorservices-bom - 0.91.0 + 0.92.0 pom import com.google.cloud google-cloud-beyondcorp-clientgateways-bom - 0.91.0 + 0.92.0 pom import com.google.cloud google-cloud-biglake-bom - 0.81.1 + 0.82.0 pom import com.google.cloud google-cloud-bigquery-bom - 2.67.0 + 2.68.0 pom import com.google.cloud google-cloud-bigquery-data-exchange-bom - 2.88.0 + 2.89.0 pom import com.google.cloud google-cloud-bigqueryconnection-bom - 2.95.0 + 2.96.0 pom import com.google.cloud google-cloud-bigquerydatapolicy-bom - 0.90.0 + 0.91.0 pom import com.google.cloud google-cloud-bigquerydatatransfer-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-bigquerymigration-bom - 0.96.0 + 0.97.0 pom import com.google.cloud google-cloud-bigqueryreservation-bom - 2.94.0 + 2.95.0 pom import com.google.cloud google-cloud-bigquerystorage-bom - 3.29.0 + 3.30.0 pom import com.google.cloud google-cloud-bigtable-bom - 2.79.0 + 2.80.0 pom import com.google.cloud google-cloud-billing-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-billingbudgets-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-binary-authorization-bom - 1.92.0 + 1.93.0 pom import com.google.cloud google-cloud-build-bom - 3.95.0 + 3.96.0 pom import com.google.cloud google-cloud-capacityplanner-bom - 0.16.0 + 0.17.0 pom import com.google.cloud google-cloud-certificate-manager-bom - 0.96.0 + 0.97.0 pom import com.google.cloud google-cloud-ces-bom - 0.9.0 + 0.10.0 pom import com.google.cloud google-cloud-channel-bom - 3.97.0 + 3.98.0 pom import com.google.cloud google-cloud-chat-bom - 0.57.0 + 0.58.0 pom import com.google.cloud google-cloud-chronicle-bom - 0.31.0 + 0.32.0 pom import com.google.cloud google-cloud-cloudapiregistry-bom - 0.12.0 + 0.13.0 pom import com.google.cloud google-cloud-cloudcommerceconsumerprocurement-bom - 0.91.0 + 0.92.0 pom import com.google.cloud google-cloud-cloudcontrolspartner-bom - 0.57.0 + 0.58.0 pom import com.google.cloud google-cloud-cloudquotas-bom - 0.61.0 + 0.62.0 pom import com.google.cloud google-cloud-cloudsecuritycompliance-bom - 0.20.0 + 0.21.0 pom import com.google.cloud google-cloud-cloudsupport-bom - 0.77.0 + 0.78.0 pom import com.google.cloud google-cloud-compute-bom - 1.103.0 + 1.104.0 pom import com.google.cloud google-cloud-confidentialcomputing-bom - 0.79.0 + 0.80.0 pom import com.google.cloud google-cloud-configdelivery-bom - 0.27.0 + 0.28.0 pom import com.google.cloud google-cloud-connectgateway-bom - 0.45.0 + 0.46.0 pom import com.google.cloud google-cloud-contact-center-insights-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-container-bom - 2.96.0 + 2.97.0 pom import com.google.cloud google-cloud-containeranalysis-bom - 2.94.0 + 2.95.0 pom import com.google.cloud google-cloud-contentwarehouse-bom - 0.89.0 + 0.90.0 pom import com.google.cloud google-cloud-data-fusion-bom - 1.93.0 + 1.94.0 pom import com.google.cloud google-cloud-databasecenter-bom - 0.14.0 + 0.15.0 pom import com.google.cloud google-cloud-datacatalog-bom - 1.99.0 + 1.100.0 pom import com.google.cloud google-cloud-dataflow-bom - 0.97.0 + 0.98.0 pom import com.google.cloud google-cloud-dataform-bom - 0.92.0 + 0.93.0 pom import com.google.cloud google-cloud-datalabeling-bom - 0.213.0 + 0.214.0 pom import com.google.cloud google-cloud-datalineage-bom - 0.85.0 + 0.86.0 pom import com.google.cloud google-cloud-dataplex-bom - 1.91.0 + 1.92.0 pom import com.google.cloud google-cloud-dataproc-bom - 4.90.0 + 4.91.0 pom import com.google.cloud google-cloud-dataproc-metastore-bom - 2.94.0 + 2.95.0 pom import com.google.cloud google-cloud-datastore-bom - 3.1.0 + 3.2.0 pom import com.google.cloud google-cloud-datastream-bom - 1.92.0 + 1.93.0 pom import com.google.cloud google-cloud-deploy-bom - 1.91.0 + 1.92.0 pom import com.google.cloud google-cloud-developer-knowledge-bom - 0.1.0 + 0.2.0 pom import com.google.cloud google-cloud-developerconnect-bom - 0.50.0 + 0.51.0 pom import com.google.cloud google-cloud-devicestreaming-bom - 0.33.0 + 0.34.0 pom import com.google.cloud google-cloud-dialogflow-bom - 4.99.0 + 4.100.0 pom import com.google.cloud google-cloud-dialogflow-cx-bom - 0.104.0 + 0.105.0 pom import com.google.cloud google-cloud-discoveryengine-bom - 0.89.0 + 0.90.0 pom import com.google.cloud google-cloud-distributedcloudedge-bom - 0.90.0 + 0.91.0 pom import com.google.cloud google-cloud-dlp-bom - 3.97.0 + 3.98.0 pom import com.google.cloud google-cloud-dms-bom - 2.92.0 + 2.93.0 pom import com.google.cloud google-cloud-dns - 2.91.0 + 2.92.0 com.google.cloud google-cloud-document-ai-bom - 2.97.0 + 2.98.0 pom import com.google.cloud google-cloud-domains-bom - 1.90.0 + 1.91.0 pom import com.google.cloud google-cloud-edgenetwork-bom - 0.61.0 + 0.62.0 pom import com.google.cloud google-cloud-enterpriseknowledgegraph-bom - 0.89.0 + 0.90.0 pom import com.google.cloud google-cloud-errorreporting-bom - 0.214.0-beta + 0.215.0-beta pom import com.google.cloud google-cloud-essential-contacts-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-eventarc-bom - 1.93.0 + 1.94.0 pom import com.google.cloud google-cloud-eventarc-publishing-bom - 0.93.0 + 0.94.0 pom import com.google.cloud google-cloud-filestore-bom - 1.94.0 + 1.95.0 pom import com.google.cloud google-cloud-financialservices-bom - 0.34.0 + 0.35.0 pom import com.google.cloud google-cloud-firestore-bom - 3.43.1 + 3.44.0 pom import com.google.cloud google-cloud-functions-bom - 2.95.0 + 2.96.0 pom import com.google.cloud google-cloud-gdchardwaremanagement-bom - 0.48.0 + 0.49.0 pom import com.google.cloud google-cloud-geminidataanalytics-bom - 0.21.0 + 0.22.0 pom import com.google.cloud google-cloud-gke-backup-bom - 0.92.0 + 0.93.0 pom import com.google.cloud google-cloud-gke-connect-gateway-bom - 0.94.0 + 0.95.0 pom import com.google.cloud google-cloud-gke-multi-cloud-bom - 0.92.0 + 0.93.0 pom import com.google.cloud google-cloud-gkehub-bom - 1.93.0 + 1.94.0 pom import com.google.cloud google-cloud-gkerecommender-bom - 0.13.0 + 0.14.0 pom import com.google.cloud google-cloud-gsuite-addons-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-health-bom - 0.2.0 + 0.3.0 pom import com.google.cloud google-cloud-hypercomputecluster-bom - 0.13.0 + 0.14.0 pom import com.google.cloud google-cloud-iamcredentials-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-iap-bom - 0.49.0 + 0.50.0 pom import com.google.cloud google-cloud-ids-bom - 1.92.0 + 1.93.0 pom import com.google.cloud google-cloud-infra-manager-bom - 0.70.0 + 0.71.0 pom import com.google.cloud google-cloud-iot-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-kms-bom - 2.96.0 + 2.97.0 pom import com.google.cloud google-cloud-kmsinventory-bom - 0.82.0 + 0.83.0 pom import com.google.cloud google-cloud-language-bom - 2.94.0 + 2.95.0 pom import com.google.cloud google-cloud-licensemanager-bom - 0.26.0 + 0.27.0 pom import com.google.cloud google-cloud-life-sciences-bom - 0.95.0 + 0.96.0 pom import com.google.cloud google-cloud-live-stream-bom - 0.95.0 + 0.96.0 pom import com.google.cloud google-cloud-locationfinder-bom - 0.18.0 + 0.19.0 pom import com.google.cloud google-cloud-logging-bom - 3.34.0 + 3.35.0 pom import + + com.google.cloud + google-cloud-logging-logback + 0.143.0-alpha + com.google.cloud google-cloud-lustre-bom - 0.33.0 + 0.34.0 pom import com.google.cloud google-cloud-maintenance-bom - 0.27.0 + 0.28.0 pom import com.google.cloud google-cloud-managed-identities-bom - 1.91.0 + 1.92.0 pom import com.google.cloud google-cloud-managedkafka-bom - 0.49.0 + 0.50.0 pom import com.google.cloud google-cloud-mediatranslation-bom - 0.99.0 + 0.100.0 pom import com.google.cloud google-cloud-meet-bom - 0.60.0 + 0.61.0 pom import com.google.cloud google-cloud-memcache-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-migrationcenter-bom - 0.75.0 + 0.76.0 pom import com.google.cloud google-cloud-modelarmor-bom - 0.34.0 + 0.35.0 pom import com.google.cloud google-cloud-monitoring-bom - 3.94.0 + 3.95.0 pom import com.google.cloud google-cloud-monitoring-dashboard-bom - 2.95.0 + 2.96.0 pom import com.google.cloud google-cloud-monitoring-metricsscope-bom - 0.87.0 + 0.88.0 pom import com.google.cloud google-cloud-netapp-bom - 0.72.0 + 0.73.0 pom import com.google.cloud google-cloud-network-management-bom - 1.94.0 + 1.95.0 pom import com.google.cloud google-cloud-network-security-bom - 0.96.0 + 0.97.0 pom import com.google.cloud google-cloud-networkconnectivity-bom - 1.92.0 + 1.93.0 pom import com.google.cloud google-cloud-networkservices-bom - 0.49.0 + 0.50.0 pom import com.google.cloud google-cloud-nio-bom - 0.133.0 + 0.134.0 pom import com.google.cloud google-cloud-notebooks-bom - 1.91.0 + 1.92.0 pom import com.google.cloud google-cloud-notification - 0.211.0-beta + 0.212.0-beta com.google.cloud google-cloud-optimization-bom - 1.91.0 + 1.92.0 pom import com.google.cloud google-cloud-oracledatabase-bom - 0.42.0 + 0.43.0 pom import com.google.cloud google-cloud-orchestration-airflow-bom - 1.93.0 + 1.94.0 pom import com.google.cloud google-cloud-orgpolicy-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-os-config-bom - 2.95.0 + 2.96.0 pom import com.google.cloud google-cloud-os-login-bom - 2.92.0 + 2.93.0 pom import com.google.cloud google-cloud-parallelstore-bom - 0.56.0 + 0.57.0 pom import com.google.cloud google-cloud-parametermanager-bom - 0.37.0 + 0.38.0 pom import com.google.cloud google-cloud-phishingprotection-bom - 0.124.0 + 0.125.0 pom import com.google.cloud google-cloud-policy-troubleshooter-bom - 1.92.0 + 1.93.0 pom import com.google.cloud google-cloud-policysimulator-bom - 0.72.0 + 0.73.0 pom import com.google.cloud google-cloud-private-catalog-bom - 0.95.0 + 0.96.0 pom import com.google.cloud google-cloud-privilegedaccessmanager-bom - 0.47.0 + 0.48.0 pom import com.google.cloud google-cloud-profiler-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-publicca-bom - 0.90.0 + 0.91.0 pom import com.google.cloud google-cloud-pubsub-bom - 1.151.0 + 1.152.0 pom import com.google.cloud google-cloud-rapidmigrationassessment-bom - 0.76.0 + 0.77.0 pom import com.google.cloud google-cloud-recaptchaenterprise-bom - 3.90.0 + 3.91.0 pom import com.google.cloud google-cloud-recommendations-ai-bom - 0.100.0 + 0.101.0 pom import com.google.cloud google-cloud-recommender-bom - 2.95.0 + 2.96.0 pom import com.google.cloud google-cloud-redis-bom - 2.96.0 + 2.97.0 pom import com.google.cloud google-cloud-redis-cluster-bom - 0.65.0 + 0.66.0 pom import com.google.cloud google-cloud-resourcemanager-bom - 1.95.0 + 1.96.0 pom import com.google.cloud google-cloud-retail-bom - 2.95.0 + 2.96.0 pom import com.google.cloud google-cloud-run-bom - 0.93.0 + 0.94.0 pom import com.google.cloud google-cloud-saasservicemgmt-bom - 0.23.0 + 0.24.0 pom import com.google.cloud google-cloud-scheduler-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-secretmanager-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-securesourcemanager-bom - 0.63.0 + 0.64.0 pom import com.google.cloud google-cloud-security-private-ca-bom - 2.95.0 + 2.96.0 pom import com.google.cloud google-cloud-securitycenter-bom - 2.101.0 + 2.102.0 pom import com.google.cloud google-cloud-securitycenter-settings-bom - 0.96.0 + 0.97.0 pom import com.google.cloud google-cloud-securitycentermanagement-bom - 0.61.0 + 0.62.0 pom import com.google.cloud google-cloud-securityposture-bom - 0.58.0 + 0.59.0 pom import com.google.cloud google-cloud-service-control-bom - 1.93.0 + 1.94.0 pom import com.google.cloud google-cloud-service-management-bom - 3.91.0 + 3.92.0 pom import com.google.cloud google-cloud-service-usage-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-servicedirectory-bom - 2.94.0 + 2.95.0 pom import com.google.cloud google-cloud-servicehealth-bom - 0.60.0 + 0.61.0 pom import com.google.cloud google-cloud-shell-bom - 2.92.0 + 2.93.0 pom import com.google.cloud google-cloud-spanner-bom - 6.118.0 + 6.119.0 pom import com.google.cloud google-cloud-spanneradapter-bom - 0.29.0 + 0.30.0 pom import com.google.cloud google-cloud-speech-bom - 4.88.0 + 4.89.0 pom import com.google.cloud google-cloud-storage-bom - 2.69.0 + 2.70.0 pom import com.google.cloud google-cloud-storage-transfer-bom - 1.93.0 + 1.94.0 pom import com.google.cloud google-cloud-storagebatchoperations-bom - 0.33.0 + 0.34.0 pom import com.google.cloud google-cloud-storageinsights-bom - 0.78.0 + 0.79.0 pom import com.google.cloud google-cloud-talent-bom - 2.94.0 + 2.95.0 pom import com.google.cloud google-cloud-tasks-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-telcoautomation-bom - 0.63.0 + 0.64.0 pom import com.google.cloud google-cloud-texttospeech-bom - 2.94.0 + 2.95.0 pom import com.google.cloud google-cloud-tpu-bom - 2.94.0 + 2.95.0 pom import com.google.cloud google-cloud-trace-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-translate-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-valkey-bom - 0.39.0 + 0.40.0 pom import com.google.cloud google-cloud-vectorsearch-bom - 0.15.0 + 0.16.0 pom import com.google.cloud google-cloud-video-intelligence-bom - 2.92.0 + 2.93.0 pom import com.google.cloud google-cloud-video-stitcher-bom - 0.93.0 + 0.94.0 pom import com.google.cloud google-cloud-video-transcoder-bom - 1.92.0 + 1.93.0 pom import com.google.cloud google-cloud-vision-bom - 3.91.0 + 3.92.0 pom import com.google.cloud google-cloud-visionai-bom - 0.50.0 + 0.51.0 pom import com.google.cloud google-cloud-vmmigration-bom - 1.93.0 + 1.94.0 pom import com.google.cloud google-cloud-vmwareengine-bom - 0.87.0 + 0.88.0 pom import com.google.cloud google-cloud-vpcaccess-bom - 2.94.0 + 2.95.0 pom import com.google.cloud google-cloud-webrisk-bom - 2.92.0 + 2.93.0 pom import com.google.cloud google-cloud-websecurityscanner-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-workflow-executions-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-workflows-bom - 2.93.0 + 2.94.0 pom import com.google.cloud google-cloud-workloadmanager-bom - 0.9.0 + 0.10.0 pom import com.google.cloud google-cloud-workspaceevents-bom - 0.57.0 + 0.58.0 pom import com.google.cloud google-cloud-workstations-bom - 0.81.0 + 0.82.0 pom import com.google.cloud google-iam-admin-bom - 3.88.0 + 3.89.0 pom import com.google.cloud google-iam-policy-bom - 1.90.0 + 1.91.0 pom import com.google.cloud google-identity-accesscontextmanager-bom - 1.94.0 + 1.95.0 pom import io.grafeas grafeas - 2.94.0 + 2.95.0 diff --git a/generation/apply_versions.sh b/generation/apply_versions.sh index 826d6df2213b..6747b4191c11 100755 --- a/generation/apply_versions.sh +++ b/generation/apply_versions.sh @@ -31,15 +31,17 @@ elif [[ "$column_name" != "current" ]]; then fi -SED_OPTIONS="" +SED_SCRIPT_FILE=$(mktemp) || exit 1 +trap 'rm -f "$SED_SCRIPT_FILE"' EXIT # The second column is for KV in $(cut -f1,"${column_index}" -d: $versions_file |grep -v "#"); do K=${KV%:*}; V=${KV#*:} echo Key:$K, Value:$V; - SED_OPTIONS="$SED_OPTIONS -e /x-version-update:$K:current/{s|.*<\/version>|$V<\/version>|;}" + echo "/x-version-update:$K:current/{s|.*<\/version>|$V<\/version>|;}" >> "$SED_SCRIPT_FILE" done echo "Running sed command. It may take few minutes." -find . -maxdepth 3 -name pom.xml |sort --dictionary-order |xargs sed -i.bak $SED_OPTIONS +find . -maxdepth 3 -name pom.xml |sort --dictionary-order |xargs sed -i.bak -f "$SED_SCRIPT_FILE" find . -maxdepth 3 -name pom.xml.bak |xargs rm + diff --git a/generation/check_existing_release_versions.sh b/generation/check_existing_release_versions.sh index 289a8e3d3a0e..81e2cdf1d752 100755 --- a/generation/check_existing_release_versions.sh +++ b/generation/check_existing_release_versions.sh @@ -44,7 +44,10 @@ function find_existing_version_pom() { return_code=0 for pom_file in $(find . -maxdepth 3 -name pom.xml|sort --dictionary-order); do - if [[ "${pom_file}" == *java-samples* || "${pom_file}" == *showcase* || "${pom_file}" == *coverage-report* || "${pom_file}" == *gapic-generator-java-root* ]]; then + # Exclude java-vertexai because it has been archived and replaced with a dummy POM. + # We do not plan to release any new versions for it, so we don't want to check if its + # version (which already exists) is a duplicate. + if [[ "${pom_file}" == *samples* || "${pom_file}" == *showcase* || "${pom_file}" == *coverage-report* || "${pom_file}" == *sdk-platform-java/pom.xml || "${pom_file}" == *java-vertexai* || "${pom_file}" == *storage-shared-benchmarking* || "${pom_file}" == *java-bigtable/test-proxy* || ( "${pom_file}" == */java-shared-config/pom.xml && "${pom_file}" != */java-shared-config/*/pom.xml ) ]]; then continue fi find_existing_version_pom "${pom_file}" diff --git a/generation/check_non_release_please_versions.sh b/generation/check_non_release_please_versions.sh index 65d035f4a6f0..fec91a27872c 100755 --- a/generation/check_non_release_please_versions.sh +++ b/generation/check_non_release_please_versions.sh @@ -25,6 +25,8 @@ for pomFile in $(find . -mindepth 2 -name pom.xml | sort ); do [[ "${pomFile}" =~ .*java-pubsub.* ]] || \ [[ "${pomFile}" =~ .*java-bigtable.* ]] || \ [[ "${pomFile}" =~ .*java-firestore.* ]] || \ + [[ "${pomFile}" =~ .*java-cloud-bom.* ]] || \ + [[ "${pomFile}" =~ .*java-shared-config.* ]] || \ [[ "${pomFile}" =~ .*java-vertexai.* ]] || \ [[ "${pomFile}" =~ .*java-compute.* ]] || \ [[ "${pomFile}" =~ .*.github*. ]]; then diff --git a/generation/new_client_hermetic_build/README.md b/generation/new_client_hermetic_build/README.md deleted file mode 100644 index 71684cf44117..000000000000 --- a/generation/new_client_hermetic_build/README.md +++ /dev/null @@ -1,266 +0,0 @@ -# New client generation (GitHub Action) -This new generation workflow enables generation of new libraries by - 1. Appending a new library to our [generation_config.yaml](/generation_config.yaml). - 2. Creating a PR with the changes. - -The new client will be generated by [Hermetic library generation workflow](/.github/workflows/hermetic_library_generation.yaml). - - -## Components -### `new_library_hermetic_build/add-new-client-config.py` -This script takes 10 arguments that map to items in the newly added library that -goes in `generation_config.yaml`. -A new entry will be added to `libraries` with the necessary generation -configuration. - -### `.github/workflows/generate_new_client_hermetic_build.yaml` -This workflow orchestrates the `add-new-client-config.py` script and creates -a pull request. - - -## Execute the GitHub Action - -In order to run the -[GitHub Action](/.github/workflows/generate_new_client_hermetic_build.yaml), -you need to specify a few parameters. -These parameters will be available in the Cloud Drop link (a YAML file) included -in the Buganizer request. -The example in this README uses AlloyDB's [Cloud Drop](https://github.com/googleapis/googleapis/blob/master/google/cloud/alloydb/v1/alloydb_v1.yaml) -file as an example. - - -:warning: **IMPORTANT:** -Not all the `new-client.py` arguments are available in the Github Action. -Please refer to -[this -section](/generation/new_client_hermetic_build/README.md#advanced-options) - -### API short name (`api_shortname`) - -As a convenience for the subsequent commands, we need an identifier for the -library, called `api_shortname`. -This identifier will be used by default to generate the following: -* `--distribution-name` -* `--library_name` - -The corresponding value in the Cloud Drop page is `api_short_name`. - -Example: `alloydb` - -> [!IMPORTANT] -> `api_short_name` is not always unique across client libraries. -> In the instance that the `api_short_name` is already in use by an existing -> client library, you will need to determine a unique name OR to pass a unique -> `library_name`. -> See [Advanced Options](#advanced-options). - -### Proto path (`proto_path`) - -This is the path from the internal `google3/third_party/googleapis/stable` root -to the directory that contains the proto definitions for a specific version. -For example: `google/datastore/v2`. -Root-level proto paths like `google/datastore` are not supported. -Note that the internal `google3/third_party/googleapis/stable` directory is -mirrored externally in https://github.com/googleapis/googleapis/blob/master/. - -For example, if the Buganizer ticket includes: - -> Link to protos: `http://...(omit).../google/cloud/alloydb/v1alpha/alloydb_v1alpha.yaml`. - -then the corresponding external mirrored proto is here: `https://github.com/googleapis/googleapis/blob/master/google/cloud/alloydb/v1alpha/alloydb_v1alpha.yaml`. - -Therefore, the "proto path" value we supply to the command is -`google/cloud/alloydb/v1alpha`. - -We will publish a single module for a service that includes the specified version -(in the example, `v1alpha`). -Any future version must be manually added to the configuration yaml (`google-cloud-java/generation_config.yaml`) - -#### More than one `proto_path` - -If you need another `proto_path` in the library, you must manually add it -to `google-cloud-java/generation_config.yaml` after generating the new client. - -### Name pretty (`name_pretty`) - -The corresponding value in the Cloud Drop page is `title`. - -Example: `AlloyDB API` - -### Product Docs (`product_docs`) - -The corresponding value in the Cloud Drop page is `documentation_uri`. -The value must starts with "https://". - -Example: `https://cloud.google.com/alloydb/docs` - -### REST Docs (`rest_docs`) - -The corresponding value in the Cloud Drop page is `rest_reference_documentation_uri`. -The value must starts with "https://". - -Example: `https://cloud.google.com/alloydb/docs/reference/rest` - -If the value exists, add it as a flag to the python command below (see [Advanced -Options](#advanced-options): -`--rest-docs="https://cloud.google.com/alloydb/docs/reference/rest" \` - -### RPC Docs (`rpc_docs`) - -The corresponding value in the Cloud Drop page is `proto_reference_documentation_uri`. -The value must starts with "https://". - -Example: `https://cloud.google.com/speech-to-text/docs/reference/rpc` - -If the value exists, add it as a flag to the python command below (see [Advanced -Options](#advanced-options): -`--rpc-docs="https://cloud.google.com/speech-to-text/docs/reference/rpc" \` - -### API description (`api_description`) - -The corresponding value in the Cloud Drop page is `documentation.summary` or `documentation.overview`. -If both of those fields are missing, take the description from the product page -above. -Use the first sentence to keep it concise. - -Example: -``` - AlloyDB for PostgreSQL is an open source-compatible database service that - provides a powerful option for migrating, modernizing, or building - commercial-grade applications. - ``` - -### Distribution Name (`distribution_name`) - -This variable determines the Maven coordinates of the generated library. -It defaults to `com.google.cloud:google-cloud-{api_shortname}`. -This mainly affect the values in the generated `pom.xml` files. - -### Library Name (`library_name`) - -This variable indicates the output folder of the library. -For example, you can have two libraries with `alloydb` -(AlloyDB and AlloyDB Connectors) as `api_shortname`. -In order to avoid both libraries going to the default `java-alloydb` folder, -we can override this behavior by specifying a value like `alloydb-connectors` -so the AlloyDB Connectors goes to `java-alloydb-connectors`. - -## Prerequisites (for local environment) - -This section is only needed for the first _local_ run of this script. - -### Checkout google-cloud-java repository - -``` -$ git clone https://github.com/googleapis/google-cloud-java -$ git checkout main -$ git pull -``` - -### Install pyenv - -Install pyenv - -``` -curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer \ -| bash -``` - -Append the following lines to `$HOME/.bashrc`. - -``` -export PYENV_ROOT="$HOME/.pyenv" -command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH" -eval "$(pyenv init -)" -eval "$(pyenv virtualenv-init -)" -``` - -Logout the shell and login again. You should be at the home directory. - -Assuming you have the following folder structure: -``` -~ (Home) - -> IdeaProjects/ - -> google-cloud-java - -> ... -``` -You can run these next commands in the home directory (or IdeaProjects). Otherwise, run it at `google-cloud-java`'s parent directory. - -Confirm pyenv installation succeeded: - -``` -~$ pyenv -pyenv 2.3.4 -Usage: pyenv [] - -Some useful pyenv commands are: - activate Activate virtual environment - commands List all available pyenv commands - deactivate Deactivate virtual environment -... -``` - -### Install Python 3.9 via pyenv - -``` -~$ pyenv install 3.9.13 -Downloading Python-3.9.13.tar.xz... --> https://www.python.org/ftp/python/3.9.13/Python-3.9.13.tar.xz -Installing Python-3.9.13... -WARNING: The Python sqlite3 extension was not compiled. Missing the SQLite3 lib? -Installed Python-3.9.13 to /usr/local/google/home/suztomo/.pyenv/versions/3.9.13 -``` - -### Install Python v3.9.13 locally - -Run this command - -``` -$ pyenv local 3.9.13 -``` - -Confirm `python3.9` is installed: -``` -$ which python3.9 -/usr/local/google/home/suztomo/.pyenv/shims/python3.9 -``` - -### Install Python packages - -At the root of google-cloud-java repository clone, run: - -``` -$ python3.9 -m pip install -r generation/new_client_hermetic_build/requirements.txt -``` - -## Advanced Options - -In case the steps above don't show you how to specify the desired options, you -can run the `add-new-client-config.py` script in your local environment. -The advanced options not shown in the section above **cannot be specified in -the GitHub Action**, hence the need for a local run (refer to the "Prerequisites -(for local environment)" section). -For the explanation of the available parameters, run: -``` -python3.9 generation/new_client_hermetic_build/add-new-client-config.py generate --help -``` - -After you run the script, you will see that the `generation_config.yaml` file -was modified (or the script exited because the library already existed). - -Please create a PR explaining what commands you used and make sure the -add-new-client-config.py arguments were listed). - -### Special case example: Google Maps - -Sometimes, a library generation requires special handling for -Maven coordinates or API ID, especially when the library is not -specific to Google Cloud. The table below is the summary of the -special cases: - -| API paths | `--api_shortname` | `--distribution-name` | -|-------------------|-----------------------------|--------------------------------------------------------| -| google/shopping/* | `shopping-` | `com.google.shipping:google-shopping-` | -| google/maps/* | `maps-` | `com.google.maps:google-maps-` | - -where `` is the value from Cloud Drop file. diff --git a/generation/new_client_hermetic_build/add-new-client-config.py b/generation/new_client_hermetic_build/add-new-client-config.py deleted file mode 100644 index 8213c59d3bf2..000000000000 --- a/generation/new_client_hermetic_build/add-new-client-config.py +++ /dev/null @@ -1,278 +0,0 @@ -# Copyright 2024 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 -# -# 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. - -""" -Script for enabling generation of a new library -Appends a new library to `generation_config.yaml` - -Some of the logic is copied from new-client.py as -a transition step while we test the hermetic build scripts -""" - -import click -import os -import re -import sys -import shutil -from typing import List -from ruamel.yaml import YAML -from git import Repo - -yaml = YAML() - -script_dir = os.path.dirname(os.path.realpath(__file__)) - - -@click.group(invoke_without_command=False) -@click.pass_context -@click.version_option(message="%(version)s") -def main(ctx): - pass - - -@main.command() -@click.option( - "--api-shortname", - required=True, - type=str, - prompt="Service name? (e.g. automl)", - help="Name for the new directory name and (default) artifact name", -) -@click.option( - "--name-pretty", - required=True, - type=str, - prompt="Pretty name? (e.g. 'Cloud AutoML')", - help="The human-friendly name that appears in README.md", -) -@click.option( - "--proto-path", - required=True, - type=str, - default=None, - help="Path to proto file from the root of the googleapis repository to the " - "directory that contains the proto files (including the version). " - "For example, to generate the library for 'google/maps/routing/v2', " - "then you specify this value as 'google/maps/routing/v2'", -) -@click.option( - "--product-docs", - required=True, - type=str, - prompt="Product Documentation URL", - help="Documentation URL that appears in README.md", -) -@click.option( - "--rest-docs", - type=str, - help="If it exists, link to the REST Documentation for a service", -) -@click.option( - "--rpc-docs", - type=str, - help="If it exists, link to the RPC Documentation for a service", -) -@click.option( - "--api-description", - required=True, - type=str, - prompt="Description for README. The first sentence is prefixed by the " - "pretty name", - help="Description that appears in README.md", -) -@click.option( - "--library-name", - type=str, - default=None, - help="The directory name of the new library. By default it's " - "java-", -) -@click.option( - "--distribution-name", - type=str, - help="Maven coordinates of the generated library. By default it's " - "com.google.cloud:google-cloud-. " - "It cannot be set at the same time with group_id", -) -@click.option( - "--release-level", - type=click.Choice(["stable", "preview"]), - default="preview", - show_default=True, - help="A label that appears in repo-metadata.json. The first library " - "generation is always 'preview'.", -) -@click.option( - "--api-id", - type=str, - help="The value of the apiid parameter used in README.md It has link to " - "https://console.cloud.google.com/flows/enableapi?apiid=", -) -@click.option( - "--requires-billing", - type=bool, - default=True, - show_default=True, - help="Based on this value, README.md explains whether billing setup is " - "needed or not.", -) -@click.option( - "--group-id", - type=str, - help="The group ID of the artifact when distribution_name is not set. " - "It cannot be set at the same time as distribution_name", -) -@click.option( - "--library-type", - type=str, - default="GAPIC_AUTO", - show_default=True, - help="A label that appears in repo-metadata.json to tell how the library is " - "maintained or generated", -) -@click.option("--api-reference", type=str, help="API reference for this library") -@click.option("--codeowner-team", type=str, help="Team owning this library") -@click.option( - "--excluded-dependencies", - type=str, - help="Comma-separated list of dependencies excluded from this library. The modules specified " - "here will not be added to the poms when postprocessing.", -) -@click.option( - "--excluded-poms", - type=str, - help="Comma-separated list of pom files excluded from postprocessing.", -) -@click.option( - "--googleapis-committish", - type=str, - help="Committish of googleapis/googleapis to get the protos from. It will " - "override the repo-level committish and is not subject to automatic updates", -) -@click.option("--issue-tracker", type=str, help="Issue tracker of the library") -@click.option( - "--extra-versioned-modules", - type=str, - help="Extra modules of the libraries that will be managed via versions.txt", -) -def add_new_library( - api_shortname, - name_pretty, - proto_path, - product_docs, - rest_docs, - rpc_docs, - api_description, - library_name, - distribution_name, - release_level, - api_id, - requires_billing, - group_id, - library_type, - api_reference, - codeowner_team, - excluded_dependencies, - excluded_poms, - googleapis_committish, - issue_tracker, - extra_versioned_modules, -): - output_name = library_name.split("java-")[-1] if library_name else api_shortname - if distribution_name is None: - group_id = "com.google.cloud" - distribution_name = f"{group_id}:google-cloud-{output_name}" - elif group_id: - sys.exit("--group-id and --distribution-name are mutually exclusive options") - else: - group_id = distribution_name.split(":")[0] - - distribution_name_short = re.split(r"[:\/]", distribution_name)[-1] - cloud_api = distribution_name_short.startswith("google-cloud-") - - if api_id is None: - api_id = f"{api_shortname}.googleapis.com" - - if not product_docs.startswith("https"): - sys.exit( - f"product_docs must starts with 'https://' - actual value is {product_docs}" - ) - - client_documentation = f"https://cloud.google.com/java/docs/reference/{distribution_name_short}/latest/overview" - - if api_shortname == "": - sys.exit("api_shortname is empty") - - path_to_yaml = os.path.join(script_dir, "..", "..", "generation_config.yaml") - with open(path_to_yaml, "r") as file_stream: - config = yaml.load(file_stream) - - version_re = re.compile(r"v\d[\w\d]*") - is_library_version = lambda p: version_re.match(p.split("/")[-1]) is not None - if not is_library_version(proto_path): - print( - f"WARNING: proto_path '{proto_path}' does not end with a version (e.g., v1). " - "Please ensure this is intentional and that this represents a non-versioned " - "or custom proto path." - ) - - new_library = { - "api_shortname": api_shortname, - "name_pretty": name_pretty, - "product_documentation": product_docs, - "api_description": api_description, - "client_documentation": client_documentation, - "release_level": release_level, - "distribution_name": distribution_name, - "api_id": api_id, - "library_type": library_type, - "group_id": group_id, - "cloud_api": cloud_api, - "GAPICs": [{"proto_path": proto_path}], - } - - __add_item_if_set(new_library, "library_name", library_name) - __add_item_if_set(new_library, "requires_billing", requires_billing) - __add_item_if_set(new_library, "rest_documentation", rest_docs) - __add_item_if_set(new_library, "rpc_documentation", rpc_docs) - __add_item_if_set(new_library, "distribution_name", distribution_name) - __add_item_if_set(new_library, "api_reference", api_reference) - __add_item_if_set(new_library, "codeowner_team", codeowner_team) - __add_item_if_set(new_library, "excluded_dependencies", excluded_dependencies) - __add_item_if_set(new_library, "excluded_poms", excluded_poms) - __add_item_if_set(new_library, "googleapis_commitish", googleapis_committish) - __add_item_if_set(new_library, "issue_tracker", issue_tracker) - __add_item_if_set(new_library, "extra_versioned_modules", extra_versioned_modules) - - config["libraries"].append(new_library) - config["libraries"] = sorted(config["libraries"], key=__compute_library_name) - - with open(path_to_yaml, "w") as file_stream: - yaml.dump(config, file_stream) - - -def __add_item_if_set(target: dict, key: str, value: any) -> None: - if value is not None: - target[key] = value - - -def __compute_library_name(library: dict) -> str: - if "library_name" in library: - return f'java-{library["library_name"]}' - return f'java-{library["api_shortname"]}' - - - -if __name__ == "__main__": - main() diff --git a/generation/new_client_hermetic_build/generate-arguments.py b/generation/new_client_hermetic_build/generate-arguments.py deleted file mode 100644 index 94af2aa8b825..000000000000 --- a/generation/new_client_hermetic_build/generate-arguments.py +++ /dev/null @@ -1,43 +0,0 @@ -""" -Helper script to generate arguments for new-client.py from environment variables -""" -import sys -import os - -required_args = [ - 'API_SHORTNAME', - 'NAME_PRETTY', - 'API_DESCRIPTION', - 'PROTO_PATH', - 'PRODUCT_DOCS', -] - -optional_args = [ - 'REST_DOCS', - 'RPC_DOCS', - 'LIBRARY_NAME', - 'DISTRIBUTION_NAME', -] - -def main() -> None: - result = '' - queries = [(required_args, True), (optional_args, False)] - for (args, is_required) in queries: - for arg in args: - value = os.getenv(arg) - result += __to_python_arg(arg, value, is_required) - - print(result) - -def __to_python_arg(arg: str, value: str, is_required: bool) -> str: - if value is None or value == '': - if is_required: - sys.exit(f'required env var {arg} is not set') - return "" - - return f"--{arg.lower().replace('_','-')} \"{value}\" " - - - -if __name__ == "__main__": - main() diff --git a/generation/new_client_hermetic_build/requirements.in b/generation/new_client_hermetic_build/requirements.in deleted file mode 100644 index 344219b0320d..000000000000 --- a/generation/new_client_hermetic_build/requirements.in +++ /dev/null @@ -1,3 +0,0 @@ -click -ruamel.yaml -GitPython diff --git a/generation/new_client_hermetic_build/requirements.txt b/generation/new_client_hermetic_build/requirements.txt deleted file mode 100644 index 14c7951f8d86..000000000000 --- a/generation/new_client_hermetic_build/requirements.txt +++ /dev/null @@ -1,66 +0,0 @@ -click==8.1.7 \ - --hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \ - --hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de -ruamel.yaml==0.18.6 \ - --hash=sha256:57b53ba33def16c4f3d807c0ccbc00f8a6081827e81ba2491691b76882d0c636 \ - --hash=sha256:8b27e6a217e786c6fbe5634d8f3f11bc63e0f80f6a5890f28863d9c45aac311b -ruamel.yaml.clib==0.2.8 \ - --hash=sha256:024cfe1fc7c7f4e1aff4a81e718109e13409767e4f871443cbff3dba3578203d \ - --hash=sha256:03d1162b6d1df1caa3a4bd27aa51ce17c9afc2046c31b0ad60a0a96ec22f8001 \ - --hash=sha256:07238db9cbdf8fc1e9de2489a4f68474e70dffcb32232db7c08fa61ca0c7c462 \ - --hash=sha256:09b055c05697b38ecacb7ac50bdab2240bfca1a0c4872b0fd309bb07dc9aa3a9 \ - --hash=sha256:1707814f0d9791df063f8c19bb51b0d1278b8e9a2353abbb676c2f685dee6afe \ - --hash=sha256:1758ce7d8e1a29d23de54a16ae867abd370f01b5a69e1a3ba75223eaa3ca1a1b \ - --hash=sha256:184565012b60405d93838167f425713180b949e9d8dd0bbc7b49f074407c5a8b \ - --hash=sha256:1b617618914cb00bf5c34d4357c37aa15183fa229b24767259657746c9077615 \ - --hash=sha256:1dc67314e7e1086c9fdf2680b7b6c2be1c0d8e3a8279f2e993ca2a7545fecf62 \ - --hash=sha256:25ac8c08322002b06fa1d49d1646181f0b2c72f5cbc15a85e80b4c30a544bb15 \ - --hash=sha256:25c515e350e5b739842fc3228d662413ef28f295791af5e5110b543cf0b57d9b \ - --hash=sha256:305889baa4043a09e5b76f8e2a51d4ffba44259f6b4c72dec8ca56207d9c6fe1 \ - --hash=sha256:3213ece08ea033eb159ac52ae052a4899b56ecc124bb80020d9bbceeb50258e9 \ - --hash=sha256:3f215c5daf6a9d7bbed4a0a4f760f3113b10e82ff4c5c44bec20a68c8014f675 \ - --hash=sha256:46d378daaac94f454b3a0e3d8d78cafd78a026b1d71443f4966c696b48a6d899 \ - --hash=sha256:4ecbf9c3e19f9562c7fdd462e8d18dd902a47ca046a2e64dba80699f0b6c09b7 \ - --hash=sha256:53a300ed9cea38cf5a2a9b069058137c2ca1ce658a874b79baceb8f892f915a7 \ - --hash=sha256:56f4252222c067b4ce51ae12cbac231bce32aee1d33fbfc9d17e5b8d6966c312 \ - --hash=sha256:5c365d91c88390c8d0a8545df0b5857172824b1c604e867161e6b3d59a827eaa \ - --hash=sha256:700e4ebb569e59e16a976857c8798aee258dceac7c7d6b50cab63e080058df91 \ - --hash=sha256:75e1ed13e1f9de23c5607fe6bd1aeaae21e523b32d83bb33918245361e9cc51b \ - --hash=sha256:77159f5d5b5c14f7c34073862a6b7d34944075d9f93e681638f6d753606c6ce6 \ - --hash=sha256:7f67a1ee819dc4562d444bbafb135832b0b909f81cc90f7aa00260968c9ca1b3 \ - --hash=sha256:840f0c7f194986a63d2c2465ca63af8ccbbc90ab1c6001b1978f05119b5e7334 \ - --hash=sha256:84b554931e932c46f94ab306913ad7e11bba988104c5cff26d90d03f68258cd5 \ - --hash=sha256:87ea5ff66d8064301a154b3933ae406b0863402a799b16e4a1d24d9fbbcbe0d3 \ - --hash=sha256:955eae71ac26c1ab35924203fda6220f84dce57d6d7884f189743e2abe3a9fbe \ - --hash=sha256:a1a45e0bb052edf6a1d3a93baef85319733a888363938e1fc9924cb00c8df24c \ - --hash=sha256:a5aa27bad2bb83670b71683aae140a1f52b0857a2deff56ad3f6c13a017a26ed \ - --hash=sha256:a6a9ffd280b71ad062eae53ac1659ad86a17f59a0fdc7699fd9be40525153337 \ - --hash=sha256:a75879bacf2c987c003368cf14bed0ffe99e8e85acfa6c0bfffc21a090f16880 \ - --hash=sha256:aa2267c6a303eb483de8d02db2871afb5c5fc15618d894300b88958f729ad74f \ - --hash=sha256:aab7fd643f71d7946f2ee58cc88c9b7bfc97debd71dcc93e03e2d174628e7e2d \ - --hash=sha256:b16420e621d26fdfa949a8b4b47ade8810c56002f5389970db4ddda51dbff248 \ - --hash=sha256:b42169467c42b692c19cf539c38d4602069d8c1505e97b86387fcf7afb766e1d \ - --hash=sha256:bba64af9fa9cebe325a62fa398760f5c7206b215201b0ec825005f1b18b9bccf \ - --hash=sha256:beb2e0404003de9a4cab9753a8805a8fe9320ee6673136ed7f04255fe60bb512 \ - --hash=sha256:bef08cd86169d9eafb3ccb0a39edb11d8e25f3dae2b28f5c52fd997521133069 \ - --hash=sha256:c2a72e9109ea74e511e29032f3b670835f8a59bbdc9ce692c5b4ed91ccf1eedb \ - --hash=sha256:c58ecd827313af6864893e7af0a3bb85fd529f862b6adbefe14643947cfe2942 \ - --hash=sha256:c69212f63169ec1cfc9bb44723bf2917cbbd8f6191a00ef3410f5a7fe300722d \ - --hash=sha256:cabddb8d8ead485e255fe80429f833172b4cadf99274db39abc080e068cbcc31 \ - --hash=sha256:d176b57452ab5b7028ac47e7b3cf644bcfdc8cacfecf7e71759f7f51a59e5c92 \ - --hash=sha256:da09ad1c359a728e112d60116f626cc9f29730ff3e0e7db72b9a2dbc2e4beed5 \ - --hash=sha256:e2b4c44b60eadec492926a7270abb100ef9f72798e18743939bdbf037aab8c28 \ - --hash=sha256:e79e5db08739731b0ce4850bed599235d601701d5694c36570a99a0c5ca41a9d \ - --hash=sha256:ebc06178e8821efc9692ea7544aa5644217358490145629914d8020042c24aa1 \ - --hash=sha256:edaef1c1200c4b4cb914583150dcaa3bc30e592e907c01117c08b13a07255ec2 \ - --hash=sha256:f481f16baec5290e45aebdc2a5168ebc6d35189ae6fea7a58787613a25f6e875 \ - --hash=sha256:fff3573c2db359f091e1589c3d7c5fc2f86f5bdb6f24252c2d8e539d4e45f412 -GitPython==3.1.42 \ - --hash=sha256:1bf9cd7c9e7255f77778ea54359e54ac22a72a5b51288c457c881057b7bb9ecd \ - --hash=sha256:2d99869e0fef71a73cbd242528105af1d6c1b108c60dfabd994bf292f76c3ceb -gitdb==4.0.1 \ - --hash=sha256:24572287933a9e5bf45260cd7a5629e5b3b190ec3c2c6a5d5e4125dd06ff4027 \ - --hash=sha256:d82c6b76ce8496c5209adf1c0ab969a6e1a8a31510ceb5f57a206fc7c77c0fea -smmap==3.0.1 \ - --hash=sha256:171484fe62793e3626c8b05dd752eb2ca01854b0c55a1efc0dc4210fccb65446 \ - --hash=sha256:5fead614cf2de17ee0707a8c6a5f2aa5a2fc6c698c70993ba42f515485ffda78 diff --git a/generation_config.yaml b/generation_config.yaml deleted file mode 100644 index 10ab615e932c..000000000000 --- a/generation_config.yaml +++ /dev/null @@ -1,3195 +0,0 @@ -googleapis_commitish: f7b17174725f43b5cb11b0b8c6bbad20a3dc5bd1 -libraries_bom_version: 26.83.0 -is_monorepo: true -libraries: -- api_shortname: accessapproval - name_pretty: Access Approval - product_documentation: https://cloud.google.com/access-approval/docs/ - api_description: enables controlling access to your organization's data by Google - personnel. - release_level: stable - GAPICs: - - proto_path: google/cloud/accessapproval/v1 -- api_shortname: accesscontextmanager - name_pretty: Identity Access Context Manager - product_documentation: n/a - api_description: n/a - release_level: stable - distribution_name: com.google.cloud:google-identity-accesscontextmanager - GAPICs: - - proto_path: google/identity/accesscontextmanager/v1 - - proto_path: google/identity/accesscontextmanager/type -- api_shortname: admanager - name_pretty: Google Ad Manager API - product_documentation: https://developers.google.com/ad-manager/api/beta - api_description: The Ad Manager API enables an app to integrate with Google Ad Manager. - You can read Ad Manager data and run reports using the API. - client_documentation: https://cloud.google.com/java/docs/reference/ad-manager/latest/overview - release_level: preview - distribution_name: com.google.api-ads:ad-manager - api_id: admanager.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.api-ads - cloud_api: false - GAPICs: - - proto_path: google/ads/admanager/v1 - requires_billing: true -- api_shortname: advisorynotifications - name_pretty: Advisory Notifications API - product_documentation: https://cloud.google.com/advisory-notifications/ - api_description: An API for accessing Advisory Notifications in Google Cloud. - release_level: stable - GAPICs: - - proto_path: google/cloud/advisorynotifications/v1 -- api_shortname: aiplatform - name_pretty: Vertex AI - product_documentation: https://cloud.google.com/vertex-ai/docs - api_description: is an integrated suite of machine learning tools and services for - building and using ML models with AutoML or custom code. It offers both novices - and experts the best workbench for the entire machine learning development lifecycle. - release_level: stable - rest_documentation: https://cloud.google.com/vertex-ai/docs/reference/rest - rpc_documentation: https://cloud.google.com/vertex-ai/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/aiplatform/v1 - - proto_path: google/cloud/aiplatform/v1beta1 -- api_shortname: alloydb - name_pretty: AlloyDB - product_documentation: https://cloud.google.com/alloydb/ - api_description: AlloyDB is a fully managed, PostgreSQL-compatible database service - with industry-leading performance, availability, and scale. - rest_documentation: https://cloud.google.com/alloydb/docs/reference/rest - release_level: stable - GAPICs: - - proto_path: google/cloud/alloydb/v1 - - proto_path: google/cloud/alloydb/v1alpha - - proto_path: google/cloud/alloydb/v1beta -- api_shortname: alloydb - name_pretty: AlloyDB connectors - product_documentation: https://cloud.google.com/alloydb/docs - api_description: AlloyDB is a fully-managed, PostgreSQL-compatible database for - demanding transactional workloads. It provides enterprise-grade performance and - availability while maintaining 100% compatibility with open-source PostgreSQL. - api_id: connectors.googleapis.com - library_name: alloydb-connectors - rest_documentation: https://cloud.google.com/alloydb/docs/reference/rest - release_level: stable - GAPICs: - - proto_path: google/cloud/alloydb/connectors/v1 - - proto_path: google/cloud/alloydb/connectors/v1alpha - - proto_path: google/cloud/alloydb/connectors/v1beta -- api_shortname: analyticsadmin - name_pretty: Analytics Admin - product_documentation: https://developers.google.com/analytics - api_description: allows you to manage Google Analytics accounts and properties. - library_name: analytics-admin - cloud_api: false - distribution_name: com.google.analytics:google-analytics-admin - codeowner_team: '@googleapis/analytics-dpe' - GAPICs: - - proto_path: google/analytics/admin/v1alpha - - proto_path: google/analytics/admin/v1beta -- api_shortname: analyticsdata - name_pretty: Analytics Data - product_documentation: https://developers.google.com/analytics/trusted-testing/analytics-data - api_description: provides programmatic methods to access report data in Google Analytics - App+Web properties. - library_name: analytics-data - api_id: analytics-data.googleapis.com - cloud_api: false - distribution_name: com.google.analytics:google-analytics-data - codeowner_team: '@googleapis/analytics-dpe' - GAPICs: - - proto_path: google/analytics/data/v1alpha - - proto_path: google/analytics/data/v1beta -- api_shortname: analyticshub - name_pretty: Analytics Hub API - product_documentation: https://cloud.google.com/bigquery/TBD - api_description: TBD - release_level: stable - GAPICs: - - proto_path: google/cloud/bigquery/analyticshub/v1 -- api_shortname: apigateway - name_pretty: API Gateway - product_documentation: https://cloud.google.com/api-gateway/docs - api_description: enables you to provide secure access to your backend services through - a well-defined REST API that is consistent across all of your services, regardless - of the service implementation. Clients consume your REST APIS to implement standalone - apps for a mobile device or tablet, through apps running in a browser, or through - any other type of app that can make a request to an HTTP endpoint. - library_name: api-gateway - release_level: stable - api_id: apigateway.googleapis.com - rest_documentation: https://cloud.google.com/api-gateway/docs/reference/rest - GAPICs: - - proto_path: google/cloud/apigateway/v1 -- api_shortname: apigeeconnect - name_pretty: Apigee Connect - product_documentation: https://cloud.google.com/apigee/docs/hybrid/v1.3/apigee-connect/ - api_description: allows the Apigee hybrid management plane to connect securely to - the MART service in the runtime plane without requiring you to expose the MART - endpoint on the internet. - library_name: apigee-connect - release_level: stable - GAPICs: - - proto_path: google/cloud/apigeeconnect/v1 -- api_shortname: apigee-registry - name_pretty: Registry API - product_documentation: https://cloud.google.com/apigee/docs/api-hub/get-started-registry-api - api_description: allows teams to upload and share machine-readable descriptions - of APIs that are in use and in development. - api_id: apigeeregistry.googleapis.com - GAPICs: - - proto_path: google/cloud/apigeeregistry/v1 -- api_shortname: apihub - name_pretty: API hub API - product_documentation: https://cloud.google.com/apigee/docs/apihub/what-is-api-hub - api_description: API hub lets you consolidate and organize information about all - of the APIs of interest to your organization. API hub lets you capture critical - information about APIs that allows developers to discover and evaluate them - easily and leverage the work of other teams wherever possible. API platform - teams can use API hub to have visibility into and manage their portfolio of APIs. - client_documentation: https://cloud.google.com/java/docs/reference/google-cloud-apihub/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-apihub - api_id: apihub.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/apihub/v1 - requires_billing: true -- api_shortname: apikeys - name_pretty: API Keys API - product_documentation: https://cloud.google.com/api-keys/ - api_description: API Keys lets you create and manage your API keys for your projects. - release_level: stable - GAPICs: - - proto_path: google/api/apikeys/v2 -- api_shortname: appengine - name_pretty: App Engine Admin API - product_documentation: https://cloud.google.com/appengine/docs/admin-api/ - api_description: you to manage your App Engine applications. - library_name: appengine-admin - release_level: stable - codeowner_team: '@googleapis/aap-dpes' - GAPICs: - - proto_path: google/appengine/v1 -- api_shortname: apphub - name_pretty: App Hub API - product_documentation: https://cloud.google.com/app-hub/docs/overview - api_description: App Hub simplifies the process of building, running, and managing - applications on Google Cloud. - rpc_documentation: https://cloud.google.com/app-hub/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/apphub/v1 -- api_shortname: appoptimize - name_pretty: App Optimize API - product_documentation: https://docs.cloud.google.com/app-optimize/overview - api_description: The App Optimize API provides developers and platform teams with - tools to monitor, analyze, and improve the performance and cost-efficiency of - their cloud applications. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-appoptimize/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-appoptimize - api_id: appoptimize.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/appoptimize/v1beta - requires_billing: true -- api_shortname: area120tables - name_pretty: Area 120 Tables - product_documentation: https://area120.google.com/ - api_description: provides programmatic methods to the Area 120 Tables API. - library_name: area120-tables - cloud_api: false - distribution_name: com.google.area120:google-area120-tables - GAPICs: - - proto_path: google/area120/tables/v1alpha1 -- api_shortname: artifactregistry - name_pretty: Artifact Registry - product_documentation: https://cloud.google.com/artifact-registry - api_description: provides a single place for your organization to manage container - images and language packages (such as Maven and npm). It is fully integrated with - Google Cloud's tooling and runtimes and comes with support for native artifact - protocols. This makes it simple to integrate it with your CI/CD tooling to set - up automated pipelines. - library_name: artifact-registry - release_level: stable - codeowner_team: '@googleapis/aap-dpes' - rest_documentation: https://cloud.google.com/artifact-registry/docs/reference/rest - rpc_documentation: https://cloud.google.com/artifact-registry/docs/reference/rpc - GAPICs: - - proto_path: google/devtools/artifactregistry/v1 - - proto_path: google/devtools/artifactregistry/v1beta2 -- api_shortname: cloudasset - name_pretty: Cloud Asset Inventory - product_documentation: https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/overview - api_description: provides inventory services based on a time series database. This - database keeps a five week history of Google Cloud asset metadata. The Cloud Asset - Inventory export service allows you to export all asset metadata at a certain - timestamp or export event change history during a timeframe. - library_name: asset - release_level: stable - api_reference: https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/overview - issue_tracker: https://issuetracker.google.com/issues/new?component=187210 - GAPICs: - - proto_path: google/cloud/asset/v1 - - proto_path: google/cloud/asset/v1p1beta1 - - proto_path: google/cloud/asset/v1p2beta1 - - proto_path: google/cloud/asset/v1p5beta1 - - proto_path: google/cloud/asset/v1p7beta1 -- api_shortname: assuredworkloads - name_pretty: Assured Workloads for Government - product_documentation: https://cloud.google.com/assured-workloads/ - api_description: allows you to secure your government workloads and accelerate your - path to running compliant workloads on Google Cloud with Assured Workloads for - Government. - library_name: assured-workloads - release_level: stable - rest_documentation: https://cloud.google.com/assured-workloads/docs/reference/rest - GAPICs: - - proto_path: google/cloud/assuredworkloads/v1 - - proto_path: google/cloud/assuredworkloads/v1beta1 -- api_shortname: auditmanager - name_pretty: Audit Manager API - product_documentation: https://cloud.google.com/audit-manager/docs - api_description: Lists information about the supported locations for this service. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-auditmanager/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-auditmanager - api_id: auditmanager.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/auditmanager/v1 - requires_billing: true -- api_shortname: automl - name_pretty: Cloud Auto ML - product_documentation: https://cloud.google.com/automl/docs/ - api_description: makes the power of machine learning available to you even if you - have limited knowledge of machine learning. You can use AutoML to build on Google's - machine learning capabilities to create your own custom machine learning models - that are tailored to your business needs, and then integrate those models into - your applications and web sites. - release_level: stable - issue_tracker: https://issuetracker.google.com/savedsearches/559744 - rest_documentation: https://cloud.google.com/automl/docs/reference/rest - rpc_documentation: https://cloud.google.com/automl/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/automl/v1 - - proto_path: google/cloud/automl/v1beta1 -# - api_shortname: backstory -# name_pretty: Malachite Common Protos -# product_documentation: https://cloud.google.com/chronicle/docs/secops/secops-overview -# api_description: Common Universal Data Model (UDM) and Entity protos used by Chronicle. -# client_documentation: -# https://cloud.google.com/java/docs/reference/google-cloud-backstory/latest/overview -# release_level: preview -# distribution_name: com.google.cloud:google-cloud-backstory -# api_id: backstory.googleapis.com -# library_type: GAPIC_AUTO -# group_id: com.google.cloud -# cloud_api: true -# GAPICs: -# - proto_path: backstory -# requires_billing: true -- api_shortname: backupdr - name_pretty: Backup and DR Service API - product_documentation: https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-dr - api_description: 'Backup and DR Service is a powerful, centralized, cloud-first - backup and disaster recovery solution for cloud-based and hybrid workloads. ' - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-backupdr/latest/overview - release_level: stable - distribution_name: com.google.cloud:google-cloud-backupdr - api_id: backupdr.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/backupdr/v1 - requires_billing: true -- api_shortname: baremetalsolution - name_pretty: Bare Metal Solution - product_documentation: https://cloud.google.com/bare-metal/docs - api_description: Bring your Oracle workloads to Google Cloud with Bare Metal Solution - and jumpstart your cloud journey with minimal risk. - library_name: bare-metal-solution - rest_documentation: https://cloud.google.com/bare-metal/docs/reference/rest - rpc_documentation: https://cloud.google.com/bare-metal/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/baremetalsolution/v2 -- api_shortname: batch - name_pretty: Cloud Batch - product_documentation: https://cloud.google.com/ - api_description: n/a - GAPICs: - - proto_path: google/cloud/batch/v1 - - proto_path: google/cloud/batch/v1alpha -- api_shortname: beyondcorp-appconnections - name_pretty: BeyondCorp AppConnections - product_documentation: https://cloud.google.com/beyondcorp-enterprise/ - api_description: is Google's implementation of the zero trust model. It builds upon - a decade of experience at Google, combined with ideas and best practices from - the community. By shifting access controls from the network perimeter to individual - users, BeyondCorp enables secure work from virtually any location without the - need for a traditional VPN. - GAPICs: - - proto_path: google/cloud/beyondcorp/appconnections/v1 -- api_shortname: beyondcorp-appconnectors - name_pretty: BeyondCorp AppConnectors - product_documentation: cloud.google.com/beyondcorp-enterprise/ - api_description: provides methods to manage (create/read/update/delete) BeyondCorp - AppConnectors. - GAPICs: - - proto_path: google/cloud/beyondcorp/appconnectors/v1 -- api_shortname: beyondcorp-appgateways - name_pretty: BeyondCorp AppGateways - product_documentation: https://cloud.google.com/beyondcorp-enterprise/ - api_description: A zero trust solution that enables secure access to applications - and resources, and offers integrated threat and data protection. - api_id: beyondcorp.googleapis.com - GAPICs: - - proto_path: google/cloud/beyondcorp/appgateways/v1 -- api_shortname: beyondcorp-clientconnectorservices - name_pretty: BeyondCorp ClientConnectorServices - product_documentation: https://cloud.google.com/beyondcorp-enterprise/ - api_description: A zero trust solution that enables secure access to applications - and resources, and offers integrated threat and data protection. - api_id: beyondcorp.googleapis.com - GAPICs: - - proto_path: google/cloud/beyondcorp/clientconnectorservices/v1 -- api_shortname: beyondcorp-clientgateways - name_pretty: BeyondCorp ClientGateways - product_documentation: https://cloud.google.com/beyondcorp-enterprise/ - api_description: A zero trust solution that enables secure access to applications - and resources, and offers integrated threat and data protection. - api_id: beyondcorp.googleapis.com - GAPICs: - - proto_path: google/cloud/beyondcorp/clientgateways/v1 -- api_shortname: biglake - name_pretty: BigLake - product_documentation: https://cloud.google.com/biglake - api_description: The BigLake API provides access to BigLake Metastore, a serverless, - fully managed, and highly available metastore for open-source data that can be - used for querying Apache Iceberg tables in BigQuery. - GAPICs: - - proto_path: google/cloud/bigquery/biglake/v1 - - proto_path: google/cloud/biglake/v1 - - proto_path: google/cloud/bigquery/biglake/v1alpha1 - - proto_path: google/cloud/biglake/hive/v1beta -- api_shortname: analyticshub - name_pretty: Analytics Hub - product_documentation: https://cloud.google.com/analytics-hub - api_description: is a data exchange that allows you to efficiently and securely - exchange data assets across organizations to address challenges of data reliability - and cost. - library_name: bigquery-data-exchange - GAPICs: - - proto_path: google/cloud/bigquery/dataexchange/v1beta1 -- api_shortname: bigqueryconnection - name_pretty: Cloud BigQuery Connection - product_documentation: https://cloud.google.com/bigquery/docs/reference/bigqueryconnection/rest - api_description: allows users to manage BigQuery connections to external data sources. - release_level: stable - client_documentation: - https://cloud.google.com/bigquery/docs/reference/reservations/rpc/google.cloud.bigquery.reservation.v1beta1 - GAPICs: - - proto_path: google/cloud/bigquery/connection/v1 - - proto_path: google/cloud/bigquery/connection/v1beta1 -- api_shortname: bigquerydatapolicy - name_pretty: BigQuery DataPolicy API - product_documentation: https://cloud.google.com/bigquery/docs/reference/datapolicy/ - api_description: Allows users to manage BigQuery data policies. - GAPICs: - - proto_path: google/cloud/bigquery/datapolicies/v1 - - proto_path: google/cloud/bigquery/datapolicies/v1beta1 - - proto_path: google/cloud/bigquery/datapolicies/v2beta1 - - proto_path: google/cloud/bigquery/datapolicies/v2 -- api_shortname: bigquerydatatransfer - name_pretty: BigQuery Data Transfer Service - product_documentation: https://cloud.google.com/bigquery/transfer/ - api_description: transfers data from partner SaaS applications to Google BigQuery - on a scheduled, managed basis. - release_level: stable - issue_tracker: https://issuetracker.google.com/savedsearches/559654 - GAPICs: - - proto_path: google/cloud/bigquery/datatransfer/v1 -- api_shortname: bigquerymigration - name_pretty: BigQuery Migration - product_documentation: https://cloud.google.com/bigquery/docs - api_description: BigQuery Migration API - rest_documentation: https://cloud.google.com/bigquery/docs/reference/rest - GAPICs: - - proto_path: google/cloud/bigquery/migration/v2 - - proto_path: google/cloud/bigquery/migration/v2alpha -- api_shortname: bigqueryreservation - name_pretty: Cloud BigQuery Reservation - product_documentation: https://cloud.google.com/bigquery/docs/reference/reservations/rpc - api_description: allows users to manage their flat-rate BigQuery reservations. - release_level: stable - GAPICs: - - proto_path: google/cloud/bigquery/reservation/v1 -- api_shortname: bigquerystorage - name_pretty: BigQuery Storage - product_documentation: https://cloud.google.com/bigquery/docs/reference/storage/ - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-bigquerystorage/latest/history - api_description: is an API for reading data stored in BigQuery. This API provides - direct, high-throughput read access to existing BigQuery tables, supports parallel - access with automatic liquid sharding, and allows fine-grained control over what - data is returned. - issue_tracker: https://issuetracker.google.com/savedsearches/559654 - release_level: stable - language: java - distribution_name: com.google.cloud:google-cloud-bigquerystorage - codeowner_team: '@googleapis/bigquery-team' - api_id: bigquerystorage.googleapis.com - transport: grpc - requires_billing: true - library_type: GAPIC_COMBO - recommended_package: com.google.cloud.bigquery.storage.v1 - GAPICs: - - proto_path: google/cloud/bigquery/storage/v1 - - proto_path: google/cloud/bigquery/storage/v1alpha - - proto_path: google/cloud/bigquery/storage/v1beta1 - - proto_path: google/cloud/bigquery/storage/v1beta2 - - proto_path: google/cloud/bigquery/storage/v1beta -- api_shortname: bigtable - api_description: API for reading and writing the contents of Bigtables associated - with a cloud project. - name_pretty: Cloud Bigtable - product_documentation: https://cloud.google.com/bigtable - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-bigtable/latest/history - issue_tracker: https://issuetracker.google.com/savedsearches/559777 - release_level: stable - distribution_name: com.google.cloud:google-cloud-bigtable - codeowner_team: '@googleapis/bigtable-team' - api_id: bigtable.googleapis.com - library_type: GAPIC_COMBO - extra_versioned_modules: google-cloud-bigtable-emulator,google-cloud-bigtable-emulator-core - excluded_poms: google-cloud-bigtable-bom - recommended_package: com.google.cloud.bigtable - GAPICs: - - proto_path: google/bigtable/v2 - - proto_path: google/bigtable/admin/v2 -- api_shortname: cloudbilling - name_pretty: Cloud Billing - product_documentation: https://cloud.google.com/billing/docs - api_description: allows developers to manage their billing accounts or browse the - catalog of SKUs and pricing. - library_name: billing - release_level: stable - issue_tracker: https://issuetracker.google.com/savedsearches/559770 - rest_documentation: https://cloud.google.com/billing/docs/reference/rest - rpc_documentation: https://cloud.google.com/billing/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/billing/v1 -- api_shortname: billingbudgets - name_pretty: Cloud Billing Budgets - product_documentation: https://cloud.google.com/billing/docs/how-to/budgets - api_description: allows you to avoid surprises on your bill by creating budgets - to monitor all your Google Cloud charges in one place. - release_level: stable - GAPICs: - - proto_path: google/cloud/billing/budgets/v1 - - proto_path: google/cloud/billing/budgets/v1beta1 -- api_shortname: binaryauthorization - name_pretty: Binary Authorization - product_documentation: https://cloud.google.com/binary-authorization/docs - api_description: ' is a service on Google Cloud that provides centralized software - supply-chain security for applications that run on Google Kubernetes Engine (GKE) - and Anthos clusters on VMware' - library_name: binary-authorization - release_level: stable - api_id: binaryauthorization.googleapis.com - codeowner_team: '@googleapis/aap-dpes' - rest_documentation: https://cloud.google.com/binary-authorization/docs/reference/rest - rpc_documentation: https://cloud.google.com/binary-authorization/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/binaryauthorization/v1 - - proto_path: google/cloud/binaryauthorization/v1beta1 -- api_shortname: capacityplanner - name_pretty: Capacity Planner API - product_documentation: https://cloud.google.com/capacity-planner/docs - api_description: Provides programmatic access to Capacity Planner features. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-capacityplanner/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-capacityplanner - api_id: capacityplanner.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/capacityplanner/v1beta - requires_billing: true -- api_shortname: certificatemanager - name_pretty: Certificate Manager - product_documentation: https://cloud.google.com/certificate-manager/docs - api_description: lets you acquire and manage TLS (SSL) certificates for use with - Cloud Load Balancing. - library_name: certificate-manager - api_id: certificatemanager.googleapis.com - GAPICs: - - proto_path: google/cloud/certificatemanager/v1 -- api_shortname: ces - name_pretty: Gemini Enterprise for Customer Experience API - product_documentation: https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps - api_description: Customer Experience Agent Studio (CX Agent Studio) is a minimal - code conversational agent builder. - client_documentation: https://cloud.google.com/java/docs/reference/google-cloud-ces/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-ces - api_id: ces.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/ces/v1 - - proto_path: google/cloud/ces/v1beta - requires_billing: true - rpc_documentation: - https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/reference/rpc -- api_shortname: cloudchannel - name_pretty: Channel Services - product_documentation: https://cloud.google.com/channel/docs - api_description: With Channel Services, Google Cloud partners and resellers have - a single unified resale platform, with a unified resale catalog, customer management, - order management, billing management, policy and authorization management, and - cost management. - library_name: channel - release_level: stable - rest_documentation: https://cloud.google.com/channel/docs/reference/rest - rpc_documentation: https://cloud.google.com/channel/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/channel/v1 -- api_shortname: chat - name_pretty: Google Chat API - product_documentation: https://developers.google.com/chat/concepts - api_description: The Google Chat API lets you build Chat apps to integrate your - services with Google Chat and manage Chat resources such as spaces, members, and - messages. - rest_documentation: https://developers.google.com/chat/api/reference/rest - GAPICs: - - proto_path: google/chat/v1 -- api_shortname: chronicle - name_pretty: Chronicle API - product_documentation: https://cloud.google.com/chronicle/docs/secops/secops-overview - api_description: The Google Cloud Security Operations API, popularly known as the - Chronicle API, serves endpoints that enable security analysts to analyze and mitigate - a security threat throughout its lifecycle - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-chronicle/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-chronicle - api_id: chronicle.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/chronicle/v1 - requires_billing: true -- api_shortname: cloudapiregistry - name_pretty: Cloud API Registry API - product_documentation: https://docs.cloud.google.com/api-registry/docs/overview - api_description: Cloud API Registry lets you discover, govern, use, and monitor - Model Context Protocol (MCP) servers and tools provided by Google, or by your - organization through Apigee API hub. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-cloudapiregistry/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-cloudapiregistry - api_id: cloudapiregistry.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/apiregistry/v1beta - - proto_path: google/cloud/apiregistry/v1 - requires_billing: true -- api_shortname: cloudbuild - name_pretty: Cloud Build - product_documentation: https://cloud.google.com/cloud-build/ - api_description: lets you build software quickly across all languages. Get complete - control over defining custom workflows for building, testing, and deploying across - multiple environments such as VMs, serverless, Kubernetes, or Firebase. - release_level: stable - codeowner_team: '@googleapis/aap-dpes' - distribution_name: com.google.cloud:google-cloud-build - issue_tracker: https://issuetracker.google.com/savedsearches/5226584 - GAPICs: - - proto_path: google/devtools/cloudbuild/v1 - - proto_path: google/devtools/cloudbuild/v2 -- api_shortname: cloudcommerceconsumerprocurement - name_pretty: Cloud Commerce Consumer Procurement - product_documentation: https://cloud.google.com/marketplace/ - api_description: Find top solutions integrated with Google Cloud to accelerate your - digital transformation. Scale and simplify procurement for your organization with - online discovery, flexible purchasing, and fulfillment of enterprise-grade cloud - solutions. - GAPICs: - - proto_path: google/cloud/commerce/consumer/procurement/v1 - - proto_path: google/cloud/commerce/consumer/procurement/v1alpha1 -- api_shortname: cloudcontrolspartner - name_pretty: Cloud Controls Partner API - product_documentation: https://cloud.google.com/sovereign-controls-by-partners/docs/sovereign-partners - api_description: Provides insights about your customers and their Assured Workloads - based on your Sovereign Controls by Partners offering. - release_level: stable - GAPICs: - - proto_path: google/cloud/cloudcontrolspartner/v1 - - proto_path: google/cloud/cloudcontrolspartner/v1beta -- api_shortname: cloudquotas - name_pretty: Cloud Quotas API - product_documentation: https://cloud.google.com/cloudquotas/docs/ - api_description: "Cloud Quotas API provides GCP service consumers with management - and\n observability for resource usage, quotas, and restrictions of the services\n\ - \ they consume." - release_level: stable - GAPICs: - - proto_path: google/api/cloudquotas/v1 - - proto_path: google/api/cloudquotas/v1beta -- api_shortname: cloudsecuritycompliance - name_pretty: Cloud Security Compliance API - product_documentation: - https://cloud.google.com/security-command-center/docs/compliance-manager-overview - api_description: Compliance Manager uses software-defined controls that let you - assess support for multiple compliance programs and security requirements within - a Google Cloud organization - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-cloudsecuritycompliance/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-cloudsecuritycompliance - api_id: cloudsecuritycompliance.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/cloudsecuritycompliance/v1 - requires_billing: true -- api_shortname: cloudsupport - name_pretty: Google Cloud Support API - product_documentation: https://cloud.google.com/support/docs/reference/support-api/ - api_description: Manages Google Cloud technical support cases for Customer Care - support offerings. - GAPICs: - - proto_path: google/cloud/support/v2 - - proto_path: google/cloud/support/v2beta -- api_shortname: common-protos - name_pretty: Common Protos - product_documentation: https://github.com/googleapis/api-common-protos - api_description: Protobuf classes for Google's common protos. - release_level: stable - client_documentation: - https://cloud.google.com/java/docs/reference/proto-google-common-protos/latest/history - distribution_name: com.google.api.grpc:proto-google-common-protos - excluded_dependencies: - grpc-google-common-protos,proto-google-common-protos,proto-google-common-protos-parent - excluded_poms: proto-google-common-protos-bom,proto-google-common-protos - library_type: OTHER - GAPICs: - - proto_path: google/api - - proto_path: google/apps/card/v1 - - proto_path: google/cloud - - proto_path: google/cloud/audit - - proto_path: google/cloud/location - - proto_path: google/geo/type - - proto_path: google/logging/type - - proto_path: google/longrunning - - proto_path: google/rpc - - proto_path: google/rpc/context - - proto_path: google/shopping/type - - proto_path: google/type -- api_shortname: compute - name_pretty: Compute Engine - product_documentation: https://cloud.google.com/compute/ - api_description: "delivers virtual machines running in Google's innovative data - centers and worldwide fiber network. Compute Engine's tooling and workflow support - enable scaling from single instances to global, load-balanced cloud computing. - Compute Engine's VMs boot quickly, come with persistent disk storage, deliver - consistent performance and are available in many configurations. " - release_level: stable - excluded_poms: grpc-google-cloud-compute-v1 - excluded_dependencies: grpc-google-cloud-compute-v1 - GAPICs: - - proto_path: google/cloud/compute/v1 -- api_shortname: confidentialcomputing - name_pretty: Confidential Computing API - product_documentation: https://cloud.google.com/confidential-computing/ - api_description: Protect data in-use with Confidential VMs, Confidential GKE, Confidential - Dataproc, and Confidential Space. - GAPICs: - - proto_path: google/cloud/confidentialcomputing/v1 - - proto_path: google/cloud/confidentialcomputing/v1alpha1 -- api_shortname: configdelivery - name_pretty: Config Delivery API - product_documentation: - https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/concepts/fleet-packages - api_description: ConfigDelivery service manages the deployment of kubernetes configuration - to a fleet of kubernetes clusters. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-configdelivery/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-configdelivery - api_id: configdelivery.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - requires_billing: true - rest_documentation: - https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/reference/rest - GAPICs: - - proto_path: google/cloud/configdelivery/v1beta - - proto_path: google/cloud/configdelivery/v1 -- api_shortname: connectgateway - name_pretty: Connect Gateway API - product_documentation: - https://cloud.google.com/kubernetes-engine/enterprise/multicluster-management/gateway - api_description: The Connect Gateway service allows connectivity from external parties - to connected Kubernetes clusters. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-connectgateway/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-connectgateway - api_id: connectgateway.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/gkeconnect/gateway/v1 - requires_billing: true -- api_shortname: contactcenterinsights - name_pretty: CCAI Insights - product_documentation: https://cloud.google.com/dialogflow/priv/docs/insights/ - api_description: ' helps users detect and visualize patterns in their contact center - data.' - library_name: contact-center-insights - release_level: stable - codeowner_team: '@googleapis/api-contact-center-insights' - GAPICs: - - proto_path: google/cloud/contactcenterinsights/v1 -- api_shortname: container - name_pretty: Kubernetes Engine - product_documentation: https://cloud.google.com/kubernetes-engine/ - api_description: is an enterprise-grade platform for containerized applications, - including stateful and stateless, AI and ML, Linux and Windows, complex and simple - web apps, API, and backend services. Leverage industry-first features like four-way - auto-scaling and no-stress management. Optimize GPU and TPU provisioning, use - integrated developer tools, and get multi-cluster support from SREs. - release_level: stable - codeowner_team: '@googleapis/cloud-sdk-java-team' - issue_tracker: https://issuetracker.google.com/savedsearches/559777 - rest_documentation: https://cloud.google.com/kubernetes-engine/docs/reference/rest - GAPICs: - - proto_path: google/container/v1 - - proto_path: google/container/v1beta1 -- api_shortname: containeranalysis - name_pretty: Cloud Container Analysis - product_documentation: https://cloud.google.com/container-registry/docs/container-analysis - api_description: is a service that provides vulnerability scanning and metadata - storage for software artifacts. The service performs vulnerability scans on built - software artifacts, such as the images in Container Registry, then stores the - resulting metadata and makes it available for consumption through an API. The - metadata may come from several sources, including vulnerability scanning, other - Cloud services, and third-party providers. - release_level: stable - codeowner_team: '@googleapis/aap-dpes' - issue_tracker: https://issuetracker.google.com/savedsearches/559777 - GAPICs: - - proto_path: google/devtools/containeranalysis/v1 - - proto_path: google/devtools/containeranalysis/v1beta1 -- api_shortname: contentwarehouse - name_pretty: Document AI Warehouse - product_documentation: https://cloud.google.com/document-warehouse/docs/overview - api_description: Document AI Warehouse is an integrated cloud-native GCP platform - to store, search, organize, govern and analyze documents and their structured - metadata. - GAPICs: - - proto_path: google/cloud/contentwarehouse/v1 -- api_shortname: datafusion - name_pretty: Cloud Data Fusion - product_documentation: https://cloud.google.com/data-fusion/docs - api_description: is a fully managed, cloud-native, enterprise data integration service - for quickly building and managing data pipelines. - library_name: data-fusion - release_level: stable - rest_documentation: https://cloud.google.com/data-fusion/docs/reference/rest - GAPICs: - - proto_path: google/cloud/datafusion/v1 - - proto_path: google/cloud/datafusion/v1beta1 -- api_shortname: databasecenter - name_pretty: Database Center API - product_documentation: https://cloud.google.com/database-center/docs/overview - api_description: Database Center provides an organization-wide, cross-product fleet - health platform to eliminate the overhead, complexity, and risk associated with - aggregating and summarizing health signals through custom dashboards. Through - Database Center's fleet health dashboard and API, database platform teams that - are responsible for reliability, compliance, security, cost, and administration - of database fleets will now have a single pane of glass that pinpoints issues - relevant to each team. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-databasecenter/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-databasecenter - api_id: databasecenter.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/databasecenter/v1beta - requires_billing: true -- api_shortname: datacatalog - name_pretty: Data Catalog - product_documentation: https://cloud.google.com/data-catalog - api_description: is a fully managed and highly scalable data discovery and metadata - management service. - release_level: stable - issue_tracker: '' - GAPICs: - - proto_path: google/cloud/datacatalog/v1 - - proto_path: google/cloud/datacatalog/v1beta1 -- api_shortname: dataflow - name_pretty: Dataflow - product_documentation: https://cloud.google.com/dataflow/docs - api_description: is a managed service for executing a wide variety of data processing - patterns. - rest_documentation: https://cloud.google.com/dataflow/docs/reference/rest - rpc_documentation: https://cloud.google.com/dataflow/docs/reference/rpc - GAPICs: - - proto_path: google/dataflow/v1beta3 -- api_shortname: dataform - name_pretty: Cloud Dataform - product_documentation: https://cloud.google.com/dataform/docs - api_description: Help analytics teams manage data inside BigQuery using SQL. - GAPICs: - - proto_path: google/cloud/dataform/v1beta1 - - proto_path: google/cloud/dataform/v1 -- api_shortname: datalabeling - name_pretty: Data Labeling - product_documentation: https://cloud.google.com/ai-platform/data-labeling/docs/ - api_description: is a service that lets you work with human labelers to generate - highly accurate labels for a collection of data that you can use to train your - machine learning models. - issue_tracker: '' - rest_documentation: https://cloud.google.com/ai-platform/data-labeling/docs/reference/rest - rpc_documentation: https://cloud.google.com/ai-platform/data-labeling/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/datalabeling/v1beta1 -- api_shortname: datalineage - name_pretty: Data Lineage - product_documentation: https://cloud.google.com/dataplex/docs/about-data-lineage - api_description: Lineage is used to track data flows between assets over time. - release_level: stable - GAPICs: - - proto_path: google/cloud/datacatalog/lineage/v1 - - proto_path: google/cloud/datacatalog/lineage/configmanagement/v1 -- api_shortname: datamanager - name_pretty: Data Manager API - product_documentation: https://developers.google.com/data-manager - api_description: A unified ingestion API for data partners, agencies and advertisers - to connect first-party data across Google advertising products. - client_documentation: https://cloud.google.com/java/docs/reference/data-manager/latest/overview - release_level: preview - distribution_name: com.google.api-ads:data-manager - api_id: datamanager.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.api-ads - cloud_api: false - GAPICs: - - proto_path: google/ads/datamanager/v1 - library_name: datamanager - requires_billing: true - rpc_documentation: https://developers.google.com/data-manager/api/reference/rpc -- api_shortname: dataplex - name_pretty: Cloud Dataplex - product_documentation: https://cloud.google.com/dataplex - api_description: provides intelligent data fabric that enables organizations to - centrally manage, monitor, and govern their data across data lakes, data warehouses, - and data marts with consistent controls, providing access to trusted data and - powering analytics at scale. - release_level: stable - rest_documentation: https://cloud.google.com/dataplex/docs/reference/rest - rpc_documentation: https://cloud.google.com/dataplex/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/dataplex/v1 -- api_shortname: dataproc - name_pretty: Dataproc - product_documentation: https://cloud.google.com/dataproc - api_description: is a faster, easier, more cost-effective way to run Apache Spark - and Apache Hadoop. - release_level: stable - codeowner_team: '@googleapis/api-dataproc' - issue_tracker: https://issuetracker.google.com/savedsearches/559745 - rest_documentation: https://cloud.google.com/dataproc/docs/reference/rest - rpc_documentation: https://cloud.google.com/dataproc/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/dataproc/v1 -- api_shortname: metastore - name_pretty: Dataproc Metastore - product_documentation: https://cloud.google.com/dataproc-metastore/docs - api_description: is a fully managed, highly available, autoscaled, autohealing, - OSS-native metastore service that greatly simplifies technical metadata management. - Dataproc Metastore service is based on Apache Hive metastore and serves as a critical - component towards enterprise data lakes. - library_name: dataproc-metastore - release_level: stable - rest_documentation: https://cloud.google.com/dataproc-metastore/docs/reference/rest - rpc_documentation: https://cloud.google.com/dataproc-metastore/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/metastore/v1 - - proto_path: google/cloud/metastore/v1alpha - - proto_path: google/cloud/metastore/v1beta -- api_shortname: datastore - name_pretty: Cloud Datastore - product_documentation: https://cloud.google.com/datastore - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-datastore/latest/history - issue_tracker: https://issuetracker.google.com/savedsearches/559768 - release_level: stable - language: java - distribution_name: com.google.cloud:google-cloud-datastore - api_id: datastore.googleapis.com - library_type: GAPIC_COMBO - api_description: is a fully managed, schemaless database for\nstoring non-relational - data. Cloud Datastore automatically scales with\nyour users and supports ACID - transactions, high availability of reads and\nwrites, strong consistency for reads - and ancestor queries, and eventual\nconsistency for all other queries. - excluded_dependencies: grpc-google-cloud-datastore-v1 - extra_versioned_modules: datastore-v1-proto-client - excluded_poms: grpc-google-cloud-datastore-v1 - recommended_package: com.google.cloud.datastore - GAPICs: - - proto_path: google/datastore/v1 - - proto_path: google/datastore/admin/v1 -- api_shortname: datastream - name_pretty: Datastream - product_documentation: https://cloud.google.com/datastream/docs - api_description: is a serverless and easy-to-use change data capture (CDC) and replication - service. It allows you to synchronize data across heterogeneous databases and - applications reliably, and with minimal latency and downtime. - release_level: stable - rest_documentation: https://cloud.google.com/datastream/docs/reference/rest - GAPICs: - - proto_path: google/cloud/datastream/v1 - - proto_path: google/cloud/datastream/v1alpha1 -- api_shortname: clouddeploy - name_pretty: Google Cloud Deploy - product_documentation: https://cloud.google.com/deploy/docs - api_description: is a service that automates delivery of your applications to a - series of target environments in a defined sequence - library_name: deploy - release_level: stable - codeowner_team: '@googleapis/aap-dpes' - GAPICs: - - proto_path: google/cloud/deploy/v1 -- api_shortname: developerconnect - name_pretty: Developer Connect API - product_documentation: https://cloud.google.com/developer-connect/docs/overview - api_description: Connect third-party source code management to Google - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-developerconnect/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-developerconnect - api_id: developerconnect.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/developerconnect/v1 - requires_billing: true -- api_shortname: developerknowledge - name_pretty: Developer Knowledge API - product_documentation: https://developers.google.com/knowledge - api_description: The Developer Knowledge API provides access to Google's developer - knowledge - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-developer-knowledge/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-developer-knowledge - api_id: developerknowledge.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/developers/knowledge/v1 - requires_billing: true -- api_shortname: devicestreaming - name_pretty: Device Streaming API - product_documentation: https://cloud.google.com/device-streaming/docs - api_description: The Cloud API for device streaming usage. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-devicestreaming/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-devicestreaming - api_id: devicestreaming.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/devicestreaming/v1 - requires_billing: true -- api_shortname: dialogflow - name_pretty: Dialogflow API - product_documentation: https://cloud.google.com/dialogflow-enterprise/ - api_description: is an end-to-end, build-once deploy-everywhere development suite - for creating conversational interfaces for websites, mobile applications, popular - messaging platforms, and IoT devices. You can use it to build interfaces (such - as chatbots and conversational IVR) that enable natural and rich interactions - between your users and your business. Dialogflow Enterprise Edition users have - access to Google Cloud Support and a service level agreement (SLA) for production - deployments. - release_level: stable - issue_tracker: https://issuetracker.google.com/savedsearches/5300385 - GAPICs: - - proto_path: google/cloud/dialogflow/v2 - - proto_path: google/cloud/dialogflow/v2beta1 -- api_shortname: dialogflow-cx - name_pretty: Dialogflow CX - product_documentation: https://cloud.google.com/dialogflow/cx/docs - api_description: provides a new way of designing agents, taking a state machine - approach to agent design. This gives you clear and explicit control over a conversation, - a better end-user experience, and a better development workflow. - rest_documentation: https://cloud.google.com/dialogflow/cx/docs/reference/rest - rpc_documentation: https://cloud.google.com/dialogflow/cx/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/dialogflow/cx/v3 - - proto_path: google/cloud/dialogflow/cx/v3beta1 -- api_shortname: discoveryengine - name_pretty: Discovery Engine API - product_documentation: https://cloud.google.com/discovery-engine/media/docs - api_description: A Cloud API that offers search and recommendation discoverability - for documents from different industry verticals (e.g. media, retail, etc.). - release_level: stable - GAPICs: - - proto_path: google/cloud/discoveryengine/v1 - - proto_path: google/cloud/discoveryengine/v1alpha - - proto_path: google/cloud/discoveryengine/v1beta -- api_shortname: distributedcloudedge - name_pretty: Google Distributed Cloud Edge - product_documentation: https://cloud.google.com/distributed-cloud/edge/latest/ - api_description: Google Distributed Cloud Edge allows you to run Kubernetes clusters - on dedicated hardware provided and maintained by Google that is separate from - the Google Cloud data center. - api_id: edgecontainer.googleapis.com - library_name: distributedcloudedge - release_level: stable - GAPICs: - - proto_path: google/cloud/edgecontainer/v1 -- api_shortname: dlp - name_pretty: Cloud Data Loss Prevention - product_documentation: https://cloud.google.com/dlp/docs/ - api_description: provides programmatic access to a powerful detection engine for - personally identifiable information and other privacy-sensitive data in unstructured - data streams, like text blocks and images. - release_level: stable - issue_tracker: https://issuetracker.google.com/savedsearches/5548083 - rest_documentation: https://cloud.google.com/dlp/docs/reference/rest - rpc_documentation: https://cloud.google.com/dlp/docs/reference/rpc - GAPICs: - - proto_path: google/privacy/dlp/v2 -- api_shortname: datamigration - name_pretty: Database Migration Service - product_documentation: https://cloud.google.com/database-migration/docs - api_description: makes it easier for you to migrate your data to Google Cloud. This - service helps you lift and shift your MySQL and PostgreSQL workloads into Cloud - SQL. - library_name: dms - release_level: stable - api_id: datamigration.googleapis.com - rest_documentation: https://cloud.google.com/database-migration/docs/reference/rest - GAPICs: - - proto_path: google/cloud/clouddms/v1 -- api_shortname: documentai - name_pretty: Document AI - product_documentation: https://cloud.google.com/compute/docs/documentai/ - api_description: allows developers to unlock insights from your documents with machine - learning. - library_name: document-ai - release_level: stable - issue_tracker: https://issuetracker.google.com/savedsearches/559755 - GAPICs: - - proto_path: google/cloud/documentai/v1 - - proto_path: google/cloud/documentai/v1beta3 -- api_shortname: domains - name_pretty: Cloud Domains - product_documentation: https://cloud.google.com/domains - api_description: allows you to register and manage domains by using Cloud Domains. - release_level: stable - GAPICs: - - proto_path: google/cloud/domains/v1 - - proto_path: google/cloud/domains/v1alpha2 - - proto_path: google/cloud/domains/v1beta1 -- api_shortname: edgenetwork - name_pretty: Distributed Cloud Edge Network API - product_documentation: https://cloud.google.com/distributed-cloud/edge/latest/docs/overview - api_description: Network management API for Distributed Cloud Edge. - release_level: stable - GAPICs: - - proto_path: google/cloud/edgenetwork/v1 -- api_shortname: enterpriseknowledgegraph - name_pretty: Enterprise Knowledge Graph - product_documentation: https://cloud.google.com/enterprise-knowledge-graph/docs/overview - api_description: Enterprise Knowledge Graph organizes siloed information into organizational - knowledge, which involves consolidating, standardizing, and reconciling data in - an efficient and useful way. - GAPICs: - - proto_path: google/cloud/enterpriseknowledgegraph/v1 -- api_shortname: clouderrorreporting - name_pretty: Error Reporting - product_documentation: https://cloud.google.com/error-reporting - api_description: 'counts, analyzes, and aggregates the crashes in your running cloud - services. A centralized error management interface displays the results with sorting - and filtering capabilities. A dedicated view shows the error details: time chart, - occurrences, affected user count, first- and last-seen dates and a cleaned exception - stack trace. Opt in to receive email and mobile alerts on new errors.' - library_name: errorreporting - issue_tracker: https://issuetracker.google.com/savedsearches/559780 - requires_billing: false - GAPICs: - - proto_path: google/devtools/clouderrorreporting/v1beta1 -- api_shortname: essentialcontacts - name_pretty: Essential Contacts API - product_documentation: https://cloud.google.com/resource-manager/docs/managing-notification-contacts/ - api_description: helps you customize who receives notifications by providing your - own list of contacts in many Google Cloud services. - library_name: essential-contacts - release_level: stable - GAPICs: - - proto_path: google/cloud/essentialcontacts/v1 -- api_shortname: eventarc - name_pretty: Eventarc - product_documentation: https://cloud.google.com/eventarc/docs - api_description: lets you asynchronously deliver events from Google services, SaaS, - and your own apps using loosely coupled services that react to state changes. - Eventarc requires no infrastructure management, you can optimize productivity - and costs while building a modern, event-driven solution. - release_level: stable - codeowner_team: '@googleapis/aap-dpes' - rest_documentation: https://cloud.google.com/eventarc/docs/reference/rest - rpc_documentation: https://cloud.google.com/eventarc/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/eventarc/v1 -- api_shortname: eventarcpublishing - name_pretty: Eventarc Publishing - product_documentation: https://cloud.google.com/eventarc/docs - api_description: lets you asynchronously deliver events from Google services, SaaS, - and your own apps using loosely coupled services that react to state changes. - library_name: eventarc-publishing - api_id: eventarc-publishing.googleapis.com - rest_documentation: https://cloud.google.com/eventarc/docs/reference/rest - rpc_documentation: https://cloud.google.com/eventarc/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/eventarc/publishing/v1 -- api_shortname: file - name_pretty: Cloud Filestore API - product_documentation: https://cloud.google.com/filestore/docs - api_description: instances are fully managed NFS file servers on Google Cloud for - use with applications running on Compute Engine virtual machines (VMs) instances - or Google Kubernetes Engine clusters. - library_name: filestore - release_level: stable - rest_documentation: https://cloud.google.com/filestore/docs/reference/rest - GAPICs: - - proto_path: google/cloud/filestore/v1 - - proto_path: google/cloud/filestore/v1beta1 -- api_shortname: financialservices - name_pretty: Financial Services API - product_documentation: - https://cloud.google.com/financial-services/anti-money-laundering/docs/concepts/overview - api_description: Google Cloud's Anti Money Laundering AI (AML AI) product is an - API that scores AML risk. Use it to identify more risk, more defensibly, with - fewer false positives and reduced time per review. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-financialservices/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-financialservices - api_id: financialservices.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/financialservices/v1 - requires_billing: true -- api_shortname: firestore - name_pretty: Cloud Firestore - product_documentation: https://cloud.google.com/firestore - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-firestore/latest/history - issue_tracker: https://issuetracker.google.com/savedsearches/5337669 - release_level: stable - language: java - distribution_name: com.google.cloud:google-cloud-firestore - codeowner_team: '@googleapis/firestore-team' - api_id: firestore.googleapis.com - library_type: GAPIC_COMBO - api_description: is a fully-managed NoSQL document database for mobile, web, and - server development from Firebase and Google Cloud Platform. It's backed by a - multi-region replicated database that ensures once data is committed, it's durable - even in the face of unexpected disasters. Not only that, but despite being a distributed - database, it's also strongly consistent and offers seamless integration with other - Firebase and Google Cloud Platform products, including Google Cloud Functions. - transport: grpc - excluded_poms: google-cloud-firestore,google-cloud-firestore-bom - recommended_package: com.google.cloud.firestore - GAPICs: - - proto_path: google/firestore/v1 - - proto_path: google/firestore/admin/v1 - - proto_path: google/firestore/bundle -- api_shortname: cloudfunctions - name_pretty: Cloud Functions - product_documentation: https://cloud.google.com/functions - api_description: is a scalable pay as you go Functions-as-a-Service (FaaS) to run - your code with zero server management. - library_name: functions - release_level: stable - codeowner_team: '@googleapis/aap-dpes' - rest_documentation: https://cloud.google.com/functions/docs/reference/rest - rpc_documentation: https://cloud.google.com/functions/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/functions/v1 - - proto_path: google/cloud/functions/v2 - - proto_path: google/cloud/functions/v2alpha - - proto_path: google/cloud/functions/v2beta -- api_shortname: gdchardwaremanagement - name_pretty: GDC Hardware Management API - product_documentation: https://cloud.google.com/distributed-cloud/edge/latest/docs - api_description: Google Distributed Cloud connected allows you to run Kubernetes - clusters on dedicated hardware provided and maintained by Google that is separate - from the Google Cloud data center. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-gdchardwaremanagement/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-gdchardwaremanagement - api_id: gdchardwaremanagement.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/gdchardwaremanagement/v1alpha - requires_billing: true - rpc_documentation: - https://cloud.google.com/distributed-cloud/edge/latest/docs/reference/hardware/rpc -- api_shortname: geminidataanalytics - name_pretty: Data Analytics API with Gemini - product_documentation: https://cloud.google.com/gemini/docs/conversational-analytics-api/overview - api_description: Use Conversational Analytics API to build an artificial intelligence - (AI)-powered chat interface, or data agent, that answers questions about structured - data using natural language. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-geminidataanalytics/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-geminidataanalytics - api_id: geminidataanalytics.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/geminidataanalytics/v1 - - proto_path: google/cloud/geminidataanalytics/v1beta - requires_billing: true - rpc_documentation: https://cloud.google.com/gemini/docs/conversational-analytics-api/reference -- api_shortname: gke-backup - name_pretty: Backup for GKE - product_documentation: 'https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/concepts/backup-for-gke ' - api_description: is a service for backing up and restoring workloads in GKE. - api_id: gkebackup.googleapis.com - library_name: gke-backup - GAPICs: - - proto_path: google/cloud/gkebackup/v1 -- api_shortname: connectgateway - name_pretty: Connect Gateway API - product_documentation: https://cloud.google.com/anthos/multicluster-management/gateway/ - api_description: builds on the power of fleets to let Anthos users connect to and - run commands against registered Anthos clusters in a simple, consistent, and secured - way, whether the clusters are on Google Cloud, other public clouds, or on premises, - and makes it easier to automate DevOps processes across all your clusters. - library_name: gke-connect-gateway - release_level: stable - GAPICs: - - proto_path: google/cloud/gkeconnect/gateway/v1beta1 -- api_shortname: gke-multi-cloud - name_pretty: Anthos Multicloud - product_documentation: https://cloud.google.com/anthos/clusters/docs/multi-cloud - api_description: enables you to provision and manage GKE clusters running on AWS - and Azure infrastructure through a centralized Google Cloud backed control plane. - api_id: gkemulticloud.googleapis.com - GAPICs: - - proto_path: google/cloud/gkemulticloud/v1 -- api_shortname: gkehub - name_pretty: GKE Hub API - product_documentation: https://cloud.google.com/anthos/gke/docs/ - api_description: provides a unified way to work with Kubernetes clusters as part - of Anthos, extending GKE to work in multiple environments. You have consistent, - unified, and secure infrastructure, cluster, and container management, whether - you're using Anthos on Google Cloud (with traditional GKE), hybrid cloud, or multiple - public clouds. - release_level: stable - GAPICs: - - proto_path: google/cloud/gkehub/v1 - - proto_path: google/cloud/gkehub/v1alpha - - proto_path: google/cloud/gkehub/v1beta - - proto_path: google/cloud/gkehub/v1beta1 - - proto_path: google/cloud/gkehub/policycontroller/v1beta - - proto_path: google/cloud/gkehub/servicemesh/v1beta -- api_shortname: gkerecommender - name_pretty: GKE Recommender API - product_documentation: - https://cloud.google.com/kubernetes-engine/docs/how-to/machine-learning/inference-quickstart - api_description: lets you analyze the performance and cost-efficiency of your inference - workloads, and make data-driven decisions about resource allocation and model - deployment strategies. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-gkerecommender/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-gkerecommender - api_id: gkerecommender.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/gkerecommender/v1 - requires_billing: true -- api_shortname: containeranalysis - name_pretty: Grafeas - product_documentation: https://grafeas.io - api_description: n/a - client_documentation: https://cloud.google.com/java/docs/reference/grafeas/latest/overview - release_level: stable - distribution_name: io.grafeas:grafeas - codeowner_team: '@googleapis/aap-dpes' - library_name: grafeas - GAPICs: - - proto_path: grafeas/v1 -- api_shortname: gsuiteaddons - name_pretty: Google Workspace Add-ons API - product_documentation: https://developers.google.com/workspace/add-ons/overview - api_description: are customized applications that integrate with Google Workspace - productivity applications. - library_name: gsuite-addons - release_level: stable - GAPICs: - - proto_path: google/cloud/gsuiteaddons/v1 - - proto_path: google/apps/script/type - - proto_path: google/apps/script/type/docs - - proto_path: google/apps/script/type/drive - - proto_path: google/apps/script/type/gmail - - proto_path: google/apps/script/type/sheets - - proto_path: google/apps/script/type/slides -- api_shortname: health - name_pretty: Google Health API - product_documentation: https://developers.google.com/health/api - api_description: The Google Health API lets you view and manage health and fitness - metrics and measurement data. - client_documentation: https://cloud.google.com/java/docs/reference/google-cloud-health/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-health - api_id: health.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/devicesandservices/health/v4 - requires_billing: true - rpc_documentation: https://developers.google.com/health/api/reference/rpc -- api_shortname: hypercomputecluster - name_pretty: Cluster Director API - product_documentation: - https://cloud.google.com/blog/products/compute/managed-slurm-and-other-cluster-director-enhancements - api_description: simplifies cluster management across compute, network, and storage - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-hypercomputecluster/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-hypercomputecluster - api_id: hypercomputecluster.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/hypercomputecluster/v1beta - - proto_path: google/cloud/hypercomputecluster/v1 - requires_billing: true -- api_shortname: iam - name_pretty: IAM - product_documentation: https://cloud.google.com/iam - api_description: Manages access control for Google Cloud Platform resources - release_level: stable - client_documentation: https://cloud.google.com/java/docs/reference/proto-google-iam-v1/latest/overview - distribution_name: com.google.api.grpc:proto-google-iam-v1 - excluded_dependencies: grpc-google-iam-v1 - excluded_poms: proto-google-iam-v1-bom,google-iam-policy,proto-google-iam-v1 - library_type: OTHER - GAPICs: - - proto_path: google/iam/v1 - - proto_path: google/iam/v2 - - proto_path: google/iam/v2beta - - proto_path: google/iam/v3 - - proto_path: google/iam/v3beta -- api_shortname: iam-admin - name_pretty: IAM Admin API - product_documentation: https://cloud.google.com/iam/docs/apis - api_description: you to manage your Service Accounts and IAM bindings. - release_level: stable - distribution_name: com.google.cloud:google-iam-admin - api_id: iam.googleapis.com - GAPICs: - - proto_path: google/iam/admin/v1 -- api_shortname: iam-policy - name_pretty: Cloud IAM Policy - product_documentation: n/a - api_description: n/a - release_level: stable - distribution_name: com.google.cloud:google-iam-policy - api_id: iam.googleapis.com - client_documentation: https://cloud.google.com/java/docs/reference/proto-google-iam-v1/latest/history - excluded_poms: proto-google-iam-v1-bom,google-iam-policy,proto-google-iam-v1 - excluded_dependencies: google-iam-policy - GAPICs: - - proto_path: google/iam/v2 - - proto_path: google/iam/v2beta - - proto_path: google/iam/v3 - - proto_path: google/iam/v3beta -- api_shortname: iamcredentials - name_pretty: IAM Service Account Credentials API - product_documentation: https://cloud.google.com/iam/credentials/reference/rest/ - api_description: creates short-lived, limited-privilege credentials for IAM service - accounts. - release_level: stable - requires_billing: false - issue_tracker: https://issuetracker.google.com/issues/new?component=187161 - GAPICs: - - proto_path: google/iam/credentials/v1 -- api_shortname: iap - name_pretty: Cloud Identity-Aware Proxy API - product_documentation: https://cloud.google.com/iap - api_description: Controls access to cloud applications running on Google Cloud Platform. - client_documentation: https://cloud.google.com/java/docs/reference/google-cloud-iap/latest/overview - release_level: stable - distribution_name: com.google.cloud:google-cloud-iap - api_id: iap.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/iap/v1 - requires_billing: true -- api_shortname: ids - name_pretty: Intrusion Detection System - product_documentation: https://cloud.google.com/intrusion-detection-system/docs - api_description: ' monitors your networks, and it alerts you when it detects malicious - activity. Cloud IDS is powered by Palo Alto Networks.' - release_level: stable - GAPICs: - - proto_path: google/cloud/ids/v1 -- api_shortname: infra-manager - name_pretty: Infrastructure Manager API - product_documentation: https://cloud.google.com/infrastructure-manager/docs/overview - api_description: Creates and manages Google Cloud Platform resources and infrastructure. - api_id: config.googleapis.com - release_level: stable - GAPICs: - - proto_path: google/cloud/config/v1 -- api_shortname: cloudiot - name_pretty: Cloud Internet of Things (IoT) Core - product_documentation: https://cloud.google.com/iot - api_description: is a complete set of tools to connect, process, store, and analyze - data both at the edge and in the cloud. The platform consists of scalable, fully-managed - cloud services; an integrated software stack for edge/on-premises computing with - machine learning capabilities for all your IoT needs. - library_name: iot - release_level: stable - issue_tracker: https://issuetracker.google.com/issues?q=status:open%20componentid:310170 - GAPICs: - - proto_path: google/cloud/iot/v1 -- api_shortname: merchantapi - name_pretty: Merchant Issue Resolution API - product_documentation: https://developers.google.com/merchant/api - api_description: Programatically manage your Merchant Issues - client_documentation: - https://cloud.google.com/java/docs/reference/google-shopping-merchant-issue-resolution/latest/overview - release_level: stable - distribution_name: com.google.shopping:google-shopping-merchant-issue-resolution - api_id: merchantapi.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.shopping - cloud_api: false - GAPICs: - - proto_path: google/shopping/merchant/issueresolution/v1 - - proto_path: google/shopping/merchant/issueresolution/v1beta - library_name: java-shopping-merchant-issue-resolution - requires_billing: true -- api_shortname: merchantapi - name_pretty: Merchant Order Tracking API - product_documentation: https://developers.google.com/merchant/api - api_description: Programmatically manage your Merchant Center Accounts - client_documentation: - https://cloud.google.com/java/docs/reference/google-shopping-merchant-order-tracking/latest/overview - release_level: stable - distribution_name: com.google.shopping:google-shopping-merchant-order-tracking - api_id: merchantapi.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.shopping - cloud_api: false - GAPICs: - - proto_path: google/shopping/merchant/ordertracking/v1 - - proto_path: google/shopping/merchant/ordertracking/v1beta - library_name: java-shopping-merchant-order-tracking - requires_billing: true -- api_shortname: cloudkms - name_pretty: Cloud Key Management Service - product_documentation: https://cloud.google.com/kms - api_description: a cloud-hosted key management service that lets you manage cryptographic - keys for your cloud services the same way you do on-premises. You can generate, - use, rotate, and destroy AES256, RSA 2048, RSA 3072, RSA 4096, EC P256, and EC - P384 cryptographic keys. Cloud KMS is integrated with Cloud IAM and Cloud Audit - Logging so that you can manage permissions on individual keys and monitor how - these are used. Use Cloud KMS to protect secrets and other sensitive data that - you need to store in Google Cloud Platform. - library_name: kms - release_level: stable - issue_tracker: https://issuetracker.google.com/savedsearches/5264932 - GAPICs: - - proto_path: google/cloud/kms/v1 -- api_shortname: kmsinventory - name_pretty: KMS Inventory API - product_documentation: https://cloud.google.com/kms/docs/ - api_description: KMS Inventory API. - rest_documentation: https://cloud.google.com/kms/docs/reference/rest - rpc_documentation: https://cloud.google.com/kms/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/kms/inventory/v1 -- api_shortname: language - name_pretty: Natural Language - product_documentation: https://cloud.google.com/natural-language/docs/ - api_description: provides natural language understanding technologies to developers, - including sentiment analysis, entity analysis, entity sentiment analysis, content - classification, and syntax analysis. This API is part of the larger Cloud Machine - Learning API family. - release_level: stable - issue_tracker: https://issuetracker.google.com/savedsearches/559753 - rest_documentation: https://cloud.google.com/natural-language/docs/reference/rest - rpc_documentation: https://cloud.google.com/natural-language/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/language/v1 - - proto_path: google/cloud/language/v1beta2 - - proto_path: google/cloud/language/v2 -- api_shortname: licensemanager - name_pretty: License Manager API - product_documentation: https://cloud.google.com/compute/docs/instances/windows/ms-licensing - api_description: License Manager is a tool to manage and track third-party licenses - on Google Cloud. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-licensemanager/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-licensemanager - api_id: licensemanager.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/licensemanager/v1 - requires_billing: true -- api_shortname: lifesciences - name_pretty: Cloud Life Sciences - product_documentation: https://cloud.google.com/life-sciences/docs - api_description: is a suite of services and tools for managing, processing, and - transforming life sciences data. - library_name: life-sciences - rest_documentation: https://cloud.google.com/life-sciences/docs/reference/rest - rpc_documentation: https://cloud.google.com/life-sciences/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/lifesciences/v2beta -- api_shortname: locationfinder - name_pretty: Cloud Location Finder API - product_documentation: https://cloud.google.com/location-finder/docs/overview - api_description: Cloud Location Finder is a public API that offers a repository - of all Google Cloud and Google Distributed Cloud locations, as well as cloud locations - for other cloud providers. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-locationfinder/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-locationfinder - api_id: locationfinder.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/locationfinder/v1 - requires_billing: true - rpc_documentation: https://cloud.google.com/locationfinder/docs/reference/rest -- api_shortname: logging - name_pretty: Cloud Logging - product_documentation: https://cloud.google.com/logging/docs - client_documentation: https://cloud.google.com/java/docs/reference/google-cloud-logging/latest/history - issue_tracker: https://issuetracker.google.com/savedsearches/559764 - release_level: stable - language: java - distribution_name: com.google.cloud:google-cloud-logging - api_id: logging.googleapis.com - transport: grpc - library_type: GAPIC_COMBO - api_description: allows you to store, search, analyze, monitor, and alert on log - data and events from Google Cloud and Amazon Web Services. Using the BindPlane - service, you can also collect this data from over 150 common application components, - on-premises systems, and hybrid cloud systems. BindPlane is included with your - Google Cloud project at no additional cost. - codeowner_team: '@googleapis/cloud-sdk-java-team' - recommended_package: com.google.cloud.logging - GAPICs: - - proto_path: google/logging/v2 -- api_shortname: lustre - name_pretty: Google Cloud Managed Lustre API - product_documentation: https://cloud.google.com/managed-lustre/docs - api_description: Google Cloud Managed Lustre delivers a high-performance, fully - managed parallel file system optimized for AI and HPC applications. - client_documentation: https://cloud.google.com/java/docs/reference/google-cloud-lustre/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-lustre - api_id: lustre.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/lustre/v1 - requires_billing: true -- api_shortname: maintenance - name_pretty: Maintenance API - product_documentation: https://cloud.google.com/unified-maintenance/docs/overview - api_description: The Maintenance API provides a centralized view of planned disruptive - maintenance events across supported Google Cloud products. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-maintenance/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-maintenance - api_id: maintenance.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/maintenance/api/v1beta - - proto_path: google/cloud/maintenance/api/v1 - requires_billing: true - rpc_documentation: https://cloud.google.com/unified-maintenance/docs/reference/rpc -- api_shortname: managedidentities - name_pretty: Managed Service for Microsoft Active Directory - product_documentation: https://cloud.google.com/managed-microsoft-ad/ - api_description: is a highly available, hardened Google Cloud service running actual - Microsoft AD that enables you to manage authentication and authorization for your - AD-dependent workloads, automate AD server maintenance and security configuration, - and connect your on-premises AD domain to the cloud. - library_name: managed-identities - release_level: stable - api_id: managedidentities.googleapis.com - GAPICs: - - proto_path: google/cloud/managedidentities/v1 -- api_shortname: managedkafka - name_pretty: Managed Service for Apache Kafka - product_documentation: https://cloud.google.com/managed-kafka - api_description: Manage Apache Kafka clusters and resources. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-managedkafka/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-managedkafka - api_id: managedkafka.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/managedkafka/v1 - requires_billing: true -- api_shortname: maps-addressvalidation - name_pretty: Address Validation API - product_documentation: https://developers.google.com/maps/documentation/address-validation/ - api_description: The Address Validation API allows developers to verify the accuracy - of addresses. Given an address, it returns information about the correctness of - the components of the parsed address, a geocode, and a verdict on the deliverability - of the parsed address. - api_id: addressvalidation.googleapis.com - cloud_api: false - distribution_name: com.google.maps:google-maps-addressvalidation - GAPICs: - - proto_path: google/maps/addressvalidation/v1 -- api_shortname: maps-area-insights - name_pretty: Places Insights API - product_documentation: https://developers.google.com/maps/documentation/places-insights - api_description: Places Insights API. - client_documentation: - https://cloud.google.com/java/docs/reference/google-maps-area-insights/latest/overview - release_level: preview - distribution_name: com.google.maps:google-maps-area-insights - api_id: maps-area-insights.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.maps - cloud_api: false - GAPICs: - - proto_path: google/maps/areainsights/v1 - requires_billing: true -- api_shortname: maps-fleetengine - name_pretty: Local Rides and Deliveries API - product_documentation: - https://developers.google.com/maps/documentation/transportation-logistics/mobility - api_description: Enables Fleet Engine for access to the On Demand Rides and Deliveries - and Last Mile Fleet Solution APIs. Customer's use of Google Maps Content in the - Cloud Logging Services is subject to the Google Maps Platform Terms of Service - located at https://cloud.google.com/maps-platform/terms. - client_documentation: - https://cloud.google.com/java/docs/reference/google-maps-fleetengine/latest/overview - release_level: preview - distribution_name: com.google.maps:google-maps-fleetengine - api_id: maps-fleetengine.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.maps - cloud_api: false - GAPICs: - - proto_path: google/maps/fleetengine/v1 - requires_billing: true -- api_shortname: maps-fleetengine-delivery - name_pretty: Last Mile Fleet Solution Delivery API - product_documentation: - https://developers.google.com/maps/documentation/transportation-logistics/mobility - api_description: Enables Fleet Engine for access to the On Demand Rides and Deliveries - and Last Mile Fleet Solution APIs. Customer's use of Google Maps Content in the - Cloud Logging Services is subject to the Google Maps Platform Terms of Service - located at https://cloud.google.com/maps-platform/terms. - client_documentation: - https://cloud.google.com/java/docs/reference/google-maps-fleetengine-delivery/latest/overview - release_level: preview - distribution_name: com.google.maps:google-maps-fleetengine-delivery - api_id: maps-fleetengine-delivery.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.maps - cloud_api: false - GAPICs: - - proto_path: google/maps/fleetengine/delivery/v1 - requires_billing: true -- api_shortname: geocode - name_pretty: Geocoding API - product_documentation: https://developers.google.com/maps/documentation/geocoding/overview - api_description: The Geocoding API is a service that accepts a place as an address, - latitude and longitude coordinates, or Place ID. - client_documentation: https://cloud.google.com/java/docs/reference/google-maps-geocode/latest/overview - release_level: preview - distribution_name: com.google.maps:google-maps-geocode - api_id: geocode.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.maps - cloud_api: false - GAPICs: - - proto_path: google/maps/geocode/v4 - library_name: maps-geocode - requires_billing: true -- api_shortname: mapmanagement - name_pretty: Map Management API - product_documentation: https://developers.google.com/maps/documentation/mapmanagement/overview - api_description: The Map Management API is a RESTful service that accepts HTTP requests - for map styling data through a variety of methods. It returns formatted configuration - data about map styling resources so that you can programmatically manage your - Cloud-based map styles. - client_documentation: - https://cloud.google.com/java/docs/reference/google-maps-mapmanagement/latest/overview - release_level: preview - distribution_name: com.google.maps:google-maps-mapmanagement - api_id: mapmanagement.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.maps - cloud_api: false - GAPICs: - - proto_path: google/maps/mapmanagement/v2beta - library_name: maps-mapmanagement - requires_billing: true -- api_shortname: maps-mapsplatformdatasets - name_pretty: Maps Platform Datasets API - product_documentation: https://developers.google.com/maps/documentation - api_description: "The Maps Platform Datasets API enables developers to ingest geospatially-tied - datasets\n that they can use to enrich their experience of Maps Platform solutions - (e.g. styling, routing)." - api_id: mapsplatformdatasets.googleapis.com - distribution_name: com.google.maps:google-maps-mapsplatformdatasets - cloud_api: false - GAPICs: - - proto_path: google/maps/mapsplatformdatasets/v1 -- api_shortname: maps-places - name_pretty: Places API (New) - product_documentation: https://developers.google.com/maps/documentation/places/web-service/ - api_description: The Places API allows developers to access a variety of search - and retrieval endpoints for a Place. - api_id: places.googleapis.com - distribution_name: com.google.maps:google-maps-places - cloud_api: false - GAPICs: - - proto_path: google/maps/places/v1 -- api_shortname: routeoptimization - name_pretty: Route Optimization API - product_documentation: https://developers.google.com/maps/documentation/route-optimization - api_description: The Route Optimization API assigns tasks and routes to a vehicle - fleet, optimizing against the objectives and constraints that you supply for your - transportation goals. - client_documentation: - https://cloud.google.com/java/docs/reference/google-maps-routeoptimization/latest/overview - release_level: preview - distribution_name: com.google.maps:google-maps-routeoptimization - api_id: routeoptimization.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.maps - cloud_api: false - GAPICs: - - proto_path: google/maps/routeoptimization/v1 - library_name: maps-routeoptimization - requires_billing: true - rest_documentation: - https://developers.google.com/maps/documentation/route-optimization/reference/rest/ - rpc_documentation: - https://developers.google.com/maps/documentation/route-optimization/reference/rpc -- api_shortname: maps-routing - name_pretty: Routes API - product_documentation: https://developers.google.com/maps/documentation/routes - api_description: Routes API is the next generation, performance optimized version - of the existing Directions API and Distance Matrix API. It helps you find the - ideal route from A to Z, calculates ETAs and distances for matrices of origin - and destination locations, and also offers new features. - release_level: stable - api_id: routes.googleapis.com - distribution_name: com.google.maps:google-maps-routing - cloud_api: false - GAPICs: - - proto_path: google/maps/routing/v2 -- api_shortname: maps-solar - name_pretty: Solar API - product_documentation: https://developers.google.com/maps/documentation/solar/overview - api_description: The Solar API allows users to read details about the solar potential - of over 60 million buildings. This includes measurements of the building's roof - (e.g., size and tilt/azimuth), energy production for a range of sizes of solar - installations, and financial costs and benefits. - client_documentation: https://cloud.google.com/java/docs/reference/google-maps-solar/latest/overview - release_level: preview - distribution_name: com.google.maps:google-maps-solar - api_id: maps-solar.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.maps - cloud_api: false - GAPICs: - - proto_path: google/maps/solar/v1 - requires_billing: true - rpc_documentation: https://developers.google.com/maps/documentation/solar/reference/rest -- api_shortname: marketingplatformadminapi - name_pretty: Google Marketing Platform Admin API - product_documentation: https://developers.google.com/analytics/devguides/config/gmp/v1 - api_description: The Google Marketing Platform Admin API allows for programmatic - access to the Google Marketing Platform configuration data. You can use the Google - Marketing Platform Admin API to manage links between your Google Marketing Platform - organization and Google Analytics accounts, and to set the service level of your - GA4 properties. - client_documentation: https://cloud.google.com/java/docs/reference/admin/latest/overview - release_level: preview - distribution_name: com.google.ads-marketingplatform:admin - api_id: marketingplatformadminapi.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.ads-marketingplatform - cloud_api: false - GAPICs: - - proto_path: google/marketingplatform/admin/v1alpha - requires_billing: true -- api_shortname: mediatranslation - name_pretty: Media Translation API - product_documentation: https://cloud.google.com/ - api_description: provides enterprise quality translation from/to various media types. - requires_billing: false - GAPICs: - - proto_path: google/cloud/mediatranslation/v1beta1 -- api_shortname: meet - name_pretty: Google Meet API - product_documentation: https://developers.google.com/meet/api/guides/overview - api_description: The Google Meet REST API lets you create and manage meetings for - Google Meet and offers entry points to your users directly from your app - GAPICs: - - proto_path: google/apps/meet/v2 - - proto_path: google/apps/meet/v2beta -- api_shortname: memcache - name_pretty: Cloud Memcache - product_documentation: https://cloud.google.com/memorystore/ - api_description: is a fully-managed in-memory data store service for Memcache. - release_level: stable - requires_billing: false - GAPICs: - - proto_path: google/cloud/memcache/v1 - - proto_path: google/cloud/memcache/v1beta2 -- api_shortname: migrationcenter - name_pretty: Migration Center API - product_documentation: https://cloud.google.com/migration-center/docs/migration-center-overview - api_description: Google Cloud Migration Center is a unified platform that helps - you accelerate your end-to-end cloud journey from your current on-premises or - cloud environments to Google Cloud - GAPICs: - - proto_path: google/cloud/migrationcenter/v1 -- api_shortname: modelarmor - name_pretty: Model Armor API - product_documentation: https://cloud.google.com/security-command-center/docs/model-armor-overview - api_description: Model Armor helps you protect against risks like prompt injection, - harmful content, and data leakage in generative AI applications by letting you - define policies that filter user prompts and model responses. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-modelarmor/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-modelarmor - api_id: modelarmor.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/modelarmor/v1 - - proto_path: google/cloud/modelarmor/v1beta - requires_billing: true -- api_shortname: monitoring - name_pretty: Stackdriver Monitoring - product_documentation: https://cloud.google.com/monitoring/docs - api_description: collects metrics, events, and metadata from Google Cloud, Amazon - Web Services (AWS), hosted uptime probes, and application instrumentation. Using - the BindPlane service, you can also collect this data from over 150 common application - components, on-premise systems, and hybrid cloud systems. Stackdriver ingests - that data and generates insights via dashboards, charts, and alerts. BindPlane - is included with your Google Cloud project at no additional cost. - release_level: stable - issue_tracker: https://issuetracker.google.com/savedsearches/559785 - GAPICs: - - proto_path: google/monitoring/v3 -- api_shortname: monitoring-dashboards - name_pretty: Monitoring Dashboards - product_documentation: https://cloud.google.com/monitoring/charts/dashboards - api_description: are one way for you to view and analyze metric data. The Cloud - Console provides predefined dashboards that require no setup or configuration. - You can also define custom dashboards. With custom dashboards, you have complete - control over the charts that are displayed and their configuration. - release_level: stable - distribution_name: com.google.cloud:google-cloud-monitoring-dashboard - api_id: monitoring.googleapis.com - GAPICs: - - proto_path: google/monitoring/dashboard/v1 -- api_shortname: monitoring-metricsscope - name_pretty: Monitoring Metrics Scopes - product_documentation: - https://cloud.google.com/monitoring/api/ref_v3/rest/v1/locations.global.metricsScopes - api_description: The metrics scope defines the set of Google Cloud projects whose - metrics the current Google Cloud project can access. - api_id: monitoring.googleapis.com - distribution_name: com.google.cloud:google-cloud-monitoring-metricsscope - GAPICs: - - proto_path: google/monitoring/metricsscope/v1 -- api_shortname: netapp - name_pretty: NetApp API - product_documentation: https://cloud.google.com/netapp/volumes/docs/discover/overview - api_description: Google Cloud NetApp Volumes is a fully-managed, cloud-based data - storage service that provides advanced data management capabilities and highly - scalable performance with global availability. - GAPICs: - - proto_path: google/cloud/netapp/v1 -- api_shortname: networkmanagement - name_pretty: Network Management API - product_documentation: - https://cloud.google.com/network-intelligence-center/docs/connectivity-tests/reference/networkmanagement/rest/ - api_description: provides a collection of network performance monitoring and diagnostic - capabilities. - library_name: network-management - release_level: stable - GAPICs: - - proto_path: google/cloud/networkmanagement/v1 - - proto_path: google/cloud/networkmanagement/v1beta1 -- api_shortname: networksecurity - name_pretty: Network Security API - product_documentation: https://cloud.google.com/traffic-director/docs/reference/network-security/rest - api_description: n/a - library_name: network-security - release_level: stable - GAPICs: - - proto_path: google/cloud/networksecurity/v1 - - proto_path: google/cloud/networksecurity/v1beta1 -- api_shortname: networkconnectivity - name_pretty: Network Connectivity Center - product_documentation: https://cloud.google.com/network-connectivity/docs - api_description: Google's suite of products that provide enterprise connectivity - from your on-premises network or from another cloud provider to your Virtual Private - Cloud (VPC) network - release_level: stable - GAPICs: - - proto_path: google/cloud/networkconnectivity/v1 - - proto_path: google/cloud/networkconnectivity/v1alpha1 - - proto_path: google/cloud/networkconnectivity/v1beta -- api_shortname: networkservices - name_pretty: Network Services API - product_documentation: https://cloud.google.com/products/networking - api_description: Google Cloud offers a broad portfolio of networking services built - on top of planet-scale infrastructure that leverages automation, advanced AI, - and programmability, enabling enterprises to connect, scale, secure, modernize - and optimize their infrastructure. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-networkservices/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-networkservices - api_id: networkservices.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/networkservices/v1 - requires_billing: true -- api_shortname: notebooks - name_pretty: AI Platform Notebooks - product_documentation: https://cloud.google.com/ai-platform-notebooks - api_description: is a managed service that offers an integrated and secure JupyterLab - environment for data scientists and machine learning developers to experiment, - develop, and deploy models into production. Users can create instances running - JupyterLab that come pre-installed with the latest data science and machine learning - frameworks in a single click. - release_level: stable - GAPICs: - - proto_path: google/cloud/notebooks/v1 - - proto_path: google/cloud/notebooks/v1beta1 - - proto_path: google/cloud/notebooks/v2 -- api_shortname: cloudoptimization - name_pretty: Cloud Fleet Routing - product_documentation: https://cloud.google.com/optimization/docs - api_description: is a managed routing service that takes your list of orders, vehicles, - constraints, and objectives and returns the most efficient plan for your entire - fleet in near real-time. - library_name: optimization - release_level: stable - rest_documentation: https://cloud.google.com/optimization/docs/reference/rest - rpc_documentation: https://cloud.google.com/optimization/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/optimization/v1 -- api_shortname: oracledatabase - name_pretty: Oracle Database@Google Cloud API - product_documentation: https://cloud.google.com/oracle/database/docs - api_description: The Oracle Database@Google Cloud API provides a set of APIs to - manage Oracle database services, such as Exadata and Autonomous Databases. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-oracledatabase/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-oracledatabase - api_id: oracledatabase.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/oracledatabase/v1 - requires_billing: true -- api_shortname: orchestration-airflow - name_pretty: Cloud Composer - product_documentation: https://cloud.google.com/composer/docs - api_description: is a managed Apache Airflow service that helps you create, schedule, - monitor and manage workflows. Cloud Composer automation helps you create Airflow - environments quickly and use Airflow-native tools, such as the powerful Airflow - web interface and command line tools, so you can focus on your workflows and not - your infrastructure. - release_level: stable - api_id: composer.googleapis.com - rest_documentation: https://cloud.google.com/composer/docs/reference/rest - rpc_documentation: https://cloud.google.com/composer/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/orchestration/airflow/service/v1 - - proto_path: google/cloud/orchestration/airflow/service/v1beta1 -- api_shortname: orgpolicy - name_pretty: Cloud Organization Policy - product_documentation: n/a - api_description: n/a - release_level: stable - client_documentation: - https://cloud.google.com/java/docs/reference/proto-google-cloud-orgpolicy-v1/latest/overview - GAPICs: - - proto_path: google/cloud/orgpolicy/v1 - - proto_path: google/cloud/orgpolicy/v2 -- api_shortname: osconfig - name_pretty: OS Config API - product_documentation: https://cloud.google.com/compute/docs/os-patch-management - api_description: provides OS management tools that can be used for patch management, - patch compliance, and configuration management on VM instances. - library_name: os-config - release_level: stable - requires_billing: false - api_id: osconfig.googleapis.com - GAPICs: - - proto_path: google/cloud/osconfig/v1 - - proto_path: google/cloud/osconfig/v1alpha - - proto_path: google/cloud/osconfig/v1beta -- api_shortname: oslogin - name_pretty: Cloud OS Login - product_documentation: https://cloud.google.com/compute/docs/oslogin/ - api_description: manages OS login configuration for Directory API users. - library_name: os-login - release_level: stable - issue_tracker: https://issuetracker.google.com/savedsearches/559755 - GAPICs: - - proto_path: google/cloud/oslogin/v1 -- api_shortname: parallelstore - name_pretty: Parallelstore API - product_documentation: https://cloud/parallelstore?hl=en - api_description: 'Parallelstore is based on Intel DAOS and delivers up to 6.3x greater - read throughput performance compared to competitive Lustre scratch offerings. ' - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-parallelstore/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-parallelstore - api_id: parallelstore.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/parallelstore/v1beta - - proto_path: google/cloud/parallelstore/v1 - requires_billing: true -- api_shortname: parametermanager - name_pretty: Parameter Manager API - product_documentation: https://cloud.google.com/secret-manager/parameter-manager/docs/overview - api_description: (Public Preview) Parameter Manager is a single source of truth - to store, access and manage the lifecycle of your workload parameters. Parameter Manager - aims to make management of sensitive application parameters effortless for - customers without diminishing focus on security. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-parametermanager/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-parametermanager - api_id: parametermanager.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/parametermanager/v1 - requires_billing: true -- api_shortname: phishingprotection - name_pretty: Phishing Protection - product_documentation: https://cloud.google.com/phishing-protection/docs/ - api_description: helps prevent users from accessing phishing sites by identifying - various signals associated with malicious content, including the use of your brand - assets, classifying malicious content that uses your brand and reporting the unsafe - URLs to Google Safe Browsing. Once a site is propagated to Safe Browsing, users - will see warnings across more than 4 billion devices. - issue_tracker: '' - requires_billing: false - GAPICs: - - proto_path: google/cloud/phishingprotection/v1beta1 -- api_shortname: policytroubleshooter - name_pretty: IAM Policy Troubleshooter API - product_documentation: https://cloud.google.com/iam/docs/troubleshooting-access - api_description: makes it easier to understand why a user has access to a resource - or doesn't have permission to call an API. Given an email, resource, and permission, - Policy Troubleshooter examines all Identity and Access Management (IAM) policies - that apply to the resource. It then reveals whether the member's roles include - the permission on that resource and, if so, which policies bind the member to - those roles. - library_name: policy-troubleshooter - release_level: stable - api_id: policytroubleshooter.googleapis.com - GAPICs: - - proto_path: google/cloud/policytroubleshooter/v1 - - proto_path: google/cloud/policytroubleshooter/iam/v3 -- api_shortname: policysimulator - name_pretty: Policy Simulator API - product_documentation: https://cloud.google.com/policysimulator/docs/overview - api_description: Policy Simulator is a collection of endpoints for creating, running, - and viewing a Replay. - GAPICs: - - proto_path: google/cloud/policysimulator/v1 -- api_shortname: cloudprivatecatalog - name_pretty: Private Catalog - product_documentation: https://cloud.google.com/private-catalog/docs - api_description: allows developers and cloud admins to make their solutions discoverable - to their internal enterprise users. Cloud admins can manage their solutions and - ensure their users are always launching the latest versions. - library_name: private-catalog - api_id: privatecatalog.googleapis.com - GAPICs: - - proto_path: google/cloud/privatecatalog/v1beta1 -- api_shortname: privilegedaccessmanager - name_pretty: Privileged Access Manager API - product_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/overview - api_description: Privileged Access Manager (PAM) helps you on your journey towards - least privilege and helps mitigate risks tied to privileged access misuse orabuse. - PAM allows you to shift from always-on standing privileges towards on-demand access - with just-in-time, time-bound, and approval-based access elevations. PAM allows - IAM administrators to create entitlements that can grant just-in-time, temporary - access to any resource scope. Requesters can explore eligible entitlements and - request the access needed for their task. Approvers are notified when approvals - await their decision. Streamlined workflows facilitated by using PAM can support - various use cases, including emergency access for incident responders, time-boxed - access for developers for critical deployment or maintenance, temporary access - for operators for data ingestion and audits, JIT access to service accounts for - automated tasks, and more. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-privilegedaccessmanager/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-privilegedaccessmanager - api_id: privilegedaccessmanager.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/privilegedaccessmanager/v1 - requires_billing: true - rpc_documentation: https://cloud.google.com/iam/docs/reference/pam/rpc -- api_shortname: cloudprofiler - name_pretty: Cloud Profiler - product_documentation: https://cloud.google.com/profiler/docs - api_description: is a statistical, low-overhead profiler that continuously gathers - CPU usage and memory-allocation information from your production applications. - It attributes that information to the application's source code, helping you identify - the parts of the application consuming the most resources, and otherwise illuminating - the performance characteristics of the code. - library_name: profiler - release_level: stable - api_id: cloudprofiler.googleapis.com - GAPICs: - - proto_path: google/devtools/cloudprofiler/v2 -- api_shortname: publicca - name_pretty: Public Certificate Authority API - product_documentation: https://cloud.google.com/certificate-manager/docs/public-ca - api_description: The Public Certificate Authority API may be used to create and - manage ACME external account binding keys associated with Google Trust Services' - publicly trusted certificate authority. - rpc_documentation: https://cloud.google.com/certificate-manager/docs/reference/public-ca/rpc - release_level: stable - GAPICs: - - proto_path: google/cloud/security/publicca/v1beta1 - - proto_path: google/cloud/security/publicca/v1 -- api_shortname: pubsub - name_pretty: Cloud Pub/Sub - api_reference: https://cloud.google.com/pubsub/ - product_documentation: https://cloud.google.com/pubsub/docs/ - client_documentation: https://cloud.google.com/java/docs/reference/google-cloud-pubsub/latest/history - api_description: is designed to provide reliable, many-to-many, asynchronous messaging - between applications. Publisher applications can send messages to a topic and - other applications can subscribe to that topic to receive the messages. By decoupling - senders and receivers, Google Cloud Pub/Sub allows developers to communicate between - independently written applications. - issue_tracker: https://issuetracker.google.com/savedsearches/559741 - release_level: stable - language: java - distribution_name: com.google.cloud:google-cloud-pubsub - codeowner_team: '@googleapis/pubsub-team' - api_id: pubsub.googleapis.com - library_type: GAPIC_COMBO - requires_billing: true - recommended_package: com.google.cloud.pubsub.v1 - GAPICs: - - proto_path: google/pubsub/v1 -- api_shortname: rapidmigrationassessment - name_pretty: Rapid Migration Assessment API - product_documentation: https://cloud.google.com/migration-center/docs - api_description: Rapid Migration Assessment API - GAPICs: - - proto_path: google/cloud/rapidmigrationassessment/v1 -- api_shortname: recaptchaenterprise - name_pretty: reCAPTCHA Enterprise - product_documentation: https://cloud.google.com/recaptcha-enterprise/docs/ - api_description: is a service that protects your site from spam and abuse. - release_level: stable - issue_tracker: '' - requires_billing: false - rest_documentation: https://cloud.google.com/recaptcha-enterprise/docs/reference/rest - rpc_documentation: https://cloud.google.com/recaptcha-enterprise/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/recaptchaenterprise/v1 - - proto_path: google/cloud/recaptchaenterprise/v1beta1 -- api_shortname: recommendationengine - name_pretty: Recommendations AI - product_documentation: https://cloud.google.com/recommendations-ai/ - api_description: delivers highly personalized product recommendations at scale. - library_name: recommendations-ai - GAPICs: - - proto_path: google/cloud/recommendationengine/v1beta1 -- api_shortname: recommender - name_pretty: Recommender - product_documentation: https://cloud.google.com/recommendations/ - api_description: delivers highly personalized product recommendations at scale. - release_level: stable - issue_tracker: '' - GAPICs: - - proto_path: google/cloud/recommender/v1 - - proto_path: google/cloud/recommender/v1beta1 -- api_shortname: redis - name_pretty: Cloud Redis - product_documentation: https://cloud.google.com/memorystore/docs/redis/ - api_description: is a fully managed Redis service for the Google Cloud. Applications - running on Google Cloud can achieve extreme performance by leveraging the highly - scalable, available, secure Redis service without the burden of managing complex - Redis deployments. - release_level: stable - issue_tracker: https://issuetracker.google.com/savedsearches/5169231 - GAPICs: - - proto_path: google/cloud/redis/v1 - - proto_path: google/cloud/redis/v1beta1 -- api_shortname: redis-cluster - name_pretty: Google Cloud Memorystore for Redis API - product_documentation: https://cloud.google.com/memorystore/docs/cluster - api_description: Creates and manages Redis instances on the Google Cloud Platform. - GAPICs: - - proto_path: google/cloud/redis/cluster/v1 - - proto_path: google/cloud/redis/cluster/v1beta1 -- api_shortname: cloudresourcemanager - name_pretty: Resource Manager API - product_documentation: https://cloud.google.com/resource-manager - api_description: enables you to programmatically manage resources by project, folder, - and organization. - library_name: resourcemanager - release_level: stable - requires_billing: false - issue_tracker: https://issuetracker.google.com/savedsearches/559757 - GAPICs: - - proto_path: google/cloud/resourcemanager/v3 -- api_shortname: retail - name_pretty: Cloud Retail - product_documentation: https://cloud.google.com/solutions/retail - api_description: Retail solutions API. - release_level: stable - GAPICs: - - proto_path: google/cloud/retail/v2 - - proto_path: google/cloud/retail/v2alpha - - proto_path: google/cloud/retail/v2beta -- api_shortname: run - name_pretty: Cloud Run - product_documentation: https://cloud.google.com/run/docs - api_description: is a managed compute platform that enables you to run containers - that are invocable via requests or events. - rest_documentation: https://cloud.google.com/run/docs/reference/rest - rpc_documentation: https://cloud.google.com/run/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/run/v2 -- api_shortname: saasservicemgmt - name_pretty: App Lifecycle Manager - product_documentation: https://cloud.google.com/saas-runtime/docs/overview - api_description: "Model, deploy, and operate your SaaS at scale.\t" - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-saasservicemgmt/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-saasservicemgmt - api_id: saasservicemgmt.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/saasplatform/saasservicemgmt/v1beta1 - requires_billing: true - rpc_documentation: https://cloud.google.com/saas-runtime/docs/apis -- api_shortname: cloudscheduler - name_pretty: Google Cloud Scheduler - product_documentation: https://cloud.google.com/scheduler/docs - api_description: lets you set up scheduled units of work to be executed at defined - times or regular intervals. These work units are commonly known as cron jobs. - Typical use cases might include sending out a report email on a daily basis, updating - some cached data every 10 minutes, or updating some summary information once an - hour. - library_name: scheduler - release_level: stable - requires_billing: false - issue_tracker: https://issuetracker.google.com/savedsearches/5411429 - rest_documentation: https://cloud.google.com/scheduler/docs/reference/rest - rpc_documentation: https://cloud.google.com/scheduler/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/scheduler/v1 - - proto_path: google/cloud/scheduler/v1beta1 -- api_shortname: secretmanager - name_pretty: Secret Management - product_documentation: https://cloud.google.com/solutions/secrets-management/ - api_description: allows you to encrypt, store, manage, and audit infrastructure - and application-level secrets. - release_level: stable - requires_billing: false - GAPICs: - - proto_path: google/cloud/secretmanager/v1 - - proto_path: google/cloud/secretmanager/v1beta2 - - proto_path: google/cloud/secrets/v1beta1 -- api_shortname: securesourcemanager - name_pretty: Secure Source Manager API - product_documentation: https://cloud.google.com/secure-source-manager/docs/overview - api_description: "Regionally deployed, single-tenant managed source code repository - hosted on\n Google Cloud." - release_level: stable - GAPICs: - - proto_path: google/cloud/securesourcemanager/v1 -- api_shortname: privateca - name_pretty: Certificate Authority Service - product_documentation: https://cloud.google.com/certificate-authority-service/docs - api_description: simplifies the deployment and management of private CAs without - managing infrastructure. - library_name: security-private-ca - release_level: stable - api_id: privateca.googleapis.com - rest_documentation: https://cloud.google.com/certificate-authority-service/docs/reference/rest - rpc_documentation: https://cloud.google.com/certificate-authority-service/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/security/privateca/v1 - - proto_path: google/cloud/security/privateca/v1beta1 -- api_shortname: securitycenter - name_pretty: Security Command Center - product_documentation: https://cloud.google.com/security-command-center - api_description: makes it easier for you to prevent, detect, and respond to threats. - Identify security misconfigurations in virtual machines, networks, applications, - and storage buckets from a centralized dashboard. Take action on them before they - can potentially result in business damage or loss. Built-in capabilities can quickly - surface suspicious activity in your Stackdriver security logs or indicate compromised - virtual machines. Respond to threats by following actionable recommendations or - exporting logs to your SIEM for further investigation. - release_level: stable - requires_billing: false - issue_tracker: https://issuetracker.google.com/savedsearches/559748 - rest_documentation: https://cloud.google.com/security-command-center/docs/reference/rest - GAPICs: - - proto_path: google/cloud/securitycenter/v1 - - proto_path: google/cloud/securitycenter/v1beta1 - - proto_path: google/cloud/securitycenter/v1p1beta1 - - proto_path: google/cloud/securitycenter/v2 -- api_shortname: securitycenter - name_pretty: Security Command Center Settings API - product_documentation: https://cloud.google.com/security-command-center/ - api_description: is the canonical security and data risk database for Google Cloud. - Security Command Center enables you to understand your security and data attack - surface by providing asset inventory, discovery, search, and management. - library_name: securitycenter-settings - api_id: securitycenter-settings.googleapis.com - requires_billing: false - rest_documentation: https://cloud.google.com/security-command-center/docs/reference/rest - GAPICs: - - proto_path: google/cloud/securitycenter/settings/v1beta1 -- api_shortname: securitycentermanagement - name_pretty: Security Center Management API - product_documentation: https://cloud.google.com/securitycentermanagement/docs/overview - api_description: Security Center Management API - release_level: stable - GAPICs: - - proto_path: google/cloud/securitycentermanagement/v1 -- api_shortname: securityposture - name_pretty: Security Posture API - product_documentation: https://cloud.google.com/security-command-center/docs/security-posture-overview - api_description: Security Posture is a comprehensive framework of policy sets that - empowers organizations to define, assess early, deploy, and monitor their security - measures in a unified way and helps simplify governance and reduces administrative - toil. - release_level: stable - GAPICs: - - proto_path: google/cloud/securityposture/v1 -- api_shortname: servicecontrol - name_pretty: Service Control API - product_documentation: https://cloud.google.com/service-infrastructure/docs/overview/ - api_description: ' is a foundational platform for creating, managing, securing, - and consuming APIs and services across organizations. It is used by Google APIs, - Cloud APIs, Cloud Endpoints, and API Gateway.' - library_name: service-control - release_level: stable - GAPICs: - - proto_path: google/api/servicecontrol/v1 - - proto_path: google/api/servicecontrol/v2 -- api_shortname: servicemanagement - name_pretty: Service Management API - product_documentation: https://cloud.google.com/service-infrastructure/docs/overview/ - api_description: is a foundational platform for creating, managing, securing, and - consuming APIs and services across organizations. It is used by Google APIs, Cloud - APIs, Cloud Endpoints, and API Gateway. Service Infrastructure provides a wide - range of features to service consumers and service producers, including authentication, - authorization, auditing, rate limiting, analytics, billing, logging, and monitoring. - library_name: service-management - release_level: stable - api_id: servicemanagement.googleapis.com - GAPICs: - - proto_path: google/api/servicemanagement/v1 -- api_shortname: serviceusage - name_pretty: Service Usage - product_documentation: https://cloud.google.com/service-usage/docs/overview - api_description: is an infrastructure service of Google Cloud that lets you list - and manage other APIs and services in your Cloud projects. - library_name: service-usage - release_level: stable - GAPICs: - - proto_path: google/api/serviceusage/v1 - - proto_path: google/api/serviceusage/v1beta1 -- api_shortname: servicedirectory - name_pretty: Service Directory - product_documentation: https://cloud.google.com/service-directory/ - api_description: allows the registration and lookup of service endpoints. - release_level: stable - requires_billing: false - rest_documentation: https://cloud.google.com/service-directory/docs/reference/rest - rpc_documentation: https://cloud.google.com/service-directory/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/servicedirectory/v1 - - proto_path: google/cloud/servicedirectory/v1beta1 -- api_shortname: servicehealth - name_pretty: Service Health API - product_documentation: https://cloud.google.com/service-health/docs/overview - api_description: Personalized Service Health helps you gain visibility into disruptive - events impacting Google Cloud products. - rpc_documentation: https://cloud.google.com/service-health/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/servicehealth/v1 -- api_shortname: cloudshell - name_pretty: Cloud Shell - product_documentation: https://cloud.google.com/shell/docs - api_description: is an interactive shell environment for Google Cloud that makes - it easy for you to learn and experiment with Google Cloud and manage your projects - and resources from your web browser. - library_name: shell - release_level: stable - codeowner_team: '@googleapis/aap-dpes' - rest_documentation: https://cloud.google.com/shell/docs/reference/rest - rpc_documentation: https://cloud.google.com/shell/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/shell/v1 -- api_shortname: css - name_pretty: CSS API - product_documentation: https://developers.google.com/comparison-shopping-services/api - api_description: The CSS API is used to manage your CSS and control your CSS Products - portfolio - library_name: shopping-css - cloud_api: false - distribution_name: com.google.shopping:google-shopping-css - GAPICs: - - proto_path: google/shopping/css/v1 -- api_shortname: merchantapi - name_pretty: Merchant API - product_documentation: https://developers.google.com/merchant/api - api_description: Programmatically manage your Merchant Center accounts. - client_documentation: - https://cloud.google.com/java/docs/reference/google-shopping-merchant-accounts/latest/overview - release_level: stable - distribution_name: com.google.shopping:google-shopping-merchant-accounts - api_id: merchantapi.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.shopping - cloud_api: false - GAPICs: - - proto_path: google/shopping/merchant/accounts/v1 - - proto_path: google/shopping/merchant/accounts/v1beta - library_name: shopping-merchant-accounts - requires_billing: true -- api_shortname: shopping-merchant-conversions - name_pretty: Merchant Conversions API - product_documentation: https://developers.google.com/merchant/api - api_description: Programmatically manage your Merchant Center accounts. - client_documentation: - https://cloud.google.com/java/docs/reference/google-shopping-merchant-conversions/latest/overview - release_level: stable - distribution_name: com.google.shopping:google-shopping-merchant-conversions - api_id: shopping-merchant-conversions.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.shopping - cloud_api: false - GAPICs: - - proto_path: google/shopping/merchant/conversions/v1 - - proto_path: google/shopping/merchant/conversions/v1beta - requires_billing: true -- api_shortname: merchantapi - name_pretty: Merchant API - product_documentation: https://developers.google.com/merchant/api - api_description: Programmatically manage your Merchant Center accounts. - client_documentation: - https://cloud.google.com/java/docs/reference/google-shopping-merchant-datasources/latest/overview - release_level: stable - distribution_name: com.google.shopping:google-shopping-merchant-datasources - api_id: merchantapi.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.shopping - cloud_api: false - GAPICs: - - proto_path: google/shopping/merchant/datasources/v1 - - proto_path: google/shopping/merchant/datasources/v1beta - library_name: shopping-merchant-datasources - requires_billing: true -- api_shortname: merchantapi - name_pretty: Merchant API - product_documentation: https://developers.google.com/merchant/api - api_description: Programmatically manage your Merchant Center accounts. - library_name: shopping-merchant-inventories - cloud_api: false - release_level: stable - distribution_name: com.google.shopping:google-shopping-merchant-inventories - GAPICs: - - proto_path: google/shopping/merchant/inventories/v1 - - proto_path: google/shopping/merchant/inventories/v1beta -- api_shortname: shopping-merchant-lfp - name_pretty: Merchant LFP API - product_documentation: https://developers.google.com/merchant/api - api_description: Programmatically manage your Merchant Center accounts. - client_documentation: - https://cloud.google.com/java/docs/reference/google-shopping-merchant-lfp/latest/overview - release_level: stable - distribution_name: com.google.shopping:google-shopping-merchant-lfp - api_id: shopping-merchant-lfp.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.shopping - cloud_api: false - GAPICs: - - proto_path: google/shopping/merchant/lfp/v1 - - proto_path: google/shopping/merchant/lfp/v1beta - requires_billing: true -- api_shortname: shopping-merchant-notifications - name_pretty: Merchant Notifications API - product_documentation: https://developers.google.com/merchant/api - api_description: Programmatically manage your Merchant Center accounts. - client_documentation: - https://cloud.google.com/java/docs/reference/google-shopping-merchant-notifications/latest/overview - release_level: stable - distribution_name: com.google.shopping:google-shopping-merchant-notifications - api_id: shopping-merchant-notifications.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.shopping - cloud_api: false - GAPICs: - - proto_path: google/shopping/merchant/notifications/v1 - - proto_path: google/shopping/merchant/notifications/v1beta - requires_billing: true -- api_shortname: merchantapi - name_pretty: Merchant API - product_documentation: https://developers.google.com/merchant/api - api_description: Programmatically manage your products. - client_documentation: - https://cloud.google.com/java/docs/reference/google-shopping-merchant-productstudio/latest/overview - release_level: preview - distribution_name: com.google.shopping:google-shopping-merchant-productstudio - api_id: merchantapi.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.shopping - cloud_api: false - GAPICs: - - proto_path: google/shopping/merchant/productstudio/v1alpha - library_name: shopping-merchant-product-studio - requires_billing: true -- api_shortname: merchantapi - name_pretty: Merchant API - product_documentation: https://developers.google.com/merchant/api - api_description: Programmatically manage your Merchant Center accounts. - client_documentation: - https://cloud.google.com/java/docs/reference/google-shopping-merchant-products/latest/overview - release_level: stable - distribution_name: com.google.shopping:google-shopping-merchant-products - api_id: merchantapi.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.shopping - cloud_api: false - GAPICs: - - proto_path: google/shopping/merchant/products/v1 - - proto_path: google/shopping/merchant/products/v1beta - library_name: shopping-merchant-products -- api_shortname: merchantapi - name_pretty: Merchant API - product_documentation: https://developers.google.com/merchant/api - api_description: Programmatically manage your Merchant Center accounts. - client_documentation: - https://cloud.google.com/java/docs/reference/google-shopping-merchant-promotions/latest/overview - release_level: stable - distribution_name: com.google.shopping:google-shopping-merchant-promotions - api_id: merchantapi.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.shopping - cloud_api: false - GAPICs: - - proto_path: google/shopping/merchant/promotions/v1 - - proto_path: google/shopping/merchant/promotions/v1beta - library_name: shopping-merchant-promotions - requires_billing: true -- api_shortname: shopping-merchant-quota - name_pretty: Merchant Quota API - product_documentation: https://developers.google.com/merchant/api - api_description: Programmatically manage your Merchant Center accounts. - client_documentation: - https://cloud.google.com/java/docs/reference/google-shopping-merchant-quota/latest/overview - release_level: stable - distribution_name: com.google.shopping:google-shopping-merchant-quota - api_id: shopping-merchant-quota.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.shopping - cloud_api: false - GAPICs: - - proto_path: google/shopping/merchant/quota/v1 - - proto_path: google/shopping/merchant/quota/v1beta - requires_billing: true -- api_shortname: merchantapi - name_pretty: Merchant API - product_documentation: https://developers.google.com/merchant/api - api_description: Programmatically manage your Merchant Center accounts. - library_name: shopping-merchant-reports - cloud_api: false - release_level: stable - distribution_name: com.google.shopping:google-shopping-merchant-reports - GAPICs: - - proto_path: google/shopping/merchant/reports/v1 - - proto_path: google/shopping/merchant/reports/v1beta - - proto_path: google/shopping/merchant/reports/v1alpha -- api_shortname: merchantapi - name_pretty: Merchant API - product_documentation: https://developers.google.com/merchant/api - api_description: Programmatically manage your Merchant Center Accounts. - client_documentation: - https://cloud.google.com/java/docs/reference/google-shopping-merchant-reviews/latest/overview - release_level: preview - distribution_name: com.google.shopping:google-shopping-merchant-reviews - library_type: GAPIC_AUTO - group_id: com.google.shopping - cloud_api: false - GAPICs: - - proto_path: google/shopping/merchant/reviews/v1beta - requires_billing: true - library_name: shopping-merchant-reviews -- api_shortname: showcase - excluded_poms: gapic-showcase-bom - name_pretty: Showcase - api_description: Showcase module - product_documentation: https://cloud.google.com/dummy - distribution_name: com.google.cloud:gapic-showcase - library_type: OTHER - GAPICs: - - proto_path: schema/google/showcase/v1beta1 -- api_shortname: spanner - name_pretty: Cloud Spanner - product_documentation: https://cloud.google.com/spanner/docs/ - client_documentation: https://cloud.google.com/java/docs/reference/google-cloud-spanner/latest/history - api_description: is a fully managed, mission-critical, relational database service - that offers transactional consistency at global scale, schemas, SQL (ANSI 2011 - with extensions), and automatic, synchronous replication for high availability. - Be sure to activate the Cloud Spanner API on the Developer's Console to use Cloud - Spanner from your project. - issue_tracker: https://issuetracker.google.com/issues?q=componentid:190851%2B%20status:open - release_level: stable - language: java - min_java_version: 8 - distribution_name: com.google.cloud:google-cloud-spanner - api_id: spanner.googleapis.com - transport: grpc - requires_billing: true - codeowner_team: '@googleapis/spanner-team' - library_type: GAPIC_COMBO - excluded_poms: google-cloud-spanner-bom,google-cloud-spanner - recommended_package: com.google.cloud.spanner - GAPICs: - - proto_path: google/spanner/admin/database/v1 - - proto_path: google/spanner/admin/instance/v1 - - proto_path: google/spanner/executor/v1 - - proto_path: google/spanner/v1 -- api_shortname: spanneradapter - name_pretty: Cloud Spanner Adapter API - product_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-spanneradapter/latest/overview - api_description: The Cloud Spanner Adapter service allows native drivers of supported database - dialects to interact directly with Cloud Spanner by wrapping the underlying wire - protocol used by the driver in a gRPC stream. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-spanneradapter/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-spanneradapter - api_id: spanneradapter.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/spanner/adapter/v1 - requires_billing: true -- api_shortname: speech - name_pretty: Cloud Speech - product_documentation: https://cloud.google.com/speech-to-text/docs/ - api_description: enables easy integration of Google speech recognition technologies - into developer applications. Send audio and receive a text transcription from - the Speech-to-Text API service. - release_level: stable - requires_billing: false - issue_tracker: https://issuetracker.google.com/savedsearches/559758 - rest_documentation: https://cloud.google.com/speech-to-text/docs/reference/rest - rpc_documentation: https://cloud.google.com/speech-to-text/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/speech/v1 - - proto_path: google/cloud/speech/v1p1beta1 - - proto_path: google/cloud/speech/v2 -- api_shortname: storage - name_pretty: Cloud Storage - product_documentation: https://cloud.google.com/storage - client_documentation: https://cloud.google.com/java/docs/reference/google-cloud-storage/latest/history - api_description: 'is a durable and highly available object storage service. Google - Cloud Storage is almost infinitely scalable and guarantees consistency: when a - write succeeds, the latest copy of the object will be returned to any GET, globally.' - issue_tracker: https://issuetracker.google.com/savedsearches/559782 - release_level: stable - language: java - distribution_name: com.google.cloud:google-cloud-storage - codeowner_team: '@googleapis/gcs-team' - api_id: storage.googleapis.com - requires_billing: true - library_type: GAPIC_COMBO - extra_versioned_modules: gapic-google-cloud-storage-v2 - excluded_poms: google-cloud-storage-bom,google-cloud-storage - recommended_package: com.google.cloud.storage - transport: rest - GAPICs: - - proto_path: google/storage/v2 - - proto_path: google/storage/control/v2 -- api_shortname: storagetransfer - name_pretty: Storage Transfer Service - product_documentation: https://cloud.google.com/storage-transfer-service - api_description: Secure, low-cost services for transferring data from cloud or on-premises - sources. - library_name: storage-transfer - release_level: stable - GAPICs: - - proto_path: google/storagetransfer/v1 -- api_shortname: storagebatchoperations - name_pretty: Storage Batch Operations API - product_documentation: https://cloud.google.com/storage/docs/batch-operations/overview - api_description: Storage batch operations is a Cloud Storage management feature - that performs operations on billions of Cloud Storage objects in a serverless - manner. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-storagebatchoperations/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-storagebatchoperations - api_id: storagebatchoperations.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/storagebatchoperations/v1 - requires_billing: true -- api_shortname: storageinsights - name_pretty: Storage Insights API - product_documentation: https://cloud.google.com/storage/docs/insights/storage-insights/ - api_description: Provides insights capability on Google Cloud Storage - GAPICs: - - proto_path: google/cloud/storageinsights/v1 -- api_shortname: jobs - name_pretty: Talent Solution - product_documentation: https://cloud.google.com/solutions/talent-solution/ - api_description: allows you to transform your job search and candidate matching - capabilities with Cloud Talent Solution, designed to support enterprise talent - acquisition technology and evolve with your growing needs. This AI solution includes - features such as Job Search and Profile Search (Beta) to provide candidates and - employers with an enhanced talent acquisition experience. Learn more about Cloud - Talent Solution from the product overview page. - library_name: talent - release_level: stable - issue_tracker: https://issuetracker.google.com/savedsearches/559664 - GAPICs: - - proto_path: google/cloud/talent/v4 - - proto_path: google/cloud/talent/v4beta1 -- api_shortname: cloudtasks - name_pretty: Cloud Tasks - product_documentation: https://cloud.google.com/tasks/docs/ - api_description: a fully managed service that allows you to manage the execution, - dispatch and delivery of a large number of distributed tasks. You can asynchronously - perform work outside of a user request. Your tasks can be executed on App Engine - or any arbitrary HTTP endpoint. - library_name: tasks - release_level: stable - codeowner_team: '@googleapis/aap-dpes' - issue_tracker: https://issuetracker.google.com/savedsearches/5433985 - rest_documentation: https://cloud.google.com/tasks/docs/reference/rest - rpc_documentation: https://cloud.google.com/tasks/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/tasks/v2 - - proto_path: google/cloud/tasks/v2beta2 - - proto_path: google/cloud/tasks/v2beta3 -- api_shortname: telcoautomation - name_pretty: Telco Automation API - product_documentation: https://cloud.google.com/telecom-network-automation - api_description: APIs to automate 5G deployment and management of cloud infrastructure - and network functions. - release_level: stable - GAPICs: - - proto_path: google/cloud/telcoautomation/v1 - - proto_path: google/cloud/telcoautomation/v1alpha1 -- api_shortname: texttospeech - name_pretty: Cloud Text-to-Speech - product_documentation: https://cloud.google.com/text-to-speech - api_description: enables easy integration of Google text recognition technologies - into developer applications. Send text and receive synthesized audio output from - the Cloud Text-to-Speech API service. - release_level: stable - requires_billing: false - issue_tracker: https://issuetracker.google.com/savedsearches/5235428 - rest_documentation: https://cloud.google.com/text-to-speech/docs/reference/rest - rpc_documentation: https://cloud.google.com/text-to-speech/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/texttospeech/v1 - - proto_path: google/cloud/texttospeech/v1beta1 -- api_shortname: tpu - name_pretty: Cloud TPU - product_documentation: https://cloud.google.com/tpu/docs - api_description: are Google's custom-developed application-specific integrated circuits - (ASICs) used to accelerate machine learning workloads. - release_level: stable - rest_documentation: https://cloud.google.com/tpu/docs/reference/rest - GAPICs: - - proto_path: google/cloud/tpu/v1 - - proto_path: google/cloud/tpu/v2 - - proto_path: google/cloud/tpu/v2alpha1 -- api_shortname: cloudtrace - name_pretty: Stackdriver Trace - product_documentation: https://cloud.google.com/trace/docs/ - api_description: is a distributed tracing system that collects latency data from - your applications and displays it in the Google Cloud Platform Console. You can - track how requests propagate through your application and receive detailed near - real-time performance insights. - library_name: trace - release_level: stable - requires_billing: false - GAPICs: - - proto_path: google/devtools/cloudtrace/v1 - - proto_path: google/devtools/cloudtrace/v2 -- api_shortname: translate - name_pretty: Cloud Translation - product_documentation: https://cloud.google.com/translate/docs/ - api_description: can dynamically translate text between thousands of language pairs. - Translation lets websites and programs programmatically integrate with the translation - service. - release_level: stable - api_id: translate.googleapis.com - issue_tracker: https://issuetracker.google.com/savedsearches/559749 - rest_documentation: https://cloud.google.com/translate/docs/reference/rest - rpc_documentation: https://cloud.google.com/translate/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/translate/v3 - - proto_path: google/cloud/translate/v3beta1 -- api_shortname: memorystore - name_pretty: Memorystore API - product_documentation: https://cloud.google.com/memorystore/docs/valkey - api_description: Memorystore for Valkey is a fully managed Valkey Cluster service - for Google Cloud. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-memorystore/latest/overview - release_level: stable - api_id: memorystore.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - library_name: valkey - GAPICs: - - proto_path: google/cloud/memorystore/v1 - - proto_path: google/cloud/memorystore/v1beta - requires_billing: true - rest_documentation: https://cloud.google.com/memorystore/docs/valkey/reference/rest -- api_shortname: vectorsearch - name_pretty: Vector Search API - product_documentation: https://docs.cloud.google.com/vertex-ai/docs/vector-search/overview - api_description: The Vector Search API provides a fully-managed, highly performant, - and scalable vector database designed to power next-generation search, recommendation, - and generative AI applications. It allows you to store, index, and query your - data and its corresponding vector embeddings through a simple, intuitive interface. - With Vector Search, you can define custom schemas for your data, insert objects - with associated metadata, automatically generate embeddings from your data, and - perform fast approximate nearest neighbor (ANN) searches to find semantically - similar items at scale. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-vectorsearch/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-vectorsearch - api_id: vectorsearch.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/vectorsearch/v1beta - - proto_path: google/cloud/vectorsearch/v1 - requires_billing: true -- api_shortname: videointelligence - name_pretty: Cloud Video Intelligence - product_documentation: https://cloud.google.com/video-intelligence/docs/ - api_description: allows developers to use Google video analysis technology as part - of their applications. - library_name: video-intelligence - release_level: stable - issue_tracker: https://issuetracker.google.com/savedsearches/5084810 - rest_documentation: https://cloud.google.com/video-intelligence/docs/reference/rest - rpc_documentation: https://cloud.google.com/video-intelligence/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/videointelligence/v1 - - proto_path: google/cloud/videointelligence/v1beta2 - - proto_path: google/cloud/videointelligence/v1p1beta1 - - proto_path: google/cloud/videointelligence/v1p2beta1 - - proto_path: google/cloud/videointelligence/v1p3beta1 -- api_shortname: livestream - name_pretty: Live Stream API - product_documentation: https://cloud.google.com/livestream/ - api_description: transcodes mezzanine live signals into direct-to-consumer streaming - formats, including Dynamic Adaptive Streaming over HTTP (DASH/MPEG-DASH), and - HTTP Live Streaming (HLS), for multiple device platforms. - library_name: video-live-stream - distribution_name: com.google.cloud:google-cloud-live-stream - GAPICs: - - proto_path: google/cloud/video/livestream/v1 -- api_shortname: videostitcher - name_pretty: Video Stitcher API - product_documentation: https://cloud.google.com/video-stitcher/ - api_description: allows you to manipulate video content to dynamically insert ads - prior to delivery to client devices. - library_name: video-stitcher - release_level: stable - GAPICs: - - proto_path: google/cloud/video/stitcher/v1 -- api_shortname: transcoder - name_pretty: Video Transcoder - product_documentation: https://cloud.google.com/transcoder/docs - api_description: allows you to transcode videos into a variety of formats. The Transcoder - API benefits broadcasters, production companies, businesses, and individuals looking - to transform their video content for use across a variety of user devices. - library_name: video-transcoder - release_level: stable - api_id: transcoder.googleapis.com - rest_documentation: https://cloud.google.com/transcoder/docs/reference/rest - rpc_documentation: https://cloud.google.com/transcoder/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/video/transcoder/v1 -- api_shortname: vision - name_pretty: Cloud Vision - product_documentation: https://cloud.google.com/vision/docs/ - api_description: allows developers to easily integrate vision detection features - within applications, including image labeling, face and landmark detection, optical - character recognition (OCR), and tagging of explicit content. - release_level: stable - issue_tracker: https://issuetracker.google.com/issues?q=status:open%20componentid:187174 - rest_documentation: https://cloud.google.com/vision/docs/reference/rest - rpc_documentation: https://cloud.google.com/vision/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/vision/v1 - - proto_path: google/cloud/vision/v1p1beta1 - - proto_path: google/cloud/vision/v1p2beta1 - - proto_path: google/cloud/vision/v1p3beta1 - - proto_path: google/cloud/vision/v1p4beta1 -- api_shortname: visionai - name_pretty: Vision AI API - product_documentation: https://cloud.google.com/vision-ai/docs - api_description: Vertex AI Vision is an AI-powered platform to ingest, analyze and - store video data. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-visionai/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-visionai - api_id: visionai.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/visionai/v1 - requires_billing: true - rpc_documentation: https://cloud.google.com/vision-ai/docs/reference/rpc -- api_shortname: vmmigration - name_pretty: VM Migration - product_documentation: n/a - api_description: helps customers migrating VMs to GCP at no additional cost, as - well as an extensive ecosystem of partners to help with discovery and assessment, - planning, migration, special use cases, and more. - release_level: stable - GAPICs: - - proto_path: google/cloud/vmmigration/v1 -- api_shortname: vmwareengine - name_pretty: Google Cloud VMware Engine - product_documentation: https://cloud.google.com/vmware-engine/ - api_description: Easily lift and shift your VMware-based applications to Google - Cloud without changes to your apps, tools, or processes. - rest_documentation: https://cloud.google.com/vmware-engine/docs/reference/rest - GAPICs: - - proto_path: google/cloud/vmwareengine/v1 -- api_shortname: vpcaccess - name_pretty: Serverless VPC Access - product_documentation: https://cloud.google.com/vpc/docs/serverless-vpc-access - api_description: enables you to connect from a serverless environment on Google - Cloud directly to your VPC network. This connection makes it possible for your - serverless environment to access resources in your VPC network via internal IP - addresses. - release_level: stable - GAPICs: - - proto_path: google/cloud/vpcaccess/v1 -- api_shortname: webrisk - name_pretty: Web Risk - product_documentation: https://cloud.google.com/web-risk/docs/ - api_description: is a Google Cloud service that lets client applications check URLs - against Google's constantly updated lists of unsafe web resources. Unsafe web - resources include social engineering sites - such as phishing and deceptive sites - - and sites that host malware or unwanted software. With the Web Risk API, you - can quickly identify known bad sites, warn users before they click infected links, - and prevent users from posting links to known infected pages from your site. The - Web Risk API includes data on more than a million unsafe URLs and stays up to - date by examining billions of URLs each day. - release_level: stable - requires_billing: false - issue_tracker: '' - rest_documentation: https://cloud.google.com/web-risk/docs/reference/rest - rpc_documentation: https://cloud.google.com/web-risk/docs/reference/rpc - GAPICs: - - proto_path: google/cloud/webrisk/v1 - - proto_path: google/cloud/webrisk/v1beta1 -- api_shortname: websecurityscanner - name_pretty: Cloud Security Scanner - product_documentation: https://cloud.google.com/security-scanner/docs/ - api_description: identifies security vulnerabilities in your App Engine, Compute - Engine, and Google Kubernetes Engine web applications. It crawls your application, - following all links within the scope of your starting URLs, and attempts to exercise - as many user inputs and event handlers as possible. - release_level: stable - requires_billing: false - issue_tracker: https://issuetracker.google.com/savedsearches/559748 - GAPICs: - - proto_path: google/cloud/websecurityscanner/v1 - - proto_path: google/cloud/websecurityscanner/v1alpha - - proto_path: google/cloud/websecurityscanner/v1beta -- api_shortname: workflowexecutions - name_pretty: Cloud Workflow Executions - product_documentation: https://cloud.google.com/workflows - api_description: allows you to ochestrate and automate Google Cloud and HTTP-based - API services with serverless workflows. - library_name: workflow-executions - release_level: stable - codeowner_team: '@googleapis/aap-dpes' - rest_documentation: https://cloud.google.com/workflows/docs/reference/rest - GAPICs: - - proto_path: google/cloud/workflows/executions/v1 - - proto_path: google/cloud/workflows/executions/v1beta -- api_shortname: workflows - name_pretty: Cloud Workflows - product_documentation: https://cloud.google.com/workflows - api_description: allows you to ochestrate and automate Google Cloud and HTTP-based - API services with serverless workflows. - release_level: stable - codeowner_team: '@googleapis/aap-dpes' - rest_documentation: https://cloud.google.com/workflows/docs/reference/rest - GAPICs: - - proto_path: google/cloud/workflows/v1 - - proto_path: google/cloud/workflows/v1beta -- api_shortname: workloadmanager - name_pretty: Workload Manager API - product_documentation: https://docs.cloud.google.com/workload-manager/docs - api_description: Workload Manager is a service that provides tooling for enterprise - workloads to automate the deployment and validation of your workloads against - best practices and recommendations. - client_documentation: - https://cloud.google.com/java/docs/reference/google-cloud-workloadmanager/latest/overview - release_level: preview - distribution_name: com.google.cloud:google-cloud-workloadmanager - api_id: workloadmanager.googleapis.com - library_type: GAPIC_AUTO - group_id: com.google.cloud - cloud_api: true - GAPICs: - - proto_path: google/cloud/workloadmanager/v1 - requires_billing: true - rpc_documentation: https://docs.cloud.google.com/workload-manager/docs/reference/rest -- api_shortname: workspaceevents - name_pretty: Google Workspace Events API - product_documentation: https://developers.google.com/workspace/events - api_description: The Google Workspace Events API lets you subscribe to events and - manage change notifications across Google Workspace applications. - rest_documentation: https://developers.google.com/workspace/events/reference/rest - GAPICs: - - proto_path: google/apps/events/subscriptions/v1 - - proto_path: google/apps/events/subscriptions/v1beta -- api_shortname: workstations - name_pretty: Cloud Workstations - product_documentation: https://cloud.google.com/workstations - api_description: Fully managed development environments built to meet the needs - of security-sensitive enterprises. It enhances the security of development environments - while accelerating developer onboarding and productivity. - rest_documentation: https://cloud.google.com/workstations/docs/reference/rest - rpc_documentation: https://cloud.google.com/workstations/docs/reference/rpc - release_level: stable - GAPICs: - - proto_path: google/cloud/workstations/v1 - - proto_path: google/cloud/workstations/v1beta diff --git a/google-auth-library-java/appengine/pom.xml b/google-auth-library-java/appengine/pom.xml index 051fc5f6eedc..5d202950dc52 100644 --- a/google-auth-library-java/appengine/pom.xml +++ b/google-auth-library-java/appengine/pom.xml @@ -5,7 +5,7 @@ com.google.auth google-auth-library-parent - 1.48.0 + 1.49.0 ../pom.xml diff --git a/google-auth-library-java/bom/README.md b/google-auth-library-java/bom/README.md index 1d19d295dc1d..9227ed406649 100644 --- a/google-auth-library-java/bom/README.md +++ b/google-auth-library-java/bom/README.md @@ -12,7 +12,7 @@ To use it in Maven, add the following to your `pom.xml`: com.google.auth google-auth-library-bom - 1.48.0 + 1.49.0 pom import diff --git a/google-auth-library-java/bom/pom.xml b/google-auth-library-java/bom/pom.xml index d38005833e70..9d25a69b96cf 100644 --- a/google-auth-library-java/bom/pom.xml +++ b/google-auth-library-java/bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.auth google-auth-library-bom - 1.48.0 + 1.49.0 pom @@ -23,22 +23,22 @@ com.google.auth google-auth-library-credentials - 1.48.0 + 1.49.0 com.google.auth google-auth-library-oauth2-http - 1.48.0 + 1.49.0 com.google.auth google-auth-library-appengine - 1.48.0 + 1.49.0 com.google.auth google-auth-library-cab-token-generator - 1.48.0 + 1.49.0 diff --git a/google-auth-library-java/cab-token-generator/pom.xml b/google-auth-library-java/cab-token-generator/pom.xml index 1d50fb00cf7e..bd4ef00a6c58 100644 --- a/google-auth-library-java/cab-token-generator/pom.xml +++ b/google-auth-library-java/cab-token-generator/pom.xml @@ -6,7 +6,7 @@ com.google.auth google-auth-library-parent - 1.48.0 + 1.49.0 google-auth-library-cab-token-generator diff --git a/google-auth-library-java/credentials/pom.xml b/google-auth-library-java/credentials/pom.xml index 0dec338840f0..7db6e43c58a8 100644 --- a/google-auth-library-java/credentials/pom.xml +++ b/google-auth-library-java/credentials/pom.xml @@ -4,7 +4,7 @@ com.google.auth google-auth-library-parent - 1.48.0 + 1.49.0 ../pom.xml diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/DefaultMtlsProviderFactory.java b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/DefaultMtlsProviderFactory.java index b57accd4c224..08a9795a8377 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/DefaultMtlsProviderFactory.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/DefaultMtlsProviderFactory.java @@ -30,8 +30,10 @@ package com.google.auth.mtls; +import com.google.api.core.InternalApi; import java.io.IOException; +@InternalApi public class DefaultMtlsProviderFactory { /** @@ -40,9 +42,6 @@ public class DefaultMtlsProviderFactory { * creating a {@link SecureConnectProvider}. If the secure connect provider also fails, it throws * a {@link com.google.auth.mtls.CertificateSourceUnavailableException}. * - *

This is only meant to be used internally by Google Cloud libraries, and the public facing - * methods may be changed without notice, and have no guarantee of backwards compatibility. - * * @return an instance of {@link MtlsProvider}. * @throws com.google.auth.mtls.CertificateSourceUnavailableException if neither provider can be * created. diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/SecureConnectProvider.java b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/SecureConnectProvider.java index 9d30d6800afe..7c13dd16ced6 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/SecureConnectProvider.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/SecureConnectProvider.java @@ -33,6 +33,7 @@ import com.google.api.client.json.JsonParser; import com.google.api.client.json.gson.GsonFactory; import com.google.api.client.util.SecurityUtils; +import com.google.api.core.InternalApi; import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.ImmutableList; import java.io.FileInputStream; @@ -46,9 +47,7 @@ /** * This class implements {@link MtlsProvider} for the Google Auth library transport layer via {@link - * ContextAwareMetadataJson}. This is only meant to be used internally by Google Cloud libraries, - * and the public facing methods may be changed without notice, and have no guarantee of backwards - * compatibility. + * ContextAwareMetadataJson}. * *

Note: This implementation is derived from the existing "MtlsProvider" found in the Gax * library, with two notable differences: 1) All logic associated with parsing environment variables @@ -60,6 +59,7 @@ *

Additionally, this implementation will replace the existing "MtlsProvider" in the Gax library. * The Gax library version of MtlsProvider will be marked as deprecated. */ +@InternalApi public class SecureConnectProvider implements MtlsProvider { interface ProcessProvider { public Process createProcess(InputStream metadata) throws IOException; diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/X509Provider.java b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/X509Provider.java index 4127b1492460..c87398940538 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/X509Provider.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/mtls/X509Provider.java @@ -45,9 +45,7 @@ /** * This class implements {@link MtlsProvider} for the Google Auth library transport layer via {@link - * WorkloadCertificateConfiguration}. This is only meant to be used internally by Google Cloud - * libraries, and the public facing methods may be changed without notice, and have no guarantee of - * backwards compatibility. + * WorkloadCertificateConfiguration}. */ @InternalApi public class X509Provider implements MtlsProvider { diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/DefaultCredentialsProvider.java b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/DefaultCredentialsProvider.java index acbfe28af8d5..3ce69b391609 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/DefaultCredentialsProvider.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/DefaultCredentialsProvider.java @@ -239,7 +239,7 @@ private final GoogleCredentials getDefaultCredentialsUnsynchronized( return credentials; } - private final File getWellKnownCredentialsFile() { + private final File getWellKnownCredentialsFile() throws IOException { return GoogleAuthUtils.getWellKnownCredentialsFile(this); } diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/GoogleAuthUtils.java b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/GoogleAuthUtils.java index d82548a082fd..973411aff240 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/GoogleAuthUtils.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/GoogleAuthUtils.java @@ -32,6 +32,7 @@ package com.google.auth.oauth2; import java.io.File; +import java.io.IOException; /** * This public class provides shared utilities for common OAuth2 utils or ADC. It also exposes @@ -45,7 +46,7 @@ public class GoogleAuthUtils { * @return the path to the well-known Application Default Credentials file location */ public static final String getWellKnownCredentialsPath() { - return getWellKnownCredentialsFile(DefaultCredentialsProvider.DEFAULT).getAbsolutePath(); + return getWellKnownCredentialsPath(DefaultCredentialsProvider.DEFAULT); } /** @@ -54,7 +55,11 @@ public static final String getWellKnownCredentialsPath() { * @return the path to the well-known Application Default Credentials file location */ static final String getWellKnownCredentialsPath(DefaultCredentialsProvider provider) { - return getWellKnownCredentialsFile(provider).getAbsolutePath(); + try { + return getWellKnownCredentialsFile(provider).getAbsolutePath(); + } catch (IOException e) { + throw new RuntimeException(e); + } } /** @@ -64,13 +69,18 @@ static final String getWellKnownCredentialsPath(DefaultCredentialsProvider provi * purposes) * @return the well-known Application Default Credentials file */ - static final File getWellKnownCredentialsFile(DefaultCredentialsProvider provider) { + static final File getWellKnownCredentialsFile(DefaultCredentialsProvider provider) + throws IOException { File cloudConfigPath; String envPath = provider.getEnv("CLOUDSDK_CONFIG"); if (envPath != null) { cloudConfigPath = new File(envPath); } else if (provider.getOsName().indexOf("windows") >= 0) { - File appDataPath = new File(provider.getEnv("APPDATA")); + String appData = provider.getEnv("APPDATA"); + if (appData == null) { + throw new IOException(DefaultCredentialsProvider.CLOUDSDK_MISSING_CREDENTIALS); + } + File appDataPath = new File(appData); cloudConfigPath = new File(appDataPath, provider.CLOUDSDK_CONFIG_DIRECTORY); } else { File configPath = new File(provider.getProperty("user.home", ""), ".config"); diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/OAuth2Utils.java b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/OAuth2Utils.java index 643c3dc7dc65..2d5b18d7f67d 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/OAuth2Utils.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/OAuth2Utils.java @@ -69,15 +69,7 @@ import java.util.Map; import java.util.Set; -/** - * Internal utilities for the com.google.auth.oauth2 namespace. - * - *

These classes are marked public but should be treated effectively as internal classes only. - * They are not subject to any backwards compatibility guarantees and might change or be removed at - * any time. They are provided only as a convenience for other libraries within the {@code - * com.google.auth} family. Application developers should avoid using these classes directly; they - * are not part of the public API. - */ +/** Internal utilities for the com.google.auth.oauth2 namespace. */ @InternalApi public class OAuth2Utils { diff --git a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/UserCredentials.java b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/UserCredentials.java index 3670ac7a6804..5ec0920411d7 100644 --- a/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/UserCredentials.java +++ b/google-auth-library-java/oauth2_http/java/com/google/auth/oauth2/UserCredentials.java @@ -328,7 +328,7 @@ private InputStream getUserCredentialsStream() throws IOException { json.put("client_secret", clientSecret); } if (quotaProjectId != null) { - json.put("quota_project", clientSecret); + json.put("quota_project_id", quotaProjectId); } json.setFactory(JSON_FACTORY); String text = json.toPrettyString(); diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/DefaultCredentialsProviderTest.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/DefaultCredentialsProviderTest.java index d0447871b01a..dbfb70ea0038 100644 --- a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/DefaultCredentialsProviderTest.java +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/DefaultCredentialsProviderTest.java @@ -115,6 +115,20 @@ void getDefaultCredentials_noCredentials_throws() { assertEquals(DefaultCredentialsProvider.CLOUDSDK_MISSING_CREDENTIALS, message); } + @Test + void getDefaultCredentials_windowsMissingAppData_throws() { + // When APPDATA is unset on Windows, the ADC resolution should fail gracefully + // with a structured missing credentials exception, rather than crashing with an NPE. + MockHttpTransportFactory transportFactory = new MockHttpTransportFactory(); + TestDefaultCredentialsProvider testProvider = new TestDefaultCredentialsProvider(); + testProvider.setProperty("os.name", "windows"); + testProvider.setEnv("APPDATA", null); + + IOException e = + assertThrows(IOException.class, () -> testProvider.getDefaultCredentials(transportFactory)); + assertEquals(DefaultCredentialsProvider.CLOUDSDK_MISSING_CREDENTIALS, e.getMessage()); + } + @Test void getDefaultCredentials_noCredentialsSandbox_throwsNonSecurity() { MockHttpTransportFactory transportFactory = new MockHttpTransportFactory(); @@ -387,6 +401,7 @@ void getDefaultCredentials_GdchServiceAccount() throws IOException { assertNotNull(((GdchCredentials) defaultCredentials).getApiAudience()); } + @Test void getDefaultCredentials_quota_project() throws IOException { InputStream userStream = UserCredentialsTest.writeUserStream( diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/GoogleCredentialsTest.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/GoogleCredentialsTest.java index 74aa9fae9ccd..343eca7fbcd2 100644 --- a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/GoogleCredentialsTest.java +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/GoogleCredentialsTest.java @@ -53,6 +53,7 @@ import java.io.IOException; import java.io.InputStream; import java.net.URI; +import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.Collection; import java.util.Collections; @@ -122,9 +123,20 @@ void fromStream_unknownType_throws() throws IOException { } } + @Test + void fromStream_invalidJson_throws() throws IOException { + // This test ensures Java successfully throws an IOException when ADC JSON parsing + // fails, preventing silent fallbacks. + MockHttpTransportFactory transportFactory = new MockHttpTransportFactory(); + try (InputStream stream = + new ByteArrayInputStream("invalid-json{".getBytes(StandardCharsets.UTF_8))) { + assertThrows(IOException.class, () -> GoogleCredentials.fromStream(stream, transportFactory)); + } + } + @Test void fromStream_nullTransport_throws() { - InputStream stream = new ByteArrayInputStream("foo".getBytes()); + InputStream stream = new ByteArrayInputStream("foo".getBytes(StandardCharsets.UTF_8)); assertThrows(NullPointerException.class, () -> GoogleCredentials.fromStream(stream, null)); } diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/ServiceAccountCredentialsTest.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/ServiceAccountCredentialsTest.java index ed26a0af3c6f..34592a6ce5ea 100644 --- a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/ServiceAccountCredentialsTest.java +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/ServiceAccountCredentialsTest.java @@ -1762,6 +1762,17 @@ void createScopes_existingAccessTokenInvalidated() throws IOException { assertNull(newAccessToken); } + @Test + void getRequestMetadata_withMultipleScopes_selfSignedJWT() throws IOException { + List scopes = Arrays.asList("scope1", "scope2"); + ServiceAccountCredentials credentials = + createDefaultBuilderWithKey(OAuth2Utils.privateKeyFromPkcs8(PRIVATE_KEY_PKCS8)) + .setScopes(scopes) + .setUseJwtAccessWithScope(true) + .build(); + verifyJwtAccess(credentials.getRequestMetadata(CALL_URI), "scope1 scope2"); + } + private void verifyJwtAccess(Map> metadata, String expectedScopeClaim) throws IOException { assertNotNull(metadata); @@ -1777,16 +1788,26 @@ private void verifyJwtAccess(Map> metadata, String expected assertNotNull(assertion, "Bearer assertion not found"); JsonWebSignature signature = JsonWebSignature.parse(GsonFactory.getDefaultInstance(), assertion); + assertEquals("RS256", signature.getHeader().getAlgorithm()); + assertEquals("JWT", signature.getHeader().getType()); assertEquals(CLIENT_EMAIL, signature.getPayload().getIssuer()); assertEquals(CLIENT_EMAIL, signature.getPayload().getSubject()); if (expectedScopeClaim != null) { assertEquals(expectedScopeClaim, signature.getPayload().get("scope")); - assertFalse(signature.getPayload().containsKey("aud")); + assertNull(signature.getPayload().getAudience()); } else { assertEquals(JWT_AUDIENCE, signature.getPayload().getAudience()); assertFalse(signature.getPayload().containsKey("scope")); } assertEquals(PRIVATE_KEY_ID, signature.getHeader().getKeyId()); + + Long iat = signature.getPayload().getIssuedAtTimeSeconds(); + Long exp = signature.getPayload().getExpirationTimeSeconds(); + assertNotNull(iat); + assertNotNull(exp); + assertEquals(3600L, exp - iat); + long currentTimeSecs = System.currentTimeMillis() / 1000; + assertTrue(Math.abs(currentTimeSecs - iat) < 60); } static GenericJson writeServiceAccountJson( diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/ServiceAccountJwtAccessCredentialsTest.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/ServiceAccountJwtAccessCredentialsTest.java index d961f7b1b685..4a12b7483a33 100644 --- a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/ServiceAccountJwtAccessCredentialsTest.java +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/ServiceAccountJwtAccessCredentialsTest.java @@ -914,6 +914,8 @@ private void verifyJwtAccess(Map> metadata, URI expectedAud } assertNotNull(assertion, "Bearer assertion not found"); JsonWebSignature signature = JsonWebSignature.parse(JSON_FACTORY, assertion); + assertEquals("RS256", signature.getHeader().getAlgorithm()); + assertEquals("JWT", signature.getHeader().getType()); assertEquals( ServiceAccountJwtAccessCredentialsTest.SA_CLIENT_EMAIL, signature.getPayload().getIssuer()); assertEquals( @@ -922,6 +924,14 @@ private void verifyJwtAccess(Map> metadata, URI expectedAud assertEquals(expectedAudience.toString(), signature.getPayload().getAudience()); assertEquals( ServiceAccountJwtAccessCredentialsTest.SA_PRIVATE_KEY_ID, signature.getHeader().getKeyId()); + + Long iat = signature.getPayload().getIssuedAtTimeSeconds(); + Long exp = signature.getPayload().getExpirationTimeSeconds(); + assertNotNull(iat); + assertNotNull(exp); + assertEquals(3600L, exp - iat); + long currentTimeSecs = System.currentTimeMillis() / 1000; + assertTrue(Math.abs(currentTimeSecs - iat) < 60); } private static void testFromStreamException(InputStream stream, String expectedMessageContent) { diff --git a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/UserCredentialsTest.java b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/UserCredentialsTest.java index aaabf4aeefec..b4b06743ee24 100644 --- a/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/UserCredentialsTest.java +++ b/google-auth-library-java/oauth2_http/javatests/com/google/auth/oauth2/UserCredentialsTest.java @@ -635,6 +635,7 @@ void saveAndRestoreUserCredential_saveAndRestored_doesNotThrow() throws IOExcept .setClientId(CLIENT_ID) .setClientSecret(CLIENT_SECRET) .setRefreshToken(REFRESH_TOKEN) + .setQuotaProjectId(QUOTA_PROJECT) .build(); File file = File.createTempFile("GOOGLE_APPLICATION_CREDENTIALS", null, null); @@ -649,6 +650,7 @@ void saveAndRestoreUserCredential_saveAndRestored_doesNotThrow() throws IOExcept assertEquals(userCredentials.getClientId(), restoredCredentials.getClientId()); assertEquals(userCredentials.getClientSecret(), restoredCredentials.getClientSecret()); assertEquals(userCredentials.getRefreshToken(), restoredCredentials.getRefreshToken()); + assertEquals(userCredentials.getQuotaProjectId(), restoredCredentials.getQuotaProjectId()); } } diff --git a/google-auth-library-java/oauth2_http/pom.xml b/google-auth-library-java/oauth2_http/pom.xml index e2fc0718d6e0..cc7d6c9c61f9 100644 --- a/google-auth-library-java/oauth2_http/pom.xml +++ b/google-auth-library-java/oauth2_http/pom.xml @@ -7,7 +7,7 @@ com.google.auth google-auth-library-parent - 1.48.0 + 1.49.0 ../pom.xml diff --git a/google-auth-library-java/pom.xml b/google-auth-library-java/pom.xml index cd6989518fbd..52d5474b6e3c 100644 --- a/google-auth-library-java/pom.xml +++ b/google-auth-library-java/pom.xml @@ -5,7 +5,7 @@ 4.0.0 com.google.auth google-auth-library-parent - 1.48.0 + 1.49.0 pom Google Auth Library for Java Client libraries providing authentication and @@ -74,7 +74,7 @@ UTF-8 - 2.1.0 + 2.1.1 5.11.4 33.5.0-jre 2.0.33 @@ -86,7 +86,8 @@ 1.15.0 2.0.17 2.13.2 - 2.64.0 + 2.65.0 + 1.18.0 3.5.2 true @@ -183,6 +184,11 @@ error_prone_annotations ${project.error-prone.version} + + commons-codec + commons-codec + ${project.commons-codec.version} + diff --git a/google-cloud-jar-parent/pom.xml b/google-cloud-jar-parent/pom.xml index 04349050311f..588879320583 100644 --- a/google-cloud-jar-parent/pom.xml +++ b/google-cloud-jar-parent/pom.xml @@ -5,7 +5,7 @@ 4.0.0 google-cloud-jar-parent com.google.cloud - 1.87.0 + 1.88.0 pom Google Cloud JAR Parent @@ -15,7 +15,7 @@ com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../google-cloud-pom-parent/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-shared-dependencies - 3.63.0 + 3.64.0 pom import @@ -40,19 +40,19 @@ com.google.cloud google-cloud-pubsub-bom - 1.140.0 + 1.151.0 pom import com.google.cloud google-cloud-storage - 2.69.0 + 2.70.0 com.google.apis google-api-services-dns - v1-rev20250102-2.0.0 + v1-rev20260616-2.0.0 com.google.apis @@ -67,7 +67,7 @@ com.google.apis google-api-services-storage - v1-rev20260204-2.0.0 + v1-rev20260524-2.0.0 @@ -86,7 +86,7 @@ ch.qos.logback logback-core - 1.5.25 + 1.5.33 test @@ -142,7 +142,7 @@ com.google.apis google-api-services-bigquery - v2-rev20260429-2.0.0 + v2-rev20260612-2.0.0 diff --git a/google-cloud-pom-parent/pom.xml b/google-cloud-pom-parent/pom.xml index 19e138dab615..a1c037c90177 100644 --- a/google-cloud-pom-parent/pom.xml +++ b/google-cloud-pom-parent/pom.xml @@ -5,7 +5,7 @@ 4.0.0 google-cloud-pom-parent com.google.cloud - 1.87.0 + 1.88.0 pom Google Cloud POM Parent https://github.com/googleapis/google-cloud-java @@ -15,7 +15,7 @@ com.google.cloud sdk-platform-java-config - 3.63.0 + 3.64.0 ../sdk-platform-java/sdk-platform-java-config diff --git a/grpc-gcp-java/pom.xml b/grpc-gcp-java/pom.xml index f855aca7066b..3ba7f2194cfc 100644 --- a/grpc-gcp-java/pom.xml +++ b/grpc-gcp-java/pom.xml @@ -17,7 +17,7 @@ com.google.cloud grpc-gcp - 1.11.0 + 1.12.0 jar gRPC extension library for Google Cloud Platform @@ -62,10 +62,10 @@ UTF-8 UTF-8 grpc-gcp - 2.64.0 + 2.65.0 1.11.0 2.48.0 - 2.1.0 + 2.1.1 2.13.2 33.5.0-jre 4.33.2 @@ -74,7 +74,7 @@ 4.13.2 0.31.1 1.62.0 - 6.118.0 + 6.119.0 1.4.5 4.11.0 true diff --git a/java-accessapproval/.OwlBot-hermetic.yaml b/java-accessapproval/.OwlBot-hermetic.yaml deleted file mode 100644 index 4736283994aa..000000000000 --- a/java-accessapproval/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-accessapproval/grpc-google-.*/src" -- "/java-accessapproval/proto-google-.*/src" -- "/java-accessapproval/google-.*/src" -- "/java-accessapproval/samples/snippets/generated" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-cloud-accessapproval/src/test/java/com/google/cloud/accessapproval/v1/it" - -deep-copy-regex: -- source: "/google/cloud/accessapproval/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-accessapproval/$1/proto-google-cloud-accessapproval-$1/src" -- source: "/google/cloud/accessapproval/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-accessapproval/$1/grpc-google-cloud-accessapproval-$1/src" -- source: "/google/cloud/accessapproval/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-accessapproval/$1/google-cloud-accessapproval/src" -- source: "/google/cloud/accessapproval/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-accessapproval/$1/samples/snippets/generated" - -api-name: accessapproval diff --git a/java-accessapproval/.repo-metadata.json b/java-accessapproval/.repo-metadata.json index ce8049bfd4fa..6c6f28d53794 100644 --- a/java-accessapproval/.repo-metadata.json +++ b/java-accessapproval/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "enables controlling access to your organization's data by Google personnel.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-accessapproval/latest/overview", "release_level": "stable", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-accessapproval", diff --git a/java-accessapproval/google-cloud-accessapproval-bom/pom.xml b/java-accessapproval/google-cloud-accessapproval-bom/pom.xml index 9d20ef5dc5e2..2b8da092521d 100644 --- a/java-accessapproval/google-cloud-accessapproval-bom/pom.xml +++ b/java-accessapproval/google-cloud-accessapproval-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-accessapproval-bom - 2.94.0 + 2.95.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -24,17 +24,17 @@ com.google.cloud google-cloud-accessapproval - 2.94.0 + 2.95.0 com.google.api.grpc grpc-google-cloud-accessapproval-v1 - 2.94.0 + 2.95.0 com.google.api.grpc proto-google-cloud-accessapproval-v1 - 2.94.0 + 2.95.0 diff --git a/java-accessapproval/google-cloud-accessapproval/pom.xml b/java-accessapproval/google-cloud-accessapproval/pom.xml index 88b0512b89bc..0d0c416bde25 100644 --- a/java-accessapproval/google-cloud-accessapproval/pom.xml +++ b/java-accessapproval/google-cloud-accessapproval/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-accessapproval - 2.94.0 + 2.95.0 jar Google Cloud Access Approval Java idiomatic client for Google Cloud accessapproval com.google.cloud google-cloud-accessapproval-parent - 2.94.0 + 2.95.0 google-cloud-accessapproval diff --git a/java-accessapproval/google-cloud-accessapproval/src/main/java/com/google/cloud/accessapproval/v1/stub/Version.java b/java-accessapproval/google-cloud-accessapproval/src/main/java/com/google/cloud/accessapproval/v1/stub/Version.java index fdbb623da4be..84c5fb73f1ef 100644 --- a/java-accessapproval/google-cloud-accessapproval/src/main/java/com/google/cloud/accessapproval/v1/stub/Version.java +++ b/java-accessapproval/google-cloud-accessapproval/src/main/java/com/google/cloud/accessapproval/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-accessapproval:current} - static final String VERSION = "2.94.0"; + static final String VERSION = "2.95.0"; // {x-version-update-end} } diff --git a/java-accessapproval/grpc-google-cloud-accessapproval-v1/pom.xml b/java-accessapproval/grpc-google-cloud-accessapproval-v1/pom.xml index 5b2adaf5c148..7fb83951cd35 100644 --- a/java-accessapproval/grpc-google-cloud-accessapproval-v1/pom.xml +++ b/java-accessapproval/grpc-google-cloud-accessapproval-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-accessapproval-v1 - 2.94.0 + 2.95.0 grpc-google-cloud-accessapproval-v1 GRPC library for grpc-google-cloud-accessapproval-v1 com.google.cloud google-cloud-accessapproval-parent - 2.94.0 + 2.95.0 diff --git a/java-accessapproval/pom.xml b/java-accessapproval/pom.xml index 0bd0c4a4f7f4..aa193c2a39d0 100644 --- a/java-accessapproval/pom.xml +++ b/java-accessapproval/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-accessapproval-parent pom - 2.94.0 + 2.95.0 Google Cloud Access Approval Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.api.grpc proto-google-cloud-accessapproval-v1 - 2.94.0 + 2.95.0 com.google.api.grpc grpc-google-cloud-accessapproval-v1 - 2.94.0 + 2.95.0 com.google.cloud google-cloud-accessapproval - 2.94.0 + 2.95.0 diff --git a/java-accessapproval/proto-google-cloud-accessapproval-v1/pom.xml b/java-accessapproval/proto-google-cloud-accessapproval-v1/pom.xml index 8b03bfe19b1e..1e9109d88011 100644 --- a/java-accessapproval/proto-google-cloud-accessapproval-v1/pom.xml +++ b/java-accessapproval/proto-google-cloud-accessapproval-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-accessapproval-v1 - 2.94.0 + 2.95.0 proto-google-cloud-accessapproval-v1beta1 PROTO library for proto-google-cloud-accessapproval-v1 com.google.cloud google-cloud-accessapproval-parent - 2.94.0 + 2.95.0 diff --git a/java-accesscontextmanager/.OwlBot-hermetic.yaml b/java-accesscontextmanager/.OwlBot-hermetic.yaml deleted file mode 100644 index d06ba37a7aec..000000000000 --- a/java-accesscontextmanager/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-accesscontextmanager/proto-google-.*/src" -- "/java-accesscontextmanager/samples/snippets/generated" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/identity/accesscontextmanager/(v\\d)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-accesscontextmanager/$1/proto-google-identity-accesscontextmanager-$1/src" -- source: "/google/identity/accesscontextmanager/(v\\d)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-accesscontextmanager/$1/grpc-google-identity-accesscontextmanager-$1/src" -- source: "/google/identity/accesscontextmanager/(v\\d)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-accesscontextmanager/$1/google-identity-accesscontextmanager/src" -- source: "/google/identity/accesscontextmanager/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-accesscontextmanager/$1/samples/snippets/generated" -- source: "/google/identity/accesscontextmanager/type/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-accesscontextmanager/type/proto-google-identity-accesscontextmanager-type/src" - -api-name: accesscontextmanager diff --git a/java-accesscontextmanager/.repo-metadata.json b/java-accesscontextmanager/.repo-metadata.json index 0dd282d0bbdb..96dacb0e7a28 100644 --- a/java-accesscontextmanager/.repo-metadata.json +++ b/java-accesscontextmanager/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "n/a", "client_documentation": "https://cloud.google.com/java/docs/reference/google-identity-accesscontextmanager/latest/overview", "release_level": "stable", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-accesscontextmanager", diff --git a/java-accesscontextmanager/google-identity-accesscontextmanager-bom/pom.xml b/java-accesscontextmanager/google-identity-accesscontextmanager-bom/pom.xml index 67099082cd6d..6abb8911d7df 100644 --- a/java-accesscontextmanager/google-identity-accesscontextmanager-bom/pom.xml +++ b/java-accesscontextmanager/google-identity-accesscontextmanager-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-identity-accesscontextmanager-bom - 1.94.0 + 1.95.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,22 +28,22 @@ com.google.cloud google-identity-accesscontextmanager - 1.94.0 + 1.95.0 com.google.api.grpc grpc-google-identity-accesscontextmanager-v1 - 1.94.0 + 1.95.0 com.google.api.grpc proto-google-identity-accesscontextmanager-v1 - 1.94.0 + 1.95.0 com.google.api.grpc proto-google-identity-accesscontextmanager-type - 1.94.0 + 1.95.0 diff --git a/java-accesscontextmanager/google-identity-accesscontextmanager/pom.xml b/java-accesscontextmanager/google-identity-accesscontextmanager/pom.xml index 26577a1bdf68..bdc6e6ce8749 100644 --- a/java-accesscontextmanager/google-identity-accesscontextmanager/pom.xml +++ b/java-accesscontextmanager/google-identity-accesscontextmanager/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-identity-accesscontextmanager - 1.94.0 + 1.95.0 jar Google Identity Access Context Manager Identity Access Context Manager n/a com.google.cloud google-identity-accesscontextmanager-parent - 1.94.0 + 1.95.0 google-identity-accesscontextmanager diff --git a/java-accesscontextmanager/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/Version.java b/java-accesscontextmanager/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/Version.java index be3697d475c3..68d2121cc5f2 100644 --- a/java-accesscontextmanager/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/Version.java +++ b/java-accesscontextmanager/google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-identity-accesscontextmanager:current} - static final String VERSION = "1.94.0"; + static final String VERSION = "1.95.0"; // {x-version-update-end} } diff --git a/java-accesscontextmanager/grpc-google-identity-accesscontextmanager-v1/pom.xml b/java-accesscontextmanager/grpc-google-identity-accesscontextmanager-v1/pom.xml index 4ee085c5c675..383b25ee5df7 100644 --- a/java-accesscontextmanager/grpc-google-identity-accesscontextmanager-v1/pom.xml +++ b/java-accesscontextmanager/grpc-google-identity-accesscontextmanager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-identity-accesscontextmanager-v1 - 1.94.0 + 1.95.0 grpc-google-identity-accesscontextmanager-v1 GRPC library for google-identity-accesscontextmanager com.google.cloud google-identity-accesscontextmanager-parent - 1.94.0 + 1.95.0 diff --git a/java-accesscontextmanager/pom.xml b/java-accesscontextmanager/pom.xml index 45fa84355291..1e5eb3569512 100644 --- a/java-accesscontextmanager/pom.xml +++ b/java-accesscontextmanager/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-identity-accesscontextmanager-parent pom - 1.94.0 + 1.95.0 Google Identity Access Context Manager Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -31,22 +31,22 @@ com.google.api.grpc proto-google-identity-accesscontextmanager-type - 1.94.0 + 1.95.0 com.google.api.grpc proto-google-identity-accesscontextmanager-v1 - 1.94.0 + 1.95.0 com.google.api.grpc grpc-google-identity-accesscontextmanager-v1 - 1.94.0 + 1.95.0 com.google.cloud google-identity-accesscontextmanager - 1.94.0 + 1.95.0 diff --git a/java-accesscontextmanager/proto-google-identity-accesscontextmanager-type/pom.xml b/java-accesscontextmanager/proto-google-identity-accesscontextmanager-type/pom.xml index b7f837d97a53..4890bd428357 100644 --- a/java-accesscontextmanager/proto-google-identity-accesscontextmanager-type/pom.xml +++ b/java-accesscontextmanager/proto-google-identity-accesscontextmanager-type/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-identity-accesscontextmanager-type - 1.94.0 + 1.95.0 proto-google-identity-accesscontextmanager-type PROTO library for proto-google-identity-accesscontextmanager-type com.google.cloud google-identity-accesscontextmanager-parent - 1.94.0 + 1.95.0 diff --git a/java-accesscontextmanager/proto-google-identity-accesscontextmanager-v1/pom.xml b/java-accesscontextmanager/proto-google-identity-accesscontextmanager-v1/pom.xml index dfba7ce45a80..24e9db5c4320 100644 --- a/java-accesscontextmanager/proto-google-identity-accesscontextmanager-v1/pom.xml +++ b/java-accesscontextmanager/proto-google-identity-accesscontextmanager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-identity-accesscontextmanager-v1 - 1.94.0 + 1.95.0 proto-google-identity-accesscontextmanager-v1 PROTO library for proto-google-identity-accesscontextmanager-v1 com.google.cloud google-identity-accesscontextmanager-parent - 1.94.0 + 1.95.0 @@ -37,7 +37,7 @@ com.google.api.grpc proto-google-identity-accesscontextmanager-type - 1.94.0 + 1.95.0 diff --git a/java-admanager/.OwlBot-hermetic.yaml b/java-admanager/.OwlBot-hermetic.yaml deleted file mode 100644 index ceb5433db71d..000000000000 --- a/java-admanager/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2024 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. - - -deep-remove-regex: -- "/java-admanager/grpc-ad-manager-.*/src" -- "/java-admanager/proto-ad-manager-.*/src" -- "/java-admanager/ad-manager.*/src" -- "/java-admanager/samples/snippets/generated" - -deep-preserve-regex: -- "/.*ad-manager.*/src/main/java/.*/stub/Version.java" -- "/.*ad-manager.*/src/test/java/com/google/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/ads/admanager/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-admanager/$1/proto-ad-manager-$1/src" -- source: "/google/ads/admanager/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-admanager/$1/grpc-ad-manager-$1/src" -- source: "/google/ads/admanager/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-admanager/$1/ad-manager/src" -- source: "/google/ads/admanager/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-admanager/$1/samples/snippets/generated" - -api-name: admanager \ No newline at end of file diff --git a/java-admanager/.repo-metadata.json b/java-admanager/.repo-metadata.json index 1c680ddfea23..624303fed269 100644 --- a/java-admanager/.repo-metadata.json +++ b/java-admanager/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "The Ad Manager API enables an app to integrate with Google Ad Manager. You can read Ad Manager data and run reports using the API.", "client_documentation": "https://cloud.google.com/java/docs/reference/ad-manager/latest/overview", "release_level": "preview", - "transport": "http", + "transport": "rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-admanager", diff --git a/java-admanager/ad-manager-bom/pom.xml b/java-admanager/ad-manager-bom/pom.xml index 796abed9b1db..3fe9f48e707c 100644 --- a/java-admanager/ad-manager-bom/pom.xml +++ b/java-admanager/ad-manager-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.api-ads ad-manager-bom - 0.52.0 + 0.53.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -27,12 +27,12 @@ com.google.api-ads ad-manager - 0.52.0 + 0.53.0 com.google.api-ads.api.grpc proto-ad-manager-v1 - 0.52.0 + 0.53.0 diff --git a/java-admanager/ad-manager/pom.xml b/java-admanager/ad-manager/pom.xml index 43b0070c42cb..a86fb1fad20b 100644 --- a/java-admanager/ad-manager/pom.xml +++ b/java-admanager/ad-manager/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.api-ads ad-manager - 0.52.0 + 0.53.0 jar Google Google Ad Manager API Google Ad Manager API The Ad Manager API enables an app to integrate with Google Ad Manager. You can read Ad Manager data and run reports using the API. com.google.api-ads ad-manager-parent - 0.52.0 + 0.53.0 ad-manager diff --git a/java-admanager/ad-manager/src/main/java/com/google/ads/admanager/v1/stub/Version.java b/java-admanager/ad-manager/src/main/java/com/google/ads/admanager/v1/stub/Version.java index c5ec026a4fe7..bc685c378258 100644 --- a/java-admanager/ad-manager/src/main/java/com/google/ads/admanager/v1/stub/Version.java +++ b/java-admanager/ad-manager/src/main/java/com/google/ads/admanager/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:ad-manager:current} - static final String VERSION = "0.52.0"; + static final String VERSION = "0.53.0"; // {x-version-update-end} } diff --git a/java-admanager/pom.xml b/java-admanager/pom.xml index b4247c814a88..1e36c82f68a1 100644 --- a/java-admanager/pom.xml +++ b/java-admanager/pom.xml @@ -4,7 +4,7 @@ com.google.api-ads ad-manager-parent pom - 0.52.0 + 0.53.0 Google Google Ad Manager API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,12 +30,12 @@ com.google.api-ads ad-manager - 0.52.0 + 0.53.0 com.google.api-ads.api.grpc proto-ad-manager-v1 - 0.52.0 + 0.53.0 diff --git a/java-admanager/proto-ad-manager-v1/pom.xml b/java-admanager/proto-ad-manager-v1/pom.xml index 70d58f7603f8..a030fb983015 100644 --- a/java-admanager/proto-ad-manager-v1/pom.xml +++ b/java-admanager/proto-ad-manager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api-ads.api.grpc proto-ad-manager-v1 - 0.52.0 + 0.53.0 proto-ad-manager-v1 Proto library for ad-manager com.google.api-ads ad-manager-parent - 0.52.0 + 0.53.0 diff --git a/java-advisorynotifications/.OwlBot-hermetic.yaml b/java-advisorynotifications/.OwlBot-hermetic.yaml deleted file mode 100644 index 5feb99e20c19..000000000000 --- a/java-advisorynotifications/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,37 +0,0 @@ -# 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. - - -deep-remove-regex: -- "/java-advisorynotifications/grpc-google-.*/src" -- "/java-advisorynotifications/proto-google-.*/src" -- "/java-advisorynotifications/google-.*/src" -- "/java-advisorynotifications/samples/snippets/generated" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/cloud/advisorynotifications/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-advisorynotifications/$1/proto-google-cloud-advisorynotifications-$1/src" -- source: "/google/cloud/advisorynotifications/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-advisorynotifications/$1/grpc-google-cloud-advisorynotifications-$1/src" -- source: "/google/cloud/advisorynotifications/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-advisorynotifications/$1/google-cloud-advisorynotifications/src" -- source: "/google/cloud/advisorynotifications/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-advisorynotifications/$1/samples/snippets/generated" - - -api-name: advisorynotifications \ No newline at end of file diff --git a/java-advisorynotifications/.repo-metadata.json b/java-advisorynotifications/.repo-metadata.json index 001d2d5ad4f6..3d6ce8c062de 100644 --- a/java-advisorynotifications/.repo-metadata.json +++ b/java-advisorynotifications/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "An API for accessing Advisory Notifications in Google Cloud.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-advisorynotifications/latest/overview", "release_level": "stable", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-advisorynotifications", diff --git a/java-advisorynotifications/google-cloud-advisorynotifications-bom/pom.xml b/java-advisorynotifications/google-cloud-advisorynotifications-bom/pom.xml index fa5f92eceb9e..76454bf1990a 100644 --- a/java-advisorynotifications/google-cloud-advisorynotifications-bom/pom.xml +++ b/java-advisorynotifications/google-cloud-advisorynotifications-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-advisorynotifications-bom - 0.82.0 + 0.83.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-advisorynotifications - 0.82.0 + 0.83.0 com.google.api.grpc grpc-google-cloud-advisorynotifications-v1 - 0.82.0 + 0.83.0 com.google.api.grpc proto-google-cloud-advisorynotifications-v1 - 0.82.0 + 0.83.0 diff --git a/java-advisorynotifications/google-cloud-advisorynotifications/pom.xml b/java-advisorynotifications/google-cloud-advisorynotifications/pom.xml index dd1514bd53dd..45fea07df7a8 100644 --- a/java-advisorynotifications/google-cloud-advisorynotifications/pom.xml +++ b/java-advisorynotifications/google-cloud-advisorynotifications/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-advisorynotifications - 0.82.0 + 0.83.0 jar Google Advisory Notifications API Advisory Notifications API An API for accessing Advisory Notifications in Google Cloud. com.google.cloud google-cloud-advisorynotifications-parent - 0.82.0 + 0.83.0 google-cloud-advisorynotifications diff --git a/java-advisorynotifications/google-cloud-advisorynotifications/src/main/java/com/google/cloud/advisorynotifications/v1/stub/Version.java b/java-advisorynotifications/google-cloud-advisorynotifications/src/main/java/com/google/cloud/advisorynotifications/v1/stub/Version.java index 4a7ac0f674f1..f5710fb0c3b4 100644 --- a/java-advisorynotifications/google-cloud-advisorynotifications/src/main/java/com/google/cloud/advisorynotifications/v1/stub/Version.java +++ b/java-advisorynotifications/google-cloud-advisorynotifications/src/main/java/com/google/cloud/advisorynotifications/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-advisorynotifications:current} - static final String VERSION = "0.82.0"; + static final String VERSION = "0.83.0"; // {x-version-update-end} } diff --git a/java-advisorynotifications/grpc-google-cloud-advisorynotifications-v1/pom.xml b/java-advisorynotifications/grpc-google-cloud-advisorynotifications-v1/pom.xml index 155856990e2e..21db84ecbfb2 100644 --- a/java-advisorynotifications/grpc-google-cloud-advisorynotifications-v1/pom.xml +++ b/java-advisorynotifications/grpc-google-cloud-advisorynotifications-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-advisorynotifications-v1 - 0.82.0 + 0.83.0 grpc-google-cloud-advisorynotifications-v1 GRPC library for google-cloud-advisorynotifications com.google.cloud google-cloud-advisorynotifications-parent - 0.82.0 + 0.83.0 diff --git a/java-advisorynotifications/pom.xml b/java-advisorynotifications/pom.xml index 2aa1457ca35d..5d0688a06cc3 100644 --- a/java-advisorynotifications/pom.xml +++ b/java-advisorynotifications/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-advisorynotifications-parent pom - 0.82.0 + 0.83.0 Google Advisory Notifications API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-advisorynotifications - 0.82.0 + 0.83.0 com.google.api.grpc grpc-google-cloud-advisorynotifications-v1 - 0.82.0 + 0.83.0 com.google.api.grpc proto-google-cloud-advisorynotifications-v1 - 0.82.0 + 0.83.0 diff --git a/java-advisorynotifications/proto-google-cloud-advisorynotifications-v1/pom.xml b/java-advisorynotifications/proto-google-cloud-advisorynotifications-v1/pom.xml index 3497683ae649..1697f6a0a0b4 100644 --- a/java-advisorynotifications/proto-google-cloud-advisorynotifications-v1/pom.xml +++ b/java-advisorynotifications/proto-google-cloud-advisorynotifications-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-advisorynotifications-v1 - 0.82.0 + 0.83.0 proto-google-cloud-advisorynotifications-v1 Proto library for google-cloud-advisorynotifications com.google.cloud google-cloud-advisorynotifications-parent - 0.82.0 + 0.83.0 diff --git a/java-agentregistry/.repo-metadata.json b/java-agentregistry/.repo-metadata.json new file mode 100644 index 000000000000..8f21cf357901 --- /dev/null +++ b/java-agentregistry/.repo-metadata.json @@ -0,0 +1,16 @@ +{ + "api_shortname": "agentregistry", + "name_pretty": "Agent Registry", + "product_documentation": "https://docs.cloud.google.com/agent-registry/overview", + "api_description": "Agent Registry is a centralized, unified catalog that lets you store,\ndiscover, and govern Model Context Protocol (MCP) servers, tools, and AI\nagents within Google Cloud.", + "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-agentregistry/latest/overview", + "release_level": "preview", + "transport": "grpc+rest", + "language": "java", + "repo": "googleapis/google-cloud-java", + "repo_short": "java-agentregistry", + "distribution_name": "com.google.cloud:google-cloud-agentregistry", + "api_id": "agentregistry.googleapis.com", + "library_type": "GAPIC_AUTO", + "requires_billing": true +} \ No newline at end of file diff --git a/java-agentregistry/README.md b/java-agentregistry/README.md new file mode 100644 index 000000000000..64496d92e1c3 --- /dev/null +++ b/java-agentregistry/README.md @@ -0,0 +1,207 @@ +# Google Agent Registry Client for Java + +Java idiomatic client for [Agent Registry][product-docs]. + +[![Maven][maven-version-image]][maven-version-link] +![Stability][stability-image] + +- [Product Documentation][product-docs] +- [Client Library Documentation][javadocs] + +> Note: This client is a work-in-progress, and may occasionally +> make backwards-incompatible changes. + + +## Quickstart + + +If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file: + +```xml + + + + com.google.cloud + libraries-bom + 26.83.0 + pom + import + + + + + + + com.google.cloud + google-cloud-agentregistry + + +``` + +If you are using Maven without the BOM, add this to your dependencies: + + +```xml + + com.google.cloud + google-cloud-agentregistry + 0.0.0 + +``` + +If you are using Gradle without BOM, add this to your dependencies: + +```Groovy +implementation 'com.google.cloud:google-cloud-agentregistry:0.0.0' +``` + +If you are using SBT, add this to your dependencies: + +```Scala +libraryDependencies += "com.google.cloud" % "google-cloud-agentregistry" % "0.0.0" +``` + +## Authentication + +See the [Authentication][authentication] section in the base directory's README. + +## Authorization + +The client application making API calls must be granted [authorization scopes][auth-scopes] required for the desired Agent Registry APIs, and the authenticated principal must have the [IAM role(s)][predefined-iam-roles] required to access GCP resources using the Agent Registry API calls. + +## Getting Started + +### Prerequisites + +You will need a [Google Cloud Platform Console][developer-console] project with the Agent Registry [API enabled][enable-api]. +You will need to [enable billing][enable-billing] to use Google Agent Registry. +[Follow these instructions][create-project] to get your project set up. You will also need to set up the local development environment by +[installing the Google Cloud Command Line Interface][cloud-cli] and running the following commands in command line: +`gcloud auth login` and `gcloud config set project [YOUR PROJECT ID]`. + +### Installation and setup + +You'll need to obtain the `google-cloud-agentregistry` library. See the [Quickstart](#quickstart) section +to add `google-cloud-agentregistry` as a dependency in your code. + +## About Agent Registry + + +[Agent Registry][product-docs] Agent Registry is a centralized, unified catalog that lets you store, +discover, and govern Model Context Protocol (MCP) servers, tools, and AI +agents within Google Cloud. + +See the [Agent Registry client library docs][javadocs] to learn how to +use this Agent Registry Client Library. + + + + + + +## Troubleshooting + +To get help, follow the instructions in the [shared Troubleshooting document][troubleshooting]. + +## Transport + +Agent Registry uses both gRPC and HTTP/JSON for the transport layer. + +## Supported Java Versions + +Java 8 or above is required for using this client. + +Google's Java client libraries, +[Google Cloud Client Libraries][cloudlibs] +and +[Google Cloud API Libraries][apilibs], +follow the +[Oracle Java SE support roadmap][oracle] +(see the Oracle Java SE Product Releases section). + +### For new development + +In general, new feature development occurs with support for the lowest Java +LTS version covered by Oracle's Premier Support (which typically lasts 5 years +from initial General Availability). If the minimum required JVM for a given +library is changed, it is accompanied by a [semver][semver] major release. + +Java 11 and (in September 2021) Java 17 are the best choices for new +development. + +### Keeping production systems current + +Google tests its client libraries with all current LTS versions covered by +Oracle's Extended Support (which typically lasts 8 years from initial +General Availability). + +#### Legacy support + +Google's client libraries support legacy versions of Java runtimes with long +term stable libraries that don't receive feature updates on a best efforts basis +as it may not be possible to backport all patches. + +Google provides updates on a best efforts basis to apps that continue to use +Java 7, though apps might need to upgrade to current versions of the library +that supports their JVM. + +#### Where to find specific information + +The latest versions and the supported Java versions are identified on +the individual GitHub repository `github.com/GoogleAPIs/java-SERVICENAME` +and on [google-cloud-java][g-c-j]. + +## Versioning + + +This library follows [Semantic Versioning](http://semver.org/). + + +It is currently in major version zero (``0.y.z``), which means that anything may change at any time +and the public API should not be considered stable. + + +## Contributing + + +Contributions to this library are always welcome and highly encouraged. + +See [CONTRIBUTING][contributing] for more information how to get started. + +Please note that this project is released with a Contributor Code of Conduct. By participating in +this project you agree to abide by its terms. See [Code of Conduct][code-of-conduct] for more +information. + + +## License + +Apache 2.0 - See [LICENSE][license] for more information. + +Java is a registered trademark of Oracle and/or its affiliates. + +[product-docs]: https://docs.cloud.google.com/agent-registry/overview +[javadocs]: https://cloud.google.com/java/docs/reference/google-cloud-agentregistry/latest/overview +[stability-image]: https://img.shields.io/badge/stability-preview-yellow +[maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-agentregistry.svg +[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-agentregistry/0.0.0 +[authentication]: https://github.com/googleapis/google-cloud-java#authentication +[auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes +[predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles +[iam-policy]: https://cloud.google.com/iam/docs/overview#cloud-iam-policy +[developer-console]: https://console.developers.google.com/ +[create-project]: https://cloud.google.com/resource-manager/docs/creating-managing-projects +[cloud-cli]: https://cloud.google.com/cli +[troubleshooting]: https://github.com/googleapis/google-cloud-java/blob/main/TROUBLESHOOTING.md +[contributing]: https://github.com/googleapis/google-cloud-java/blob/main/CONTRIBUTING.md +[code-of-conduct]: https://github.com/googleapis/google-cloud-java/blob/main/CODE_OF_CONDUCT.md#contributor-code-of-conduct +[license]: https://github.com/googleapis/google-cloud-java/blob/main/LICENSE +[enable-billing]: https://cloud.google.com/apis/docs/getting-started#enabling_billing +[enable-api]: https://console.cloud.google.com/flows/enableapi?apiid=agentregistry.googleapis.com +[libraries-bom]: https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/The-Google-Cloud-Platform-Libraries-BOM +[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png + +[semver]: https://semver.org/ +[cloudlibs]: https://cloud.google.com/apis/docs/client-libraries-explained +[apilibs]: https://cloud.google.com/apis/docs/client-libraries-explained#google_api_client_libraries +[oracle]: https://www.oracle.com/java/technologies/java-se-support-roadmap.html +[g-c-j]: http://github.com/googleapis/google-cloud-java diff --git a/java-agentregistry/google-cloud-agentregistry-bom/pom.xml b/java-agentregistry/google-cloud-agentregistry-bom/pom.xml new file mode 100644 index 000000000000..2ca76455a9a8 --- /dev/null +++ b/java-agentregistry/google-cloud-agentregistry-bom/pom.xml @@ -0,0 +1,45 @@ + + + 4.0.0 + com.google.cloud + google-cloud-agentregistry-bom + 0.1.0 + pom + + com.google.cloud + google-cloud-pom-parent + 1.88.0 + ../../google-cloud-pom-parent/pom.xml + + + Google Agent Registry BOM + + BOM for Agent Registry + + + + true + + + + + + + com.google.cloud + google-cloud-agentregistry + 0.1.0 + + + com.google.api.grpc + grpc-google-cloud-agentregistry-v1 + 0.1.0 + + + com.google.api.grpc + proto-google-cloud-agentregistry-v1 + 0.1.0 + + + + + \ No newline at end of file diff --git a/java-agentregistry/google-cloud-agentregistry/pom.xml b/java-agentregistry/google-cloud-agentregistry/pom.xml new file mode 100644 index 000000000000..9bce1ca0de38 --- /dev/null +++ b/java-agentregistry/google-cloud-agentregistry/pom.xml @@ -0,0 +1,119 @@ + + + 4.0.0 + com.google.cloud + google-cloud-agentregistry + 0.1.0 + jar + Google Agent Registry + Agent Registry Agent Registry is a centralized, unified catalog that lets you store, +discover, and govern Model Context Protocol (MCP) servers, tools, and AI +agents within Google Cloud. + + com.google.cloud + google-cloud-agentregistry-parent + 0.1.0 + + + google-cloud-agentregistry + + + + io.grpc + grpc-api + + + io.grpc + grpc-stub + + + io.grpc + grpc-protobuf + + + com.google.api + api-common + + + com.google.protobuf + protobuf-java + + + com.google.api.grpc + proto-google-common-protos + + + + com.google.api.grpc + proto-google-cloud-agentregistry-v1 + + + + com.google.guava + guava + + + com.google.api + gax + + + com.google.api + gax-grpc + + + com.google.api + gax-httpjson + + + com.google.api.grpc + proto-google-iam-v1 + + + org.threeten + threetenbp + + + + + com.google.api.grpc + grpc-google-common-protos + test + + + com.google.api.grpc + grpc-google-iam-v1 + test + + + junit + junit + test + + + + com.google.api.grpc + grpc-google-cloud-agentregistry-v1 + test + + + + + com.google.api + gax + testlib + test + + + com.google.api + gax-grpc + testlib + test + + + com.google.api + gax-httpjson + testlib + test + + + \ No newline at end of file diff --git a/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/AgentRegistryClient.java b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/AgentRegistryClient.java new file mode 100644 index 000000000000..daa0139ea6b8 --- /dev/null +++ b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/AgentRegistryClient.java @@ -0,0 +1,4283 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1; + +import com.google.api.core.ApiFuture; +import com.google.api.core.ApiFutures; +import com.google.api.core.BetaApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.httpjson.longrunning.OperationsClient; +import com.google.api.gax.longrunning.OperationFuture; +import com.google.api.gax.paging.AbstractFixedSizeCollection; +import com.google.api.gax.paging.AbstractPage; +import com.google.api.gax.paging.AbstractPagedListResponse; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.PageContext; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.agentregistry.v1.stub.AgentRegistryStub; +import com.google.cloud.agentregistry.v1.stub.AgentRegistryStubSettings; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.common.util.concurrent.MoreExecutors; +import com.google.longrunning.Operation; +import com.google.protobuf.Empty; +import com.google.protobuf.FieldMask; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * Service Description: Service for managing Agents, Endpoints, McpServers, Services, and Bindings. + * + *

This class provides the ability to make remote calls to the backing service through method + * calls that map to API methods. Sample code to get started: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+ *   AgentName name = AgentName.of("[PROJECT]", "[LOCATION]", "[AGENT]");
+ *   Agent response = agentRegistryClient.getAgent(name);
+ * }
+ * }
+ * + *

Note: close() needs to be called on the AgentRegistryClient object to clean up resources such + * as threads. In the example above, try-with-resources is used, which automatically calls close(). + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Methods
MethodDescriptionMethod Variants

ListAgents

Lists Agents in a given project and location.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • listAgents(ListAgentsRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • listAgents(LocationName parent) + *

  • listAgents(String parent) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • listAgentsPagedCallable() + *

  • listAgentsCallable() + *

+ *

SearchAgents

Searches Agents in a given project and location.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • searchAgents(SearchAgentsRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • searchAgents(LocationName parent) + *

  • searchAgents(String parent) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • searchAgentsPagedCallable() + *

  • searchAgentsCallable() + *

+ *

GetAgent

Gets details of a single Agent.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • getAgent(GetAgentRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • getAgent(AgentName name) + *

  • getAgent(String name) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • getAgentCallable() + *

+ *

ListEndpoints

Lists Endpoints in a given project and location.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • listEndpoints(ListEndpointsRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • listEndpoints(LocationName parent) + *

  • listEndpoints(String parent) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • listEndpointsPagedCallable() + *

  • listEndpointsCallable() + *

+ *

GetEndpoint

Gets details of a single Endpoint.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • getEndpoint(GetEndpointRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • getEndpoint(EndpointName name) + *

  • getEndpoint(String name) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • getEndpointCallable() + *

+ *

ListMcpServers

Lists McpServers in a given project and location.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • listMcpServers(ListMcpServersRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • listMcpServers(LocationName parent) + *

  • listMcpServers(String parent) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • listMcpServersPagedCallable() + *

  • listMcpServersCallable() + *

+ *

SearchMcpServers

Searches McpServers in a given project and location.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • searchMcpServers(SearchMcpServersRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • searchMcpServers(LocationName parent) + *

  • searchMcpServers(String parent) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • searchMcpServersPagedCallable() + *

  • searchMcpServersCallable() + *

+ *

GetMcpServer

Gets details of a single McpServer.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • getMcpServer(GetMcpServerRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • getMcpServer(McpServerName name) + *

  • getMcpServer(String name) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • getMcpServerCallable() + *

+ *

ListServices

Lists Services in a given project and location.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • listServices(ListServicesRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • listServices(LocationName parent) + *

  • listServices(String parent) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • listServicesPagedCallable() + *

  • listServicesCallable() + *

+ *

GetService

Gets details of a single Service.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • getService(GetServiceRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • getService(ServiceName name) + *

  • getService(String name) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • getServiceCallable() + *

+ *

CreateService

Creates a new Service in a given project and location.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • createServiceAsync(CreateServiceRequest request) + *

+ *

Methods that return long-running operations have "Async" method variants that return `OperationFuture`, which is used to track polling of the service.

+ *
    + *
  • createServiceAsync(LocationName parent, Service service, String serviceId) + *

  • createServiceAsync(String parent, Service service, String serviceId) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • createServiceOperationCallable() + *

  • createServiceCallable() + *

+ *

UpdateService

Updates the parameters of a single Service.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • updateServiceAsync(UpdateServiceRequest request) + *

+ *

Methods that return long-running operations have "Async" method variants that return `OperationFuture`, which is used to track polling of the service.

+ *
    + *
  • updateServiceAsync(Service service, FieldMask updateMask) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • updateServiceOperationCallable() + *

  • updateServiceCallable() + *

+ *

DeleteService

Deletes a single Service.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • deleteServiceAsync(DeleteServiceRequest request) + *

+ *

Methods that return long-running operations have "Async" method variants that return `OperationFuture`, which is used to track polling of the service.

+ *
    + *
  • deleteServiceAsync(ServiceName name) + *

  • deleteServiceAsync(String name) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • deleteServiceOperationCallable() + *

  • deleteServiceCallable() + *

+ *

ListBindings

Lists Bindings in a given project and location.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • listBindings(ListBindingsRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • listBindings(LocationName parent) + *

  • listBindings(String parent) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • listBindingsPagedCallable() + *

  • listBindingsCallable() + *

+ *

GetBinding

Gets details of a single Binding.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • getBinding(GetBindingRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • getBinding(BindingName name) + *

  • getBinding(String name) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • getBindingCallable() + *

+ *

CreateBinding

Creates a new Binding in a given project and location.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • createBindingAsync(CreateBindingRequest request) + *

+ *

Methods that return long-running operations have "Async" method variants that return `OperationFuture`, which is used to track polling of the service.

+ *
    + *
  • createBindingAsync(LocationName parent, Binding binding, String bindingId) + *

  • createBindingAsync(String parent, Binding binding, String bindingId) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • createBindingOperationCallable() + *

  • createBindingCallable() + *

+ *

UpdateBinding

Updates the parameters of a single Binding.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • updateBindingAsync(UpdateBindingRequest request) + *

+ *

Methods that return long-running operations have "Async" method variants that return `OperationFuture`, which is used to track polling of the service.

+ *
    + *
  • updateBindingAsync(Binding binding, FieldMask updateMask) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • updateBindingOperationCallable() + *

  • updateBindingCallable() + *

+ *

DeleteBinding

Deletes a single Binding.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • deleteBindingAsync(DeleteBindingRequest request) + *

+ *

Methods that return long-running operations have "Async" method variants that return `OperationFuture`, which is used to track polling of the service.

+ *
    + *
  • deleteBindingAsync(BindingName name) + *

  • deleteBindingAsync(String name) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • deleteBindingOperationCallable() + *

  • deleteBindingCallable() + *

+ *

FetchAvailableBindings

Fetches available Bindings.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • fetchAvailableBindings(FetchAvailableBindingsRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • fetchAvailableBindings(LocationName parent) + *

  • fetchAvailableBindings(String parent) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • fetchAvailableBindingsPagedCallable() + *

  • fetchAvailableBindingsCallable() + *

+ *

ListLocations

Lists information about the supported locations for this service. + *

This method lists locations based on the resource scope provided inthe [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: ***Global locations**: If `name` is empty, the method lists thepublic locations available to all projects. * **Project-specificlocations**: If `name` follows the format`projects/{project}`, the method lists locations visible to thatspecific project. This includes public, private, or otherproject-specific locations enabled for the project. + *

For gRPC and client library implementations, the resource name ispassed as the `name` field. For direct service calls, the resourcename isincorporated into the request path based on the specific serviceimplementation and version.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • listLocations(ListLocationsRequest request) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • listLocationsPagedCallable() + *

  • listLocationsCallable() + *

+ *

GetLocation

Gets information about a location.

+ *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • getLocation(GetLocationRequest request) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • getLocationCallable() + *

+ *
+ * + *

See the individual methods for example code. + * + *

Many parameters require resource names to be formatted in a particular way. To assist with + * these names, this class includes a format method for each type of name, and additionally a parse + * method to extract the individual identifiers contained within names that are returned. + * + *

This class can be customized by passing in a custom instance of AgentRegistrySettings to + * create(). For example: + * + *

To customize credentials: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * AgentRegistrySettings agentRegistrySettings =
+ *     AgentRegistrySettings.newBuilder()
+ *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
+ *         .build();
+ * AgentRegistryClient agentRegistryClient = AgentRegistryClient.create(agentRegistrySettings);
+ * }
+ * + *

To customize the endpoint: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * AgentRegistrySettings agentRegistrySettings =
+ *     AgentRegistrySettings.newBuilder().setEndpoint(myEndpoint).build();
+ * AgentRegistryClient agentRegistryClient = AgentRegistryClient.create(agentRegistrySettings);
+ * }
+ * + *

To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over + * the wire: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * AgentRegistrySettings agentRegistrySettings =
+ *     AgentRegistrySettings.newHttpJsonBuilder().build();
+ * AgentRegistryClient agentRegistryClient = AgentRegistryClient.create(agentRegistrySettings);
+ * }
+ * + *

Please refer to the GitHub repository's samples for more quickstart code snippets. + */ +@Generated("by gapic-generator-java") +public class AgentRegistryClient implements BackgroundResource { + private final AgentRegistrySettings settings; + private final AgentRegistryStub stub; + private final OperationsClient httpJsonOperationsClient; + private final com.google.longrunning.OperationsClient operationsClient; + + /** Constructs an instance of AgentRegistryClient with default settings. */ + public static final AgentRegistryClient create() throws IOException { + return create(AgentRegistrySettings.newBuilder().build()); + } + + /** + * Constructs an instance of AgentRegistryClient, using the given settings. The channels are + * created based on the settings passed in, or defaults for any settings that are not set. + */ + public static final AgentRegistryClient create(AgentRegistrySettings settings) + throws IOException { + return new AgentRegistryClient(settings); + } + + /** + * Constructs an instance of AgentRegistryClient, using the given stub for making calls. This is + * for advanced usage - prefer using create(AgentRegistrySettings). + */ + public static final AgentRegistryClient create(AgentRegistryStub stub) { + return new AgentRegistryClient(stub); + } + + /** + * Constructs an instance of AgentRegistryClient, using the given settings. This is protected so + * that it is easy to make a subclass, but otherwise, the static factory methods should be + * preferred. + */ + protected AgentRegistryClient(AgentRegistrySettings settings) throws IOException { + this.settings = settings; + this.stub = ((AgentRegistryStubSettings) settings.getStubSettings()).createStub(); + this.operationsClient = + com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub()); + this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub()); + } + + protected AgentRegistryClient(AgentRegistryStub stub) { + this.settings = null; + this.stub = stub; + this.operationsClient = + com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub()); + this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub()); + } + + public final AgentRegistrySettings getSettings() { + return settings; + } + + public AgentRegistryStub getStub() { + return stub; + } + + /** + * Returns the OperationsClient that can be used to query the status of a long-running operation + * returned by another API method call. + */ + public final com.google.longrunning.OperationsClient getOperationsClient() { + return operationsClient; + } + + /** + * Returns the OperationsClient that can be used to query the status of a long-running operation + * returned by another API method call. + */ + @BetaApi + public final OperationsClient getHttpJsonOperationsClient() { + return httpJsonOperationsClient; + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Agents in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
+   *   for (Agent element : agentRegistryClient.listAgents(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for ListAgentsRequest + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListAgentsPagedResponse listAgents(LocationName parent) { + ListAgentsRequest request = + ListAgentsRequest.newBuilder().setParent(parent == null ? null : parent.toString()).build(); + return listAgents(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Agents in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
+   *   for (Agent element : agentRegistryClient.listAgents(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for ListAgentsRequest + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListAgentsPagedResponse listAgents(String parent) { + ListAgentsRequest request = ListAgentsRequest.newBuilder().setParent(parent).build(); + return listAgents(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Agents in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   ListAgentsRequest request =
+   *       ListAgentsRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .setOrderBy("orderBy-1207110587")
+   *           .build();
+   *   for (Agent element : agentRegistryClient.listAgents(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListAgentsPagedResponse listAgents(ListAgentsRequest request) { + return listAgentsPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Agents in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   ListAgentsRequest request =
+   *       ListAgentsRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .setOrderBy("orderBy-1207110587")
+   *           .build();
+   *   ApiFuture future = agentRegistryClient.listAgentsPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (Agent element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable listAgentsPagedCallable() { + return stub.listAgentsPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Agents in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   ListAgentsRequest request =
+   *       ListAgentsRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .setOrderBy("orderBy-1207110587")
+   *           .build();
+   *   while (true) {
+   *     ListAgentsResponse response = agentRegistryClient.listAgentsCallable().call(request);
+   *     for (Agent element : response.getAgentsList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable listAgentsCallable() { + return stub.listAgentsCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Searches Agents in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
+   *   for (Agent element : agentRegistryClient.searchAgents(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for SearchAgentsRequest. Format: + * `projects/{project}/locations/{location}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final SearchAgentsPagedResponse searchAgents(LocationName parent) { + SearchAgentsRequest request = + SearchAgentsRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .build(); + return searchAgents(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Searches Agents in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
+   *   for (Agent element : agentRegistryClient.searchAgents(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for SearchAgentsRequest. Format: + * `projects/{project}/locations/{location}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final SearchAgentsPagedResponse searchAgents(String parent) { + SearchAgentsRequest request = SearchAgentsRequest.newBuilder().setParent(parent).build(); + return searchAgents(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Searches Agents in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   SearchAgentsRequest request =
+   *       SearchAgentsRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setSearchString("searchString120312793")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   for (Agent element : agentRegistryClient.searchAgents(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final SearchAgentsPagedResponse searchAgents(SearchAgentsRequest request) { + return searchAgentsPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Searches Agents in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   SearchAgentsRequest request =
+   *       SearchAgentsRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setSearchString("searchString120312793")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future = agentRegistryClient.searchAgentsPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (Agent element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + searchAgentsPagedCallable() { + return stub.searchAgentsPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Searches Agents in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   SearchAgentsRequest request =
+   *       SearchAgentsRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setSearchString("searchString120312793")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   while (true) {
+   *     SearchAgentsResponse response = agentRegistryClient.searchAgentsCallable().call(request);
+   *     for (Agent element : response.getAgentsList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable searchAgentsCallable() { + return stub.searchAgentsCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Agent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   AgentName name = AgentName.of("[PROJECT]", "[LOCATION]", "[AGENT]");
+   *   Agent response = agentRegistryClient.getAgent(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Agent getAgent(AgentName name) { + GetAgentRequest request = + GetAgentRequest.newBuilder().setName(name == null ? null : name.toString()).build(); + return getAgent(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Agent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   String name = AgentName.of("[PROJECT]", "[LOCATION]", "[AGENT]").toString();
+   *   Agent response = agentRegistryClient.getAgent(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Agent getAgent(String name) { + GetAgentRequest request = GetAgentRequest.newBuilder().setName(name).build(); + return getAgent(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Agent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   GetAgentRequest request =
+   *       GetAgentRequest.newBuilder()
+   *           .setName(AgentName.of("[PROJECT]", "[LOCATION]", "[AGENT]").toString())
+   *           .build();
+   *   Agent response = agentRegistryClient.getAgent(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Agent getAgent(GetAgentRequest request) { + return getAgentCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Agent. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   GetAgentRequest request =
+   *       GetAgentRequest.newBuilder()
+   *           .setName(AgentName.of("[PROJECT]", "[LOCATION]", "[AGENT]").toString())
+   *           .build();
+   *   ApiFuture future = agentRegistryClient.getAgentCallable().futureCall(request);
+   *   // Do something.
+   *   Agent response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable getAgentCallable() { + return stub.getAgentCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Endpoints in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
+   *   for (Endpoint element : agentRegistryClient.listEndpoints(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. The project and location to list endpoints in. Expected format: + * `projects/{project}/locations/{location}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListEndpointsPagedResponse listEndpoints(LocationName parent) { + ListEndpointsRequest request = + ListEndpointsRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .build(); + return listEndpoints(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Endpoints in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
+   *   for (Endpoint element : agentRegistryClient.listEndpoints(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. The project and location to list endpoints in. Expected format: + * `projects/{project}/locations/{location}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListEndpointsPagedResponse listEndpoints(String parent) { + ListEndpointsRequest request = ListEndpointsRequest.newBuilder().setParent(parent).build(); + return listEndpoints(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Endpoints in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   ListEndpointsRequest request =
+   *       ListEndpointsRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .build();
+   *   for (Endpoint element : agentRegistryClient.listEndpoints(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListEndpointsPagedResponse listEndpoints(ListEndpointsRequest request) { + return listEndpointsPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Endpoints in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   ListEndpointsRequest request =
+   *       ListEndpointsRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .build();
+   *   ApiFuture future =
+   *       agentRegistryClient.listEndpointsPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (Endpoint element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + listEndpointsPagedCallable() { + return stub.listEndpointsPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Endpoints in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   ListEndpointsRequest request =
+   *       ListEndpointsRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .build();
+   *   while (true) {
+   *     ListEndpointsResponse response = agentRegistryClient.listEndpointsCallable().call(request);
+   *     for (Endpoint element : response.getEndpointsList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable listEndpointsCallable() { + return stub.listEndpointsCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Endpoint. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   EndpointName name = EndpointName.of("[PROJECT]", "[LOCATION]", "[ENDPOINT]");
+   *   Endpoint response = agentRegistryClient.getEndpoint(name);
+   * }
+   * }
+ * + * @param name Required. The name of the endpoint to retrieve. Format: + * `projects/{project}/locations/{location}/endpoints/{endpoint}` + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Endpoint getEndpoint(EndpointName name) { + GetEndpointRequest request = + GetEndpointRequest.newBuilder().setName(name == null ? null : name.toString()).build(); + return getEndpoint(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Endpoint. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   String name = EndpointName.of("[PROJECT]", "[LOCATION]", "[ENDPOINT]").toString();
+   *   Endpoint response = agentRegistryClient.getEndpoint(name);
+   * }
+   * }
+ * + * @param name Required. The name of the endpoint to retrieve. Format: + * `projects/{project}/locations/{location}/endpoints/{endpoint}` + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Endpoint getEndpoint(String name) { + GetEndpointRequest request = GetEndpointRequest.newBuilder().setName(name).build(); + return getEndpoint(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Endpoint. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   GetEndpointRequest request =
+   *       GetEndpointRequest.newBuilder()
+   *           .setName(EndpointName.of("[PROJECT]", "[LOCATION]", "[ENDPOINT]").toString())
+   *           .build();
+   *   Endpoint response = agentRegistryClient.getEndpoint(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Endpoint getEndpoint(GetEndpointRequest request) { + return getEndpointCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Endpoint. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   GetEndpointRequest request =
+   *       GetEndpointRequest.newBuilder()
+   *           .setName(EndpointName.of("[PROJECT]", "[LOCATION]", "[ENDPOINT]").toString())
+   *           .build();
+   *   ApiFuture future = agentRegistryClient.getEndpointCallable().futureCall(request);
+   *   // Do something.
+   *   Endpoint response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable getEndpointCallable() { + return stub.getEndpointCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists McpServers in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
+   *   for (McpServer element : agentRegistryClient.listMcpServers(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for ListMcpServersRequest. Format: + * `projects/{project}/locations/{location}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListMcpServersPagedResponse listMcpServers(LocationName parent) { + ListMcpServersRequest request = + ListMcpServersRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .build(); + return listMcpServers(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists McpServers in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
+   *   for (McpServer element : agentRegistryClient.listMcpServers(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for ListMcpServersRequest. Format: + * `projects/{project}/locations/{location}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListMcpServersPagedResponse listMcpServers(String parent) { + ListMcpServersRequest request = ListMcpServersRequest.newBuilder().setParent(parent).build(); + return listMcpServers(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists McpServers in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   ListMcpServersRequest request =
+   *       ListMcpServersRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .setOrderBy("orderBy-1207110587")
+   *           .build();
+   *   for (McpServer element : agentRegistryClient.listMcpServers(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListMcpServersPagedResponse listMcpServers(ListMcpServersRequest request) { + return listMcpServersPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists McpServers in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   ListMcpServersRequest request =
+   *       ListMcpServersRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .setOrderBy("orderBy-1207110587")
+   *           .build();
+   *   ApiFuture future =
+   *       agentRegistryClient.listMcpServersPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (McpServer element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + listMcpServersPagedCallable() { + return stub.listMcpServersPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists McpServers in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   ListMcpServersRequest request =
+   *       ListMcpServersRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .setOrderBy("orderBy-1207110587")
+   *           .build();
+   *   while (true) {
+   *     ListMcpServersResponse response =
+   *         agentRegistryClient.listMcpServersCallable().call(request);
+   *     for (McpServer element : response.getMcpServersList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + listMcpServersCallable() { + return stub.listMcpServersCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Searches McpServers in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
+   *   for (McpServer element : agentRegistryClient.searchMcpServers(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for SearchMcpServersRequest. Format: + * `projects/{project}/locations/{location}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final SearchMcpServersPagedResponse searchMcpServers(LocationName parent) { + SearchMcpServersRequest request = + SearchMcpServersRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .build(); + return searchMcpServers(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Searches McpServers in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
+   *   for (McpServer element : agentRegistryClient.searchMcpServers(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. Parent value for SearchMcpServersRequest. Format: + * `projects/{project}/locations/{location}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final SearchMcpServersPagedResponse searchMcpServers(String parent) { + SearchMcpServersRequest request = + SearchMcpServersRequest.newBuilder().setParent(parent).build(); + return searchMcpServers(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Searches McpServers in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   SearchMcpServersRequest request =
+   *       SearchMcpServersRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setSearchString("searchString120312793")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   for (McpServer element : agentRegistryClient.searchMcpServers(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final SearchMcpServersPagedResponse searchMcpServers(SearchMcpServersRequest request) { + return searchMcpServersPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Searches McpServers in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   SearchMcpServersRequest request =
+   *       SearchMcpServersRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setSearchString("searchString120312793")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future =
+   *       agentRegistryClient.searchMcpServersPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (McpServer element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + searchMcpServersPagedCallable() { + return stub.searchMcpServersPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Searches McpServers in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   SearchMcpServersRequest request =
+   *       SearchMcpServersRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setSearchString("searchString120312793")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   while (true) {
+   *     SearchMcpServersResponse response =
+   *         agentRegistryClient.searchMcpServersCallable().call(request);
+   *     for (McpServer element : response.getMcpServersList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + searchMcpServersCallable() { + return stub.searchMcpServersCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single McpServer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   McpServerName name = McpServerName.of("[PROJECT]", "[LOCATION]", "[MCP_SERVER]");
+   *   McpServer response = agentRegistryClient.getMcpServer(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final McpServer getMcpServer(McpServerName name) { + GetMcpServerRequest request = + GetMcpServerRequest.newBuilder().setName(name == null ? null : name.toString()).build(); + return getMcpServer(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single McpServer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   String name = McpServerName.of("[PROJECT]", "[LOCATION]", "[MCP_SERVER]").toString();
+   *   McpServer response = agentRegistryClient.getMcpServer(name);
+   * }
+   * }
+ * + * @param name Required. Name of the resource + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final McpServer getMcpServer(String name) { + GetMcpServerRequest request = GetMcpServerRequest.newBuilder().setName(name).build(); + return getMcpServer(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single McpServer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   GetMcpServerRequest request =
+   *       GetMcpServerRequest.newBuilder()
+   *           .setName(McpServerName.of("[PROJECT]", "[LOCATION]", "[MCP_SERVER]").toString())
+   *           .build();
+   *   McpServer response = agentRegistryClient.getMcpServer(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final McpServer getMcpServer(GetMcpServerRequest request) { + return getMcpServerCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single McpServer. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   GetMcpServerRequest request =
+   *       GetMcpServerRequest.newBuilder()
+   *           .setName(McpServerName.of("[PROJECT]", "[LOCATION]", "[MCP_SERVER]").toString())
+   *           .build();
+   *   ApiFuture future = agentRegistryClient.getMcpServerCallable().futureCall(request);
+   *   // Do something.
+   *   McpServer response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable getMcpServerCallable() { + return stub.getMcpServerCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Services in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
+   *   for (Service element : agentRegistryClient.listServices(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. The project and location to list services in. Expected format: + * `projects/{project}/locations/{location}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListServicesPagedResponse listServices(LocationName parent) { + ListServicesRequest request = + ListServicesRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .build(); + return listServices(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Services in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
+   *   for (Service element : agentRegistryClient.listServices(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. The project and location to list services in. Expected format: + * `projects/{project}/locations/{location}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListServicesPagedResponse listServices(String parent) { + ListServicesRequest request = ListServicesRequest.newBuilder().setParent(parent).build(); + return listServices(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Services in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   ListServicesRequest request =
+   *       ListServicesRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .build();
+   *   for (Service element : agentRegistryClient.listServices(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListServicesPagedResponse listServices(ListServicesRequest request) { + return listServicesPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Services in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   ListServicesRequest request =
+   *       ListServicesRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .build();
+   *   ApiFuture future =
+   *       agentRegistryClient.listServicesPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (Service element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + listServicesPagedCallable() { + return stub.listServicesPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Services in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   ListServicesRequest request =
+   *       ListServicesRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .build();
+   *   while (true) {
+   *     ListServicesResponse response = agentRegistryClient.listServicesCallable().call(request);
+   *     for (Service element : response.getServicesList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable listServicesCallable() { + return stub.listServicesCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Service. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   ServiceName name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]");
+   *   Service response = agentRegistryClient.getService(name);
+   * }
+   * }
+ * + * @param name Required. The name of the Service. Format: + * `projects/{project}/locations/{location}/services/{service}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Service getService(ServiceName name) { + GetServiceRequest request = + GetServiceRequest.newBuilder().setName(name == null ? null : name.toString()).build(); + return getService(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Service. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   String name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString();
+   *   Service response = agentRegistryClient.getService(name);
+   * }
+   * }
+ * + * @param name Required. The name of the Service. Format: + * `projects/{project}/locations/{location}/services/{service}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Service getService(String name) { + GetServiceRequest request = GetServiceRequest.newBuilder().setName(name).build(); + return getService(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Service. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   GetServiceRequest request =
+   *       GetServiceRequest.newBuilder()
+   *           .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString())
+   *           .build();
+   *   Service response = agentRegistryClient.getService(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Service getService(GetServiceRequest request) { + return getServiceCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Service. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   GetServiceRequest request =
+   *       GetServiceRequest.newBuilder()
+   *           .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString())
+   *           .build();
+   *   ApiFuture future = agentRegistryClient.getServiceCallable().futureCall(request);
+   *   // Do something.
+   *   Service response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable getServiceCallable() { + return stub.getServiceCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a new Service in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
+   *   Service service = Service.newBuilder().build();
+   *   String serviceId = "serviceId-194185552";
+   *   Service response = agentRegistryClient.createServiceAsync(parent, service, serviceId).get();
+   * }
+   * }
+ * + * @param parent Required. The project and location to create the Service in. Expected format: + * `projects/{project}/locations/{location}`. + * @param service Required. The Service resource that is being created. Format: + * `projects/{project}/locations/{location}/services/{service}`. + * @param serviceId Required. The ID to use for the service, which will become the final component + * of the service's resource name. + *

This value should be 4-63 characters, and valid characters are `/[a-z][0-9]-/`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture createServiceAsync( + LocationName parent, Service service, String serviceId) { + CreateServiceRequest request = + CreateServiceRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .setService(service) + .setServiceId(serviceId) + .build(); + return createServiceAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a new Service in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
+   *   Service service = Service.newBuilder().build();
+   *   String serviceId = "serviceId-194185552";
+   *   Service response = agentRegistryClient.createServiceAsync(parent, service, serviceId).get();
+   * }
+   * }
+ * + * @param parent Required. The project and location to create the Service in. Expected format: + * `projects/{project}/locations/{location}`. + * @param service Required. The Service resource that is being created. Format: + * `projects/{project}/locations/{location}/services/{service}`. + * @param serviceId Required. The ID to use for the service, which will become the final component + * of the service's resource name. + *

This value should be 4-63 characters, and valid characters are `/[a-z][0-9]-/`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture createServiceAsync( + String parent, Service service, String serviceId) { + CreateServiceRequest request = + CreateServiceRequest.newBuilder() + .setParent(parent) + .setService(service) + .setServiceId(serviceId) + .build(); + return createServiceAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a new Service in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   CreateServiceRequest request =
+   *       CreateServiceRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setServiceId("serviceId-194185552")
+   *           .setService(Service.newBuilder().build())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   Service response = agentRegistryClient.createServiceAsync(request).get();
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture createServiceAsync( + CreateServiceRequest request) { + return createServiceOperationCallable().futureCall(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a new Service in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   CreateServiceRequest request =
+   *       CreateServiceRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setServiceId("serviceId-194185552")
+   *           .setService(Service.newBuilder().build())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   OperationFuture future =
+   *       agentRegistryClient.createServiceOperationCallable().futureCall(request);
+   *   // Do something.
+   *   Service response = future.get();
+   * }
+   * }
+ */ + public final OperationCallable + createServiceOperationCallable() { + return stub.createServiceOperationCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a new Service in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   CreateServiceRequest request =
+   *       CreateServiceRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setServiceId("serviceId-194185552")
+   *           .setService(Service.newBuilder().build())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   ApiFuture future = agentRegistryClient.createServiceCallable().futureCall(request);
+   *   // Do something.
+   *   Operation response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable createServiceCallable() { + return stub.createServiceCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates the parameters of a single Service. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   Service service = Service.newBuilder().build();
+   *   FieldMask updateMask = FieldMask.newBuilder().build();
+   *   Service response = agentRegistryClient.updateServiceAsync(service, updateMask).get();
+   * }
+   * }
+ * + * @param service Required. The Service resource that is being updated. Format: + * `projects/{project}/locations/{location}/services/{service}`. + * @param updateMask Optional. Field mask is used to specify the fields to be overwritten in the + * Service resource by the update. The fields specified in the update_mask are relative to the + * resource, not the full request. A field will be overwritten if it is in the mask. If the + * user does not provide a mask then all fields present in the request will be overwritten. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture updateServiceAsync( + Service service, FieldMask updateMask) { + UpdateServiceRequest request = + UpdateServiceRequest.newBuilder().setService(service).setUpdateMask(updateMask).build(); + return updateServiceAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates the parameters of a single Service. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   UpdateServiceRequest request =
+   *       UpdateServiceRequest.newBuilder()
+   *           .setUpdateMask(FieldMask.newBuilder().build())
+   *           .setService(Service.newBuilder().build())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   Service response = agentRegistryClient.updateServiceAsync(request).get();
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture updateServiceAsync( + UpdateServiceRequest request) { + return updateServiceOperationCallable().futureCall(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates the parameters of a single Service. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   UpdateServiceRequest request =
+   *       UpdateServiceRequest.newBuilder()
+   *           .setUpdateMask(FieldMask.newBuilder().build())
+   *           .setService(Service.newBuilder().build())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   OperationFuture future =
+   *       agentRegistryClient.updateServiceOperationCallable().futureCall(request);
+   *   // Do something.
+   *   Service response = future.get();
+   * }
+   * }
+ */ + public final OperationCallable + updateServiceOperationCallable() { + return stub.updateServiceOperationCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates the parameters of a single Service. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   UpdateServiceRequest request =
+   *       UpdateServiceRequest.newBuilder()
+   *           .setUpdateMask(FieldMask.newBuilder().build())
+   *           .setService(Service.newBuilder().build())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   ApiFuture future = agentRegistryClient.updateServiceCallable().futureCall(request);
+   *   // Do something.
+   *   Operation response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable updateServiceCallable() { + return stub.updateServiceCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes a single Service. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   ServiceName name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]");
+   *   agentRegistryClient.deleteServiceAsync(name).get();
+   * }
+   * }
+ * + * @param name Required. The name of the Service. Format: + * `projects/{project}/locations/{location}/services/{service}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture deleteServiceAsync(ServiceName name) { + DeleteServiceRequest request = + DeleteServiceRequest.newBuilder().setName(name == null ? null : name.toString()).build(); + return deleteServiceAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes a single Service. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   String name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString();
+   *   agentRegistryClient.deleteServiceAsync(name).get();
+   * }
+   * }
+ * + * @param name Required. The name of the Service. Format: + * `projects/{project}/locations/{location}/services/{service}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture deleteServiceAsync(String name) { + DeleteServiceRequest request = DeleteServiceRequest.newBuilder().setName(name).build(); + return deleteServiceAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes a single Service. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   DeleteServiceRequest request =
+   *       DeleteServiceRequest.newBuilder()
+   *           .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   agentRegistryClient.deleteServiceAsync(request).get();
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture deleteServiceAsync( + DeleteServiceRequest request) { + return deleteServiceOperationCallable().futureCall(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes a single Service. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   DeleteServiceRequest request =
+   *       DeleteServiceRequest.newBuilder()
+   *           .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   OperationFuture future =
+   *       agentRegistryClient.deleteServiceOperationCallable().futureCall(request);
+   *   // Do something.
+   *   future.get();
+   * }
+   * }
+ */ + public final OperationCallable + deleteServiceOperationCallable() { + return stub.deleteServiceOperationCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes a single Service. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   DeleteServiceRequest request =
+   *       DeleteServiceRequest.newBuilder()
+   *           .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   ApiFuture future = agentRegistryClient.deleteServiceCallable().futureCall(request);
+   *   // Do something.
+   *   future.get();
+   * }
+   * }
+ */ + public final UnaryCallable deleteServiceCallable() { + return stub.deleteServiceCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Bindings in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
+   *   for (Binding element : agentRegistryClient.listBindings(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. The project and location to list bindings in. Expected format: + * `projects/{project}/locations/{location}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListBindingsPagedResponse listBindings(LocationName parent) { + ListBindingsRequest request = + ListBindingsRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .build(); + return listBindings(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Bindings in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
+   *   for (Binding element : agentRegistryClient.listBindings(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. The project and location to list bindings in. Expected format: + * `projects/{project}/locations/{location}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListBindingsPagedResponse listBindings(String parent) { + ListBindingsRequest request = ListBindingsRequest.newBuilder().setParent(parent).build(); + return listBindings(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Bindings in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   ListBindingsRequest request =
+   *       ListBindingsRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .setOrderBy("orderBy-1207110587")
+   *           .build();
+   *   for (Binding element : agentRegistryClient.listBindings(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListBindingsPagedResponse listBindings(ListBindingsRequest request) { + return listBindingsPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Bindings in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   ListBindingsRequest request =
+   *       ListBindingsRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .setOrderBy("orderBy-1207110587")
+   *           .build();
+   *   ApiFuture future =
+   *       agentRegistryClient.listBindingsPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (Binding element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + listBindingsPagedCallable() { + return stub.listBindingsPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists Bindings in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   ListBindingsRequest request =
+   *       ListBindingsRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .setFilter("filter-1274492040")
+   *           .setOrderBy("orderBy-1207110587")
+   *           .build();
+   *   while (true) {
+   *     ListBindingsResponse response = agentRegistryClient.listBindingsCallable().call(request);
+   *     for (Binding element : response.getBindingsList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable listBindingsCallable() { + return stub.listBindingsCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Binding. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   BindingName name = BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]");
+   *   Binding response = agentRegistryClient.getBinding(name);
+   * }
+   * }
+ * + * @param name Required. The name of the Binding. Format: + * `projects/{project}/locations/{location}/bindings/{binding}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Binding getBinding(BindingName name) { + GetBindingRequest request = + GetBindingRequest.newBuilder().setName(name == null ? null : name.toString()).build(); + return getBinding(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Binding. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   String name = BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString();
+   *   Binding response = agentRegistryClient.getBinding(name);
+   * }
+   * }
+ * + * @param name Required. The name of the Binding. Format: + * `projects/{project}/locations/{location}/bindings/{binding}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Binding getBinding(String name) { + GetBindingRequest request = GetBindingRequest.newBuilder().setName(name).build(); + return getBinding(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Binding. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   GetBindingRequest request =
+   *       GetBindingRequest.newBuilder()
+   *           .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString())
+   *           .build();
+   *   Binding response = agentRegistryClient.getBinding(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Binding getBinding(GetBindingRequest request) { + return getBindingCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details of a single Binding. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   GetBindingRequest request =
+   *       GetBindingRequest.newBuilder()
+   *           .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString())
+   *           .build();
+   *   ApiFuture future = agentRegistryClient.getBindingCallable().futureCall(request);
+   *   // Do something.
+   *   Binding response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable getBindingCallable() { + return stub.getBindingCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a new Binding in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
+   *   Binding binding = Binding.newBuilder().build();
+   *   String bindingId = "bindingId-920966528";
+   *   Binding response = agentRegistryClient.createBindingAsync(parent, binding, bindingId).get();
+   * }
+   * }
+ * + * @param parent Required. The project and location to create the Binding in. Expected format: + * `projects/{project}/locations/{location}`. + * @param binding Required. The Binding resource that is being created. + * @param bindingId Required. The ID to use for the binding, which will become the final component + * of the binding's resource name. + *

This value should be 4-63 characters, and must conform to RFC-1034. Specifically, it + * must match the regular expression `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture createBindingAsync( + LocationName parent, Binding binding, String bindingId) { + CreateBindingRequest request = + CreateBindingRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .setBinding(binding) + .setBindingId(bindingId) + .build(); + return createBindingAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a new Binding in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
+   *   Binding binding = Binding.newBuilder().build();
+   *   String bindingId = "bindingId-920966528";
+   *   Binding response = agentRegistryClient.createBindingAsync(parent, binding, bindingId).get();
+   * }
+   * }
+ * + * @param parent Required. The project and location to create the Binding in. Expected format: + * `projects/{project}/locations/{location}`. + * @param binding Required. The Binding resource that is being created. + * @param bindingId Required. The ID to use for the binding, which will become the final component + * of the binding's resource name. + *

This value should be 4-63 characters, and must conform to RFC-1034. Specifically, it + * must match the regular expression `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture createBindingAsync( + String parent, Binding binding, String bindingId) { + CreateBindingRequest request = + CreateBindingRequest.newBuilder() + .setParent(parent) + .setBinding(binding) + .setBindingId(bindingId) + .build(); + return createBindingAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a new Binding in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   CreateBindingRequest request =
+   *       CreateBindingRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setBindingId("bindingId-920966528")
+   *           .setBinding(Binding.newBuilder().build())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   Binding response = agentRegistryClient.createBindingAsync(request).get();
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture createBindingAsync( + CreateBindingRequest request) { + return createBindingOperationCallable().futureCall(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a new Binding in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   CreateBindingRequest request =
+   *       CreateBindingRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setBindingId("bindingId-920966528")
+   *           .setBinding(Binding.newBuilder().build())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   OperationFuture future =
+   *       agentRegistryClient.createBindingOperationCallable().futureCall(request);
+   *   // Do something.
+   *   Binding response = future.get();
+   * }
+   * }
+ */ + public final OperationCallable + createBindingOperationCallable() { + return stub.createBindingOperationCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a new Binding in a given project and location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   CreateBindingRequest request =
+   *       CreateBindingRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setBindingId("bindingId-920966528")
+   *           .setBinding(Binding.newBuilder().build())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   ApiFuture future = agentRegistryClient.createBindingCallable().futureCall(request);
+   *   // Do something.
+   *   Operation response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable createBindingCallable() { + return stub.createBindingCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates the parameters of a single Binding. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   Binding binding = Binding.newBuilder().build();
+   *   FieldMask updateMask = FieldMask.newBuilder().build();
+   *   Binding response = agentRegistryClient.updateBindingAsync(binding, updateMask).get();
+   * }
+   * }
+ * + * @param binding Required. The Binding resource that is being updated. + * @param updateMask Optional. Field mask is used to specify the fields to be overwritten in the + * Binding resource by the update. The fields specified in the update_mask are relative to the + * resource, not the full request. A field will be overwritten if it is in the mask. If the + * user does not provide a mask then all fields present in the request will be overwritten. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture updateBindingAsync( + Binding binding, FieldMask updateMask) { + UpdateBindingRequest request = + UpdateBindingRequest.newBuilder().setBinding(binding).setUpdateMask(updateMask).build(); + return updateBindingAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates the parameters of a single Binding. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   UpdateBindingRequest request =
+   *       UpdateBindingRequest.newBuilder()
+   *           .setBinding(Binding.newBuilder().build())
+   *           .setUpdateMask(FieldMask.newBuilder().build())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   Binding response = agentRegistryClient.updateBindingAsync(request).get();
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture updateBindingAsync( + UpdateBindingRequest request) { + return updateBindingOperationCallable().futureCall(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates the parameters of a single Binding. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   UpdateBindingRequest request =
+   *       UpdateBindingRequest.newBuilder()
+   *           .setBinding(Binding.newBuilder().build())
+   *           .setUpdateMask(FieldMask.newBuilder().build())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   OperationFuture future =
+   *       agentRegistryClient.updateBindingOperationCallable().futureCall(request);
+   *   // Do something.
+   *   Binding response = future.get();
+   * }
+   * }
+ */ + public final OperationCallable + updateBindingOperationCallable() { + return stub.updateBindingOperationCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates the parameters of a single Binding. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   UpdateBindingRequest request =
+   *       UpdateBindingRequest.newBuilder()
+   *           .setBinding(Binding.newBuilder().build())
+   *           .setUpdateMask(FieldMask.newBuilder().build())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   ApiFuture future = agentRegistryClient.updateBindingCallable().futureCall(request);
+   *   // Do something.
+   *   Operation response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable updateBindingCallable() { + return stub.updateBindingCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes a single Binding. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   BindingName name = BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]");
+   *   agentRegistryClient.deleteBindingAsync(name).get();
+   * }
+   * }
+ * + * @param name Required. The name of the Binding. Format: + * `projects/{project}/locations/{location}/bindings/{binding}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture deleteBindingAsync(BindingName name) { + DeleteBindingRequest request = + DeleteBindingRequest.newBuilder().setName(name == null ? null : name.toString()).build(); + return deleteBindingAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes a single Binding. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   String name = BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString();
+   *   agentRegistryClient.deleteBindingAsync(name).get();
+   * }
+   * }
+ * + * @param name Required. The name of the Binding. Format: + * `projects/{project}/locations/{location}/bindings/{binding}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture deleteBindingAsync(String name) { + DeleteBindingRequest request = DeleteBindingRequest.newBuilder().setName(name).build(); + return deleteBindingAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes a single Binding. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   DeleteBindingRequest request =
+   *       DeleteBindingRequest.newBuilder()
+   *           .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   agentRegistryClient.deleteBindingAsync(request).get();
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture deleteBindingAsync( + DeleteBindingRequest request) { + return deleteBindingOperationCallable().futureCall(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes a single Binding. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   DeleteBindingRequest request =
+   *       DeleteBindingRequest.newBuilder()
+   *           .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   OperationFuture future =
+   *       agentRegistryClient.deleteBindingOperationCallable().futureCall(request);
+   *   // Do something.
+   *   future.get();
+   * }
+   * }
+ */ + public final OperationCallable + deleteBindingOperationCallable() { + return stub.deleteBindingOperationCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes a single Binding. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   DeleteBindingRequest request =
+   *       DeleteBindingRequest.newBuilder()
+   *           .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString())
+   *           .setRequestId("requestId693933066")
+   *           .build();
+   *   ApiFuture future = agentRegistryClient.deleteBindingCallable().futureCall(request);
+   *   // Do something.
+   *   future.get();
+   * }
+   * }
+ */ + public final UnaryCallable deleteBindingCallable() { + return stub.deleteBindingCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Fetches available Bindings. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
+   *   for (Binding element : agentRegistryClient.fetchAvailableBindings(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. The parent, in the format `projects/{project}/locations/{location}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final FetchAvailableBindingsPagedResponse fetchAvailableBindings(LocationName parent) { + FetchAvailableBindingsRequest request = + FetchAvailableBindingsRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .build(); + return fetchAvailableBindings(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Fetches available Bindings. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
+   *   for (Binding element : agentRegistryClient.fetchAvailableBindings(parent).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param parent Required. The parent, in the format `projects/{project}/locations/{location}`. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final FetchAvailableBindingsPagedResponse fetchAvailableBindings(String parent) { + FetchAvailableBindingsRequest request = + FetchAvailableBindingsRequest.newBuilder().setParent(parent).build(); + return fetchAvailableBindings(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Fetches available Bindings. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   FetchAvailableBindingsRequest request =
+   *       FetchAvailableBindingsRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   for (Binding element : agentRegistryClient.fetchAvailableBindings(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final FetchAvailableBindingsPagedResponse fetchAvailableBindings( + FetchAvailableBindingsRequest request) { + return fetchAvailableBindingsPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Fetches available Bindings. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   FetchAvailableBindingsRequest request =
+   *       FetchAvailableBindingsRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future =
+   *       agentRegistryClient.fetchAvailableBindingsPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (Binding element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + fetchAvailableBindingsPagedCallable() { + return stub.fetchAvailableBindingsPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Fetches available Bindings. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   FetchAvailableBindingsRequest request =
+   *       FetchAvailableBindingsRequest.newBuilder()
+   *           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   while (true) {
+   *     FetchAvailableBindingsResponse response =
+   *         agentRegistryClient.fetchAvailableBindingsCallable().call(request);
+   *     for (Binding element : response.getBindingsList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + fetchAvailableBindingsCallable() { + return stub.fetchAvailableBindingsCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists information about the supported locations for this service. + * + *

This method lists locations based on the resource scope provided inthe + * [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: + * ***Global locations**: If `name` is empty, the method lists thepublic + * locations available to all projects. * **Project-specificlocations**: If + * `name` follows the format`projects/{project}`, the method lists locations visible to + * thatspecific project. This includes public, private, or otherproject-specific locations enabled + * for the project. + * + *

For gRPC and client library implementations, the resource name ispassed as the `name` field. + * For direct service calls, the resourcename isincorporated into the request path based on the + * specific serviceimplementation and version. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   ListLocationsRequest request =
+   *       ListLocationsRequest.newBuilder()
+   *           .setName("name3373707")
+   *           .setFilter("filter-1274492040")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   for (Location element : agentRegistryClient.listLocations(request).iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListLocationsPagedResponse listLocations(ListLocationsRequest request) { + return listLocationsPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists information about the supported locations for this service. + * + *

This method lists locations based on the resource scope provided inthe + * [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: + * ***Global locations**: If `name` is empty, the method lists thepublic + * locations available to all projects. * **Project-specificlocations**: If + * `name` follows the format`projects/{project}`, the method lists locations visible to + * thatspecific project. This includes public, private, or otherproject-specific locations enabled + * for the project. + * + *

For gRPC and client library implementations, the resource name ispassed as the `name` field. + * For direct service calls, the resourcename isincorporated into the request path based on the + * specific serviceimplementation and version. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   ListLocationsRequest request =
+   *       ListLocationsRequest.newBuilder()
+   *           .setName("name3373707")
+   *           .setFilter("filter-1274492040")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   ApiFuture future =
+   *       agentRegistryClient.listLocationsPagedCallable().futureCall(request);
+   *   // Do something.
+   *   for (Location element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable + listLocationsPagedCallable() { + return stub.listLocationsPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists information about the supported locations for this service. + * + *

This method lists locations based on the resource scope provided inthe + * [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: + * ***Global locations**: If `name` is empty, the method lists thepublic + * locations available to all projects. * **Project-specificlocations**: If + * `name` follows the format`projects/{project}`, the method lists locations visible to + * thatspecific project. This includes public, private, or otherproject-specific locations enabled + * for the project. + * + *

For gRPC and client library implementations, the resource name ispassed as the `name` field. + * For direct service calls, the resourcename isincorporated into the request path based on the + * specific serviceimplementation and version. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   ListLocationsRequest request =
+   *       ListLocationsRequest.newBuilder()
+   *           .setName("name3373707")
+   *           .setFilter("filter-1274492040")
+   *           .setPageSize(883849137)
+   *           .setPageToken("pageToken873572522")
+   *           .build();
+   *   while (true) {
+   *     ListLocationsResponse response = agentRegistryClient.listLocationsCallable().call(request);
+   *     for (Location element : response.getLocationsList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * }
+ */ + public final UnaryCallable listLocationsCallable() { + return stub.listLocationsCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets information about a location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
+   *   Location response = agentRegistryClient.getLocation(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Location getLocation(GetLocationRequest request) { + return getLocationCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets information about a location. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+   *   GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
+   *   ApiFuture future = agentRegistryClient.getLocationCallable().futureCall(request);
+   *   // Do something.
+   *   Location response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable getLocationCallable() { + return stub.getLocationCallable(); + } + + @Override + public final void close() { + stub.close(); + } + + @Override + public void shutdown() { + stub.shutdown(); + } + + @Override + public boolean isShutdown() { + return stub.isShutdown(); + } + + @Override + public boolean isTerminated() { + return stub.isTerminated(); + } + + @Override + public void shutdownNow() { + stub.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return stub.awaitTermination(duration, unit); + } + + public static class ListAgentsPagedResponse + extends AbstractPagedListResponse< + ListAgentsRequest, + ListAgentsResponse, + Agent, + ListAgentsPage, + ListAgentsFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListAgentsPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, input -> new ListAgentsPagedResponse(input), MoreExecutors.directExecutor()); + } + + private ListAgentsPagedResponse(ListAgentsPage page) { + super(page, ListAgentsFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListAgentsPage + extends AbstractPage { + + private ListAgentsPage( + PageContext context, + ListAgentsResponse response) { + super(context, response); + } + + private static ListAgentsPage createEmptyPage() { + return new ListAgentsPage(null, null); + } + + @Override + protected ListAgentsPage createPage( + PageContext context, + ListAgentsResponse response) { + return new ListAgentsPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + PageContext context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListAgentsFixedSizeCollection + extends AbstractFixedSizeCollection< + ListAgentsRequest, + ListAgentsResponse, + Agent, + ListAgentsPage, + ListAgentsFixedSizeCollection> { + + private ListAgentsFixedSizeCollection(List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListAgentsFixedSizeCollection createEmptyCollection() { + return new ListAgentsFixedSizeCollection(null, 0); + } + + @Override + protected ListAgentsFixedSizeCollection createCollection( + List pages, int collectionSize) { + return new ListAgentsFixedSizeCollection(pages, collectionSize); + } + } + + public static class SearchAgentsPagedResponse + extends AbstractPagedListResponse< + SearchAgentsRequest, + SearchAgentsResponse, + Agent, + SearchAgentsPage, + SearchAgentsFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + SearchAgentsPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + input -> new SearchAgentsPagedResponse(input), + MoreExecutors.directExecutor()); + } + + private SearchAgentsPagedResponse(SearchAgentsPage page) { + super(page, SearchAgentsFixedSizeCollection.createEmptyCollection()); + } + } + + public static class SearchAgentsPage + extends AbstractPage { + + private SearchAgentsPage( + PageContext context, + SearchAgentsResponse response) { + super(context, response); + } + + private static SearchAgentsPage createEmptyPage() { + return new SearchAgentsPage(null, null); + } + + @Override + protected SearchAgentsPage createPage( + PageContext context, + SearchAgentsResponse response) { + return new SearchAgentsPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + PageContext context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class SearchAgentsFixedSizeCollection + extends AbstractFixedSizeCollection< + SearchAgentsRequest, + SearchAgentsResponse, + Agent, + SearchAgentsPage, + SearchAgentsFixedSizeCollection> { + + private SearchAgentsFixedSizeCollection(List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static SearchAgentsFixedSizeCollection createEmptyCollection() { + return new SearchAgentsFixedSizeCollection(null, 0); + } + + @Override + protected SearchAgentsFixedSizeCollection createCollection( + List pages, int collectionSize) { + return new SearchAgentsFixedSizeCollection(pages, collectionSize); + } + } + + public static class ListEndpointsPagedResponse + extends AbstractPagedListResponse< + ListEndpointsRequest, + ListEndpointsResponse, + Endpoint, + ListEndpointsPage, + ListEndpointsFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListEndpointsPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + input -> new ListEndpointsPagedResponse(input), + MoreExecutors.directExecutor()); + } + + private ListEndpointsPagedResponse(ListEndpointsPage page) { + super(page, ListEndpointsFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListEndpointsPage + extends AbstractPage< + ListEndpointsRequest, ListEndpointsResponse, Endpoint, ListEndpointsPage> { + + private ListEndpointsPage( + PageContext context, + ListEndpointsResponse response) { + super(context, response); + } + + private static ListEndpointsPage createEmptyPage() { + return new ListEndpointsPage(null, null); + } + + @Override + protected ListEndpointsPage createPage( + PageContext context, + ListEndpointsResponse response) { + return new ListEndpointsPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + PageContext context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListEndpointsFixedSizeCollection + extends AbstractFixedSizeCollection< + ListEndpointsRequest, + ListEndpointsResponse, + Endpoint, + ListEndpointsPage, + ListEndpointsFixedSizeCollection> { + + private ListEndpointsFixedSizeCollection(List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListEndpointsFixedSizeCollection createEmptyCollection() { + return new ListEndpointsFixedSizeCollection(null, 0); + } + + @Override + protected ListEndpointsFixedSizeCollection createCollection( + List pages, int collectionSize) { + return new ListEndpointsFixedSizeCollection(pages, collectionSize); + } + } + + public static class ListMcpServersPagedResponse + extends AbstractPagedListResponse< + ListMcpServersRequest, + ListMcpServersResponse, + McpServer, + ListMcpServersPage, + ListMcpServersFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListMcpServersPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + input -> new ListMcpServersPagedResponse(input), + MoreExecutors.directExecutor()); + } + + private ListMcpServersPagedResponse(ListMcpServersPage page) { + super(page, ListMcpServersFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListMcpServersPage + extends AbstractPage< + ListMcpServersRequest, ListMcpServersResponse, McpServer, ListMcpServersPage> { + + private ListMcpServersPage( + PageContext context, + ListMcpServersResponse response) { + super(context, response); + } + + private static ListMcpServersPage createEmptyPage() { + return new ListMcpServersPage(null, null); + } + + @Override + protected ListMcpServersPage createPage( + PageContext context, + ListMcpServersResponse response) { + return new ListMcpServersPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + PageContext context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListMcpServersFixedSizeCollection + extends AbstractFixedSizeCollection< + ListMcpServersRequest, + ListMcpServersResponse, + McpServer, + ListMcpServersPage, + ListMcpServersFixedSizeCollection> { + + private ListMcpServersFixedSizeCollection(List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListMcpServersFixedSizeCollection createEmptyCollection() { + return new ListMcpServersFixedSizeCollection(null, 0); + } + + @Override + protected ListMcpServersFixedSizeCollection createCollection( + List pages, int collectionSize) { + return new ListMcpServersFixedSizeCollection(pages, collectionSize); + } + } + + public static class SearchMcpServersPagedResponse + extends AbstractPagedListResponse< + SearchMcpServersRequest, + SearchMcpServersResponse, + McpServer, + SearchMcpServersPage, + SearchMcpServersFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + SearchMcpServersPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + input -> new SearchMcpServersPagedResponse(input), + MoreExecutors.directExecutor()); + } + + private SearchMcpServersPagedResponse(SearchMcpServersPage page) { + super(page, SearchMcpServersFixedSizeCollection.createEmptyCollection()); + } + } + + public static class SearchMcpServersPage + extends AbstractPage< + SearchMcpServersRequest, SearchMcpServersResponse, McpServer, SearchMcpServersPage> { + + private SearchMcpServersPage( + PageContext context, + SearchMcpServersResponse response) { + super(context, response); + } + + private static SearchMcpServersPage createEmptyPage() { + return new SearchMcpServersPage(null, null); + } + + @Override + protected SearchMcpServersPage createPage( + PageContext context, + SearchMcpServersResponse response) { + return new SearchMcpServersPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + PageContext context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class SearchMcpServersFixedSizeCollection + extends AbstractFixedSizeCollection< + SearchMcpServersRequest, + SearchMcpServersResponse, + McpServer, + SearchMcpServersPage, + SearchMcpServersFixedSizeCollection> { + + private SearchMcpServersFixedSizeCollection( + List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static SearchMcpServersFixedSizeCollection createEmptyCollection() { + return new SearchMcpServersFixedSizeCollection(null, 0); + } + + @Override + protected SearchMcpServersFixedSizeCollection createCollection( + List pages, int collectionSize) { + return new SearchMcpServersFixedSizeCollection(pages, collectionSize); + } + } + + public static class ListServicesPagedResponse + extends AbstractPagedListResponse< + ListServicesRequest, + ListServicesResponse, + Service, + ListServicesPage, + ListServicesFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListServicesPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + input -> new ListServicesPagedResponse(input), + MoreExecutors.directExecutor()); + } + + private ListServicesPagedResponse(ListServicesPage page) { + super(page, ListServicesFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListServicesPage + extends AbstractPage { + + private ListServicesPage( + PageContext context, + ListServicesResponse response) { + super(context, response); + } + + private static ListServicesPage createEmptyPage() { + return new ListServicesPage(null, null); + } + + @Override + protected ListServicesPage createPage( + PageContext context, + ListServicesResponse response) { + return new ListServicesPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + PageContext context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListServicesFixedSizeCollection + extends AbstractFixedSizeCollection< + ListServicesRequest, + ListServicesResponse, + Service, + ListServicesPage, + ListServicesFixedSizeCollection> { + + private ListServicesFixedSizeCollection(List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListServicesFixedSizeCollection createEmptyCollection() { + return new ListServicesFixedSizeCollection(null, 0); + } + + @Override + protected ListServicesFixedSizeCollection createCollection( + List pages, int collectionSize) { + return new ListServicesFixedSizeCollection(pages, collectionSize); + } + } + + public static class ListBindingsPagedResponse + extends AbstractPagedListResponse< + ListBindingsRequest, + ListBindingsResponse, + Binding, + ListBindingsPage, + ListBindingsFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListBindingsPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + input -> new ListBindingsPagedResponse(input), + MoreExecutors.directExecutor()); + } + + private ListBindingsPagedResponse(ListBindingsPage page) { + super(page, ListBindingsFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListBindingsPage + extends AbstractPage { + + private ListBindingsPage( + PageContext context, + ListBindingsResponse response) { + super(context, response); + } + + private static ListBindingsPage createEmptyPage() { + return new ListBindingsPage(null, null); + } + + @Override + protected ListBindingsPage createPage( + PageContext context, + ListBindingsResponse response) { + return new ListBindingsPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + PageContext context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListBindingsFixedSizeCollection + extends AbstractFixedSizeCollection< + ListBindingsRequest, + ListBindingsResponse, + Binding, + ListBindingsPage, + ListBindingsFixedSizeCollection> { + + private ListBindingsFixedSizeCollection(List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListBindingsFixedSizeCollection createEmptyCollection() { + return new ListBindingsFixedSizeCollection(null, 0); + } + + @Override + protected ListBindingsFixedSizeCollection createCollection( + List pages, int collectionSize) { + return new ListBindingsFixedSizeCollection(pages, collectionSize); + } + } + + public static class FetchAvailableBindingsPagedResponse + extends AbstractPagedListResponse< + FetchAvailableBindingsRequest, + FetchAvailableBindingsResponse, + Binding, + FetchAvailableBindingsPage, + FetchAvailableBindingsFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + FetchAvailableBindingsPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + input -> new FetchAvailableBindingsPagedResponse(input), + MoreExecutors.directExecutor()); + } + + private FetchAvailableBindingsPagedResponse(FetchAvailableBindingsPage page) { + super(page, FetchAvailableBindingsFixedSizeCollection.createEmptyCollection()); + } + } + + public static class FetchAvailableBindingsPage + extends AbstractPage< + FetchAvailableBindingsRequest, + FetchAvailableBindingsResponse, + Binding, + FetchAvailableBindingsPage> { + + private FetchAvailableBindingsPage( + PageContext context, + FetchAvailableBindingsResponse response) { + super(context, response); + } + + private static FetchAvailableBindingsPage createEmptyPage() { + return new FetchAvailableBindingsPage(null, null); + } + + @Override + protected FetchAvailableBindingsPage createPage( + PageContext context, + FetchAvailableBindingsResponse response) { + return new FetchAvailableBindingsPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + PageContext context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class FetchAvailableBindingsFixedSizeCollection + extends AbstractFixedSizeCollection< + FetchAvailableBindingsRequest, + FetchAvailableBindingsResponse, + Binding, + FetchAvailableBindingsPage, + FetchAvailableBindingsFixedSizeCollection> { + + private FetchAvailableBindingsFixedSizeCollection( + List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static FetchAvailableBindingsFixedSizeCollection createEmptyCollection() { + return new FetchAvailableBindingsFixedSizeCollection(null, 0); + } + + @Override + protected FetchAvailableBindingsFixedSizeCollection createCollection( + List pages, int collectionSize) { + return new FetchAvailableBindingsFixedSizeCollection(pages, collectionSize); + } + } + + public static class ListLocationsPagedResponse + extends AbstractPagedListResponse< + ListLocationsRequest, + ListLocationsResponse, + Location, + ListLocationsPage, + ListLocationsFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListLocationsPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + input -> new ListLocationsPagedResponse(input), + MoreExecutors.directExecutor()); + } + + private ListLocationsPagedResponse(ListLocationsPage page) { + super(page, ListLocationsFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListLocationsPage + extends AbstractPage< + ListLocationsRequest, ListLocationsResponse, Location, ListLocationsPage> { + + private ListLocationsPage( + PageContext context, + ListLocationsResponse response) { + super(context, response); + } + + private static ListLocationsPage createEmptyPage() { + return new ListLocationsPage(null, null); + } + + @Override + protected ListLocationsPage createPage( + PageContext context, + ListLocationsResponse response) { + return new ListLocationsPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + PageContext context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListLocationsFixedSizeCollection + extends AbstractFixedSizeCollection< + ListLocationsRequest, + ListLocationsResponse, + Location, + ListLocationsPage, + ListLocationsFixedSizeCollection> { + + private ListLocationsFixedSizeCollection(List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListLocationsFixedSizeCollection createEmptyCollection() { + return new ListLocationsFixedSizeCollection(null, 0); + } + + @Override + protected ListLocationsFixedSizeCollection createCollection( + List pages, int collectionSize) { + return new ListLocationsFixedSizeCollection(pages, collectionSize); + } + } +} diff --git a/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/AgentRegistrySettings.java b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/AgentRegistrySettings.java new file mode 100644 index 000000000000..e9eb5a028d3c --- /dev/null +++ b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/AgentRegistrySettings.java @@ -0,0 +1,562 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1; + +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.FetchAvailableBindingsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListAgentsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListBindingsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListEndpointsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListLocationsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListMcpServersPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListServicesPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.SearchAgentsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.SearchMcpServersPagedResponse; + +import com.google.api.core.ApiFunction; +import com.google.api.core.BetaApi; +import com.google.api.gax.core.GoogleCredentialsProvider; +import com.google.api.gax.core.InstantiatingExecutorProvider; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.ClientSettings; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.PagedCallSettings; +import com.google.api.gax.rpc.TransportChannelProvider; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.cloud.agentregistry.v1.stub.AgentRegistryStubSettings; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.longrunning.Operation; +import com.google.protobuf.Empty; +import java.io.IOException; +import java.util.List; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * Settings class to configure an instance of {@link AgentRegistryClient}. + * + *

The default instance has everything set to sensible defaults: + * + *

    + *
  • The default service address (agentregistry.googleapis.com) and default port (443) are used. + *
  • Credentials are acquired automatically through Application Default Credentials. + *
  • Retries are configured for idempotent methods but not for non-idempotent methods. + *
+ * + *

The builder of this class is recursive, so contained classes are themselves builders. When + * build() is called, the tree of builders is called to create the complete settings object. + * + *

For example, to set the + * [RetrySettings](https://cloud.google.com/java/docs/reference/gax/latest/com.google.api.gax.retrying.RetrySettings) + * of getAgent: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * AgentRegistrySettings.Builder agentRegistrySettingsBuilder = AgentRegistrySettings.newBuilder();
+ * agentRegistrySettingsBuilder
+ *     .getAgentSettings()
+ *     .setRetrySettings(
+ *         agentRegistrySettingsBuilder
+ *             .getAgentSettings()
+ *             .getRetrySettings()
+ *             .toBuilder()
+ *             .setInitialRetryDelayDuration(Duration.ofSeconds(1))
+ *             .setInitialRpcTimeoutDuration(Duration.ofSeconds(5))
+ *             .setMaxAttempts(5)
+ *             .setMaxRetryDelayDuration(Duration.ofSeconds(30))
+ *             .setMaxRpcTimeoutDuration(Duration.ofSeconds(60))
+ *             .setRetryDelayMultiplier(1.3)
+ *             .setRpcTimeoutMultiplier(1.5)
+ *             .setTotalTimeoutDuration(Duration.ofSeconds(300))
+ *             .build());
+ * AgentRegistrySettings agentRegistrySettings = agentRegistrySettingsBuilder.build();
+ * }
+ * + * Please refer to the [Client Side Retry + * Guide](https://docs.cloud.google.com/java/docs/client-retries) for additional support in setting + * retries. + * + *

To configure the RetrySettings of a Long Running Operation method, create an + * OperationTimedPollAlgorithm object and update the RPC's polling algorithm. For example, to + * configure the RetrySettings for createService: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * AgentRegistrySettings.Builder agentRegistrySettingsBuilder = AgentRegistrySettings.newBuilder();
+ * TimedRetryAlgorithm timedRetryAlgorithm =
+ *     OperationalTimedPollAlgorithm.create(
+ *         RetrySettings.newBuilder()
+ *             .setInitialRetryDelayDuration(Duration.ofMillis(500))
+ *             .setRetryDelayMultiplier(1.5)
+ *             .setMaxRetryDelayDuration(Duration.ofMillis(5000))
+ *             .setTotalTimeoutDuration(Duration.ofHours(24))
+ *             .build());
+ * agentRegistrySettingsBuilder
+ *     .createClusterOperationSettings()
+ *     .setPollingAlgorithm(timedRetryAlgorithm)
+ *     .build();
+ * }
+ */ +@Generated("by gapic-generator-java") +public class AgentRegistrySettings extends ClientSettings { + + /** Returns the object with the settings used for calls to listAgents. */ + public PagedCallSettings + listAgentsSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).listAgentsSettings(); + } + + /** Returns the object with the settings used for calls to searchAgents. */ + public PagedCallSettings + searchAgentsSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).searchAgentsSettings(); + } + + /** Returns the object with the settings used for calls to getAgent. */ + public UnaryCallSettings getAgentSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).getAgentSettings(); + } + + /** Returns the object with the settings used for calls to listEndpoints. */ + public PagedCallSettings + listEndpointsSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).listEndpointsSettings(); + } + + /** Returns the object with the settings used for calls to getEndpoint. */ + public UnaryCallSettings getEndpointSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).getEndpointSettings(); + } + + /** Returns the object with the settings used for calls to listMcpServers. */ + public PagedCallSettings< + ListMcpServersRequest, ListMcpServersResponse, ListMcpServersPagedResponse> + listMcpServersSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).listMcpServersSettings(); + } + + /** Returns the object with the settings used for calls to searchMcpServers. */ + public PagedCallSettings< + SearchMcpServersRequest, SearchMcpServersResponse, SearchMcpServersPagedResponse> + searchMcpServersSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).searchMcpServersSettings(); + } + + /** Returns the object with the settings used for calls to getMcpServer. */ + public UnaryCallSettings getMcpServerSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).getMcpServerSettings(); + } + + /** Returns the object with the settings used for calls to listServices. */ + public PagedCallSettings + listServicesSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).listServicesSettings(); + } + + /** Returns the object with the settings used for calls to getService. */ + public UnaryCallSettings getServiceSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).getServiceSettings(); + } + + /** Returns the object with the settings used for calls to createService. */ + public UnaryCallSettings createServiceSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).createServiceSettings(); + } + + /** Returns the object with the settings used for calls to createService. */ + public OperationCallSettings + createServiceOperationSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).createServiceOperationSettings(); + } + + /** Returns the object with the settings used for calls to updateService. */ + public UnaryCallSettings updateServiceSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).updateServiceSettings(); + } + + /** Returns the object with the settings used for calls to updateService. */ + public OperationCallSettings + updateServiceOperationSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).updateServiceOperationSettings(); + } + + /** Returns the object with the settings used for calls to deleteService. */ + public UnaryCallSettings deleteServiceSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).deleteServiceSettings(); + } + + /** Returns the object with the settings used for calls to deleteService. */ + public OperationCallSettings + deleteServiceOperationSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).deleteServiceOperationSettings(); + } + + /** Returns the object with the settings used for calls to listBindings. */ + public PagedCallSettings + listBindingsSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).listBindingsSettings(); + } + + /** Returns the object with the settings used for calls to getBinding. */ + public UnaryCallSettings getBindingSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).getBindingSettings(); + } + + /** Returns the object with the settings used for calls to createBinding. */ + public UnaryCallSettings createBindingSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).createBindingSettings(); + } + + /** Returns the object with the settings used for calls to createBinding. */ + public OperationCallSettings + createBindingOperationSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).createBindingOperationSettings(); + } + + /** Returns the object with the settings used for calls to updateBinding. */ + public UnaryCallSettings updateBindingSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).updateBindingSettings(); + } + + /** Returns the object with the settings used for calls to updateBinding. */ + public OperationCallSettings + updateBindingOperationSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).updateBindingOperationSettings(); + } + + /** Returns the object with the settings used for calls to deleteBinding. */ + public UnaryCallSettings deleteBindingSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).deleteBindingSettings(); + } + + /** Returns the object with the settings used for calls to deleteBinding. */ + public OperationCallSettings + deleteBindingOperationSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).deleteBindingOperationSettings(); + } + + /** Returns the object with the settings used for calls to fetchAvailableBindings. */ + public PagedCallSettings< + FetchAvailableBindingsRequest, + FetchAvailableBindingsResponse, + FetchAvailableBindingsPagedResponse> + fetchAvailableBindingsSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).fetchAvailableBindingsSettings(); + } + + /** Returns the object with the settings used for calls to listLocations. */ + public PagedCallSettings + listLocationsSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).listLocationsSettings(); + } + + /** Returns the object with the settings used for calls to getLocation. */ + public UnaryCallSettings getLocationSettings() { + return ((AgentRegistryStubSettings) getStubSettings()).getLocationSettings(); + } + + public static final AgentRegistrySettings create(AgentRegistryStubSettings stub) + throws IOException { + return new AgentRegistrySettings.Builder(stub.toBuilder()).build(); + } + + /** Returns a builder for the default ExecutorProvider for this service. */ + public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { + return AgentRegistryStubSettings.defaultExecutorProviderBuilder(); + } + + /** Returns the default service endpoint. */ + public static String getDefaultEndpoint() { + return AgentRegistryStubSettings.getDefaultEndpoint(); + } + + /** Returns the default service scopes. */ + public static List getDefaultServiceScopes() { + return AgentRegistryStubSettings.getDefaultServiceScopes(); + } + + /** Returns a builder for the default credentials for this service. */ + public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { + return AgentRegistryStubSettings.defaultCredentialsProviderBuilder(); + } + + /** Returns a builder for the default gRPC ChannelProvider for this service. */ + public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { + return AgentRegistryStubSettings.defaultGrpcTransportProviderBuilder(); + } + + /** Returns a builder for the default REST ChannelProvider for this service. */ + @BetaApi + public static InstantiatingHttpJsonChannelProvider.Builder + defaultHttpJsonTransportProviderBuilder() { + return AgentRegistryStubSettings.defaultHttpJsonTransportProviderBuilder(); + } + + public static TransportChannelProvider defaultTransportChannelProvider() { + return AgentRegistryStubSettings.defaultTransportChannelProvider(); + } + + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return AgentRegistryStubSettings.defaultApiClientHeaderProviderBuilder(); + } + + /** Returns a new gRPC builder for this class. */ + public static Builder newBuilder() { + return Builder.createDefault(); + } + + /** Returns a new REST builder for this class. */ + public static Builder newHttpJsonBuilder() { + return Builder.createHttpJsonDefault(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder(ClientContext clientContext) { + return new Builder(clientContext); + } + + /** Returns a builder containing all the values of this settings class. */ + public Builder toBuilder() { + return new Builder(this); + } + + protected AgentRegistrySettings(Builder settingsBuilder) throws IOException { + super(settingsBuilder); + } + + /** Builder for AgentRegistrySettings. */ + public static class Builder extends ClientSettings.Builder { + + protected Builder() throws IOException { + this(((ClientContext) null)); + } + + protected Builder(ClientContext clientContext) { + super(AgentRegistryStubSettings.newBuilder(clientContext)); + } + + protected Builder(AgentRegistrySettings settings) { + super(settings.getStubSettings().toBuilder()); + } + + protected Builder(AgentRegistryStubSettings.Builder stubSettings) { + super(stubSettings); + } + + private static Builder createDefault() { + return new Builder(AgentRegistryStubSettings.newBuilder()); + } + + private static Builder createHttpJsonDefault() { + return new Builder(AgentRegistryStubSettings.newHttpJsonBuilder()); + } + + public AgentRegistryStubSettings.Builder getStubSettingsBuilder() { + return ((AgentRegistryStubSettings.Builder) getStubSettings()); + } + + /** + * Applies the given settings updater function to all of the unary API methods in this service. + * + *

Note: This method does not support applying settings to streaming methods. + */ + public Builder applyToAllUnaryMethods( + ApiFunction, Void> settingsUpdater) { + super.applyToAllUnaryMethods( + getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater); + return this; + } + + /** Returns the builder for the settings used for calls to listAgents. */ + public PagedCallSettings.Builder + listAgentsSettings() { + return getStubSettingsBuilder().listAgentsSettings(); + } + + /** Returns the builder for the settings used for calls to searchAgents. */ + public PagedCallSettings.Builder< + SearchAgentsRequest, SearchAgentsResponse, SearchAgentsPagedResponse> + searchAgentsSettings() { + return getStubSettingsBuilder().searchAgentsSettings(); + } + + /** Returns the builder for the settings used for calls to getAgent. */ + public UnaryCallSettings.Builder getAgentSettings() { + return getStubSettingsBuilder().getAgentSettings(); + } + + /** Returns the builder for the settings used for calls to listEndpoints. */ + public PagedCallSettings.Builder< + ListEndpointsRequest, ListEndpointsResponse, ListEndpointsPagedResponse> + listEndpointsSettings() { + return getStubSettingsBuilder().listEndpointsSettings(); + } + + /** Returns the builder for the settings used for calls to getEndpoint. */ + public UnaryCallSettings.Builder getEndpointSettings() { + return getStubSettingsBuilder().getEndpointSettings(); + } + + /** Returns the builder for the settings used for calls to listMcpServers. */ + public PagedCallSettings.Builder< + ListMcpServersRequest, ListMcpServersResponse, ListMcpServersPagedResponse> + listMcpServersSettings() { + return getStubSettingsBuilder().listMcpServersSettings(); + } + + /** Returns the builder for the settings used for calls to searchMcpServers. */ + public PagedCallSettings.Builder< + SearchMcpServersRequest, SearchMcpServersResponse, SearchMcpServersPagedResponse> + searchMcpServersSettings() { + return getStubSettingsBuilder().searchMcpServersSettings(); + } + + /** Returns the builder for the settings used for calls to getMcpServer. */ + public UnaryCallSettings.Builder getMcpServerSettings() { + return getStubSettingsBuilder().getMcpServerSettings(); + } + + /** Returns the builder for the settings used for calls to listServices. */ + public PagedCallSettings.Builder< + ListServicesRequest, ListServicesResponse, ListServicesPagedResponse> + listServicesSettings() { + return getStubSettingsBuilder().listServicesSettings(); + } + + /** Returns the builder for the settings used for calls to getService. */ + public UnaryCallSettings.Builder getServiceSettings() { + return getStubSettingsBuilder().getServiceSettings(); + } + + /** Returns the builder for the settings used for calls to createService. */ + public UnaryCallSettings.Builder createServiceSettings() { + return getStubSettingsBuilder().createServiceSettings(); + } + + /** Returns the builder for the settings used for calls to createService. */ + public OperationCallSettings.Builder + createServiceOperationSettings() { + return getStubSettingsBuilder().createServiceOperationSettings(); + } + + /** Returns the builder for the settings used for calls to updateService. */ + public UnaryCallSettings.Builder updateServiceSettings() { + return getStubSettingsBuilder().updateServiceSettings(); + } + + /** Returns the builder for the settings used for calls to updateService. */ + public OperationCallSettings.Builder + updateServiceOperationSettings() { + return getStubSettingsBuilder().updateServiceOperationSettings(); + } + + /** Returns the builder for the settings used for calls to deleteService. */ + public UnaryCallSettings.Builder deleteServiceSettings() { + return getStubSettingsBuilder().deleteServiceSettings(); + } + + /** Returns the builder for the settings used for calls to deleteService. */ + public OperationCallSettings.Builder + deleteServiceOperationSettings() { + return getStubSettingsBuilder().deleteServiceOperationSettings(); + } + + /** Returns the builder for the settings used for calls to listBindings. */ + public PagedCallSettings.Builder< + ListBindingsRequest, ListBindingsResponse, ListBindingsPagedResponse> + listBindingsSettings() { + return getStubSettingsBuilder().listBindingsSettings(); + } + + /** Returns the builder for the settings used for calls to getBinding. */ + public UnaryCallSettings.Builder getBindingSettings() { + return getStubSettingsBuilder().getBindingSettings(); + } + + /** Returns the builder for the settings used for calls to createBinding. */ + public UnaryCallSettings.Builder createBindingSettings() { + return getStubSettingsBuilder().createBindingSettings(); + } + + /** Returns the builder for the settings used for calls to createBinding. */ + public OperationCallSettings.Builder + createBindingOperationSettings() { + return getStubSettingsBuilder().createBindingOperationSettings(); + } + + /** Returns the builder for the settings used for calls to updateBinding. */ + public UnaryCallSettings.Builder updateBindingSettings() { + return getStubSettingsBuilder().updateBindingSettings(); + } + + /** Returns the builder for the settings used for calls to updateBinding. */ + public OperationCallSettings.Builder + updateBindingOperationSettings() { + return getStubSettingsBuilder().updateBindingOperationSettings(); + } + + /** Returns the builder for the settings used for calls to deleteBinding. */ + public UnaryCallSettings.Builder deleteBindingSettings() { + return getStubSettingsBuilder().deleteBindingSettings(); + } + + /** Returns the builder for the settings used for calls to deleteBinding. */ + public OperationCallSettings.Builder + deleteBindingOperationSettings() { + return getStubSettingsBuilder().deleteBindingOperationSettings(); + } + + /** Returns the builder for the settings used for calls to fetchAvailableBindings. */ + public PagedCallSettings.Builder< + FetchAvailableBindingsRequest, + FetchAvailableBindingsResponse, + FetchAvailableBindingsPagedResponse> + fetchAvailableBindingsSettings() { + return getStubSettingsBuilder().fetchAvailableBindingsSettings(); + } + + /** Returns the builder for the settings used for calls to listLocations. */ + public PagedCallSettings.Builder< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> + listLocationsSettings() { + return getStubSettingsBuilder().listLocationsSettings(); + } + + /** Returns the builder for the settings used for calls to getLocation. */ + public UnaryCallSettings.Builder getLocationSettings() { + return getStubSettingsBuilder().getLocationSettings(); + } + + @Override + public AgentRegistrySettings build() throws IOException { + return new AgentRegistrySettings(this); + } + } +} diff --git a/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/gapic_metadata.json b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/gapic_metadata.json new file mode 100644 index 000000000000..27dc690c6170 --- /dev/null +++ b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/gapic_metadata.json @@ -0,0 +1,81 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "java", + "protoPackage": "google.cloud.agentregistry.v1", + "libraryPackage": "com.google.cloud.agentregistry.v1", + "services": { + "AgentRegistry": { + "clients": { + "grpc": { + "libraryClient": "AgentRegistryClient", + "rpcs": { + "CreateBinding": { + "methods": ["createBindingAsync", "createBindingAsync", "createBindingAsync", "createBindingOperationCallable", "createBindingCallable"] + }, + "CreateService": { + "methods": ["createServiceAsync", "createServiceAsync", "createServiceAsync", "createServiceOperationCallable", "createServiceCallable"] + }, + "DeleteBinding": { + "methods": ["deleteBindingAsync", "deleteBindingAsync", "deleteBindingAsync", "deleteBindingOperationCallable", "deleteBindingCallable"] + }, + "DeleteService": { + "methods": ["deleteServiceAsync", "deleteServiceAsync", "deleteServiceAsync", "deleteServiceOperationCallable", "deleteServiceCallable"] + }, + "FetchAvailableBindings": { + "methods": ["fetchAvailableBindings", "fetchAvailableBindings", "fetchAvailableBindings", "fetchAvailableBindingsPagedCallable", "fetchAvailableBindingsCallable"] + }, + "GetAgent": { + "methods": ["getAgent", "getAgent", "getAgent", "getAgentCallable"] + }, + "GetBinding": { + "methods": ["getBinding", "getBinding", "getBinding", "getBindingCallable"] + }, + "GetEndpoint": { + "methods": ["getEndpoint", "getEndpoint", "getEndpoint", "getEndpointCallable"] + }, + "GetLocation": { + "methods": ["getLocation", "getLocationCallable"] + }, + "GetMcpServer": { + "methods": ["getMcpServer", "getMcpServer", "getMcpServer", "getMcpServerCallable"] + }, + "GetService": { + "methods": ["getService", "getService", "getService", "getServiceCallable"] + }, + "ListAgents": { + "methods": ["listAgents", "listAgents", "listAgents", "listAgentsPagedCallable", "listAgentsCallable"] + }, + "ListBindings": { + "methods": ["listBindings", "listBindings", "listBindings", "listBindingsPagedCallable", "listBindingsCallable"] + }, + "ListEndpoints": { + "methods": ["listEndpoints", "listEndpoints", "listEndpoints", "listEndpointsPagedCallable", "listEndpointsCallable"] + }, + "ListLocations": { + "methods": ["listLocations", "listLocationsPagedCallable", "listLocationsCallable"] + }, + "ListMcpServers": { + "methods": ["listMcpServers", "listMcpServers", "listMcpServers", "listMcpServersPagedCallable", "listMcpServersCallable"] + }, + "ListServices": { + "methods": ["listServices", "listServices", "listServices", "listServicesPagedCallable", "listServicesCallable"] + }, + "SearchAgents": { + "methods": ["searchAgents", "searchAgents", "searchAgents", "searchAgentsPagedCallable", "searchAgentsCallable"] + }, + "SearchMcpServers": { + "methods": ["searchMcpServers", "searchMcpServers", "searchMcpServers", "searchMcpServersPagedCallable", "searchMcpServersCallable"] + }, + "UpdateBinding": { + "methods": ["updateBindingAsync", "updateBindingAsync", "updateBindingOperationCallable", "updateBindingCallable"] + }, + "UpdateService": { + "methods": ["updateServiceAsync", "updateServiceAsync", "updateServiceOperationCallable", "updateServiceCallable"] + } + } + } + } + } + } +} \ No newline at end of file diff --git a/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/package-info.java b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/package-info.java new file mode 100644 index 000000000000..d21ff3ab2b69 --- /dev/null +++ b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/package-info.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +/** + * A client to Agent Registry API + * + *

The interfaces provided are listed below, along with usage samples. + * + *

======================= AgentRegistryClient ======================= + * + *

Service Description: Service for managing Agents, Endpoints, McpServers, Services, and + * Bindings. + * + *

Sample for AgentRegistryClient: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) {
+ *   AgentName name = AgentName.of("[PROJECT]", "[LOCATION]", "[AGENT]");
+ *   Agent response = agentRegistryClient.getAgent(name);
+ * }
+ * }
+ */ +@Generated("by gapic-generator-java") +package com.google.cloud.agentregistry.v1; + +import javax.annotation.Generated; diff --git a/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/AgentRegistryStub.java b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/AgentRegistryStub.java new file mode 100644 index 000000000000..c2523ee90dfa --- /dev/null +++ b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/AgentRegistryStub.java @@ -0,0 +1,251 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.stub; + +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.FetchAvailableBindingsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListAgentsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListBindingsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListEndpointsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListLocationsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListMcpServersPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListServicesPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.SearchAgentsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.SearchMcpServersPagedResponse; + +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.agentregistry.v1.Agent; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.CreateBindingRequest; +import com.google.cloud.agentregistry.v1.CreateServiceRequest; +import com.google.cloud.agentregistry.v1.DeleteBindingRequest; +import com.google.cloud.agentregistry.v1.DeleteServiceRequest; +import com.google.cloud.agentregistry.v1.Endpoint; +import com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest; +import com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse; +import com.google.cloud.agentregistry.v1.GetAgentRequest; +import com.google.cloud.agentregistry.v1.GetBindingRequest; +import com.google.cloud.agentregistry.v1.GetEndpointRequest; +import com.google.cloud.agentregistry.v1.GetMcpServerRequest; +import com.google.cloud.agentregistry.v1.GetServiceRequest; +import com.google.cloud.agentregistry.v1.ListAgentsRequest; +import com.google.cloud.agentregistry.v1.ListAgentsResponse; +import com.google.cloud.agentregistry.v1.ListBindingsRequest; +import com.google.cloud.agentregistry.v1.ListBindingsResponse; +import com.google.cloud.agentregistry.v1.ListEndpointsRequest; +import com.google.cloud.agentregistry.v1.ListEndpointsResponse; +import com.google.cloud.agentregistry.v1.ListMcpServersRequest; +import com.google.cloud.agentregistry.v1.ListMcpServersResponse; +import com.google.cloud.agentregistry.v1.ListServicesRequest; +import com.google.cloud.agentregistry.v1.ListServicesResponse; +import com.google.cloud.agentregistry.v1.McpServer; +import com.google.cloud.agentregistry.v1.OperationMetadata; +import com.google.cloud.agentregistry.v1.SearchAgentsRequest; +import com.google.cloud.agentregistry.v1.SearchAgentsResponse; +import com.google.cloud.agentregistry.v1.SearchMcpServersRequest; +import com.google.cloud.agentregistry.v1.SearchMcpServersResponse; +import com.google.cloud.agentregistry.v1.Service; +import com.google.cloud.agentregistry.v1.UpdateBindingRequest; +import com.google.cloud.agentregistry.v1.UpdateServiceRequest; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.longrunning.Operation; +import com.google.longrunning.stub.OperationsStub; +import com.google.protobuf.Empty; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * Base stub class for the AgentRegistry service API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@Generated("by gapic-generator-java") +public abstract class AgentRegistryStub implements BackgroundResource { + + public OperationsStub getOperationsStub() { + return null; + } + + public com.google.api.gax.httpjson.longrunning.stub.OperationsStub getHttpJsonOperationsStub() { + return null; + } + + public UnaryCallable listAgentsPagedCallable() { + throw new UnsupportedOperationException("Not implemented: listAgentsPagedCallable()"); + } + + public UnaryCallable listAgentsCallable() { + throw new UnsupportedOperationException("Not implemented: listAgentsCallable()"); + } + + public UnaryCallable searchAgentsPagedCallable() { + throw new UnsupportedOperationException("Not implemented: searchAgentsPagedCallable()"); + } + + public UnaryCallable searchAgentsCallable() { + throw new UnsupportedOperationException("Not implemented: searchAgentsCallable()"); + } + + public UnaryCallable getAgentCallable() { + throw new UnsupportedOperationException("Not implemented: getAgentCallable()"); + } + + public UnaryCallable + listEndpointsPagedCallable() { + throw new UnsupportedOperationException("Not implemented: listEndpointsPagedCallable()"); + } + + public UnaryCallable listEndpointsCallable() { + throw new UnsupportedOperationException("Not implemented: listEndpointsCallable()"); + } + + public UnaryCallable getEndpointCallable() { + throw new UnsupportedOperationException("Not implemented: getEndpointCallable()"); + } + + public UnaryCallable + listMcpServersPagedCallable() { + throw new UnsupportedOperationException("Not implemented: listMcpServersPagedCallable()"); + } + + public UnaryCallable listMcpServersCallable() { + throw new UnsupportedOperationException("Not implemented: listMcpServersCallable()"); + } + + public UnaryCallable + searchMcpServersPagedCallable() { + throw new UnsupportedOperationException("Not implemented: searchMcpServersPagedCallable()"); + } + + public UnaryCallable + searchMcpServersCallable() { + throw new UnsupportedOperationException("Not implemented: searchMcpServersCallable()"); + } + + public UnaryCallable getMcpServerCallable() { + throw new UnsupportedOperationException("Not implemented: getMcpServerCallable()"); + } + + public UnaryCallable listServicesPagedCallable() { + throw new UnsupportedOperationException("Not implemented: listServicesPagedCallable()"); + } + + public UnaryCallable listServicesCallable() { + throw new UnsupportedOperationException("Not implemented: listServicesCallable()"); + } + + public UnaryCallable getServiceCallable() { + throw new UnsupportedOperationException("Not implemented: getServiceCallable()"); + } + + public OperationCallable + createServiceOperationCallable() { + throw new UnsupportedOperationException("Not implemented: createServiceOperationCallable()"); + } + + public UnaryCallable createServiceCallable() { + throw new UnsupportedOperationException("Not implemented: createServiceCallable()"); + } + + public OperationCallable + updateServiceOperationCallable() { + throw new UnsupportedOperationException("Not implemented: updateServiceOperationCallable()"); + } + + public UnaryCallable updateServiceCallable() { + throw new UnsupportedOperationException("Not implemented: updateServiceCallable()"); + } + + public OperationCallable + deleteServiceOperationCallable() { + throw new UnsupportedOperationException("Not implemented: deleteServiceOperationCallable()"); + } + + public UnaryCallable deleteServiceCallable() { + throw new UnsupportedOperationException("Not implemented: deleteServiceCallable()"); + } + + public UnaryCallable listBindingsPagedCallable() { + throw new UnsupportedOperationException("Not implemented: listBindingsPagedCallable()"); + } + + public UnaryCallable listBindingsCallable() { + throw new UnsupportedOperationException("Not implemented: listBindingsCallable()"); + } + + public UnaryCallable getBindingCallable() { + throw new UnsupportedOperationException("Not implemented: getBindingCallable()"); + } + + public OperationCallable + createBindingOperationCallable() { + throw new UnsupportedOperationException("Not implemented: createBindingOperationCallable()"); + } + + public UnaryCallable createBindingCallable() { + throw new UnsupportedOperationException("Not implemented: createBindingCallable()"); + } + + public OperationCallable + updateBindingOperationCallable() { + throw new UnsupportedOperationException("Not implemented: updateBindingOperationCallable()"); + } + + public UnaryCallable updateBindingCallable() { + throw new UnsupportedOperationException("Not implemented: updateBindingCallable()"); + } + + public OperationCallable + deleteBindingOperationCallable() { + throw new UnsupportedOperationException("Not implemented: deleteBindingOperationCallable()"); + } + + public UnaryCallable deleteBindingCallable() { + throw new UnsupportedOperationException("Not implemented: deleteBindingCallable()"); + } + + public UnaryCallable + fetchAvailableBindingsPagedCallable() { + throw new UnsupportedOperationException( + "Not implemented: fetchAvailableBindingsPagedCallable()"); + } + + public UnaryCallable + fetchAvailableBindingsCallable() { + throw new UnsupportedOperationException("Not implemented: fetchAvailableBindingsCallable()"); + } + + public UnaryCallable + listLocationsPagedCallable() { + throw new UnsupportedOperationException("Not implemented: listLocationsPagedCallable()"); + } + + public UnaryCallable listLocationsCallable() { + throw new UnsupportedOperationException("Not implemented: listLocationsCallable()"); + } + + public UnaryCallable getLocationCallable() { + throw new UnsupportedOperationException("Not implemented: getLocationCallable()"); + } + + @Override + public abstract void close(); +} diff --git a/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/AgentRegistryStubSettings.java b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/AgentRegistryStubSettings.java new file mode 100644 index 000000000000..0584f40b5516 --- /dev/null +++ b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/AgentRegistryStubSettings.java @@ -0,0 +1,1706 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.stub; + +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.FetchAvailableBindingsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListAgentsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListBindingsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListEndpointsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListLocationsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListMcpServersPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListServicesPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.SearchAgentsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.SearchMcpServersPagedResponse; + +import com.google.api.core.ApiFunction; +import com.google.api.core.ApiFuture; +import com.google.api.core.BetaApi; +import com.google.api.core.ObsoleteApi; +import com.google.api.gax.core.GaxProperties; +import com.google.api.gax.core.GoogleCredentialsProvider; +import com.google.api.gax.core.InstantiatingExecutorProvider; +import com.google.api.gax.grpc.GaxGrpcProperties; +import com.google.api.gax.grpc.GrpcTransportChannel; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.grpc.ProtoOperationTransformers; +import com.google.api.gax.httpjson.GaxHttpJsonProperties; +import com.google.api.gax.httpjson.HttpJsonTransportChannel; +import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider; +import com.google.api.gax.longrunning.OperationSnapshot; +import com.google.api.gax.longrunning.OperationTimedPollAlgorithm; +import com.google.api.gax.retrying.RetrySettings; +import com.google.api.gax.rpc.ApiCallContext; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.LibraryMetadata; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.PageContext; +import com.google.api.gax.rpc.PagedCallSettings; +import com.google.api.gax.rpc.PagedListDescriptor; +import com.google.api.gax.rpc.PagedListResponseFactory; +import com.google.api.gax.rpc.StatusCode; +import com.google.api.gax.rpc.StubSettings; +import com.google.api.gax.rpc.TransportChannelProvider; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.agentregistry.v1.Agent; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.CreateBindingRequest; +import com.google.cloud.agentregistry.v1.CreateServiceRequest; +import com.google.cloud.agentregistry.v1.DeleteBindingRequest; +import com.google.cloud.agentregistry.v1.DeleteServiceRequest; +import com.google.cloud.agentregistry.v1.Endpoint; +import com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest; +import com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse; +import com.google.cloud.agentregistry.v1.GetAgentRequest; +import com.google.cloud.agentregistry.v1.GetBindingRequest; +import com.google.cloud.agentregistry.v1.GetEndpointRequest; +import com.google.cloud.agentregistry.v1.GetMcpServerRequest; +import com.google.cloud.agentregistry.v1.GetServiceRequest; +import com.google.cloud.agentregistry.v1.ListAgentsRequest; +import com.google.cloud.agentregistry.v1.ListAgentsResponse; +import com.google.cloud.agentregistry.v1.ListBindingsRequest; +import com.google.cloud.agentregistry.v1.ListBindingsResponse; +import com.google.cloud.agentregistry.v1.ListEndpointsRequest; +import com.google.cloud.agentregistry.v1.ListEndpointsResponse; +import com.google.cloud.agentregistry.v1.ListMcpServersRequest; +import com.google.cloud.agentregistry.v1.ListMcpServersResponse; +import com.google.cloud.agentregistry.v1.ListServicesRequest; +import com.google.cloud.agentregistry.v1.ListServicesResponse; +import com.google.cloud.agentregistry.v1.McpServer; +import com.google.cloud.agentregistry.v1.OperationMetadata; +import com.google.cloud.agentregistry.v1.SearchAgentsRequest; +import com.google.cloud.agentregistry.v1.SearchAgentsResponse; +import com.google.cloud.agentregistry.v1.SearchMcpServersRequest; +import com.google.cloud.agentregistry.v1.SearchMcpServersResponse; +import com.google.cloud.agentregistry.v1.Service; +import com.google.cloud.agentregistry.v1.UpdateBindingRequest; +import com.google.cloud.agentregistry.v1.UpdateServiceRequest; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Lists; +import com.google.longrunning.Operation; +import com.google.protobuf.Empty; +import java.io.IOException; +import java.time.Duration; +import java.util.List; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * Settings class to configure an instance of {@link AgentRegistryStub}. + * + *

The default instance has everything set to sensible defaults: + * + *

    + *
  • The default service address (agentregistry.googleapis.com) and default port (443) are used. + *
  • Credentials are acquired automatically through Application Default Credentials. + *
  • Retries are configured for idempotent methods but not for non-idempotent methods. + *
+ * + *

The builder of this class is recursive, so contained classes are themselves builders. When + * build() is called, the tree of builders is called to create the complete settings object. + * + *

For example, to set the + * [RetrySettings](https://cloud.google.com/java/docs/reference/gax/latest/com.google.api.gax.retrying.RetrySettings) + * of getAgent: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * AgentRegistryStubSettings.Builder agentRegistrySettingsBuilder =
+ *     AgentRegistryStubSettings.newBuilder();
+ * agentRegistrySettingsBuilder
+ *     .getAgentSettings()
+ *     .setRetrySettings(
+ *         agentRegistrySettingsBuilder
+ *             .getAgentSettings()
+ *             .getRetrySettings()
+ *             .toBuilder()
+ *             .setInitialRetryDelayDuration(Duration.ofSeconds(1))
+ *             .setInitialRpcTimeoutDuration(Duration.ofSeconds(5))
+ *             .setMaxAttempts(5)
+ *             .setMaxRetryDelayDuration(Duration.ofSeconds(30))
+ *             .setMaxRpcTimeoutDuration(Duration.ofSeconds(60))
+ *             .setRetryDelayMultiplier(1.3)
+ *             .setRpcTimeoutMultiplier(1.5)
+ *             .setTotalTimeoutDuration(Duration.ofSeconds(300))
+ *             .build());
+ * AgentRegistryStubSettings agentRegistrySettings = agentRegistrySettingsBuilder.build();
+ * }
+ * + * Please refer to the [Client Side Retry + * Guide](https://docs.cloud.google.com/java/docs/client-retries) for additional support in setting + * retries. + * + *

To configure the RetrySettings of a Long Running Operation method, create an + * OperationTimedPollAlgorithm object and update the RPC's polling algorithm. For example, to + * configure the RetrySettings for createService: + * + *

{@code
+ * // This snippet has been automatically generated and should be regarded as a code template only.
+ * // It will require modifications to work:
+ * // - It may require correct/in-range values for request initialization.
+ * // - It may require specifying regional endpoints when creating the service client as shown in
+ * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+ * AgentRegistryStubSettings.Builder agentRegistrySettingsBuilder =
+ *     AgentRegistryStubSettings.newBuilder();
+ * TimedRetryAlgorithm timedRetryAlgorithm =
+ *     OperationalTimedPollAlgorithm.create(
+ *         RetrySettings.newBuilder()
+ *             .setInitialRetryDelayDuration(Duration.ofMillis(500))
+ *             .setRetryDelayMultiplier(1.5)
+ *             .setMaxRetryDelayDuration(Duration.ofMillis(5000))
+ *             .setTotalTimeoutDuration(Duration.ofHours(24))
+ *             .build());
+ * agentRegistrySettingsBuilder
+ *     .createClusterOperationSettings()
+ *     .setPollingAlgorithm(timedRetryAlgorithm)
+ *     .build();
+ * }
+ */ +@Generated("by gapic-generator-java") +@SuppressWarnings("CanonicalDuration") +public class AgentRegistryStubSettings extends StubSettings { + /** The default scopes of the service. */ + private static final ImmutableList DEFAULT_SERVICE_SCOPES = + ImmutableList.builder() + .add("https://www.googleapis.com/auth/agentregistry.read-only") + .add("https://www.googleapis.com/auth/agentregistry.read-write") + .add("https://www.googleapis.com/auth/cloud-platform") + .add("https://www.googleapis.com/auth/cloud-platform.read-only") + .build(); + + private final PagedCallSettings + listAgentsSettings; + private final PagedCallSettings< + SearchAgentsRequest, SearchAgentsResponse, SearchAgentsPagedResponse> + searchAgentsSettings; + private final UnaryCallSettings getAgentSettings; + private final PagedCallSettings< + ListEndpointsRequest, ListEndpointsResponse, ListEndpointsPagedResponse> + listEndpointsSettings; + private final UnaryCallSettings getEndpointSettings; + private final PagedCallSettings< + ListMcpServersRequest, ListMcpServersResponse, ListMcpServersPagedResponse> + listMcpServersSettings; + private final PagedCallSettings< + SearchMcpServersRequest, SearchMcpServersResponse, SearchMcpServersPagedResponse> + searchMcpServersSettings; + private final UnaryCallSettings getMcpServerSettings; + private final PagedCallSettings< + ListServicesRequest, ListServicesResponse, ListServicesPagedResponse> + listServicesSettings; + private final UnaryCallSettings getServiceSettings; + private final UnaryCallSettings createServiceSettings; + private final OperationCallSettings + createServiceOperationSettings; + private final UnaryCallSettings updateServiceSettings; + private final OperationCallSettings + updateServiceOperationSettings; + private final UnaryCallSettings deleteServiceSettings; + private final OperationCallSettings + deleteServiceOperationSettings; + private final PagedCallSettings< + ListBindingsRequest, ListBindingsResponse, ListBindingsPagedResponse> + listBindingsSettings; + private final UnaryCallSettings getBindingSettings; + private final UnaryCallSettings createBindingSettings; + private final OperationCallSettings + createBindingOperationSettings; + private final UnaryCallSettings updateBindingSettings; + private final OperationCallSettings + updateBindingOperationSettings; + private final UnaryCallSettings deleteBindingSettings; + private final OperationCallSettings + deleteBindingOperationSettings; + private final PagedCallSettings< + FetchAvailableBindingsRequest, + FetchAvailableBindingsResponse, + FetchAvailableBindingsPagedResponse> + fetchAvailableBindingsSettings; + private final PagedCallSettings< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> + listLocationsSettings; + private final UnaryCallSettings getLocationSettings; + + private static final PagedListDescriptor + LIST_AGENTS_PAGE_STR_DESC = + new PagedListDescriptor() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public ListAgentsRequest injectToken(ListAgentsRequest payload, String token) { + return ListAgentsRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public ListAgentsRequest injectPageSize(ListAgentsRequest payload, int pageSize) { + return ListAgentsRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(ListAgentsRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(ListAgentsResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(ListAgentsResponse payload) { + return payload.getAgentsList(); + } + }; + + private static final PagedListDescriptor + SEARCH_AGENTS_PAGE_STR_DESC = + new PagedListDescriptor() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public SearchAgentsRequest injectToken(SearchAgentsRequest payload, String token) { + return SearchAgentsRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public SearchAgentsRequest injectPageSize(SearchAgentsRequest payload, int pageSize) { + return SearchAgentsRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(SearchAgentsRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(SearchAgentsResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(SearchAgentsResponse payload) { + return payload.getAgentsList(); + } + }; + + private static final PagedListDescriptor + LIST_ENDPOINTS_PAGE_STR_DESC = + new PagedListDescriptor() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public ListEndpointsRequest injectToken(ListEndpointsRequest payload, String token) { + return ListEndpointsRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public ListEndpointsRequest injectPageSize(ListEndpointsRequest payload, int pageSize) { + return ListEndpointsRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(ListEndpointsRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(ListEndpointsResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(ListEndpointsResponse payload) { + return payload.getEndpointsList(); + } + }; + + private static final PagedListDescriptor + LIST_MCP_SERVERS_PAGE_STR_DESC = + new PagedListDescriptor() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public ListMcpServersRequest injectToken(ListMcpServersRequest payload, String token) { + return ListMcpServersRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public ListMcpServersRequest injectPageSize( + ListMcpServersRequest payload, int pageSize) { + return ListMcpServersRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(ListMcpServersRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(ListMcpServersResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(ListMcpServersResponse payload) { + return payload.getMcpServersList(); + } + }; + + private static final PagedListDescriptor< + SearchMcpServersRequest, SearchMcpServersResponse, McpServer> + SEARCH_MCP_SERVERS_PAGE_STR_DESC = + new PagedListDescriptor() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public SearchMcpServersRequest injectToken( + SearchMcpServersRequest payload, String token) { + return SearchMcpServersRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public SearchMcpServersRequest injectPageSize( + SearchMcpServersRequest payload, int pageSize) { + return SearchMcpServersRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(SearchMcpServersRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(SearchMcpServersResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(SearchMcpServersResponse payload) { + return payload.getMcpServersList(); + } + }; + + private static final PagedListDescriptor + LIST_SERVICES_PAGE_STR_DESC = + new PagedListDescriptor() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public ListServicesRequest injectToken(ListServicesRequest payload, String token) { + return ListServicesRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public ListServicesRequest injectPageSize(ListServicesRequest payload, int pageSize) { + return ListServicesRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(ListServicesRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(ListServicesResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(ListServicesResponse payload) { + return payload.getServicesList(); + } + }; + + private static final PagedListDescriptor + LIST_BINDINGS_PAGE_STR_DESC = + new PagedListDescriptor() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public ListBindingsRequest injectToken(ListBindingsRequest payload, String token) { + return ListBindingsRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public ListBindingsRequest injectPageSize(ListBindingsRequest payload, int pageSize) { + return ListBindingsRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(ListBindingsRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(ListBindingsResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(ListBindingsResponse payload) { + return payload.getBindingsList(); + } + }; + + private static final PagedListDescriptor< + FetchAvailableBindingsRequest, FetchAvailableBindingsResponse, Binding> + FETCH_AVAILABLE_BINDINGS_PAGE_STR_DESC = + new PagedListDescriptor< + FetchAvailableBindingsRequest, FetchAvailableBindingsResponse, Binding>() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public FetchAvailableBindingsRequest injectToken( + FetchAvailableBindingsRequest payload, String token) { + return FetchAvailableBindingsRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public FetchAvailableBindingsRequest injectPageSize( + FetchAvailableBindingsRequest payload, int pageSize) { + return FetchAvailableBindingsRequest.newBuilder(payload) + .setPageSize(pageSize) + .build(); + } + + @Override + public Integer extractPageSize(FetchAvailableBindingsRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(FetchAvailableBindingsResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(FetchAvailableBindingsResponse payload) { + return payload.getBindingsList(); + } + }; + + private static final PagedListDescriptor + LIST_LOCATIONS_PAGE_STR_DESC = + new PagedListDescriptor() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public ListLocationsRequest injectToken(ListLocationsRequest payload, String token) { + return ListLocationsRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public ListLocationsRequest injectPageSize(ListLocationsRequest payload, int pageSize) { + return ListLocationsRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(ListLocationsRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(ListLocationsResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(ListLocationsResponse payload) { + return payload.getLocationsList(); + } + }; + + private static final PagedListResponseFactory< + ListAgentsRequest, ListAgentsResponse, ListAgentsPagedResponse> + LIST_AGENTS_PAGE_STR_FACT = + new PagedListResponseFactory< + ListAgentsRequest, ListAgentsResponse, ListAgentsPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + ListAgentsRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext pageContext = + PageContext.create(callable, LIST_AGENTS_PAGE_STR_DESC, request, context); + return ListAgentsPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + private static final PagedListResponseFactory< + SearchAgentsRequest, SearchAgentsResponse, SearchAgentsPagedResponse> + SEARCH_AGENTS_PAGE_STR_FACT = + new PagedListResponseFactory< + SearchAgentsRequest, SearchAgentsResponse, SearchAgentsPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + SearchAgentsRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext pageContext = + PageContext.create(callable, SEARCH_AGENTS_PAGE_STR_DESC, request, context); + return SearchAgentsPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + private static final PagedListResponseFactory< + ListEndpointsRequest, ListEndpointsResponse, ListEndpointsPagedResponse> + LIST_ENDPOINTS_PAGE_STR_FACT = + new PagedListResponseFactory< + ListEndpointsRequest, ListEndpointsResponse, ListEndpointsPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + ListEndpointsRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext pageContext = + PageContext.create(callable, LIST_ENDPOINTS_PAGE_STR_DESC, request, context); + return ListEndpointsPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + private static final PagedListResponseFactory< + ListMcpServersRequest, ListMcpServersResponse, ListMcpServersPagedResponse> + LIST_MCP_SERVERS_PAGE_STR_FACT = + new PagedListResponseFactory< + ListMcpServersRequest, ListMcpServersResponse, ListMcpServersPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + ListMcpServersRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext pageContext = + PageContext.create(callable, LIST_MCP_SERVERS_PAGE_STR_DESC, request, context); + return ListMcpServersPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + private static final PagedListResponseFactory< + SearchMcpServersRequest, SearchMcpServersResponse, SearchMcpServersPagedResponse> + SEARCH_MCP_SERVERS_PAGE_STR_FACT = + new PagedListResponseFactory< + SearchMcpServersRequest, SearchMcpServersResponse, SearchMcpServersPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + SearchMcpServersRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext + pageContext = + PageContext.create( + callable, SEARCH_MCP_SERVERS_PAGE_STR_DESC, request, context); + return SearchMcpServersPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + private static final PagedListResponseFactory< + ListServicesRequest, ListServicesResponse, ListServicesPagedResponse> + LIST_SERVICES_PAGE_STR_FACT = + new PagedListResponseFactory< + ListServicesRequest, ListServicesResponse, ListServicesPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + ListServicesRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext pageContext = + PageContext.create(callable, LIST_SERVICES_PAGE_STR_DESC, request, context); + return ListServicesPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + private static final PagedListResponseFactory< + ListBindingsRequest, ListBindingsResponse, ListBindingsPagedResponse> + LIST_BINDINGS_PAGE_STR_FACT = + new PagedListResponseFactory< + ListBindingsRequest, ListBindingsResponse, ListBindingsPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + ListBindingsRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext pageContext = + PageContext.create(callable, LIST_BINDINGS_PAGE_STR_DESC, request, context); + return ListBindingsPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + private static final PagedListResponseFactory< + FetchAvailableBindingsRequest, + FetchAvailableBindingsResponse, + FetchAvailableBindingsPagedResponse> + FETCH_AVAILABLE_BINDINGS_PAGE_STR_FACT = + new PagedListResponseFactory< + FetchAvailableBindingsRequest, + FetchAvailableBindingsResponse, + FetchAvailableBindingsPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable + callable, + FetchAvailableBindingsRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext + pageContext = + PageContext.create( + callable, FETCH_AVAILABLE_BINDINGS_PAGE_STR_DESC, request, context); + return FetchAvailableBindingsPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + private static final PagedListResponseFactory< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> + LIST_LOCATIONS_PAGE_STR_FACT = + new PagedListResponseFactory< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + ListLocationsRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext pageContext = + PageContext.create(callable, LIST_LOCATIONS_PAGE_STR_DESC, request, context); + return ListLocationsPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + /** Returns the object with the settings used for calls to listAgents. */ + public PagedCallSettings + listAgentsSettings() { + return listAgentsSettings; + } + + /** Returns the object with the settings used for calls to searchAgents. */ + public PagedCallSettings + searchAgentsSettings() { + return searchAgentsSettings; + } + + /** Returns the object with the settings used for calls to getAgent. */ + public UnaryCallSettings getAgentSettings() { + return getAgentSettings; + } + + /** Returns the object with the settings used for calls to listEndpoints. */ + public PagedCallSettings + listEndpointsSettings() { + return listEndpointsSettings; + } + + /** Returns the object with the settings used for calls to getEndpoint. */ + public UnaryCallSettings getEndpointSettings() { + return getEndpointSettings; + } + + /** Returns the object with the settings used for calls to listMcpServers. */ + public PagedCallSettings< + ListMcpServersRequest, ListMcpServersResponse, ListMcpServersPagedResponse> + listMcpServersSettings() { + return listMcpServersSettings; + } + + /** Returns the object with the settings used for calls to searchMcpServers. */ + public PagedCallSettings< + SearchMcpServersRequest, SearchMcpServersResponse, SearchMcpServersPagedResponse> + searchMcpServersSettings() { + return searchMcpServersSettings; + } + + /** Returns the object with the settings used for calls to getMcpServer. */ + public UnaryCallSettings getMcpServerSettings() { + return getMcpServerSettings; + } + + /** Returns the object with the settings used for calls to listServices. */ + public PagedCallSettings + listServicesSettings() { + return listServicesSettings; + } + + /** Returns the object with the settings used for calls to getService. */ + public UnaryCallSettings getServiceSettings() { + return getServiceSettings; + } + + /** Returns the object with the settings used for calls to createService. */ + public UnaryCallSettings createServiceSettings() { + return createServiceSettings; + } + + /** Returns the object with the settings used for calls to createService. */ + public OperationCallSettings + createServiceOperationSettings() { + return createServiceOperationSettings; + } + + /** Returns the object with the settings used for calls to updateService. */ + public UnaryCallSettings updateServiceSettings() { + return updateServiceSettings; + } + + /** Returns the object with the settings used for calls to updateService. */ + public OperationCallSettings + updateServiceOperationSettings() { + return updateServiceOperationSettings; + } + + /** Returns the object with the settings used for calls to deleteService. */ + public UnaryCallSettings deleteServiceSettings() { + return deleteServiceSettings; + } + + /** Returns the object with the settings used for calls to deleteService. */ + public OperationCallSettings + deleteServiceOperationSettings() { + return deleteServiceOperationSettings; + } + + /** Returns the object with the settings used for calls to listBindings. */ + public PagedCallSettings + listBindingsSettings() { + return listBindingsSettings; + } + + /** Returns the object with the settings used for calls to getBinding. */ + public UnaryCallSettings getBindingSettings() { + return getBindingSettings; + } + + /** Returns the object with the settings used for calls to createBinding. */ + public UnaryCallSettings createBindingSettings() { + return createBindingSettings; + } + + /** Returns the object with the settings used for calls to createBinding. */ + public OperationCallSettings + createBindingOperationSettings() { + return createBindingOperationSettings; + } + + /** Returns the object with the settings used for calls to updateBinding. */ + public UnaryCallSettings updateBindingSettings() { + return updateBindingSettings; + } + + /** Returns the object with the settings used for calls to updateBinding. */ + public OperationCallSettings + updateBindingOperationSettings() { + return updateBindingOperationSettings; + } + + /** Returns the object with the settings used for calls to deleteBinding. */ + public UnaryCallSettings deleteBindingSettings() { + return deleteBindingSettings; + } + + /** Returns the object with the settings used for calls to deleteBinding. */ + public OperationCallSettings + deleteBindingOperationSettings() { + return deleteBindingOperationSettings; + } + + /** Returns the object with the settings used for calls to fetchAvailableBindings. */ + public PagedCallSettings< + FetchAvailableBindingsRequest, + FetchAvailableBindingsResponse, + FetchAvailableBindingsPagedResponse> + fetchAvailableBindingsSettings() { + return fetchAvailableBindingsSettings; + } + + /** Returns the object with the settings used for calls to listLocations. */ + public PagedCallSettings + listLocationsSettings() { + return listLocationsSettings; + } + + /** Returns the object with the settings used for calls to getLocation. */ + public UnaryCallSettings getLocationSettings() { + return getLocationSettings; + } + + public AgentRegistryStub createStub() throws IOException { + if (getTransportChannelProvider() + .getTransportName() + .equals(GrpcTransportChannel.getGrpcTransportName())) { + return GrpcAgentRegistryStub.create(this); + } + if (getTransportChannelProvider() + .getTransportName() + .equals(HttpJsonTransportChannel.getHttpJsonTransportName())) { + return HttpJsonAgentRegistryStub.create(this); + } + throw new UnsupportedOperationException( + String.format( + "Transport not supported: %s", getTransportChannelProvider().getTransportName())); + } + + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "agentregistry"; + } + + /** Returns a builder for the default ExecutorProvider for this service. */ + public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { + return InstantiatingExecutorProvider.newBuilder(); + } + + /** Returns the default service endpoint. */ + @ObsoleteApi("Use getEndpoint() instead") + public static String getDefaultEndpoint() { + return "agentregistry.googleapis.com:443"; + } + + /** Returns the default mTLS service endpoint. */ + public static String getDefaultMtlsEndpoint() { + return "agentregistry.mtls.googleapis.com:443"; + } + + /** Returns the default service scopes. */ + public static List getDefaultServiceScopes() { + return DEFAULT_SERVICE_SCOPES; + } + + /** Returns a builder for the default credentials for this service. */ + public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { + return GoogleCredentialsProvider.newBuilder() + .setScopesToApply(DEFAULT_SERVICE_SCOPES) + .setUseJwtAccessWithScope(true); + } + + /** Returns a builder for the default gRPC ChannelProvider for this service. */ + public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { + return InstantiatingGrpcChannelProvider.newBuilder() + .setMaxInboundMessageSize(Integer.MAX_VALUE); + } + + /** Returns a builder for the default REST ChannelProvider for this service. */ + @BetaApi + public static InstantiatingHttpJsonChannelProvider.Builder + defaultHttpJsonTransportProviderBuilder() { + return InstantiatingHttpJsonChannelProvider.newBuilder(); + } + + public static TransportChannelProvider defaultTransportChannelProvider() { + return defaultGrpcTransportProviderBuilder().build(); + } + + public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() { + return ApiClientHeaderProvider.newBuilder() + .setGeneratedLibToken( + "gapic", GaxProperties.getLibraryVersion(AgentRegistryStubSettings.class)) + .setTransportToken( + GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion()); + } + + public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() { + return ApiClientHeaderProvider.newBuilder() + .setGeneratedLibToken( + "gapic", GaxProperties.getLibraryVersion(AgentRegistryStubSettings.class)) + .setTransportToken( + GaxHttpJsonProperties.getHttpJsonTokenName(), + GaxHttpJsonProperties.getHttpJsonVersion()); + } + + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return AgentRegistryStubSettings.defaultGrpcApiClientHeaderProviderBuilder(); + } + + /** Returns a new gRPC builder for this class. */ + public static Builder newBuilder() { + return Builder.createDefault(); + } + + /** Returns a new REST builder for this class. */ + public static Builder newHttpJsonBuilder() { + return Builder.createHttpJsonDefault(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder(ClientContext clientContext) { + return new Builder(clientContext); + } + + /** Returns a builder containing all the values of this settings class. */ + public Builder toBuilder() { + return new Builder(this); + } + + protected AgentRegistryStubSettings(Builder settingsBuilder) throws IOException { + super(settingsBuilder); + + listAgentsSettings = settingsBuilder.listAgentsSettings().build(); + searchAgentsSettings = settingsBuilder.searchAgentsSettings().build(); + getAgentSettings = settingsBuilder.getAgentSettings().build(); + listEndpointsSettings = settingsBuilder.listEndpointsSettings().build(); + getEndpointSettings = settingsBuilder.getEndpointSettings().build(); + listMcpServersSettings = settingsBuilder.listMcpServersSettings().build(); + searchMcpServersSettings = settingsBuilder.searchMcpServersSettings().build(); + getMcpServerSettings = settingsBuilder.getMcpServerSettings().build(); + listServicesSettings = settingsBuilder.listServicesSettings().build(); + getServiceSettings = settingsBuilder.getServiceSettings().build(); + createServiceSettings = settingsBuilder.createServiceSettings().build(); + createServiceOperationSettings = settingsBuilder.createServiceOperationSettings().build(); + updateServiceSettings = settingsBuilder.updateServiceSettings().build(); + updateServiceOperationSettings = settingsBuilder.updateServiceOperationSettings().build(); + deleteServiceSettings = settingsBuilder.deleteServiceSettings().build(); + deleteServiceOperationSettings = settingsBuilder.deleteServiceOperationSettings().build(); + listBindingsSettings = settingsBuilder.listBindingsSettings().build(); + getBindingSettings = settingsBuilder.getBindingSettings().build(); + createBindingSettings = settingsBuilder.createBindingSettings().build(); + createBindingOperationSettings = settingsBuilder.createBindingOperationSettings().build(); + updateBindingSettings = settingsBuilder.updateBindingSettings().build(); + updateBindingOperationSettings = settingsBuilder.updateBindingOperationSettings().build(); + deleteBindingSettings = settingsBuilder.deleteBindingSettings().build(); + deleteBindingOperationSettings = settingsBuilder.deleteBindingOperationSettings().build(); + fetchAvailableBindingsSettings = settingsBuilder.fetchAvailableBindingsSettings().build(); + listLocationsSettings = settingsBuilder.listLocationsSettings().build(); + getLocationSettings = settingsBuilder.getLocationSettings().build(); + } + + @Override + protected LibraryMetadata getLibraryMetadata() { + return LibraryMetadata.newBuilder() + .setArtifactName("com.google.cloud:google-cloud-agentregistry") + .setRepository("googleapis/google-cloud-java") + .setVersion(Version.VERSION) + .build(); + } + + /** Builder for AgentRegistryStubSettings. */ + public static class Builder extends StubSettings.Builder { + private final ImmutableList> unaryMethodSettingsBuilders; + private final PagedCallSettings.Builder< + ListAgentsRequest, ListAgentsResponse, ListAgentsPagedResponse> + listAgentsSettings; + private final PagedCallSettings.Builder< + SearchAgentsRequest, SearchAgentsResponse, SearchAgentsPagedResponse> + searchAgentsSettings; + private final UnaryCallSettings.Builder getAgentSettings; + private final PagedCallSettings.Builder< + ListEndpointsRequest, ListEndpointsResponse, ListEndpointsPagedResponse> + listEndpointsSettings; + private final UnaryCallSettings.Builder getEndpointSettings; + private final PagedCallSettings.Builder< + ListMcpServersRequest, ListMcpServersResponse, ListMcpServersPagedResponse> + listMcpServersSettings; + private final PagedCallSettings.Builder< + SearchMcpServersRequest, SearchMcpServersResponse, SearchMcpServersPagedResponse> + searchMcpServersSettings; + private final UnaryCallSettings.Builder getMcpServerSettings; + private final PagedCallSettings.Builder< + ListServicesRequest, ListServicesResponse, ListServicesPagedResponse> + listServicesSettings; + private final UnaryCallSettings.Builder getServiceSettings; + private final UnaryCallSettings.Builder createServiceSettings; + private final OperationCallSettings.Builder + createServiceOperationSettings; + private final UnaryCallSettings.Builder updateServiceSettings; + private final OperationCallSettings.Builder + updateServiceOperationSettings; + private final UnaryCallSettings.Builder deleteServiceSettings; + private final OperationCallSettings.Builder + deleteServiceOperationSettings; + private final PagedCallSettings.Builder< + ListBindingsRequest, ListBindingsResponse, ListBindingsPagedResponse> + listBindingsSettings; + private final UnaryCallSettings.Builder getBindingSettings; + private final UnaryCallSettings.Builder createBindingSettings; + private final OperationCallSettings.Builder + createBindingOperationSettings; + private final UnaryCallSettings.Builder updateBindingSettings; + private final OperationCallSettings.Builder + updateBindingOperationSettings; + private final UnaryCallSettings.Builder deleteBindingSettings; + private final OperationCallSettings.Builder + deleteBindingOperationSettings; + private final PagedCallSettings.Builder< + FetchAvailableBindingsRequest, + FetchAvailableBindingsResponse, + FetchAvailableBindingsPagedResponse> + fetchAvailableBindingsSettings; + private final PagedCallSettings.Builder< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> + listLocationsSettings; + private final UnaryCallSettings.Builder getLocationSettings; + private static final ImmutableMap> + RETRYABLE_CODE_DEFINITIONS; + + static { + ImmutableMap.Builder> definitions = + ImmutableMap.builder(); + definitions.put( + "retry_policy_0_codes", + ImmutableSet.copyOf(Lists.newArrayList(StatusCode.Code.UNAVAILABLE))); + definitions.put( + "no_retry_1_codes", ImmutableSet.copyOf(Lists.newArrayList())); + definitions.put("no_retry_codes", ImmutableSet.copyOf(Lists.newArrayList())); + RETRYABLE_CODE_DEFINITIONS = definitions.build(); + } + + private static final ImmutableMap RETRY_PARAM_DEFINITIONS; + + static { + ImmutableMap.Builder definitions = ImmutableMap.builder(); + RetrySettings settings = null; + settings = + RetrySettings.newBuilder() + .setInitialRetryDelayDuration(Duration.ofMillis(1000L)) + .setRetryDelayMultiplier(1.3) + .setMaxRetryDelayDuration(Duration.ofMillis(10000L)) + .setInitialRpcTimeoutDuration(Duration.ofMillis(60000L)) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeoutDuration(Duration.ofMillis(60000L)) + .setTotalTimeoutDuration(Duration.ofMillis(60000L)) + .build(); + definitions.put("retry_policy_0_params", settings); + settings = + RetrySettings.newBuilder() + .setInitialRpcTimeoutDuration(Duration.ofMillis(60000L)) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeoutDuration(Duration.ofMillis(60000L)) + .setTotalTimeoutDuration(Duration.ofMillis(60000L)) + .build(); + definitions.put("no_retry_1_params", settings); + settings = RetrySettings.newBuilder().setRpcTimeoutMultiplier(1.0).build(); + definitions.put("no_retry_params", settings); + RETRY_PARAM_DEFINITIONS = definitions.build(); + } + + protected Builder() { + this(((ClientContext) null)); + } + + protected Builder(ClientContext clientContext) { + super(clientContext); + + listAgentsSettings = PagedCallSettings.newBuilder(LIST_AGENTS_PAGE_STR_FACT); + searchAgentsSettings = PagedCallSettings.newBuilder(SEARCH_AGENTS_PAGE_STR_FACT); + getAgentSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + listEndpointsSettings = PagedCallSettings.newBuilder(LIST_ENDPOINTS_PAGE_STR_FACT); + getEndpointSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + listMcpServersSettings = PagedCallSettings.newBuilder(LIST_MCP_SERVERS_PAGE_STR_FACT); + searchMcpServersSettings = PagedCallSettings.newBuilder(SEARCH_MCP_SERVERS_PAGE_STR_FACT); + getMcpServerSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + listServicesSettings = PagedCallSettings.newBuilder(LIST_SERVICES_PAGE_STR_FACT); + getServiceSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + createServiceSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + createServiceOperationSettings = OperationCallSettings.newBuilder(); + updateServiceSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + updateServiceOperationSettings = OperationCallSettings.newBuilder(); + deleteServiceSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + deleteServiceOperationSettings = OperationCallSettings.newBuilder(); + listBindingsSettings = PagedCallSettings.newBuilder(LIST_BINDINGS_PAGE_STR_FACT); + getBindingSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + createBindingSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + createBindingOperationSettings = OperationCallSettings.newBuilder(); + updateBindingSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + updateBindingOperationSettings = OperationCallSettings.newBuilder(); + deleteBindingSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + deleteBindingOperationSettings = OperationCallSettings.newBuilder(); + fetchAvailableBindingsSettings = + PagedCallSettings.newBuilder(FETCH_AVAILABLE_BINDINGS_PAGE_STR_FACT); + listLocationsSettings = PagedCallSettings.newBuilder(LIST_LOCATIONS_PAGE_STR_FACT); + getLocationSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of( + listAgentsSettings, + searchAgentsSettings, + getAgentSettings, + listEndpointsSettings, + getEndpointSettings, + listMcpServersSettings, + searchMcpServersSettings, + getMcpServerSettings, + listServicesSettings, + getServiceSettings, + createServiceSettings, + updateServiceSettings, + deleteServiceSettings, + listBindingsSettings, + getBindingSettings, + createBindingSettings, + updateBindingSettings, + deleteBindingSettings, + fetchAvailableBindingsSettings, + listLocationsSettings, + getLocationSettings); + initDefaults(this); + } + + protected Builder(AgentRegistryStubSettings settings) { + super(settings); + + listAgentsSettings = settings.listAgentsSettings.toBuilder(); + searchAgentsSettings = settings.searchAgentsSettings.toBuilder(); + getAgentSettings = settings.getAgentSettings.toBuilder(); + listEndpointsSettings = settings.listEndpointsSettings.toBuilder(); + getEndpointSettings = settings.getEndpointSettings.toBuilder(); + listMcpServersSettings = settings.listMcpServersSettings.toBuilder(); + searchMcpServersSettings = settings.searchMcpServersSettings.toBuilder(); + getMcpServerSettings = settings.getMcpServerSettings.toBuilder(); + listServicesSettings = settings.listServicesSettings.toBuilder(); + getServiceSettings = settings.getServiceSettings.toBuilder(); + createServiceSettings = settings.createServiceSettings.toBuilder(); + createServiceOperationSettings = settings.createServiceOperationSettings.toBuilder(); + updateServiceSettings = settings.updateServiceSettings.toBuilder(); + updateServiceOperationSettings = settings.updateServiceOperationSettings.toBuilder(); + deleteServiceSettings = settings.deleteServiceSettings.toBuilder(); + deleteServiceOperationSettings = settings.deleteServiceOperationSettings.toBuilder(); + listBindingsSettings = settings.listBindingsSettings.toBuilder(); + getBindingSettings = settings.getBindingSettings.toBuilder(); + createBindingSettings = settings.createBindingSettings.toBuilder(); + createBindingOperationSettings = settings.createBindingOperationSettings.toBuilder(); + updateBindingSettings = settings.updateBindingSettings.toBuilder(); + updateBindingOperationSettings = settings.updateBindingOperationSettings.toBuilder(); + deleteBindingSettings = settings.deleteBindingSettings.toBuilder(); + deleteBindingOperationSettings = settings.deleteBindingOperationSettings.toBuilder(); + fetchAvailableBindingsSettings = settings.fetchAvailableBindingsSettings.toBuilder(); + listLocationsSettings = settings.listLocationsSettings.toBuilder(); + getLocationSettings = settings.getLocationSettings.toBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of( + listAgentsSettings, + searchAgentsSettings, + getAgentSettings, + listEndpointsSettings, + getEndpointSettings, + listMcpServersSettings, + searchMcpServersSettings, + getMcpServerSettings, + listServicesSettings, + getServiceSettings, + createServiceSettings, + updateServiceSettings, + deleteServiceSettings, + listBindingsSettings, + getBindingSettings, + createBindingSettings, + updateBindingSettings, + deleteBindingSettings, + fetchAvailableBindingsSettings, + listLocationsSettings, + getLocationSettings); + } + + private static Builder createDefault() { + Builder builder = new Builder(((ClientContext) null)); + + builder.setTransportChannelProvider(defaultTransportChannelProvider()); + builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); + builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build()); + builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); + builder.setSwitchToMtlsEndpointAllowed(true); + + return initDefaults(builder); + } + + private static Builder createHttpJsonDefault() { + Builder builder = new Builder(((ClientContext) null)); + + builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build()); + builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); + builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build()); + builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); + builder.setSwitchToMtlsEndpointAllowed(true); + + return initDefaults(builder); + } + + private static Builder initDefaults(Builder builder) { + builder + .listAgentsSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .searchAgentsSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .getAgentSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .listEndpointsSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .getEndpointSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .listMcpServersSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .searchMcpServersSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .getMcpServerSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .listServicesSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .getServiceSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .createServiceSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); + + builder + .updateServiceSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); + + builder + .deleteServiceSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); + + builder + .listBindingsSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .getBindingSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .createBindingSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); + + builder + .updateBindingSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); + + builder + .deleteBindingSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); + + builder + .fetchAvailableBindingsSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + + builder + .listLocationsSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + builder + .getLocationSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + builder + .createServiceOperationSettings() + .setInitialCallSettings( + UnaryCallSettings + .newUnaryCallSettingsBuilder() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) + .build()) + .setResponseTransformer( + ProtoOperationTransformers.ResponseTransformer.create(Service.class)) + .setMetadataTransformer( + ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class)) + .setPollingAlgorithm( + OperationTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelayDuration(Duration.ofMillis(5000L)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelayDuration(Duration.ofMillis(45000L)) + .setInitialRpcTimeoutDuration(Duration.ZERO) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeoutDuration(Duration.ZERO) + .setTotalTimeoutDuration(Duration.ofMillis(300000L)) + .build())); + + builder + .updateServiceOperationSettings() + .setInitialCallSettings( + UnaryCallSettings + .newUnaryCallSettingsBuilder() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) + .build()) + .setResponseTransformer( + ProtoOperationTransformers.ResponseTransformer.create(Service.class)) + .setMetadataTransformer( + ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class)) + .setPollingAlgorithm( + OperationTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelayDuration(Duration.ofMillis(5000L)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelayDuration(Duration.ofMillis(45000L)) + .setInitialRpcTimeoutDuration(Duration.ZERO) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeoutDuration(Duration.ZERO) + .setTotalTimeoutDuration(Duration.ofMillis(300000L)) + .build())); + + builder + .deleteServiceOperationSettings() + .setInitialCallSettings( + UnaryCallSettings + .newUnaryCallSettingsBuilder() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) + .build()) + .setResponseTransformer( + ProtoOperationTransformers.ResponseTransformer.create(Empty.class)) + .setMetadataTransformer( + ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class)) + .setPollingAlgorithm( + OperationTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelayDuration(Duration.ofMillis(5000L)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelayDuration(Duration.ofMillis(45000L)) + .setInitialRpcTimeoutDuration(Duration.ZERO) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeoutDuration(Duration.ZERO) + .setTotalTimeoutDuration(Duration.ofMillis(300000L)) + .build())); + + builder + .createBindingOperationSettings() + .setInitialCallSettings( + UnaryCallSettings + .newUnaryCallSettingsBuilder() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) + .build()) + .setResponseTransformer( + ProtoOperationTransformers.ResponseTransformer.create(Binding.class)) + .setMetadataTransformer( + ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class)) + .setPollingAlgorithm( + OperationTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelayDuration(Duration.ofMillis(5000L)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelayDuration(Duration.ofMillis(45000L)) + .setInitialRpcTimeoutDuration(Duration.ZERO) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeoutDuration(Duration.ZERO) + .setTotalTimeoutDuration(Duration.ofMillis(300000L)) + .build())); + + builder + .updateBindingOperationSettings() + .setInitialCallSettings( + UnaryCallSettings + .newUnaryCallSettingsBuilder() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) + .build()) + .setResponseTransformer( + ProtoOperationTransformers.ResponseTransformer.create(Binding.class)) + .setMetadataTransformer( + ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class)) + .setPollingAlgorithm( + OperationTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelayDuration(Duration.ofMillis(5000L)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelayDuration(Duration.ofMillis(45000L)) + .setInitialRpcTimeoutDuration(Duration.ZERO) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeoutDuration(Duration.ZERO) + .setTotalTimeoutDuration(Duration.ofMillis(300000L)) + .build())); + + builder + .deleteBindingOperationSettings() + .setInitialCallSettings( + UnaryCallSettings + .newUnaryCallSettingsBuilder() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")) + .build()) + .setResponseTransformer( + ProtoOperationTransformers.ResponseTransformer.create(Empty.class)) + .setMetadataTransformer( + ProtoOperationTransformers.MetadataTransformer.create(OperationMetadata.class)) + .setPollingAlgorithm( + OperationTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelayDuration(Duration.ofMillis(5000L)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelayDuration(Duration.ofMillis(45000L)) + .setInitialRpcTimeoutDuration(Duration.ZERO) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeoutDuration(Duration.ZERO) + .setTotalTimeoutDuration(Duration.ofMillis(300000L)) + .build())); + + return builder; + } + + /** + * Applies the given settings updater function to all of the unary API methods in this service. + * + *

Note: This method does not support applying settings to streaming methods. + */ + public Builder applyToAllUnaryMethods( + ApiFunction, Void> settingsUpdater) { + super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater); + return this; + } + + public ImmutableList> unaryMethodSettingsBuilders() { + return unaryMethodSettingsBuilders; + } + + /** Returns the builder for the settings used for calls to listAgents. */ + public PagedCallSettings.Builder + listAgentsSettings() { + return listAgentsSettings; + } + + /** Returns the builder for the settings used for calls to searchAgents. */ + public PagedCallSettings.Builder< + SearchAgentsRequest, SearchAgentsResponse, SearchAgentsPagedResponse> + searchAgentsSettings() { + return searchAgentsSettings; + } + + /** Returns the builder for the settings used for calls to getAgent. */ + public UnaryCallSettings.Builder getAgentSettings() { + return getAgentSettings; + } + + /** Returns the builder for the settings used for calls to listEndpoints. */ + public PagedCallSettings.Builder< + ListEndpointsRequest, ListEndpointsResponse, ListEndpointsPagedResponse> + listEndpointsSettings() { + return listEndpointsSettings; + } + + /** Returns the builder for the settings used for calls to getEndpoint. */ + public UnaryCallSettings.Builder getEndpointSettings() { + return getEndpointSettings; + } + + /** Returns the builder for the settings used for calls to listMcpServers. */ + public PagedCallSettings.Builder< + ListMcpServersRequest, ListMcpServersResponse, ListMcpServersPagedResponse> + listMcpServersSettings() { + return listMcpServersSettings; + } + + /** Returns the builder for the settings used for calls to searchMcpServers. */ + public PagedCallSettings.Builder< + SearchMcpServersRequest, SearchMcpServersResponse, SearchMcpServersPagedResponse> + searchMcpServersSettings() { + return searchMcpServersSettings; + } + + /** Returns the builder for the settings used for calls to getMcpServer. */ + public UnaryCallSettings.Builder getMcpServerSettings() { + return getMcpServerSettings; + } + + /** Returns the builder for the settings used for calls to listServices. */ + public PagedCallSettings.Builder< + ListServicesRequest, ListServicesResponse, ListServicesPagedResponse> + listServicesSettings() { + return listServicesSettings; + } + + /** Returns the builder for the settings used for calls to getService. */ + public UnaryCallSettings.Builder getServiceSettings() { + return getServiceSettings; + } + + /** Returns the builder for the settings used for calls to createService. */ + public UnaryCallSettings.Builder createServiceSettings() { + return createServiceSettings; + } + + /** Returns the builder for the settings used for calls to createService. */ + public OperationCallSettings.Builder + createServiceOperationSettings() { + return createServiceOperationSettings; + } + + /** Returns the builder for the settings used for calls to updateService. */ + public UnaryCallSettings.Builder updateServiceSettings() { + return updateServiceSettings; + } + + /** Returns the builder for the settings used for calls to updateService. */ + public OperationCallSettings.Builder + updateServiceOperationSettings() { + return updateServiceOperationSettings; + } + + /** Returns the builder for the settings used for calls to deleteService. */ + public UnaryCallSettings.Builder deleteServiceSettings() { + return deleteServiceSettings; + } + + /** Returns the builder for the settings used for calls to deleteService. */ + public OperationCallSettings.Builder + deleteServiceOperationSettings() { + return deleteServiceOperationSettings; + } + + /** Returns the builder for the settings used for calls to listBindings. */ + public PagedCallSettings.Builder< + ListBindingsRequest, ListBindingsResponse, ListBindingsPagedResponse> + listBindingsSettings() { + return listBindingsSettings; + } + + /** Returns the builder for the settings used for calls to getBinding. */ + public UnaryCallSettings.Builder getBindingSettings() { + return getBindingSettings; + } + + /** Returns the builder for the settings used for calls to createBinding. */ + public UnaryCallSettings.Builder createBindingSettings() { + return createBindingSettings; + } + + /** Returns the builder for the settings used for calls to createBinding. */ + public OperationCallSettings.Builder + createBindingOperationSettings() { + return createBindingOperationSettings; + } + + /** Returns the builder for the settings used for calls to updateBinding. */ + public UnaryCallSettings.Builder updateBindingSettings() { + return updateBindingSettings; + } + + /** Returns the builder for the settings used for calls to updateBinding. */ + public OperationCallSettings.Builder + updateBindingOperationSettings() { + return updateBindingOperationSettings; + } + + /** Returns the builder for the settings used for calls to deleteBinding. */ + public UnaryCallSettings.Builder deleteBindingSettings() { + return deleteBindingSettings; + } + + /** Returns the builder for the settings used for calls to deleteBinding. */ + public OperationCallSettings.Builder + deleteBindingOperationSettings() { + return deleteBindingOperationSettings; + } + + /** Returns the builder for the settings used for calls to fetchAvailableBindings. */ + public PagedCallSettings.Builder< + FetchAvailableBindingsRequest, + FetchAvailableBindingsResponse, + FetchAvailableBindingsPagedResponse> + fetchAvailableBindingsSettings() { + return fetchAvailableBindingsSettings; + } + + /** Returns the builder for the settings used for calls to listLocations. */ + public PagedCallSettings.Builder< + ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse> + listLocationsSettings() { + return listLocationsSettings; + } + + /** Returns the builder for the settings used for calls to getLocation. */ + public UnaryCallSettings.Builder getLocationSettings() { + return getLocationSettings; + } + + @Override + public AgentRegistryStubSettings build() throws IOException { + return new AgentRegistryStubSettings(this); + } + } +} diff --git a/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/GrpcAgentRegistryCallableFactory.java b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/GrpcAgentRegistryCallableFactory.java new file mode 100644 index 000000000000..a682ec0da295 --- /dev/null +++ b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/GrpcAgentRegistryCallableFactory.java @@ -0,0 +1,113 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.stub; + +import com.google.api.gax.grpc.GrpcCallSettings; +import com.google.api.gax.grpc.GrpcCallableFactory; +import com.google.api.gax.grpc.GrpcStubCallableFactory; +import com.google.api.gax.rpc.BatchingCallSettings; +import com.google.api.gax.rpc.BidiStreamingCallable; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.ClientStreamingCallable; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.PagedCallSettings; +import com.google.api.gax.rpc.ServerStreamingCallSettings; +import com.google.api.gax.rpc.ServerStreamingCallable; +import com.google.api.gax.rpc.StreamingCallSettings; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.longrunning.Operation; +import com.google.longrunning.stub.OperationsStub; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * gRPC callable factory implementation for the AgentRegistry service API. + * + *

This class is for advanced usage. + */ +@Generated("by gapic-generator-java") +public class GrpcAgentRegistryCallableFactory implements GrpcStubCallableFactory { + + @Override + public UnaryCallable createUnaryCallable( + GrpcCallSettings grpcCallSettings, + UnaryCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createUnaryCallable(grpcCallSettings, callSettings, clientContext); + } + + @Override + public + UnaryCallable createPagedCallable( + GrpcCallSettings grpcCallSettings, + PagedCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createPagedCallable(grpcCallSettings, callSettings, clientContext); + } + + @Override + public UnaryCallable createBatchingCallable( + GrpcCallSettings grpcCallSettings, + BatchingCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createBatchingCallable( + grpcCallSettings, callSettings, clientContext); + } + + @Override + public + OperationCallable createOperationCallable( + GrpcCallSettings grpcCallSettings, + OperationCallSettings callSettings, + ClientContext clientContext, + OperationsStub operationsStub) { + return GrpcCallableFactory.createOperationCallable( + grpcCallSettings, callSettings, clientContext, operationsStub); + } + + @Override + public + BidiStreamingCallable createBidiStreamingCallable( + GrpcCallSettings grpcCallSettings, + StreamingCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createBidiStreamingCallable( + grpcCallSettings, callSettings, clientContext); + } + + @Override + public + ServerStreamingCallable createServerStreamingCallable( + GrpcCallSettings grpcCallSettings, + ServerStreamingCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createServerStreamingCallable( + grpcCallSettings, callSettings, clientContext); + } + + @Override + public + ClientStreamingCallable createClientStreamingCallable( + GrpcCallSettings grpcCallSettings, + StreamingCallSettings callSettings, + ClientContext clientContext) { + return GrpcCallableFactory.createClientStreamingCallable( + grpcCallSettings, callSettings, clientContext); + } +} diff --git a/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/GrpcAgentRegistryStub.java b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/GrpcAgentRegistryStub.java new file mode 100644 index 000000000000..2759de2c93a5 --- /dev/null +++ b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/GrpcAgentRegistryStub.java @@ -0,0 +1,1012 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.stub; + +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.FetchAvailableBindingsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListAgentsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListBindingsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListEndpointsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListLocationsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListMcpServersPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListServicesPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.SearchAgentsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.SearchMcpServersPagedResponse; + +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.core.BackgroundResourceAggregation; +import com.google.api.gax.grpc.GrpcCallSettings; +import com.google.api.gax.grpc.GrpcStubCallableFactory; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.RequestParamsBuilder; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.agentregistry.v1.Agent; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.CreateBindingRequest; +import com.google.cloud.agentregistry.v1.CreateServiceRequest; +import com.google.cloud.agentregistry.v1.DeleteBindingRequest; +import com.google.cloud.agentregistry.v1.DeleteServiceRequest; +import com.google.cloud.agentregistry.v1.Endpoint; +import com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest; +import com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse; +import com.google.cloud.agentregistry.v1.GetAgentRequest; +import com.google.cloud.agentregistry.v1.GetBindingRequest; +import com.google.cloud.agentregistry.v1.GetEndpointRequest; +import com.google.cloud.agentregistry.v1.GetMcpServerRequest; +import com.google.cloud.agentregistry.v1.GetServiceRequest; +import com.google.cloud.agentregistry.v1.ListAgentsRequest; +import com.google.cloud.agentregistry.v1.ListAgentsResponse; +import com.google.cloud.agentregistry.v1.ListBindingsRequest; +import com.google.cloud.agentregistry.v1.ListBindingsResponse; +import com.google.cloud.agentregistry.v1.ListEndpointsRequest; +import com.google.cloud.agentregistry.v1.ListEndpointsResponse; +import com.google.cloud.agentregistry.v1.ListMcpServersRequest; +import com.google.cloud.agentregistry.v1.ListMcpServersResponse; +import com.google.cloud.agentregistry.v1.ListServicesRequest; +import com.google.cloud.agentregistry.v1.ListServicesResponse; +import com.google.cloud.agentregistry.v1.McpServer; +import com.google.cloud.agentregistry.v1.OperationMetadata; +import com.google.cloud.agentregistry.v1.SearchAgentsRequest; +import com.google.cloud.agentregistry.v1.SearchAgentsResponse; +import com.google.cloud.agentregistry.v1.SearchMcpServersRequest; +import com.google.cloud.agentregistry.v1.SearchMcpServersResponse; +import com.google.cloud.agentregistry.v1.Service; +import com.google.cloud.agentregistry.v1.UpdateBindingRequest; +import com.google.cloud.agentregistry.v1.UpdateServiceRequest; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.longrunning.Operation; +import com.google.longrunning.stub.GrpcOperationsStub; +import com.google.protobuf.Empty; +import io.grpc.MethodDescriptor; +import io.grpc.protobuf.ProtoUtils; +import java.io.IOException; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * gRPC stub implementation for the AgentRegistry service API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@Generated("by gapic-generator-java") +public class GrpcAgentRegistryStub extends AgentRegistryStub { + private static final MethodDescriptor + listAgentsMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/ListAgents") + .setRequestMarshaller(ProtoUtils.marshaller(ListAgentsRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(ListAgentsResponse.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + searchAgentsMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/SearchAgents") + .setRequestMarshaller(ProtoUtils.marshaller(SearchAgentsRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(SearchAgentsResponse.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor getAgentMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/GetAgent") + .setRequestMarshaller(ProtoUtils.marshaller(GetAgentRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Agent.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + listEndpointsMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/ListEndpoints") + .setRequestMarshaller( + ProtoUtils.marshaller(ListEndpointsRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ListEndpointsResponse.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor getEndpointMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/GetEndpoint") + .setRequestMarshaller(ProtoUtils.marshaller(GetEndpointRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Endpoint.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + listMcpServersMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/ListMcpServers") + .setRequestMarshaller( + ProtoUtils.marshaller(ListMcpServersRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ListMcpServersResponse.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + searchMcpServersMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/SearchMcpServers") + .setRequestMarshaller( + ProtoUtils.marshaller(SearchMcpServersRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(SearchMcpServersResponse.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + getMcpServerMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/GetMcpServer") + .setRequestMarshaller(ProtoUtils.marshaller(GetMcpServerRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(McpServer.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + listServicesMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/ListServices") + .setRequestMarshaller(ProtoUtils.marshaller(ListServicesRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ListServicesResponse.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor getServiceMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/GetService") + .setRequestMarshaller(ProtoUtils.marshaller(GetServiceRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Service.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + createServiceMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/CreateService") + .setRequestMarshaller( + ProtoUtils.marshaller(CreateServiceRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + updateServiceMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/UpdateService") + .setRequestMarshaller( + ProtoUtils.marshaller(UpdateServiceRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + deleteServiceMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/DeleteService") + .setRequestMarshaller( + ProtoUtils.marshaller(DeleteServiceRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + listBindingsMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/ListBindings") + .setRequestMarshaller(ProtoUtils.marshaller(ListBindingsRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ListBindingsResponse.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor getBindingMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/GetBinding") + .setRequestMarshaller(ProtoUtils.marshaller(GetBindingRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Binding.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + createBindingMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/CreateBinding") + .setRequestMarshaller( + ProtoUtils.marshaller(CreateBindingRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + updateBindingMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/UpdateBinding") + .setRequestMarshaller( + ProtoUtils.marshaller(UpdateBindingRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + deleteBindingMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/DeleteBinding") + .setRequestMarshaller( + ProtoUtils.marshaller(DeleteBindingRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor< + FetchAvailableBindingsRequest, FetchAvailableBindingsResponse> + fetchAvailableBindingsMethodDescriptor = + MethodDescriptor + .newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.agentregistry.v1.AgentRegistry/FetchAvailableBindings") + .setRequestMarshaller( + ProtoUtils.marshaller(FetchAvailableBindingsRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(FetchAvailableBindingsResponse.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor + listLocationsMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.location.Locations/ListLocations") + .setRequestMarshaller( + ProtoUtils.marshaller(ListLocationsRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ListLocationsResponse.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private static final MethodDescriptor getLocationMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.location.Locations/GetLocation") + .setRequestMarshaller(ProtoUtils.marshaller(GetLocationRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Location.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + + private final UnaryCallable listAgentsCallable; + private final UnaryCallable listAgentsPagedCallable; + private final UnaryCallable searchAgentsCallable; + private final UnaryCallable + searchAgentsPagedCallable; + private final UnaryCallable getAgentCallable; + private final UnaryCallable listEndpointsCallable; + private final UnaryCallable + listEndpointsPagedCallable; + private final UnaryCallable getEndpointCallable; + private final UnaryCallable listMcpServersCallable; + private final UnaryCallable + listMcpServersPagedCallable; + private final UnaryCallable + searchMcpServersCallable; + private final UnaryCallable + searchMcpServersPagedCallable; + private final UnaryCallable getMcpServerCallable; + private final UnaryCallable listServicesCallable; + private final UnaryCallable + listServicesPagedCallable; + private final UnaryCallable getServiceCallable; + private final UnaryCallable createServiceCallable; + private final OperationCallable + createServiceOperationCallable; + private final UnaryCallable updateServiceCallable; + private final OperationCallable + updateServiceOperationCallable; + private final UnaryCallable deleteServiceCallable; + private final OperationCallable + deleteServiceOperationCallable; + private final UnaryCallable listBindingsCallable; + private final UnaryCallable + listBindingsPagedCallable; + private final UnaryCallable getBindingCallable; + private final UnaryCallable createBindingCallable; + private final OperationCallable + createBindingOperationCallable; + private final UnaryCallable updateBindingCallable; + private final OperationCallable + updateBindingOperationCallable; + private final UnaryCallable deleteBindingCallable; + private final OperationCallable + deleteBindingOperationCallable; + private final UnaryCallable + fetchAvailableBindingsCallable; + private final UnaryCallable + fetchAvailableBindingsPagedCallable; + private final UnaryCallable listLocationsCallable; + private final UnaryCallable + listLocationsPagedCallable; + private final UnaryCallable getLocationCallable; + + private final BackgroundResource backgroundResources; + private final GrpcOperationsStub operationsStub; + private final GrpcStubCallableFactory callableFactory; + + public static final GrpcAgentRegistryStub create(AgentRegistryStubSettings settings) + throws IOException { + return new GrpcAgentRegistryStub(settings, ClientContext.create(settings)); + } + + public static final GrpcAgentRegistryStub create(ClientContext clientContext) throws IOException { + return new GrpcAgentRegistryStub(AgentRegistryStubSettings.newBuilder().build(), clientContext); + } + + public static final GrpcAgentRegistryStub create( + ClientContext clientContext, GrpcStubCallableFactory callableFactory) throws IOException { + return new GrpcAgentRegistryStub( + AgentRegistryStubSettings.newBuilder().build(), clientContext, callableFactory); + } + + /** + * Constructs an instance of GrpcAgentRegistryStub, using the given settings. This is protected so + * that it is easy to make a subclass, but otherwise, the static factory methods should be + * preferred. + */ + protected GrpcAgentRegistryStub(AgentRegistryStubSettings settings, ClientContext clientContext) + throws IOException { + this(settings, clientContext, new GrpcAgentRegistryCallableFactory()); + } + + /** + * Constructs an instance of GrpcAgentRegistryStub, using the given settings. This is protected so + * that it is easy to make a subclass, but otherwise, the static factory methods should be + * preferred. + */ + protected GrpcAgentRegistryStub( + AgentRegistryStubSettings settings, + ClientContext clientContext, + GrpcStubCallableFactory callableFactory) + throws IOException { + this.callableFactory = callableFactory; + this.operationsStub = GrpcOperationsStub.create(clientContext, callableFactory); + + GrpcCallSettings listAgentsTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(listAgentsMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + GrpcCallSettings searchAgentsTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(searchAgentsMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + GrpcCallSettings getAgentTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getAgentMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + GrpcCallSettings listEndpointsTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(listEndpointsMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + GrpcCallSettings getEndpointTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getEndpointMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + GrpcCallSettings + listMcpServersTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(listMcpServersMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + GrpcCallSettings + searchMcpServersTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(searchMcpServersMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + GrpcCallSettings getMcpServerTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getMcpServerMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + GrpcCallSettings listServicesTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(listServicesMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + GrpcCallSettings getServiceTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getServiceMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + GrpcCallSettings createServiceTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(createServiceMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + GrpcCallSettings updateServiceTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(updateServiceMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("service.name", String.valueOf(request.getService().getName())); + return builder.build(); + }) + .build(); + GrpcCallSettings deleteServiceTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(deleteServiceMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + GrpcCallSettings listBindingsTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(listBindingsMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + GrpcCallSettings getBindingTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getBindingMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + GrpcCallSettings createBindingTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(createBindingMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + GrpcCallSettings updateBindingTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(updateBindingMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("binding.name", String.valueOf(request.getBinding().getName())); + return builder.build(); + }) + .build(); + GrpcCallSettings deleteBindingTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(deleteBindingMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + GrpcCallSettings + fetchAvailableBindingsTransportSettings = + GrpcCallSettings + .newBuilder() + .setMethodDescriptor(fetchAvailableBindingsMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + GrpcCallSettings listLocationsTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(listLocationsMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .build(); + GrpcCallSettings getLocationTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getLocationMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .build(); + + this.listAgentsCallable = + callableFactory.createUnaryCallable( + listAgentsTransportSettings, settings.listAgentsSettings(), clientContext); + this.listAgentsPagedCallable = + callableFactory.createPagedCallable( + listAgentsTransportSettings, settings.listAgentsSettings(), clientContext); + this.searchAgentsCallable = + callableFactory.createUnaryCallable( + searchAgentsTransportSettings, settings.searchAgentsSettings(), clientContext); + this.searchAgentsPagedCallable = + callableFactory.createPagedCallable( + searchAgentsTransportSettings, settings.searchAgentsSettings(), clientContext); + this.getAgentCallable = + callableFactory.createUnaryCallable( + getAgentTransportSettings, settings.getAgentSettings(), clientContext); + this.listEndpointsCallable = + callableFactory.createUnaryCallable( + listEndpointsTransportSettings, settings.listEndpointsSettings(), clientContext); + this.listEndpointsPagedCallable = + callableFactory.createPagedCallable( + listEndpointsTransportSettings, settings.listEndpointsSettings(), clientContext); + this.getEndpointCallable = + callableFactory.createUnaryCallable( + getEndpointTransportSettings, settings.getEndpointSettings(), clientContext); + this.listMcpServersCallable = + callableFactory.createUnaryCallable( + listMcpServersTransportSettings, settings.listMcpServersSettings(), clientContext); + this.listMcpServersPagedCallable = + callableFactory.createPagedCallable( + listMcpServersTransportSettings, settings.listMcpServersSettings(), clientContext); + this.searchMcpServersCallable = + callableFactory.createUnaryCallable( + searchMcpServersTransportSettings, settings.searchMcpServersSettings(), clientContext); + this.searchMcpServersPagedCallable = + callableFactory.createPagedCallable( + searchMcpServersTransportSettings, settings.searchMcpServersSettings(), clientContext); + this.getMcpServerCallable = + callableFactory.createUnaryCallable( + getMcpServerTransportSettings, settings.getMcpServerSettings(), clientContext); + this.listServicesCallable = + callableFactory.createUnaryCallable( + listServicesTransportSettings, settings.listServicesSettings(), clientContext); + this.listServicesPagedCallable = + callableFactory.createPagedCallable( + listServicesTransportSettings, settings.listServicesSettings(), clientContext); + this.getServiceCallable = + callableFactory.createUnaryCallable( + getServiceTransportSettings, settings.getServiceSettings(), clientContext); + this.createServiceCallable = + callableFactory.createUnaryCallable( + createServiceTransportSettings, settings.createServiceSettings(), clientContext); + this.createServiceOperationCallable = + callableFactory.createOperationCallable( + createServiceTransportSettings, + settings.createServiceOperationSettings(), + clientContext, + operationsStub); + this.updateServiceCallable = + callableFactory.createUnaryCallable( + updateServiceTransportSettings, settings.updateServiceSettings(), clientContext); + this.updateServiceOperationCallable = + callableFactory.createOperationCallable( + updateServiceTransportSettings, + settings.updateServiceOperationSettings(), + clientContext, + operationsStub); + this.deleteServiceCallable = + callableFactory.createUnaryCallable( + deleteServiceTransportSettings, settings.deleteServiceSettings(), clientContext); + this.deleteServiceOperationCallable = + callableFactory.createOperationCallable( + deleteServiceTransportSettings, + settings.deleteServiceOperationSettings(), + clientContext, + operationsStub); + this.listBindingsCallable = + callableFactory.createUnaryCallable( + listBindingsTransportSettings, settings.listBindingsSettings(), clientContext); + this.listBindingsPagedCallable = + callableFactory.createPagedCallable( + listBindingsTransportSettings, settings.listBindingsSettings(), clientContext); + this.getBindingCallable = + callableFactory.createUnaryCallable( + getBindingTransportSettings, settings.getBindingSettings(), clientContext); + this.createBindingCallable = + callableFactory.createUnaryCallable( + createBindingTransportSettings, settings.createBindingSettings(), clientContext); + this.createBindingOperationCallable = + callableFactory.createOperationCallable( + createBindingTransportSettings, + settings.createBindingOperationSettings(), + clientContext, + operationsStub); + this.updateBindingCallable = + callableFactory.createUnaryCallable( + updateBindingTransportSettings, settings.updateBindingSettings(), clientContext); + this.updateBindingOperationCallable = + callableFactory.createOperationCallable( + updateBindingTransportSettings, + settings.updateBindingOperationSettings(), + clientContext, + operationsStub); + this.deleteBindingCallable = + callableFactory.createUnaryCallable( + deleteBindingTransportSettings, settings.deleteBindingSettings(), clientContext); + this.deleteBindingOperationCallable = + callableFactory.createOperationCallable( + deleteBindingTransportSettings, + settings.deleteBindingOperationSettings(), + clientContext, + operationsStub); + this.fetchAvailableBindingsCallable = + callableFactory.createUnaryCallable( + fetchAvailableBindingsTransportSettings, + settings.fetchAvailableBindingsSettings(), + clientContext); + this.fetchAvailableBindingsPagedCallable = + callableFactory.createPagedCallable( + fetchAvailableBindingsTransportSettings, + settings.fetchAvailableBindingsSettings(), + clientContext); + this.listLocationsCallable = + callableFactory.createUnaryCallable( + listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); + this.listLocationsPagedCallable = + callableFactory.createPagedCallable( + listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); + this.getLocationCallable = + callableFactory.createUnaryCallable( + getLocationTransportSettings, settings.getLocationSettings(), clientContext); + + this.backgroundResources = + new BackgroundResourceAggregation(clientContext.getBackgroundResources()); + } + + public GrpcOperationsStub getOperationsStub() { + return operationsStub; + } + + @Override + public UnaryCallable listAgentsCallable() { + return listAgentsCallable; + } + + @Override + public UnaryCallable listAgentsPagedCallable() { + return listAgentsPagedCallable; + } + + @Override + public UnaryCallable searchAgentsCallable() { + return searchAgentsCallable; + } + + @Override + public UnaryCallable searchAgentsPagedCallable() { + return searchAgentsPagedCallable; + } + + @Override + public UnaryCallable getAgentCallable() { + return getAgentCallable; + } + + @Override + public UnaryCallable listEndpointsCallable() { + return listEndpointsCallable; + } + + @Override + public UnaryCallable + listEndpointsPagedCallable() { + return listEndpointsPagedCallable; + } + + @Override + public UnaryCallable getEndpointCallable() { + return getEndpointCallable; + } + + @Override + public UnaryCallable listMcpServersCallable() { + return listMcpServersCallable; + } + + @Override + public UnaryCallable + listMcpServersPagedCallable() { + return listMcpServersPagedCallable; + } + + @Override + public UnaryCallable + searchMcpServersCallable() { + return searchMcpServersCallable; + } + + @Override + public UnaryCallable + searchMcpServersPagedCallable() { + return searchMcpServersPagedCallable; + } + + @Override + public UnaryCallable getMcpServerCallable() { + return getMcpServerCallable; + } + + @Override + public UnaryCallable listServicesCallable() { + return listServicesCallable; + } + + @Override + public UnaryCallable listServicesPagedCallable() { + return listServicesPagedCallable; + } + + @Override + public UnaryCallable getServiceCallable() { + return getServiceCallable; + } + + @Override + public UnaryCallable createServiceCallable() { + return createServiceCallable; + } + + @Override + public OperationCallable + createServiceOperationCallable() { + return createServiceOperationCallable; + } + + @Override + public UnaryCallable updateServiceCallable() { + return updateServiceCallable; + } + + @Override + public OperationCallable + updateServiceOperationCallable() { + return updateServiceOperationCallable; + } + + @Override + public UnaryCallable deleteServiceCallable() { + return deleteServiceCallable; + } + + @Override + public OperationCallable + deleteServiceOperationCallable() { + return deleteServiceOperationCallable; + } + + @Override + public UnaryCallable listBindingsCallable() { + return listBindingsCallable; + } + + @Override + public UnaryCallable listBindingsPagedCallable() { + return listBindingsPagedCallable; + } + + @Override + public UnaryCallable getBindingCallable() { + return getBindingCallable; + } + + @Override + public UnaryCallable createBindingCallable() { + return createBindingCallable; + } + + @Override + public OperationCallable + createBindingOperationCallable() { + return createBindingOperationCallable; + } + + @Override + public UnaryCallable updateBindingCallable() { + return updateBindingCallable; + } + + @Override + public OperationCallable + updateBindingOperationCallable() { + return updateBindingOperationCallable; + } + + @Override + public UnaryCallable deleteBindingCallable() { + return deleteBindingCallable; + } + + @Override + public OperationCallable + deleteBindingOperationCallable() { + return deleteBindingOperationCallable; + } + + @Override + public UnaryCallable + fetchAvailableBindingsCallable() { + return fetchAvailableBindingsCallable; + } + + @Override + public UnaryCallable + fetchAvailableBindingsPagedCallable() { + return fetchAvailableBindingsPagedCallable; + } + + @Override + public UnaryCallable listLocationsCallable() { + return listLocationsCallable; + } + + @Override + public UnaryCallable + listLocationsPagedCallable() { + return listLocationsPagedCallable; + } + + @Override + public UnaryCallable getLocationCallable() { + return getLocationCallable; + } + + @Override + public final void close() { + try { + backgroundResources.close(); + } catch (RuntimeException e) { + throw e; + } catch (Exception e) { + throw new IllegalStateException("Failed to close resource", e); + } + } + + @Override + public void shutdown() { + backgroundResources.shutdown(); + } + + @Override + public boolean isShutdown() { + return backgroundResources.isShutdown(); + } + + @Override + public boolean isTerminated() { + return backgroundResources.isTerminated(); + } + + @Override + public void shutdownNow() { + backgroundResources.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return backgroundResources.awaitTermination(duration, unit); + } +} diff --git a/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/HttpJsonAgentRegistryCallableFactory.java b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/HttpJsonAgentRegistryCallableFactory.java new file mode 100644 index 000000000000..2f41b6daa6cd --- /dev/null +++ b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/HttpJsonAgentRegistryCallableFactory.java @@ -0,0 +1,101 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.stub; + +import com.google.api.gax.httpjson.HttpJsonCallSettings; +import com.google.api.gax.httpjson.HttpJsonCallableFactory; +import com.google.api.gax.httpjson.HttpJsonOperationSnapshotCallable; +import com.google.api.gax.httpjson.HttpJsonStubCallableFactory; +import com.google.api.gax.httpjson.longrunning.stub.OperationsStub; +import com.google.api.gax.rpc.BatchingCallSettings; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.PagedCallSettings; +import com.google.api.gax.rpc.ServerStreamingCallSettings; +import com.google.api.gax.rpc.ServerStreamingCallable; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.longrunning.Operation; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * REST callable factory implementation for the AgentRegistry service API. + * + *

This class is for advanced usage. + */ +@Generated("by gapic-generator-java") +public class HttpJsonAgentRegistryCallableFactory + implements HttpJsonStubCallableFactory { + + @Override + public UnaryCallable createUnaryCallable( + HttpJsonCallSettings httpJsonCallSettings, + UnaryCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createUnaryCallable( + httpJsonCallSettings, callSettings, clientContext); + } + + @Override + public + UnaryCallable createPagedCallable( + HttpJsonCallSettings httpJsonCallSettings, + PagedCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createPagedCallable( + httpJsonCallSettings, callSettings, clientContext); + } + + @Override + public UnaryCallable createBatchingCallable( + HttpJsonCallSettings httpJsonCallSettings, + BatchingCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createBatchingCallable( + httpJsonCallSettings, callSettings, clientContext); + } + + @Override + public + OperationCallable createOperationCallable( + HttpJsonCallSettings httpJsonCallSettings, + OperationCallSettings callSettings, + ClientContext clientContext, + OperationsStub operationsStub) { + UnaryCallable innerCallable = + HttpJsonCallableFactory.createBaseUnaryCallable( + httpJsonCallSettings, callSettings.getInitialCallSettings(), clientContext); + HttpJsonOperationSnapshotCallable initialCallable = + new HttpJsonOperationSnapshotCallable( + innerCallable, + httpJsonCallSettings.getMethodDescriptor().getOperationSnapshotFactory()); + return HttpJsonCallableFactory.createOperationCallable( + callSettings, clientContext, operationsStub.longRunningClient(), initialCallable); + } + + @Override + public + ServerStreamingCallable createServerStreamingCallable( + HttpJsonCallSettings httpJsonCallSettings, + ServerStreamingCallSettings callSettings, + ClientContext clientContext) { + return HttpJsonCallableFactory.createServerStreamingCallable( + httpJsonCallSettings, callSettings, clientContext); + } +} diff --git a/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/HttpJsonAgentRegistryStub.java b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/HttpJsonAgentRegistryStub.java new file mode 100644 index 000000000000..fb544297bf6f --- /dev/null +++ b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/HttpJsonAgentRegistryStub.java @@ -0,0 +1,1668 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.stub; + +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.FetchAvailableBindingsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListAgentsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListBindingsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListEndpointsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListLocationsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListMcpServersPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListServicesPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.SearchAgentsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.SearchMcpServersPagedResponse; + +import com.google.api.HttpRule; +import com.google.api.core.InternalApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.core.BackgroundResourceAggregation; +import com.google.api.gax.httpjson.ApiMethodDescriptor; +import com.google.api.gax.httpjson.HttpJsonCallSettings; +import com.google.api.gax.httpjson.HttpJsonOperationSnapshot; +import com.google.api.gax.httpjson.HttpJsonStubCallableFactory; +import com.google.api.gax.httpjson.ProtoMessageRequestFormatter; +import com.google.api.gax.httpjson.ProtoMessageResponseParser; +import com.google.api.gax.httpjson.ProtoRestSerializer; +import com.google.api.gax.httpjson.longrunning.stub.HttpJsonOperationsStub; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.RequestParamsBuilder; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.agentregistry.v1.Agent; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.CreateBindingRequest; +import com.google.cloud.agentregistry.v1.CreateServiceRequest; +import com.google.cloud.agentregistry.v1.DeleteBindingRequest; +import com.google.cloud.agentregistry.v1.DeleteServiceRequest; +import com.google.cloud.agentregistry.v1.Endpoint; +import com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest; +import com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse; +import com.google.cloud.agentregistry.v1.GetAgentRequest; +import com.google.cloud.agentregistry.v1.GetBindingRequest; +import com.google.cloud.agentregistry.v1.GetEndpointRequest; +import com.google.cloud.agentregistry.v1.GetMcpServerRequest; +import com.google.cloud.agentregistry.v1.GetServiceRequest; +import com.google.cloud.agentregistry.v1.ListAgentsRequest; +import com.google.cloud.agentregistry.v1.ListAgentsResponse; +import com.google.cloud.agentregistry.v1.ListBindingsRequest; +import com.google.cloud.agentregistry.v1.ListBindingsResponse; +import com.google.cloud.agentregistry.v1.ListEndpointsRequest; +import com.google.cloud.agentregistry.v1.ListEndpointsResponse; +import com.google.cloud.agentregistry.v1.ListMcpServersRequest; +import com.google.cloud.agentregistry.v1.ListMcpServersResponse; +import com.google.cloud.agentregistry.v1.ListServicesRequest; +import com.google.cloud.agentregistry.v1.ListServicesResponse; +import com.google.cloud.agentregistry.v1.McpServer; +import com.google.cloud.agentregistry.v1.OperationMetadata; +import com.google.cloud.agentregistry.v1.SearchAgentsRequest; +import com.google.cloud.agentregistry.v1.SearchAgentsResponse; +import com.google.cloud.agentregistry.v1.SearchMcpServersRequest; +import com.google.cloud.agentregistry.v1.SearchMcpServersResponse; +import com.google.cloud.agentregistry.v1.Service; +import com.google.cloud.agentregistry.v1.UpdateBindingRequest; +import com.google.cloud.agentregistry.v1.UpdateServiceRequest; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.common.collect.ImmutableMap; +import com.google.longrunning.Operation; +import com.google.protobuf.Empty; +import com.google.protobuf.TypeRegistry; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * REST stub implementation for the AgentRegistry service API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@Generated("by gapic-generator-java") +public class HttpJsonAgentRegistryStub extends AgentRegistryStub { + private static final TypeRegistry typeRegistry = + TypeRegistry.newBuilder() + .add(Empty.getDescriptor()) + .add(OperationMetadata.getDescriptor()) + .add(Binding.getDescriptor()) + .add(Service.getDescriptor()) + .build(); + + private static final ApiMethodDescriptor + listAgentsMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/ListAgents") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=projects/*/locations/*}/agents", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "filter", request.getFilter()); + serializer.putQueryParam(fields, "orderBy", request.getOrderBy()); + serializer.putQueryParam(fields, "pageSize", request.getPageSize()); + serializer.putQueryParam(fields, "pageToken", request.getPageToken()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ListAgentsResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + searchAgentsMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/SearchAgents") + .setHttpMethod("POST") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=projects/*/locations/*}/agents:search", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("*", request.toBuilder().clearParent().build(), true)) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(SearchAgentsResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor getAgentMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/GetAgent") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=projects/*/locations/*/agents/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Agent.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + listEndpointsMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/ListEndpoints") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=projects/*/locations/*}/endpoints", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "filter", request.getFilter()); + serializer.putQueryParam(fields, "pageSize", request.getPageSize()); + serializer.putQueryParam(fields, "pageToken", request.getPageToken()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ListEndpointsResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + getEndpointMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/GetEndpoint") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=projects/*/locations/*/endpoints/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Endpoint.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + listMcpServersMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/ListMcpServers") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=projects/*/locations/*}/mcpServers", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "filter", request.getFilter()); + serializer.putQueryParam(fields, "orderBy", request.getOrderBy()); + serializer.putQueryParam(fields, "pageSize", request.getPageSize()); + serializer.putQueryParam(fields, "pageToken", request.getPageToken()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ListMcpServersResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + searchMcpServersMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/SearchMcpServers") + .setHttpMethod("POST") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=projects/*/locations/*}/mcpServers:search", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("*", request.toBuilder().clearParent().build(), true)) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(SearchMcpServersResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + getMcpServerMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/GetMcpServer") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=projects/*/locations/*/mcpServers/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(McpServer.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + listServicesMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/ListServices") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=projects/*/locations/*}/services", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "filter", request.getFilter()); + serializer.putQueryParam(fields, "pageSize", request.getPageSize()); + serializer.putQueryParam(fields, "pageToken", request.getPageToken()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ListServicesResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor getServiceMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/GetService") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=projects/*/locations/*/services/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Service.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + createServiceMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/CreateService") + .setHttpMethod("POST") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=projects/*/locations/*}/services", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "requestId", request.getRequestId()); + serializer.putQueryParam(fields, "serviceId", request.getServiceId()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("service", request.getService(), true)) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (CreateServiceRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor + updateServiceMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/UpdateService") + .setHttpMethod("PATCH") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{service.name=projects/*/locations/*/services/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam( + fields, "service.name", request.getService().getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "requestId", request.getRequestId()); + serializer.putQueryParam(fields, "updateMask", request.getUpdateMask()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("service", request.getService(), true)) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (UpdateServiceRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor + deleteServiceMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/DeleteService") + .setHttpMethod("DELETE") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=projects/*/locations/*/services/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "requestId", request.getRequestId()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (DeleteServiceRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor + listBindingsMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/ListBindings") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=projects/*/locations/*}/bindings", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "filter", request.getFilter()); + serializer.putQueryParam(fields, "orderBy", request.getOrderBy()); + serializer.putQueryParam(fields, "pageSize", request.getPageSize()); + serializer.putQueryParam(fields, "pageToken", request.getPageToken()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ListBindingsResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor getBindingMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/GetBinding") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=projects/*/locations/*/bindings/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Binding.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + createBindingMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/CreateBinding") + .setHttpMethod("POST") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=projects/*/locations/*}/bindings", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "bindingId", request.getBindingId()); + serializer.putQueryParam(fields, "requestId", request.getRequestId()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("binding", request.getBinding(), true)) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (CreateBindingRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor + updateBindingMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/UpdateBinding") + .setHttpMethod("PATCH") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{binding.name=projects/*/locations/*/bindings/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam( + fields, "binding.name", request.getBinding().getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "requestId", request.getRequestId()); + serializer.putQueryParam(fields, "updateMask", request.getUpdateMask()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody("binding", request.getBinding(), true)) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (UpdateBindingRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor + deleteBindingMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.agentregistry.v1.AgentRegistry/DeleteBinding") + .setHttpMethod("DELETE") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=projects/*/locations/*/bindings/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "requestId", request.getRequestId()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Operation.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .setOperationSnapshotFactory( + (DeleteBindingRequest request, Operation response) -> + HttpJsonOperationSnapshot.create(response)) + .build(); + + private static final ApiMethodDescriptor< + FetchAvailableBindingsRequest, FetchAvailableBindingsResponse> + fetchAvailableBindingsMethodDescriptor = + ApiMethodDescriptor + .newBuilder() + .setFullMethodName( + "google.cloud.agentregistry.v1.AgentRegistry/FetchAvailableBindings") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{parent=projects/*/locations/*}/bindings:fetchAvailable", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "parent", request.getParent()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "pageSize", request.getPageSize()); + serializer.putQueryParam(fields, "pageToken", request.getPageToken()); + serializer.putQueryParam( + fields, "sourceIdentifier", request.getSourceIdentifier()); + serializer.putQueryParam( + fields, "targetIdentifier", request.getTargetIdentifier()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(FetchAvailableBindingsResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + listLocationsMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.location.Locations/ListLocations") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=projects/*}/locations", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ListLocationsResponse.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private static final ApiMethodDescriptor + getLocationMethodDescriptor = + ApiMethodDescriptor.newBuilder() + .setFullMethodName("google.cloud.location.Locations/GetLocation") + .setHttpMethod("GET") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1/{name=projects/*/locations/*}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam(fields, "name", request.getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor(request -> null) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(Location.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + + private final UnaryCallable listAgentsCallable; + private final UnaryCallable listAgentsPagedCallable; + private final UnaryCallable searchAgentsCallable; + private final UnaryCallable + searchAgentsPagedCallable; + private final UnaryCallable getAgentCallable; + private final UnaryCallable listEndpointsCallable; + private final UnaryCallable + listEndpointsPagedCallable; + private final UnaryCallable getEndpointCallable; + private final UnaryCallable listMcpServersCallable; + private final UnaryCallable + listMcpServersPagedCallable; + private final UnaryCallable + searchMcpServersCallable; + private final UnaryCallable + searchMcpServersPagedCallable; + private final UnaryCallable getMcpServerCallable; + private final UnaryCallable listServicesCallable; + private final UnaryCallable + listServicesPagedCallable; + private final UnaryCallable getServiceCallable; + private final UnaryCallable createServiceCallable; + private final OperationCallable + createServiceOperationCallable; + private final UnaryCallable updateServiceCallable; + private final OperationCallable + updateServiceOperationCallable; + private final UnaryCallable deleteServiceCallable; + private final OperationCallable + deleteServiceOperationCallable; + private final UnaryCallable listBindingsCallable; + private final UnaryCallable + listBindingsPagedCallable; + private final UnaryCallable getBindingCallable; + private final UnaryCallable createBindingCallable; + private final OperationCallable + createBindingOperationCallable; + private final UnaryCallable updateBindingCallable; + private final OperationCallable + updateBindingOperationCallable; + private final UnaryCallable deleteBindingCallable; + private final OperationCallable + deleteBindingOperationCallable; + private final UnaryCallable + fetchAvailableBindingsCallable; + private final UnaryCallable + fetchAvailableBindingsPagedCallable; + private final UnaryCallable listLocationsCallable; + private final UnaryCallable + listLocationsPagedCallable; + private final UnaryCallable getLocationCallable; + + private final BackgroundResource backgroundResources; + private final HttpJsonOperationsStub httpJsonOperationsStub; + private final HttpJsonStubCallableFactory callableFactory; + + public static final HttpJsonAgentRegistryStub create(AgentRegistryStubSettings settings) + throws IOException { + return new HttpJsonAgentRegistryStub(settings, ClientContext.create(settings)); + } + + public static final HttpJsonAgentRegistryStub create(ClientContext clientContext) + throws IOException { + return new HttpJsonAgentRegistryStub( + AgentRegistryStubSettings.newHttpJsonBuilder().build(), clientContext); + } + + public static final HttpJsonAgentRegistryStub create( + ClientContext clientContext, HttpJsonStubCallableFactory callableFactory) throws IOException { + return new HttpJsonAgentRegistryStub( + AgentRegistryStubSettings.newHttpJsonBuilder().build(), clientContext, callableFactory); + } + + /** + * Constructs an instance of HttpJsonAgentRegistryStub, using the given settings. This is + * protected so that it is easy to make a subclass, but otherwise, the static factory methods + * should be preferred. + */ + protected HttpJsonAgentRegistryStub( + AgentRegistryStubSettings settings, ClientContext clientContext) throws IOException { + this(settings, clientContext, new HttpJsonAgentRegistryCallableFactory()); + } + + /** + * Constructs an instance of HttpJsonAgentRegistryStub, using the given settings. This is + * protected so that it is easy to make a subclass, but otherwise, the static factory methods + * should be preferred. + */ + protected HttpJsonAgentRegistryStub( + AgentRegistryStubSettings settings, + ClientContext clientContext, + HttpJsonStubCallableFactory callableFactory) + throws IOException { + this.callableFactory = callableFactory; + this.httpJsonOperationsStub = + HttpJsonOperationsStub.create( + clientContext, + callableFactory, + typeRegistry, + ImmutableMap.builder() + .put( + "google.longrunning.Operations.CancelOperation", + HttpRule.newBuilder() + .setPost("/v1/{name=projects/*/locations/*/operations/*}:cancel") + .build()) + .put( + "google.longrunning.Operations.DeleteOperation", + HttpRule.newBuilder() + .setDelete("/v1/{name=projects/*/locations/*/operations/*}") + .build()) + .put( + "google.longrunning.Operations.GetOperation", + HttpRule.newBuilder() + .setGet("/v1/{name=projects/*/locations/*/operations/*}") + .build()) + .put( + "google.longrunning.Operations.ListOperations", + HttpRule.newBuilder() + .setGet("/v1/{name=projects/*/locations/*}/operations") + .build()) + .build()); + + HttpJsonCallSettings listAgentsTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(listAgentsMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + HttpJsonCallSettings searchAgentsTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(searchAgentsMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + HttpJsonCallSettings getAgentTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getAgentMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + HttpJsonCallSettings + listEndpointsTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(listEndpointsMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + HttpJsonCallSettings getEndpointTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getEndpointMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + HttpJsonCallSettings + listMcpServersTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(listMcpServersMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + HttpJsonCallSettings + searchMcpServersTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(searchMcpServersMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + HttpJsonCallSettings getMcpServerTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getMcpServerMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + HttpJsonCallSettings listServicesTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(listServicesMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + HttpJsonCallSettings getServiceTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getServiceMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + HttpJsonCallSettings createServiceTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(createServiceMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + HttpJsonCallSettings updateServiceTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(updateServiceMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("service.name", String.valueOf(request.getService().getName())); + return builder.build(); + }) + .build(); + HttpJsonCallSettings deleteServiceTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(deleteServiceMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + HttpJsonCallSettings listBindingsTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(listBindingsMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + HttpJsonCallSettings getBindingTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getBindingMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + HttpJsonCallSettings createBindingTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(createBindingMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + HttpJsonCallSettings updateBindingTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(updateBindingMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("binding.name", String.valueOf(request.getBinding().getName())); + return builder.build(); + }) + .build(); + HttpJsonCallSettings deleteBindingTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(deleteBindingMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getName()) + .build(); + HttpJsonCallSettings + fetchAvailableBindingsTransportSettings = + HttpJsonCallSettings + .newBuilder() + .setMethodDescriptor(fetchAvailableBindingsMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("parent", String.valueOf(request.getParent())); + return builder.build(); + }) + .setResourceNameExtractor(request -> request.getParent()) + .build(); + HttpJsonCallSettings + listLocationsTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(listLocationsMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .build(); + HttpJsonCallSettings getLocationTransportSettings = + HttpJsonCallSettings.newBuilder() + .setMethodDescriptor(getLocationMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add("name", String.valueOf(request.getName())); + return builder.build(); + }) + .build(); + + this.listAgentsCallable = + callableFactory.createUnaryCallable( + listAgentsTransportSettings, settings.listAgentsSettings(), clientContext); + this.listAgentsPagedCallable = + callableFactory.createPagedCallable( + listAgentsTransportSettings, settings.listAgentsSettings(), clientContext); + this.searchAgentsCallable = + callableFactory.createUnaryCallable( + searchAgentsTransportSettings, settings.searchAgentsSettings(), clientContext); + this.searchAgentsPagedCallable = + callableFactory.createPagedCallable( + searchAgentsTransportSettings, settings.searchAgentsSettings(), clientContext); + this.getAgentCallable = + callableFactory.createUnaryCallable( + getAgentTransportSettings, settings.getAgentSettings(), clientContext); + this.listEndpointsCallable = + callableFactory.createUnaryCallable( + listEndpointsTransportSettings, settings.listEndpointsSettings(), clientContext); + this.listEndpointsPagedCallable = + callableFactory.createPagedCallable( + listEndpointsTransportSettings, settings.listEndpointsSettings(), clientContext); + this.getEndpointCallable = + callableFactory.createUnaryCallable( + getEndpointTransportSettings, settings.getEndpointSettings(), clientContext); + this.listMcpServersCallable = + callableFactory.createUnaryCallable( + listMcpServersTransportSettings, settings.listMcpServersSettings(), clientContext); + this.listMcpServersPagedCallable = + callableFactory.createPagedCallable( + listMcpServersTransportSettings, settings.listMcpServersSettings(), clientContext); + this.searchMcpServersCallable = + callableFactory.createUnaryCallable( + searchMcpServersTransportSettings, settings.searchMcpServersSettings(), clientContext); + this.searchMcpServersPagedCallable = + callableFactory.createPagedCallable( + searchMcpServersTransportSettings, settings.searchMcpServersSettings(), clientContext); + this.getMcpServerCallable = + callableFactory.createUnaryCallable( + getMcpServerTransportSettings, settings.getMcpServerSettings(), clientContext); + this.listServicesCallable = + callableFactory.createUnaryCallable( + listServicesTransportSettings, settings.listServicesSettings(), clientContext); + this.listServicesPagedCallable = + callableFactory.createPagedCallable( + listServicesTransportSettings, settings.listServicesSettings(), clientContext); + this.getServiceCallable = + callableFactory.createUnaryCallable( + getServiceTransportSettings, settings.getServiceSettings(), clientContext); + this.createServiceCallable = + callableFactory.createUnaryCallable( + createServiceTransportSettings, settings.createServiceSettings(), clientContext); + this.createServiceOperationCallable = + callableFactory.createOperationCallable( + createServiceTransportSettings, + settings.createServiceOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.updateServiceCallable = + callableFactory.createUnaryCallable( + updateServiceTransportSettings, settings.updateServiceSettings(), clientContext); + this.updateServiceOperationCallable = + callableFactory.createOperationCallable( + updateServiceTransportSettings, + settings.updateServiceOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.deleteServiceCallable = + callableFactory.createUnaryCallable( + deleteServiceTransportSettings, settings.deleteServiceSettings(), clientContext); + this.deleteServiceOperationCallable = + callableFactory.createOperationCallable( + deleteServiceTransportSettings, + settings.deleteServiceOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.listBindingsCallable = + callableFactory.createUnaryCallable( + listBindingsTransportSettings, settings.listBindingsSettings(), clientContext); + this.listBindingsPagedCallable = + callableFactory.createPagedCallable( + listBindingsTransportSettings, settings.listBindingsSettings(), clientContext); + this.getBindingCallable = + callableFactory.createUnaryCallable( + getBindingTransportSettings, settings.getBindingSettings(), clientContext); + this.createBindingCallable = + callableFactory.createUnaryCallable( + createBindingTransportSettings, settings.createBindingSettings(), clientContext); + this.createBindingOperationCallable = + callableFactory.createOperationCallable( + createBindingTransportSettings, + settings.createBindingOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.updateBindingCallable = + callableFactory.createUnaryCallable( + updateBindingTransportSettings, settings.updateBindingSettings(), clientContext); + this.updateBindingOperationCallable = + callableFactory.createOperationCallable( + updateBindingTransportSettings, + settings.updateBindingOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.deleteBindingCallable = + callableFactory.createUnaryCallable( + deleteBindingTransportSettings, settings.deleteBindingSettings(), clientContext); + this.deleteBindingOperationCallable = + callableFactory.createOperationCallable( + deleteBindingTransportSettings, + settings.deleteBindingOperationSettings(), + clientContext, + httpJsonOperationsStub); + this.fetchAvailableBindingsCallable = + callableFactory.createUnaryCallable( + fetchAvailableBindingsTransportSettings, + settings.fetchAvailableBindingsSettings(), + clientContext); + this.fetchAvailableBindingsPagedCallable = + callableFactory.createPagedCallable( + fetchAvailableBindingsTransportSettings, + settings.fetchAvailableBindingsSettings(), + clientContext); + this.listLocationsCallable = + callableFactory.createUnaryCallable( + listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); + this.listLocationsPagedCallable = + callableFactory.createPagedCallable( + listLocationsTransportSettings, settings.listLocationsSettings(), clientContext); + this.getLocationCallable = + callableFactory.createUnaryCallable( + getLocationTransportSettings, settings.getLocationSettings(), clientContext); + + this.backgroundResources = + new BackgroundResourceAggregation(clientContext.getBackgroundResources()); + } + + @InternalApi + public static List getMethodDescriptors() { + List methodDescriptors = new ArrayList<>(); + methodDescriptors.add(listAgentsMethodDescriptor); + methodDescriptors.add(searchAgentsMethodDescriptor); + methodDescriptors.add(getAgentMethodDescriptor); + methodDescriptors.add(listEndpointsMethodDescriptor); + methodDescriptors.add(getEndpointMethodDescriptor); + methodDescriptors.add(listMcpServersMethodDescriptor); + methodDescriptors.add(searchMcpServersMethodDescriptor); + methodDescriptors.add(getMcpServerMethodDescriptor); + methodDescriptors.add(listServicesMethodDescriptor); + methodDescriptors.add(getServiceMethodDescriptor); + methodDescriptors.add(createServiceMethodDescriptor); + methodDescriptors.add(updateServiceMethodDescriptor); + methodDescriptors.add(deleteServiceMethodDescriptor); + methodDescriptors.add(listBindingsMethodDescriptor); + methodDescriptors.add(getBindingMethodDescriptor); + methodDescriptors.add(createBindingMethodDescriptor); + methodDescriptors.add(updateBindingMethodDescriptor); + methodDescriptors.add(deleteBindingMethodDescriptor); + methodDescriptors.add(fetchAvailableBindingsMethodDescriptor); + methodDescriptors.add(listLocationsMethodDescriptor); + methodDescriptors.add(getLocationMethodDescriptor); + return methodDescriptors; + } + + public HttpJsonOperationsStub getHttpJsonOperationsStub() { + return httpJsonOperationsStub; + } + + @Override + public UnaryCallable listAgentsCallable() { + return listAgentsCallable; + } + + @Override + public UnaryCallable listAgentsPagedCallable() { + return listAgentsPagedCallable; + } + + @Override + public UnaryCallable searchAgentsCallable() { + return searchAgentsCallable; + } + + @Override + public UnaryCallable searchAgentsPagedCallable() { + return searchAgentsPagedCallable; + } + + @Override + public UnaryCallable getAgentCallable() { + return getAgentCallable; + } + + @Override + public UnaryCallable listEndpointsCallable() { + return listEndpointsCallable; + } + + @Override + public UnaryCallable + listEndpointsPagedCallable() { + return listEndpointsPagedCallable; + } + + @Override + public UnaryCallable getEndpointCallable() { + return getEndpointCallable; + } + + @Override + public UnaryCallable listMcpServersCallable() { + return listMcpServersCallable; + } + + @Override + public UnaryCallable + listMcpServersPagedCallable() { + return listMcpServersPagedCallable; + } + + @Override + public UnaryCallable + searchMcpServersCallable() { + return searchMcpServersCallable; + } + + @Override + public UnaryCallable + searchMcpServersPagedCallable() { + return searchMcpServersPagedCallable; + } + + @Override + public UnaryCallable getMcpServerCallable() { + return getMcpServerCallable; + } + + @Override + public UnaryCallable listServicesCallable() { + return listServicesCallable; + } + + @Override + public UnaryCallable listServicesPagedCallable() { + return listServicesPagedCallable; + } + + @Override + public UnaryCallable getServiceCallable() { + return getServiceCallable; + } + + @Override + public UnaryCallable createServiceCallable() { + return createServiceCallable; + } + + @Override + public OperationCallable + createServiceOperationCallable() { + return createServiceOperationCallable; + } + + @Override + public UnaryCallable updateServiceCallable() { + return updateServiceCallable; + } + + @Override + public OperationCallable + updateServiceOperationCallable() { + return updateServiceOperationCallable; + } + + @Override + public UnaryCallable deleteServiceCallable() { + return deleteServiceCallable; + } + + @Override + public OperationCallable + deleteServiceOperationCallable() { + return deleteServiceOperationCallable; + } + + @Override + public UnaryCallable listBindingsCallable() { + return listBindingsCallable; + } + + @Override + public UnaryCallable listBindingsPagedCallable() { + return listBindingsPagedCallable; + } + + @Override + public UnaryCallable getBindingCallable() { + return getBindingCallable; + } + + @Override + public UnaryCallable createBindingCallable() { + return createBindingCallable; + } + + @Override + public OperationCallable + createBindingOperationCallable() { + return createBindingOperationCallable; + } + + @Override + public UnaryCallable updateBindingCallable() { + return updateBindingCallable; + } + + @Override + public OperationCallable + updateBindingOperationCallable() { + return updateBindingOperationCallable; + } + + @Override + public UnaryCallable deleteBindingCallable() { + return deleteBindingCallable; + } + + @Override + public OperationCallable + deleteBindingOperationCallable() { + return deleteBindingOperationCallable; + } + + @Override + public UnaryCallable + fetchAvailableBindingsCallable() { + return fetchAvailableBindingsCallable; + } + + @Override + public UnaryCallable + fetchAvailableBindingsPagedCallable() { + return fetchAvailableBindingsPagedCallable; + } + + @Override + public UnaryCallable listLocationsCallable() { + return listLocationsCallable; + } + + @Override + public UnaryCallable + listLocationsPagedCallable() { + return listLocationsPagedCallable; + } + + @Override + public UnaryCallable getLocationCallable() { + return getLocationCallable; + } + + @Override + public final void close() { + try { + backgroundResources.close(); + } catch (RuntimeException e) { + throw e; + } catch (Exception e) { + throw new IllegalStateException("Failed to close resource", e); + } + } + + @Override + public void shutdown() { + backgroundResources.shutdown(); + } + + @Override + public boolean isShutdown() { + return backgroundResources.isShutdown(); + } + + @Override + public boolean isTerminated() { + return backgroundResources.isTerminated(); + } + + @Override + public void shutdownNow() { + backgroundResources.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return backgroundResources.awaitTermination(duration, unit); + } +} diff --git a/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/Version.java b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/Version.java new file mode 100644 index 000000000000..02fe7c2b8369 --- /dev/null +++ b/java-agentregistry/google-cloud-agentregistry/src/main/java/com/google/cloud/agentregistry/v1/stub/Version.java @@ -0,0 +1,27 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.stub; + +import com.google.api.core.InternalApi; + +@InternalApi("For internal use only") +final class Version { + // {x-version-update-start:google-cloud-agentregistry:current} + static final String VERSION = "0.1.0"; + // {x-version-update-end} + +} diff --git a/java-agentregistry/google-cloud-agentregistry/src/main/resources/META-INF/native-image/com.google.cloud.agentregistry.v1/reflect-config.json b/java-agentregistry/google-cloud-agentregistry/src/main/resources/META-INF/native-image/com.google.cloud.agentregistry.v1/reflect-config.json new file mode 100644 index 000000000000..56a42f75c994 --- /dev/null +++ b/java-agentregistry/google-cloud-agentregistry/src/main/resources/META-INF/native-image/com.google.cloud.agentregistry.v1/reflect-config.json @@ -0,0 +1,2567 @@ +[ + { + "name": "com.google.api.BatchingConfigProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingConfigProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingSettingsProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.BatchingSettingsProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ClientLibraryDestination", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ClientLibraryOrganization", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ClientLibrarySettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ClientLibrarySettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CommonLanguageSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CommonLanguageSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CppSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CppSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CustomHttpPattern", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.CustomHttpPattern$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.DotnetSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.DotnetSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.FieldBehavior", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.FieldInfo", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.FieldInfo$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.FieldInfo$Format", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.FlowControlLimitExceededBehaviorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.GoSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.GoSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.Http", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.Http$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.HttpRule", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.HttpRule$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.JavaSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.JavaSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.LaunchStage", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.MethodSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.MethodSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.MethodSettings$LongRunning", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.MethodSettings$LongRunning$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.NodeSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.NodeSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PhpSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PhpSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.Publishing", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.Publishing$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PythonSettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PythonSettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PythonSettings$ExperimentalFeatures", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.PythonSettings$ExperimentalFeatures$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceDescriptor", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceDescriptor$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceDescriptor$History", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceDescriptor$Style", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceReference", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.ResourceReference$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.RubySettings", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.RubySettings$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.SelectiveGapicGeneration", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.SelectiveGapicGeneration$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.TypeReference", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.api.TypeReference$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Agent", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Agent$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Agent$Card", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Agent$Card$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Agent$Card$Type", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Agent$Protocol", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Agent$Protocol$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Agent$Protocol$Type", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Agent$Skill", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Agent$Skill$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Binding", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Binding$AuthProviderBinding", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Binding$AuthProviderBinding$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Binding$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Binding$Source", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Binding$Source$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Binding$Target", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Binding$Target$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.CreateBindingRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.CreateBindingRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.CreateServiceRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.CreateServiceRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.DeleteBindingRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.DeleteBindingRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.DeleteServiceRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.DeleteServiceRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Endpoint", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Endpoint$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.GetAgentRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.GetAgentRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.GetBindingRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.GetBindingRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.GetEndpointRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.GetEndpointRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.GetMcpServerRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.GetMcpServerRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.GetServiceRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.GetServiceRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Interface", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Interface$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Interface$ProtocolBinding", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.ListAgentsRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.ListAgentsRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.ListAgentsResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.ListAgentsResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.ListBindingsRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.ListBindingsRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.ListBindingsResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.ListBindingsResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.ListEndpointsRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.ListEndpointsRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.ListEndpointsResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.ListEndpointsResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.ListMcpServersRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.ListMcpServersRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.ListMcpServersResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.ListMcpServersResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.ListServicesRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.ListServicesRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.ListServicesResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.ListServicesResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.McpServer", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.McpServer$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.McpServer$Tool", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.McpServer$Tool$Annotations", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.McpServer$Tool$Annotations$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.McpServer$Tool$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.OperationMetadata", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.OperationMetadata$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.SearchAgentsRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.SearchAgentsRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.SearchAgentsResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.SearchAgentsResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.SearchMcpServersRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.SearchMcpServersRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.SearchMcpServersResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.SearchMcpServersResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Service", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Service$AgentSpec", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Service$AgentSpec$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Service$AgentSpec$Type", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Service$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Service$EndpointSpec", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Service$EndpointSpec$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Service$EndpointSpec$Type", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Service$McpServerSpec", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Service$McpServerSpec$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.Service$McpServerSpec$Type", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.UpdateBindingRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.UpdateBindingRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.UpdateServiceRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.agentregistry.v1.UpdateServiceRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.GetLocationRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.GetLocationRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.ListLocationsRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.ListLocationsRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.ListLocationsResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.ListLocationsResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.Location", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.cloud.location.Location$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.CancelOperationRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.CancelOperationRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.DeleteOperationRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.DeleteOperationRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.GetOperationRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.GetOperationRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.ListOperationsRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.ListOperationsRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.ListOperationsResponse", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.ListOperationsResponse$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.Operation", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.Operation$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.OperationInfo", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.OperationInfo$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.WaitOperationRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.longrunning.WaitOperationRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Any", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Any$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$ExtensionRange", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$ExtensionRange$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$ReservedRange", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$DescriptorProto$ReservedRange$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$Edition", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumDescriptorProto$EnumReservedRange", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumDescriptorProto$EnumReservedRange$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumValueDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumValueDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumValueOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$EnumValueOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$Declaration$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ExtensionRangeOptions$VerificationState", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$EnforceNamingStyle", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$EnumType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$FieldPresence", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$JsonFormat", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$MessageEncoding", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$RepeatedFieldEncoding", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$Utf8Validation", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$VisibilityFeature", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$VisibilityFeature$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSet$VisibilityFeature$DefaultSymbolVisibility", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSetDefaults", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSetDefaults$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSetDefaults$FeatureSetEditionDefault", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FeatureSetDefaults$FeatureSetEditionDefault$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldDescriptorProto$Label", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldDescriptorProto$Type", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$CType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$EditionDefault", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$EditionDefault$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$FeatureSupport", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$FeatureSupport$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$JSType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$OptionRetention", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FieldOptions$OptionTargetType", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileDescriptorSet", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileDescriptorSet$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$FileOptions$OptimizeMode", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo$Annotation", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo$Annotation$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo$Annotation$Semantic", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$GeneratedCodeInfo$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MessageOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MessageOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$MethodOptions$IdempotencyLevel", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$OneofDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$OneofDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$OneofOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$OneofOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ServiceDescriptorProto", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ServiceDescriptorProto$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ServiceOptions", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$ServiceOptions$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SourceCodeInfo", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SourceCodeInfo$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SourceCodeInfo$Location", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SourceCodeInfo$Location$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$SymbolVisibility", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$UninterpretedOption", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$UninterpretedOption$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$UninterpretedOption$NamePart", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.DescriptorProtos$UninterpretedOption$NamePart$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Duration", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Duration$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Empty", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Empty$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.FieldMask", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.FieldMask$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.ListValue", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.ListValue$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.NullValue", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Struct", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Struct$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Timestamp", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Timestamp$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Value", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.protobuf.Value$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.rpc.Status", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.rpc.Status$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + } +] \ No newline at end of file diff --git a/java-agentregistry/google-cloud-agentregistry/src/test/java/com/google/cloud/agentregistry/v1/AgentRegistryClientHttpJsonTest.java b/java-agentregistry/google-cloud-agentregistry/src/test/java/com/google/cloud/agentregistry/v1/AgentRegistryClientHttpJsonTest.java new file mode 100644 index 000000000000..af744bb879bc --- /dev/null +++ b/java-agentregistry/google-cloud-agentregistry/src/test/java/com/google/cloud/agentregistry/v1/AgentRegistryClientHttpJsonTest.java @@ -0,0 +1,2098 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1; + +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.FetchAvailableBindingsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListAgentsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListBindingsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListEndpointsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListLocationsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListMcpServersPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListServicesPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.SearchAgentsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.SearchMcpServersPagedResponse; + +import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.httpjson.GaxHttpJsonProperties; +import com.google.api.gax.httpjson.testing.MockHttpService; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ApiException; +import com.google.api.gax.rpc.ApiExceptionFactory; +import com.google.api.gax.rpc.InvalidArgumentException; +import com.google.api.gax.rpc.StatusCode; +import com.google.api.gax.rpc.testing.FakeStatusCode; +import com.google.cloud.agentregistry.v1.stub.HttpJsonAgentRegistryStub; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.common.collect.Lists; +import com.google.longrunning.Operation; +import com.google.protobuf.Any; +import com.google.protobuf.Empty; +import com.google.protobuf.FieldMask; +import com.google.protobuf.Struct; +import com.google.protobuf.Timestamp; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.concurrent.ExecutionException; +import javax.annotation.Generated; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +@Generated("by gapic-generator-java") +public class AgentRegistryClientHttpJsonTest { + private static MockHttpService mockService; + private static AgentRegistryClient client; + + @BeforeClass + public static void startStaticServer() throws IOException { + mockService = + new MockHttpService( + HttpJsonAgentRegistryStub.getMethodDescriptors(), + AgentRegistrySettings.getDefaultEndpoint()); + AgentRegistrySettings settings = + AgentRegistrySettings.newHttpJsonBuilder() + .setTransportChannelProvider( + AgentRegistrySettings.defaultHttpJsonTransportProviderBuilder() + .setHttpTransport(mockService) + .build()) + .setCredentialsProvider(NoCredentialsProvider.create()) + .build(); + client = AgentRegistryClient.create(settings); + } + + @AfterClass + public static void stopServer() { + client.close(); + } + + @Before + public void setUp() {} + + @After + public void tearDown() throws Exception { + mockService.reset(); + } + + @Test + public void listAgentsTest() throws Exception { + Agent responsesElement = Agent.newBuilder().build(); + ListAgentsResponse expectedResponse = + ListAgentsResponse.newBuilder() + .setNextPageToken("") + .addAllAgents(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + ListAgentsPagedResponse pagedListResponse = client.listAgents(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getAgentsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listAgentsExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.listAgents(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listAgentsTest2() throws Exception { + Agent responsesElement = Agent.newBuilder().build(); + ListAgentsResponse expectedResponse = + ListAgentsResponse.newBuilder() + .setNextPageToken("") + .addAllAgents(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + String parent = "projects/project-5833/locations/location-5833"; + + ListAgentsPagedResponse pagedListResponse = client.listAgents(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getAgentsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listAgentsExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "projects/project-5833/locations/location-5833"; + client.listAgents(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void searchAgentsTest() throws Exception { + Agent responsesElement = Agent.newBuilder().build(); + SearchAgentsResponse expectedResponse = + SearchAgentsResponse.newBuilder() + .setNextPageToken("") + .addAllAgents(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + SearchAgentsPagedResponse pagedListResponse = client.searchAgents(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getAgentsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void searchAgentsExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.searchAgents(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void searchAgentsTest2() throws Exception { + Agent responsesElement = Agent.newBuilder().build(); + SearchAgentsResponse expectedResponse = + SearchAgentsResponse.newBuilder() + .setNextPageToken("") + .addAllAgents(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + String parent = "projects/project-5833/locations/location-5833"; + + SearchAgentsPagedResponse pagedListResponse = client.searchAgents(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getAgentsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void searchAgentsExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "projects/project-5833/locations/location-5833"; + client.searchAgents(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getAgentTest() throws Exception { + Agent expectedResponse = + Agent.newBuilder() + .setName(AgentName.of("[PROJECT]", "[LOCATION]", "[AGENT]").toString()) + .setAgentId("agentId-1060987136") + .setLocation("location1901043637") + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .setVersion("version351608024") + .addAllProtocols(new ArrayList()) + .addAllSkills(new ArrayList()) + .setUid("uid115792") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllAttributes(new HashMap()) + .setCard(Agent.Card.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + AgentName name = AgentName.of("[PROJECT]", "[LOCATION]", "[AGENT]"); + + Agent actualResponse = client.getAgent(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getAgentExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + AgentName name = AgentName.of("[PROJECT]", "[LOCATION]", "[AGENT]"); + client.getAgent(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getAgentTest2() throws Exception { + Agent expectedResponse = + Agent.newBuilder() + .setName(AgentName.of("[PROJECT]", "[LOCATION]", "[AGENT]").toString()) + .setAgentId("agentId-1060987136") + .setLocation("location1901043637") + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .setVersion("version351608024") + .addAllProtocols(new ArrayList()) + .addAllSkills(new ArrayList()) + .setUid("uid115792") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllAttributes(new HashMap()) + .setCard(Agent.Card.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + String name = "projects/project-2930/locations/location-2930/agents/agent-2930"; + + Agent actualResponse = client.getAgent(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getAgentExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = "projects/project-2930/locations/location-2930/agents/agent-2930"; + client.getAgent(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listEndpointsTest() throws Exception { + Endpoint responsesElement = Endpoint.newBuilder().build(); + ListEndpointsResponse expectedResponse = + ListEndpointsResponse.newBuilder() + .setNextPageToken("") + .addAllEndpoints(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + ListEndpointsPagedResponse pagedListResponse = client.listEndpoints(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getEndpointsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listEndpointsExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.listEndpoints(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listEndpointsTest2() throws Exception { + Endpoint responsesElement = Endpoint.newBuilder().build(); + ListEndpointsResponse expectedResponse = + ListEndpointsResponse.newBuilder() + .setNextPageToken("") + .addAllEndpoints(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + String parent = "projects/project-5833/locations/location-5833"; + + ListEndpointsPagedResponse pagedListResponse = client.listEndpoints(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getEndpointsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listEndpointsExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "projects/project-5833/locations/location-5833"; + client.listEndpoints(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getEndpointTest() throws Exception { + Endpoint expectedResponse = + Endpoint.newBuilder() + .setName(EndpointName.of("[PROJECT]", "[LOCATION]", "[ENDPOINT]").toString()) + .setEndpointId("endpointId-1837754992") + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .addAllInterfaces(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllAttributes(new HashMap()) + .build(); + mockService.addResponse(expectedResponse); + + EndpointName name = EndpointName.of("[PROJECT]", "[LOCATION]", "[ENDPOINT]"); + + Endpoint actualResponse = client.getEndpoint(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getEndpointExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + EndpointName name = EndpointName.of("[PROJECT]", "[LOCATION]", "[ENDPOINT]"); + client.getEndpoint(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getEndpointTest2() throws Exception { + Endpoint expectedResponse = + Endpoint.newBuilder() + .setName(EndpointName.of("[PROJECT]", "[LOCATION]", "[ENDPOINT]").toString()) + .setEndpointId("endpointId-1837754992") + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .addAllInterfaces(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllAttributes(new HashMap()) + .build(); + mockService.addResponse(expectedResponse); + + String name = "projects/project-6164/locations/location-6164/endpoints/endpoint-6164"; + + Endpoint actualResponse = client.getEndpoint(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getEndpointExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = "projects/project-6164/locations/location-6164/endpoints/endpoint-6164"; + client.getEndpoint(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listMcpServersTest() throws Exception { + McpServer responsesElement = McpServer.newBuilder().build(); + ListMcpServersResponse expectedResponse = + ListMcpServersResponse.newBuilder() + .setNextPageToken("") + .addAllMcpServers(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + ListMcpServersPagedResponse pagedListResponse = client.listMcpServers(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getMcpServersList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listMcpServersExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.listMcpServers(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listMcpServersTest2() throws Exception { + McpServer responsesElement = McpServer.newBuilder().build(); + ListMcpServersResponse expectedResponse = + ListMcpServersResponse.newBuilder() + .setNextPageToken("") + .addAllMcpServers(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + String parent = "projects/project-5833/locations/location-5833"; + + ListMcpServersPagedResponse pagedListResponse = client.listMcpServers(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getMcpServersList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listMcpServersExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "projects/project-5833/locations/location-5833"; + client.listMcpServers(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void searchMcpServersTest() throws Exception { + McpServer responsesElement = McpServer.newBuilder().build(); + SearchMcpServersResponse expectedResponse = + SearchMcpServersResponse.newBuilder() + .setNextPageToken("") + .addAllMcpServers(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + SearchMcpServersPagedResponse pagedListResponse = client.searchMcpServers(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getMcpServersList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void searchMcpServersExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.searchMcpServers(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void searchMcpServersTest2() throws Exception { + McpServer responsesElement = McpServer.newBuilder().build(); + SearchMcpServersResponse expectedResponse = + SearchMcpServersResponse.newBuilder() + .setNextPageToken("") + .addAllMcpServers(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + String parent = "projects/project-5833/locations/location-5833"; + + SearchMcpServersPagedResponse pagedListResponse = client.searchMcpServers(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getMcpServersList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void searchMcpServersExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "projects/project-5833/locations/location-5833"; + client.searchMcpServers(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getMcpServerTest() throws Exception { + McpServer expectedResponse = + McpServer.newBuilder() + .setName(McpServerName.of("[PROJECT]", "[LOCATION]", "[MCP_SERVER]").toString()) + .setMcpServerId("mcpServerId298140536") + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .addAllInterfaces(new ArrayList()) + .addAllTools(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllAttributes(new HashMap()) + .build(); + mockService.addResponse(expectedResponse); + + McpServerName name = McpServerName.of("[PROJECT]", "[LOCATION]", "[MCP_SERVER]"); + + McpServer actualResponse = client.getMcpServer(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getMcpServerExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + McpServerName name = McpServerName.of("[PROJECT]", "[LOCATION]", "[MCP_SERVER]"); + client.getMcpServer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getMcpServerTest2() throws Exception { + McpServer expectedResponse = + McpServer.newBuilder() + .setName(McpServerName.of("[PROJECT]", "[LOCATION]", "[MCP_SERVER]").toString()) + .setMcpServerId("mcpServerId298140536") + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .addAllInterfaces(new ArrayList()) + .addAllTools(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllAttributes(new HashMap()) + .build(); + mockService.addResponse(expectedResponse); + + String name = "projects/project-5974/locations/location-5974/mcpServers/mcpServer-5974"; + + McpServer actualResponse = client.getMcpServer(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getMcpServerExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = "projects/project-5974/locations/location-5974/mcpServers/mcpServer-5974"; + client.getMcpServer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listServicesTest() throws Exception { + Service responsesElement = Service.newBuilder().build(); + ListServicesResponse expectedResponse = + ListServicesResponse.newBuilder() + .setNextPageToken("") + .addAllServices(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + ListServicesPagedResponse pagedListResponse = client.listServices(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getServicesList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listServicesExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.listServices(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listServicesTest2() throws Exception { + Service responsesElement = Service.newBuilder().build(); + ListServicesResponse expectedResponse = + ListServicesResponse.newBuilder() + .setNextPageToken("") + .addAllServices(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + String parent = "projects/project-5833/locations/location-5833"; + + ListServicesPagedResponse pagedListResponse = client.listServices(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getServicesList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listServicesExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "projects/project-5833/locations/location-5833"; + client.listServices(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getServiceTest() throws Exception { + Service expectedResponse = + Service.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .addAllInterfaces(new ArrayList()) + .setRegistryResource("registryResource1400949611") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + ServiceName name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + + Service actualResponse = client.getService(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getServiceExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + ServiceName name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + client.getService(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getServiceTest2() throws Exception { + Service expectedResponse = + Service.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .addAllInterfaces(new ArrayList()) + .setRegistryResource("registryResource1400949611") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + String name = "projects/project-7842/locations/location-7842/services/service-7842"; + + Service actualResponse = client.getService(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getServiceExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = "projects/project-7842/locations/location-7842/services/service-7842"; + client.getService(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void createServiceTest() throws Exception { + Service expectedResponse = + Service.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .addAllInterfaces(new ArrayList()) + .setRegistryResource("registryResource1400949611") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("createServiceTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + Service service = Service.newBuilder().build(); + String serviceId = "serviceId-194185552"; + + Service actualResponse = client.createServiceAsync(parent, service, serviceId).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void createServiceExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + Service service = Service.newBuilder().build(); + String serviceId = "serviceId-194185552"; + client.createServiceAsync(parent, service, serviceId).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void createServiceTest2() throws Exception { + Service expectedResponse = + Service.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .addAllInterfaces(new ArrayList()) + .setRegistryResource("registryResource1400949611") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("createServiceTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + String parent = "projects/project-5833/locations/location-5833"; + Service service = Service.newBuilder().build(); + String serviceId = "serviceId-194185552"; + + Service actualResponse = client.createServiceAsync(parent, service, serviceId).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void createServiceExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "projects/project-5833/locations/location-5833"; + Service service = Service.newBuilder().build(); + String serviceId = "serviceId-194185552"; + client.createServiceAsync(parent, service, serviceId).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void updateServiceTest() throws Exception { + Service expectedResponse = + Service.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .addAllInterfaces(new ArrayList()) + .setRegistryResource("registryResource1400949611") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("updateServiceTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + Service service = + Service.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .addAllInterfaces(new ArrayList()) + .setRegistryResource("registryResource1400949611") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + + Service actualResponse = client.updateServiceAsync(service, updateMask).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void updateServiceExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + Service service = + Service.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .addAllInterfaces(new ArrayList()) + .setRegistryResource("registryResource1400949611") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + client.updateServiceAsync(service, updateMask).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void deleteServiceTest() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("deleteServiceTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + ServiceName name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + + client.deleteServiceAsync(name).get(); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void deleteServiceExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + ServiceName name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + client.deleteServiceAsync(name).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void deleteServiceTest2() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("deleteServiceTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + String name = "projects/project-7842/locations/location-7842/services/service-7842"; + + client.deleteServiceAsync(name).get(); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void deleteServiceExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = "projects/project-7842/locations/location-7842/services/service-7842"; + client.deleteServiceAsync(name).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void listBindingsTest() throws Exception { + Binding responsesElement = Binding.newBuilder().build(); + ListBindingsResponse expectedResponse = + ListBindingsResponse.newBuilder() + .setNextPageToken("") + .addAllBindings(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + ListBindingsPagedResponse pagedListResponse = client.listBindings(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getBindingsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listBindingsExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.listBindings(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listBindingsTest2() throws Exception { + Binding responsesElement = Binding.newBuilder().build(); + ListBindingsResponse expectedResponse = + ListBindingsResponse.newBuilder() + .setNextPageToken("") + .addAllBindings(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + String parent = "projects/project-5833/locations/location-5833"; + + ListBindingsPagedResponse pagedListResponse = client.listBindings(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getBindingsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listBindingsExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "projects/project-5833/locations/location-5833"; + client.listBindings(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getBindingTest() throws Exception { + Binding expectedResponse = + Binding.newBuilder() + .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .setSource(Binding.Source.newBuilder().build()) + .setTarget(Binding.Target.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + BindingName name = BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]"); + + Binding actualResponse = client.getBinding(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getBindingExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + BindingName name = BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]"); + client.getBinding(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getBindingTest2() throws Exception { + Binding expectedResponse = + Binding.newBuilder() + .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .setSource(Binding.Source.newBuilder().build()) + .setTarget(Binding.Target.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + String name = "projects/project-5678/locations/location-5678/bindings/binding-5678"; + + Binding actualResponse = client.getBinding(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getBindingExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = "projects/project-5678/locations/location-5678/bindings/binding-5678"; + client.getBinding(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void createBindingTest() throws Exception { + Binding expectedResponse = + Binding.newBuilder() + .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .setSource(Binding.Source.newBuilder().build()) + .setTarget(Binding.Target.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("createBindingTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + Binding binding = Binding.newBuilder().build(); + String bindingId = "bindingId-920966528"; + + Binding actualResponse = client.createBindingAsync(parent, binding, bindingId).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void createBindingExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + Binding binding = Binding.newBuilder().build(); + String bindingId = "bindingId-920966528"; + client.createBindingAsync(parent, binding, bindingId).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void createBindingTest2() throws Exception { + Binding expectedResponse = + Binding.newBuilder() + .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .setSource(Binding.Source.newBuilder().build()) + .setTarget(Binding.Target.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("createBindingTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + String parent = "projects/project-5833/locations/location-5833"; + Binding binding = Binding.newBuilder().build(); + String bindingId = "bindingId-920966528"; + + Binding actualResponse = client.createBindingAsync(parent, binding, bindingId).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void createBindingExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "projects/project-5833/locations/location-5833"; + Binding binding = Binding.newBuilder().build(); + String bindingId = "bindingId-920966528"; + client.createBindingAsync(parent, binding, bindingId).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void updateBindingTest() throws Exception { + Binding expectedResponse = + Binding.newBuilder() + .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .setSource(Binding.Source.newBuilder().build()) + .setTarget(Binding.Target.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("updateBindingTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + Binding binding = + Binding.newBuilder() + .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .setSource(Binding.Source.newBuilder().build()) + .setTarget(Binding.Target.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + + Binding actualResponse = client.updateBindingAsync(binding, updateMask).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void updateBindingExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + Binding binding = + Binding.newBuilder() + .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .setSource(Binding.Source.newBuilder().build()) + .setTarget(Binding.Target.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + client.updateBindingAsync(binding, updateMask).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void deleteBindingTest() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("deleteBindingTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + BindingName name = BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]"); + + client.deleteBindingAsync(name).get(); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void deleteBindingExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + BindingName name = BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]"); + client.deleteBindingAsync(name).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void deleteBindingTest2() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("deleteBindingTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockService.addResponse(resultOperation); + + String name = "projects/project-5678/locations/location-5678/bindings/binding-5678"; + + client.deleteBindingAsync(name).get(); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void deleteBindingExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String name = "projects/project-5678/locations/location-5678/bindings/binding-5678"; + client.deleteBindingAsync(name).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + } + } + + @Test + public void fetchAvailableBindingsTest() throws Exception { + Binding responsesElement = Binding.newBuilder().build(); + FetchAvailableBindingsResponse expectedResponse = + FetchAvailableBindingsResponse.newBuilder() + .setNextPageToken("") + .addAllBindings(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + FetchAvailableBindingsPagedResponse pagedListResponse = client.fetchAvailableBindings(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getBindingsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void fetchAvailableBindingsExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.fetchAvailableBindings(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void fetchAvailableBindingsTest2() throws Exception { + Binding responsesElement = Binding.newBuilder().build(); + FetchAvailableBindingsResponse expectedResponse = + FetchAvailableBindingsResponse.newBuilder() + .setNextPageToken("") + .addAllBindings(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + String parent = "projects/project-5833/locations/location-5833"; + + FetchAvailableBindingsPagedResponse pagedListResponse = client.fetchAvailableBindings(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getBindingsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void fetchAvailableBindingsExceptionTest2() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + String parent = "projects/project-5833/locations/location-5833"; + client.fetchAvailableBindings(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listLocationsTest() throws Exception { + Location responsesElement = Location.newBuilder().build(); + ListLocationsResponse expectedResponse = + ListLocationsResponse.newBuilder() + .setNextPageToken("") + .addAllLocations(Arrays.asList(responsesElement)) + .build(); + mockService.addResponse(expectedResponse); + + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("projects/project-3664") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + + ListLocationsPagedResponse pagedListResponse = client.listLocations(request); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0)); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void listLocationsExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("projects/project-3664") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + client.listLocations(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getLocationTest() throws Exception { + Location expectedResponse = + Location.newBuilder() + .setName("name3373707") + .setLocationId("locationId1541836720") + .setDisplayName("displayName1714148973") + .putAllLabels(new HashMap()) + .setMetadata(Any.newBuilder().build()) + .build(); + mockService.addResponse(expectedResponse); + + GetLocationRequest request = + GetLocationRequest.newBuilder() + .setName("projects/project-9062/locations/location-9062") + .build(); + + Location actualResponse = client.getLocation(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void getLocationExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + GetLocationRequest request = + GetLocationRequest.newBuilder() + .setName("projects/project-9062/locations/location-9062") + .build(); + client.getLocation(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } +} diff --git a/java-agentregistry/google-cloud-agentregistry/src/test/java/com/google/cloud/agentregistry/v1/AgentRegistryClientTest.java b/java-agentregistry/google-cloud-agentregistry/src/test/java/com/google/cloud/agentregistry/v1/AgentRegistryClientTest.java new file mode 100644 index 000000000000..80f6d7eb86f1 --- /dev/null +++ b/java-agentregistry/google-cloud-agentregistry/src/test/java/com/google/cloud/agentregistry/v1/AgentRegistryClientTest.java @@ -0,0 +1,1880 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1; + +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.FetchAvailableBindingsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListAgentsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListBindingsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListEndpointsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListLocationsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListMcpServersPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.ListServicesPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.SearchAgentsPagedResponse; +import static com.google.cloud.agentregistry.v1.AgentRegistryClient.SearchMcpServersPagedResponse; + +import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.grpc.GaxGrpcProperties; +import com.google.api.gax.grpc.testing.LocalChannelProvider; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.api.gax.grpc.testing.MockServiceHelper; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.InvalidArgumentException; +import com.google.api.gax.rpc.StatusCode; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.common.collect.Lists; +import com.google.longrunning.Operation; +import com.google.protobuf.AbstractMessage; +import com.google.protobuf.Any; +import com.google.protobuf.Empty; +import com.google.protobuf.FieldMask; +import com.google.protobuf.Struct; +import com.google.protobuf.Timestamp; +import io.grpc.StatusRuntimeException; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.UUID; +import java.util.concurrent.ExecutionException; +import javax.annotation.Generated; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +@Generated("by gapic-generator-java") +public class AgentRegistryClientTest { + private static MockAgentRegistry mockAgentRegistry; + private static MockLocations mockLocations; + private static MockServiceHelper mockServiceHelper; + private LocalChannelProvider channelProvider; + private AgentRegistryClient client; + + @BeforeClass + public static void startStaticServer() { + mockAgentRegistry = new MockAgentRegistry(); + mockLocations = new MockLocations(); + mockServiceHelper = + new MockServiceHelper( + UUID.randomUUID().toString(), + Arrays.asList(mockAgentRegistry, mockLocations)); + mockServiceHelper.start(); + } + + @AfterClass + public static void stopServer() { + mockServiceHelper.stop(); + } + + @Before + public void setUp() throws IOException { + mockServiceHelper.reset(); + channelProvider = mockServiceHelper.createChannelProvider(); + AgentRegistrySettings settings = + AgentRegistrySettings.newBuilder() + .setTransportChannelProvider(channelProvider) + .setCredentialsProvider(NoCredentialsProvider.create()) + .build(); + client = AgentRegistryClient.create(settings); + } + + @After + public void tearDown() throws Exception { + client.close(); + } + + @Test + public void listAgentsTest() throws Exception { + Agent responsesElement = Agent.newBuilder().build(); + ListAgentsResponse expectedResponse = + ListAgentsResponse.newBuilder() + .setNextPageToken("") + .addAllAgents(Arrays.asList(responsesElement)) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + ListAgentsPagedResponse pagedListResponse = client.listAgents(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getAgentsList().get(0), resources.get(0)); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListAgentsRequest actualRequest = ((ListAgentsRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listAgentsExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.listAgents(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listAgentsTest2() throws Exception { + Agent responsesElement = Agent.newBuilder().build(); + ListAgentsResponse expectedResponse = + ListAgentsResponse.newBuilder() + .setNextPageToken("") + .addAllAgents(Arrays.asList(responsesElement)) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + String parent = "parent-995424086"; + + ListAgentsPagedResponse pagedListResponse = client.listAgents(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getAgentsList().get(0), resources.get(0)); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListAgentsRequest actualRequest = ((ListAgentsRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listAgentsExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + String parent = "parent-995424086"; + client.listAgents(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void searchAgentsTest() throws Exception { + Agent responsesElement = Agent.newBuilder().build(); + SearchAgentsResponse expectedResponse = + SearchAgentsResponse.newBuilder() + .setNextPageToken("") + .addAllAgents(Arrays.asList(responsesElement)) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + SearchAgentsPagedResponse pagedListResponse = client.searchAgents(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getAgentsList().get(0), resources.get(0)); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + SearchAgentsRequest actualRequest = ((SearchAgentsRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void searchAgentsExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.searchAgents(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void searchAgentsTest2() throws Exception { + Agent responsesElement = Agent.newBuilder().build(); + SearchAgentsResponse expectedResponse = + SearchAgentsResponse.newBuilder() + .setNextPageToken("") + .addAllAgents(Arrays.asList(responsesElement)) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + String parent = "parent-995424086"; + + SearchAgentsPagedResponse pagedListResponse = client.searchAgents(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getAgentsList().get(0), resources.get(0)); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + SearchAgentsRequest actualRequest = ((SearchAgentsRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void searchAgentsExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + String parent = "parent-995424086"; + client.searchAgents(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getAgentTest() throws Exception { + Agent expectedResponse = + Agent.newBuilder() + .setName(AgentName.of("[PROJECT]", "[LOCATION]", "[AGENT]").toString()) + .setAgentId("agentId-1060987136") + .setLocation("location1901043637") + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .setVersion("version351608024") + .addAllProtocols(new ArrayList()) + .addAllSkills(new ArrayList()) + .setUid("uid115792") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllAttributes(new HashMap()) + .setCard(Agent.Card.newBuilder().build()) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + AgentName name = AgentName.of("[PROJECT]", "[LOCATION]", "[AGENT]"); + + Agent actualResponse = client.getAgent(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetAgentRequest actualRequest = ((GetAgentRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getAgentExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + AgentName name = AgentName.of("[PROJECT]", "[LOCATION]", "[AGENT]"); + client.getAgent(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getAgentTest2() throws Exception { + Agent expectedResponse = + Agent.newBuilder() + .setName(AgentName.of("[PROJECT]", "[LOCATION]", "[AGENT]").toString()) + .setAgentId("agentId-1060987136") + .setLocation("location1901043637") + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .setVersion("version351608024") + .addAllProtocols(new ArrayList()) + .addAllSkills(new ArrayList()) + .setUid("uid115792") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllAttributes(new HashMap()) + .setCard(Agent.Card.newBuilder().build()) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + String name = "name3373707"; + + Agent actualResponse = client.getAgent(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetAgentRequest actualRequest = ((GetAgentRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getAgentExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + String name = "name3373707"; + client.getAgent(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listEndpointsTest() throws Exception { + Endpoint responsesElement = Endpoint.newBuilder().build(); + ListEndpointsResponse expectedResponse = + ListEndpointsResponse.newBuilder() + .setNextPageToken("") + .addAllEndpoints(Arrays.asList(responsesElement)) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + ListEndpointsPagedResponse pagedListResponse = client.listEndpoints(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getEndpointsList().get(0), resources.get(0)); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListEndpointsRequest actualRequest = ((ListEndpointsRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listEndpointsExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.listEndpoints(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listEndpointsTest2() throws Exception { + Endpoint responsesElement = Endpoint.newBuilder().build(); + ListEndpointsResponse expectedResponse = + ListEndpointsResponse.newBuilder() + .setNextPageToken("") + .addAllEndpoints(Arrays.asList(responsesElement)) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + String parent = "parent-995424086"; + + ListEndpointsPagedResponse pagedListResponse = client.listEndpoints(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getEndpointsList().get(0), resources.get(0)); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListEndpointsRequest actualRequest = ((ListEndpointsRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listEndpointsExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + String parent = "parent-995424086"; + client.listEndpoints(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getEndpointTest() throws Exception { + Endpoint expectedResponse = + Endpoint.newBuilder() + .setName(EndpointName.of("[PROJECT]", "[LOCATION]", "[ENDPOINT]").toString()) + .setEndpointId("endpointId-1837754992") + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .addAllInterfaces(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllAttributes(new HashMap()) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + EndpointName name = EndpointName.of("[PROJECT]", "[LOCATION]", "[ENDPOINT]"); + + Endpoint actualResponse = client.getEndpoint(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetEndpointRequest actualRequest = ((GetEndpointRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getEndpointExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + EndpointName name = EndpointName.of("[PROJECT]", "[LOCATION]", "[ENDPOINT]"); + client.getEndpoint(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getEndpointTest2() throws Exception { + Endpoint expectedResponse = + Endpoint.newBuilder() + .setName(EndpointName.of("[PROJECT]", "[LOCATION]", "[ENDPOINT]").toString()) + .setEndpointId("endpointId-1837754992") + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .addAllInterfaces(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllAttributes(new HashMap()) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + String name = "name3373707"; + + Endpoint actualResponse = client.getEndpoint(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetEndpointRequest actualRequest = ((GetEndpointRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getEndpointExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + String name = "name3373707"; + client.getEndpoint(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listMcpServersTest() throws Exception { + McpServer responsesElement = McpServer.newBuilder().build(); + ListMcpServersResponse expectedResponse = + ListMcpServersResponse.newBuilder() + .setNextPageToken("") + .addAllMcpServers(Arrays.asList(responsesElement)) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + ListMcpServersPagedResponse pagedListResponse = client.listMcpServers(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getMcpServersList().get(0), resources.get(0)); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListMcpServersRequest actualRequest = ((ListMcpServersRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listMcpServersExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.listMcpServers(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listMcpServersTest2() throws Exception { + McpServer responsesElement = McpServer.newBuilder().build(); + ListMcpServersResponse expectedResponse = + ListMcpServersResponse.newBuilder() + .setNextPageToken("") + .addAllMcpServers(Arrays.asList(responsesElement)) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + String parent = "parent-995424086"; + + ListMcpServersPagedResponse pagedListResponse = client.listMcpServers(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getMcpServersList().get(0), resources.get(0)); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListMcpServersRequest actualRequest = ((ListMcpServersRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listMcpServersExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + String parent = "parent-995424086"; + client.listMcpServers(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void searchMcpServersTest() throws Exception { + McpServer responsesElement = McpServer.newBuilder().build(); + SearchMcpServersResponse expectedResponse = + SearchMcpServersResponse.newBuilder() + .setNextPageToken("") + .addAllMcpServers(Arrays.asList(responsesElement)) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + SearchMcpServersPagedResponse pagedListResponse = client.searchMcpServers(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getMcpServersList().get(0), resources.get(0)); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + SearchMcpServersRequest actualRequest = ((SearchMcpServersRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void searchMcpServersExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.searchMcpServers(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void searchMcpServersTest2() throws Exception { + McpServer responsesElement = McpServer.newBuilder().build(); + SearchMcpServersResponse expectedResponse = + SearchMcpServersResponse.newBuilder() + .setNextPageToken("") + .addAllMcpServers(Arrays.asList(responsesElement)) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + String parent = "parent-995424086"; + + SearchMcpServersPagedResponse pagedListResponse = client.searchMcpServers(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getMcpServersList().get(0), resources.get(0)); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + SearchMcpServersRequest actualRequest = ((SearchMcpServersRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void searchMcpServersExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + String parent = "parent-995424086"; + client.searchMcpServers(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getMcpServerTest() throws Exception { + McpServer expectedResponse = + McpServer.newBuilder() + .setName(McpServerName.of("[PROJECT]", "[LOCATION]", "[MCP_SERVER]").toString()) + .setMcpServerId("mcpServerId298140536") + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .addAllInterfaces(new ArrayList()) + .addAllTools(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllAttributes(new HashMap()) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + McpServerName name = McpServerName.of("[PROJECT]", "[LOCATION]", "[MCP_SERVER]"); + + McpServer actualResponse = client.getMcpServer(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetMcpServerRequest actualRequest = ((GetMcpServerRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getMcpServerExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + McpServerName name = McpServerName.of("[PROJECT]", "[LOCATION]", "[MCP_SERVER]"); + client.getMcpServer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getMcpServerTest2() throws Exception { + McpServer expectedResponse = + McpServer.newBuilder() + .setName(McpServerName.of("[PROJECT]", "[LOCATION]", "[MCP_SERVER]").toString()) + .setMcpServerId("mcpServerId298140536") + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .addAllInterfaces(new ArrayList()) + .addAllTools(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .putAllAttributes(new HashMap()) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + String name = "name3373707"; + + McpServer actualResponse = client.getMcpServer(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetMcpServerRequest actualRequest = ((GetMcpServerRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getMcpServerExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + String name = "name3373707"; + client.getMcpServer(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listServicesTest() throws Exception { + Service responsesElement = Service.newBuilder().build(); + ListServicesResponse expectedResponse = + ListServicesResponse.newBuilder() + .setNextPageToken("") + .addAllServices(Arrays.asList(responsesElement)) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + ListServicesPagedResponse pagedListResponse = client.listServices(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getServicesList().get(0), resources.get(0)); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListServicesRequest actualRequest = ((ListServicesRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listServicesExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.listServices(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listServicesTest2() throws Exception { + Service responsesElement = Service.newBuilder().build(); + ListServicesResponse expectedResponse = + ListServicesResponse.newBuilder() + .setNextPageToken("") + .addAllServices(Arrays.asList(responsesElement)) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + String parent = "parent-995424086"; + + ListServicesPagedResponse pagedListResponse = client.listServices(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getServicesList().get(0), resources.get(0)); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListServicesRequest actualRequest = ((ListServicesRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listServicesExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + String parent = "parent-995424086"; + client.listServices(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getServiceTest() throws Exception { + Service expectedResponse = + Service.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .addAllInterfaces(new ArrayList()) + .setRegistryResource("registryResource1400949611") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + ServiceName name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + + Service actualResponse = client.getService(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetServiceRequest actualRequest = ((GetServiceRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getServiceExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + ServiceName name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + client.getService(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getServiceTest2() throws Exception { + Service expectedResponse = + Service.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .addAllInterfaces(new ArrayList()) + .setRegistryResource("registryResource1400949611") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + String name = "name3373707"; + + Service actualResponse = client.getService(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetServiceRequest actualRequest = ((GetServiceRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getServiceExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + String name = "name3373707"; + client.getService(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void createServiceTest() throws Exception { + Service expectedResponse = + Service.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .addAllInterfaces(new ArrayList()) + .setRegistryResource("registryResource1400949611") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("createServiceTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockAgentRegistry.addResponse(resultOperation); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + Service service = Service.newBuilder().build(); + String serviceId = "serviceId-194185552"; + + Service actualResponse = client.createServiceAsync(parent, service, serviceId).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + CreateServiceRequest actualRequest = ((CreateServiceRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertEquals(service, actualRequest.getService()); + Assert.assertEquals(serviceId, actualRequest.getServiceId()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void createServiceExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + Service service = Service.newBuilder().build(); + String serviceId = "serviceId-194185552"; + client.createServiceAsync(parent, service, serviceId).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } + + @Test + public void createServiceTest2() throws Exception { + Service expectedResponse = + Service.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .addAllInterfaces(new ArrayList()) + .setRegistryResource("registryResource1400949611") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("createServiceTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockAgentRegistry.addResponse(resultOperation); + + String parent = "parent-995424086"; + Service service = Service.newBuilder().build(); + String serviceId = "serviceId-194185552"; + + Service actualResponse = client.createServiceAsync(parent, service, serviceId).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + CreateServiceRequest actualRequest = ((CreateServiceRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertEquals(service, actualRequest.getService()); + Assert.assertEquals(serviceId, actualRequest.getServiceId()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void createServiceExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + String parent = "parent-995424086"; + Service service = Service.newBuilder().build(); + String serviceId = "serviceId-194185552"; + client.createServiceAsync(parent, service, serviceId).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } + + @Test + public void updateServiceTest() throws Exception { + Service expectedResponse = + Service.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .addAllInterfaces(new ArrayList()) + .setRegistryResource("registryResource1400949611") + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("updateServiceTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockAgentRegistry.addResponse(resultOperation); + + Service service = Service.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + + Service actualResponse = client.updateServiceAsync(service, updateMask).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + UpdateServiceRequest actualRequest = ((UpdateServiceRequest) actualRequests.get(0)); + + Assert.assertEquals(service, actualRequest.getService()); + Assert.assertEquals(updateMask, actualRequest.getUpdateMask()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void updateServiceExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + Service service = Service.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + client.updateServiceAsync(service, updateMask).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } + + @Test + public void deleteServiceTest() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("deleteServiceTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockAgentRegistry.addResponse(resultOperation); + + ServiceName name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + + client.deleteServiceAsync(name).get(); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + DeleteServiceRequest actualRequest = ((DeleteServiceRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void deleteServiceExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + ServiceName name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + client.deleteServiceAsync(name).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } + + @Test + public void deleteServiceTest2() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("deleteServiceTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockAgentRegistry.addResponse(resultOperation); + + String name = "name3373707"; + + client.deleteServiceAsync(name).get(); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + DeleteServiceRequest actualRequest = ((DeleteServiceRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void deleteServiceExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + String name = "name3373707"; + client.deleteServiceAsync(name).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } + + @Test + public void listBindingsTest() throws Exception { + Binding responsesElement = Binding.newBuilder().build(); + ListBindingsResponse expectedResponse = + ListBindingsResponse.newBuilder() + .setNextPageToken("") + .addAllBindings(Arrays.asList(responsesElement)) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + ListBindingsPagedResponse pagedListResponse = client.listBindings(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getBindingsList().get(0), resources.get(0)); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListBindingsRequest actualRequest = ((ListBindingsRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listBindingsExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.listBindings(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listBindingsTest2() throws Exception { + Binding responsesElement = Binding.newBuilder().build(); + ListBindingsResponse expectedResponse = + ListBindingsResponse.newBuilder() + .setNextPageToken("") + .addAllBindings(Arrays.asList(responsesElement)) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + String parent = "parent-995424086"; + + ListBindingsPagedResponse pagedListResponse = client.listBindings(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getBindingsList().get(0), resources.get(0)); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListBindingsRequest actualRequest = ((ListBindingsRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listBindingsExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + String parent = "parent-995424086"; + client.listBindings(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getBindingTest() throws Exception { + Binding expectedResponse = + Binding.newBuilder() + .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .setSource(Binding.Source.newBuilder().build()) + .setTarget(Binding.Target.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + BindingName name = BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]"); + + Binding actualResponse = client.getBinding(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetBindingRequest actualRequest = ((GetBindingRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getBindingExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + BindingName name = BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]"); + client.getBinding(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getBindingTest2() throws Exception { + Binding expectedResponse = + Binding.newBuilder() + .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .setSource(Binding.Source.newBuilder().build()) + .setTarget(Binding.Target.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + String name = "name3373707"; + + Binding actualResponse = client.getBinding(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetBindingRequest actualRequest = ((GetBindingRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getBindingExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + String name = "name3373707"; + client.getBinding(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void createBindingTest() throws Exception { + Binding expectedResponse = + Binding.newBuilder() + .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .setSource(Binding.Source.newBuilder().build()) + .setTarget(Binding.Target.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("createBindingTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockAgentRegistry.addResponse(resultOperation); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + Binding binding = Binding.newBuilder().build(); + String bindingId = "bindingId-920966528"; + + Binding actualResponse = client.createBindingAsync(parent, binding, bindingId).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + CreateBindingRequest actualRequest = ((CreateBindingRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertEquals(binding, actualRequest.getBinding()); + Assert.assertEquals(bindingId, actualRequest.getBindingId()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void createBindingExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + Binding binding = Binding.newBuilder().build(); + String bindingId = "bindingId-920966528"; + client.createBindingAsync(parent, binding, bindingId).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } + + @Test + public void createBindingTest2() throws Exception { + Binding expectedResponse = + Binding.newBuilder() + .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .setSource(Binding.Source.newBuilder().build()) + .setTarget(Binding.Target.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("createBindingTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockAgentRegistry.addResponse(resultOperation); + + String parent = "parent-995424086"; + Binding binding = Binding.newBuilder().build(); + String bindingId = "bindingId-920966528"; + + Binding actualResponse = client.createBindingAsync(parent, binding, bindingId).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + CreateBindingRequest actualRequest = ((CreateBindingRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertEquals(binding, actualRequest.getBinding()); + Assert.assertEquals(bindingId, actualRequest.getBindingId()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void createBindingExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + String parent = "parent-995424086"; + Binding binding = Binding.newBuilder().build(); + String bindingId = "bindingId-920966528"; + client.createBindingAsync(parent, binding, bindingId).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } + + @Test + public void updateBindingTest() throws Exception { + Binding expectedResponse = + Binding.newBuilder() + .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString()) + .setDisplayName("displayName1714148973") + .setDescription("description-1724546052") + .setSource(Binding.Source.newBuilder().build()) + .setTarget(Binding.Target.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("updateBindingTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockAgentRegistry.addResponse(resultOperation); + + Binding binding = Binding.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + + Binding actualResponse = client.updateBindingAsync(binding, updateMask).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + UpdateBindingRequest actualRequest = ((UpdateBindingRequest) actualRequests.get(0)); + + Assert.assertEquals(binding, actualRequest.getBinding()); + Assert.assertEquals(updateMask, actualRequest.getUpdateMask()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void updateBindingExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + Binding binding = Binding.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + client.updateBindingAsync(binding, updateMask).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } + + @Test + public void deleteBindingTest() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("deleteBindingTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockAgentRegistry.addResponse(resultOperation); + + BindingName name = BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]"); + + client.deleteBindingAsync(name).get(); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + DeleteBindingRequest actualRequest = ((DeleteBindingRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void deleteBindingExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + BindingName name = BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]"); + client.deleteBindingAsync(name).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } + + @Test + public void deleteBindingTest2() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("deleteBindingTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockAgentRegistry.addResponse(resultOperation); + + String name = "name3373707"; + + client.deleteBindingAsync(name).get(); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + DeleteBindingRequest actualRequest = ((DeleteBindingRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void deleteBindingExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + String name = "name3373707"; + client.deleteBindingAsync(name).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause()); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } + + @Test + public void fetchAvailableBindingsTest() throws Exception { + Binding responsesElement = Binding.newBuilder().build(); + FetchAvailableBindingsResponse expectedResponse = + FetchAvailableBindingsResponse.newBuilder() + .setNextPageToken("") + .addAllBindings(Arrays.asList(responsesElement)) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + + FetchAvailableBindingsPagedResponse pagedListResponse = client.fetchAvailableBindings(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getBindingsList().get(0), resources.get(0)); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + FetchAvailableBindingsRequest actualRequest = + ((FetchAvailableBindingsRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void fetchAvailableBindingsExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + client.fetchAvailableBindings(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void fetchAvailableBindingsTest2() throws Exception { + Binding responsesElement = Binding.newBuilder().build(); + FetchAvailableBindingsResponse expectedResponse = + FetchAvailableBindingsResponse.newBuilder() + .setNextPageToken("") + .addAllBindings(Arrays.asList(responsesElement)) + .build(); + mockAgentRegistry.addResponse(expectedResponse); + + String parent = "parent-995424086"; + + FetchAvailableBindingsPagedResponse pagedListResponse = client.fetchAvailableBindings(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getBindingsList().get(0), resources.get(0)); + + List actualRequests = mockAgentRegistry.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + FetchAvailableBindingsRequest actualRequest = + ((FetchAvailableBindingsRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void fetchAvailableBindingsExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAgentRegistry.addException(exception); + + try { + String parent = "parent-995424086"; + client.fetchAvailableBindings(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listLocationsTest() throws Exception { + Location responsesElement = Location.newBuilder().build(); + ListLocationsResponse expectedResponse = + ListLocationsResponse.newBuilder() + .setNextPageToken("") + .addAllLocations(Arrays.asList(responsesElement)) + .build(); + mockLocations.addResponse(expectedResponse); + + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + + ListLocationsPagedResponse pagedListResponse = client.listLocations(request); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0)); + + List actualRequests = mockLocations.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListLocationsRequest actualRequest = ((ListLocationsRequest) actualRequests.get(0)); + + Assert.assertEquals(request.getName(), actualRequest.getName()); + Assert.assertEquals(request.getFilter(), actualRequest.getFilter()); + Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize()); + Assert.assertEquals(request.getPageToken(), actualRequest.getPageToken()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listLocationsExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockLocations.addException(exception); + + try { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + client.listLocations(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getLocationTest() throws Exception { + Location expectedResponse = + Location.newBuilder() + .setName("name3373707") + .setLocationId("locationId1541836720") + .setDisplayName("displayName1714148973") + .putAllLabels(new HashMap()) + .setMetadata(Any.newBuilder().build()) + .build(); + mockLocations.addResponse(expectedResponse); + + GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); + + Location actualResponse = client.getLocation(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockLocations.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetLocationRequest actualRequest = ((GetLocationRequest) actualRequests.get(0)); + + Assert.assertEquals(request.getName(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getLocationExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockLocations.addException(exception); + + try { + GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); + client.getLocation(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } +} diff --git a/java-agentregistry/google-cloud-agentregistry/src/test/java/com/google/cloud/agentregistry/v1/MockAgentRegistry.java b/java-agentregistry/google-cloud-agentregistry/src/test/java/com/google/cloud/agentregistry/v1/MockAgentRegistry.java new file mode 100644 index 000000000000..e5892717b947 --- /dev/null +++ b/java-agentregistry/google-cloud-agentregistry/src/test/java/com/google/cloud/agentregistry/v1/MockAgentRegistry.java @@ -0,0 +1,59 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1; + +import com.google.api.core.BetaApi; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.protobuf.AbstractMessage; +import io.grpc.ServerServiceDefinition; +import java.util.List; +import javax.annotation.Generated; + +@BetaApi +@Generated("by gapic-generator-java") +public class MockAgentRegistry implements MockGrpcService { + private final MockAgentRegistryImpl serviceImpl; + + public MockAgentRegistry() { + serviceImpl = new MockAgentRegistryImpl(); + } + + @Override + public List getRequests() { + return serviceImpl.getRequests(); + } + + @Override + public void addResponse(AbstractMessage response) { + serviceImpl.addResponse(response); + } + + @Override + public void addException(Exception exception) { + serviceImpl.addException(exception); + } + + @Override + public ServerServiceDefinition getServiceDefinition() { + return serviceImpl.bindService(); + } + + @Override + public void reset() { + serviceImpl.reset(); + } +} diff --git a/java-agentregistry/google-cloud-agentregistry/src/test/java/com/google/cloud/agentregistry/v1/MockAgentRegistryImpl.java b/java-agentregistry/google-cloud-agentregistry/src/test/java/com/google/cloud/agentregistry/v1/MockAgentRegistryImpl.java new file mode 100644 index 000000000000..cd5da34ee8a4 --- /dev/null +++ b/java-agentregistry/google-cloud-agentregistry/src/test/java/com/google/cloud/agentregistry/v1/MockAgentRegistryImpl.java @@ -0,0 +1,458 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1; + +import com.google.api.core.BetaApi; +import com.google.cloud.agentregistry.v1.AgentRegistryGrpc.AgentRegistryImplBase; +import com.google.longrunning.Operation; +import com.google.protobuf.AbstractMessage; +import io.grpc.stub.StreamObserver; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; +import javax.annotation.Generated; + +@BetaApi +@Generated("by gapic-generator-java") +public class MockAgentRegistryImpl extends AgentRegistryImplBase { + private List requests; + private Queue responses; + + public MockAgentRegistryImpl() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + public List getRequests() { + return requests; + } + + public void addResponse(AbstractMessage response) { + responses.add(response); + } + + public void setResponses(List responses) { + this.responses = new LinkedList(responses); + } + + public void addException(Exception exception) { + responses.add(exception); + } + + public void reset() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + @Override + public void listAgents( + ListAgentsRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof ListAgentsResponse) { + requests.add(request); + responseObserver.onNext(((ListAgentsResponse) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method ListAgents, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ListAgentsResponse.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void searchAgents( + SearchAgentsRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof SearchAgentsResponse) { + requests.add(request); + responseObserver.onNext(((SearchAgentsResponse) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method SearchAgents, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + SearchAgentsResponse.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void getAgent(GetAgentRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Agent) { + requests.add(request); + responseObserver.onNext(((Agent) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetAgent, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Agent.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void listEndpoints( + ListEndpointsRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof ListEndpointsResponse) { + requests.add(request); + responseObserver.onNext(((ListEndpointsResponse) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method ListEndpoints, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ListEndpointsResponse.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void getEndpoint(GetEndpointRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Endpoint) { + requests.add(request); + responseObserver.onNext(((Endpoint) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetEndpoint, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Endpoint.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void listMcpServers( + ListMcpServersRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof ListMcpServersResponse) { + requests.add(request); + responseObserver.onNext(((ListMcpServersResponse) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method ListMcpServers, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ListMcpServersResponse.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void searchMcpServers( + SearchMcpServersRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof SearchMcpServersResponse) { + requests.add(request); + responseObserver.onNext(((SearchMcpServersResponse) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method SearchMcpServers, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + SearchMcpServersResponse.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void getMcpServer( + GetMcpServerRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof McpServer) { + requests.add(request); + responseObserver.onNext(((McpServer) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetMcpServer, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + McpServer.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void listServices( + ListServicesRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof ListServicesResponse) { + requests.add(request); + responseObserver.onNext(((ListServicesResponse) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method ListServices, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ListServicesResponse.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void getService(GetServiceRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Service) { + requests.add(request); + responseObserver.onNext(((Service) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetService, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Service.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void createService( + CreateServiceRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Operation) { + requests.add(request); + responseObserver.onNext(((Operation) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method CreateService, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Operation.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void updateService( + UpdateServiceRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Operation) { + requests.add(request); + responseObserver.onNext(((Operation) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method UpdateService, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Operation.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void deleteService( + DeleteServiceRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Operation) { + requests.add(request); + responseObserver.onNext(((Operation) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method DeleteService, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Operation.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void listBindings( + ListBindingsRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof ListBindingsResponse) { + requests.add(request); + responseObserver.onNext(((ListBindingsResponse) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method ListBindings, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ListBindingsResponse.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void getBinding(GetBindingRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Binding) { + requests.add(request); + responseObserver.onNext(((Binding) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetBinding, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Binding.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void createBinding( + CreateBindingRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Operation) { + requests.add(request); + responseObserver.onNext(((Operation) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method CreateBinding, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Operation.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void updateBinding( + UpdateBindingRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Operation) { + requests.add(request); + responseObserver.onNext(((Operation) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method UpdateBinding, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Operation.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void deleteBinding( + DeleteBindingRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Operation) { + requests.add(request); + responseObserver.onNext(((Operation) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method DeleteBinding, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Operation.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void fetchAvailableBindings( + FetchAvailableBindingsRequest request, + StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof FetchAvailableBindingsResponse) { + requests.add(request); + responseObserver.onNext(((FetchAvailableBindingsResponse) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method FetchAvailableBindings, expected %s or" + + " %s", + response == null ? "null" : response.getClass().getName(), + FetchAvailableBindingsResponse.class.getName(), + Exception.class.getName()))); + } + } +} diff --git a/java-agentregistry/google-cloud-agentregistry/src/test/java/com/google/cloud/agentregistry/v1/MockLocations.java b/java-agentregistry/google-cloud-agentregistry/src/test/java/com/google/cloud/agentregistry/v1/MockLocations.java new file mode 100644 index 000000000000..f4ef40e99c77 --- /dev/null +++ b/java-agentregistry/google-cloud-agentregistry/src/test/java/com/google/cloud/agentregistry/v1/MockLocations.java @@ -0,0 +1,59 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1; + +import com.google.api.core.BetaApi; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.protobuf.AbstractMessage; +import io.grpc.ServerServiceDefinition; +import java.util.List; +import javax.annotation.Generated; + +@BetaApi +@Generated("by gapic-generator-java") +public class MockLocations implements MockGrpcService { + private final MockLocationsImpl serviceImpl; + + public MockLocations() { + serviceImpl = new MockLocationsImpl(); + } + + @Override + public List getRequests() { + return serviceImpl.getRequests(); + } + + @Override + public void addResponse(AbstractMessage response) { + serviceImpl.addResponse(response); + } + + @Override + public void addException(Exception exception) { + serviceImpl.addException(exception); + } + + @Override + public ServerServiceDefinition getServiceDefinition() { + return serviceImpl.bindService(); + } + + @Override + public void reset() { + serviceImpl.reset(); + } +} diff --git a/java-agentregistry/google-cloud-agentregistry/src/test/java/com/google/cloud/agentregistry/v1/MockLocationsImpl.java b/java-agentregistry/google-cloud-agentregistry/src/test/java/com/google/cloud/agentregistry/v1/MockLocationsImpl.java new file mode 100644 index 000000000000..97716dfebb87 --- /dev/null +++ b/java-agentregistry/google-cloud-agentregistry/src/test/java/com/google/cloud/agentregistry/v1/MockLocationsImpl.java @@ -0,0 +1,105 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1; + +import com.google.api.core.BetaApi; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.cloud.location.LocationsGrpc.LocationsImplBase; +import com.google.protobuf.AbstractMessage; +import io.grpc.stub.StreamObserver; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; +import javax.annotation.Generated; + +@BetaApi +@Generated("by gapic-generator-java") +public class MockLocationsImpl extends LocationsImplBase { + private List requests; + private Queue responses; + + public MockLocationsImpl() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + public List getRequests() { + return requests; + } + + public void addResponse(AbstractMessage response) { + responses.add(response); + } + + public void setResponses(List responses) { + this.responses = new LinkedList(responses); + } + + public void addException(Exception exception) { + responses.add(exception); + } + + public void reset() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + @Override + public void listLocations( + ListLocationsRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof ListLocationsResponse) { + requests.add(request); + responseObserver.onNext(((ListLocationsResponse) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method ListLocations, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ListLocationsResponse.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void getLocation(GetLocationRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Location) { + requests.add(request); + responseObserver.onNext(((Location) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method GetLocation, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Location.class.getName(), + Exception.class.getName()))); + } + } +} diff --git a/java-agentregistry/grpc-google-cloud-agentregistry-v1/pom.xml b/java-agentregistry/grpc-google-cloud-agentregistry-v1/pom.xml new file mode 100644 index 000000000000..28a063e113ac --- /dev/null +++ b/java-agentregistry/grpc-google-cloud-agentregistry-v1/pom.xml @@ -0,0 +1,45 @@ + + 4.0.0 + com.google.api.grpc + grpc-google-cloud-agentregistry-v1 + 0.1.0 + grpc-google-cloud-agentregistry-v1 + GRPC library for google-cloud-agentregistry + + com.google.cloud + google-cloud-agentregistry-parent + 0.1.0 + + + + io.grpc + grpc-api + + + io.grpc + grpc-stub + + + io.grpc + grpc-protobuf + + + com.google.protobuf + protobuf-java + + + com.google.api.grpc + proto-google-common-protos + + + com.google.api.grpc + proto-google-cloud-agentregistry-v1 + + + com.google.guava + guava + + + diff --git a/java-agentregistry/grpc-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/AgentRegistryGrpc.java b/java-agentregistry/grpc-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/AgentRegistryGrpc.java new file mode 100644 index 000000000000..45abe3ea6a14 --- /dev/null +++ b/java-agentregistry/grpc-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/AgentRegistryGrpc.java @@ -0,0 +1,2775 @@ +/* + * Copyright 2026 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 + * + * 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. + */ +package com.google.cloud.agentregistry.v1; + +import static io.grpc.MethodDescriptor.generateFullMethodName; + +/** + * + * + *
+ * Service for managing Agents, Endpoints, McpServers, Services, and Bindings.
+ * 
+ */ +@io.grpc.stub.annotations.GrpcGenerated +public final class AgentRegistryGrpc { + + private AgentRegistryGrpc() {} + + public static final java.lang.String SERVICE_NAME = "google.cloud.agentregistry.v1.AgentRegistry"; + + // Static method descriptors that strictly reflect the proto. + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.ListAgentsRequest, + com.google.cloud.agentregistry.v1.ListAgentsResponse> + getListAgentsMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "ListAgents", + requestType = com.google.cloud.agentregistry.v1.ListAgentsRequest.class, + responseType = com.google.cloud.agentregistry.v1.ListAgentsResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.ListAgentsRequest, + com.google.cloud.agentregistry.v1.ListAgentsResponse> + getListAgentsMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.ListAgentsRequest, + com.google.cloud.agentregistry.v1.ListAgentsResponse> + getListAgentsMethod; + if ((getListAgentsMethod = AgentRegistryGrpc.getListAgentsMethod) == null) { + synchronized (AgentRegistryGrpc.class) { + if ((getListAgentsMethod = AgentRegistryGrpc.getListAgentsMethod) == null) { + AgentRegistryGrpc.getListAgentsMethod = + getListAgentsMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "ListAgents")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.ListAgentsRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.ListAgentsResponse + .getDefaultInstance())) + .setSchemaDescriptor(new AgentRegistryMethodDescriptorSupplier("ListAgents")) + .build(); + } + } + } + return getListAgentsMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.SearchAgentsRequest, + com.google.cloud.agentregistry.v1.SearchAgentsResponse> + getSearchAgentsMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "SearchAgents", + requestType = com.google.cloud.agentregistry.v1.SearchAgentsRequest.class, + responseType = com.google.cloud.agentregistry.v1.SearchAgentsResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.SearchAgentsRequest, + com.google.cloud.agentregistry.v1.SearchAgentsResponse> + getSearchAgentsMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.SearchAgentsRequest, + com.google.cloud.agentregistry.v1.SearchAgentsResponse> + getSearchAgentsMethod; + if ((getSearchAgentsMethod = AgentRegistryGrpc.getSearchAgentsMethod) == null) { + synchronized (AgentRegistryGrpc.class) { + if ((getSearchAgentsMethod = AgentRegistryGrpc.getSearchAgentsMethod) == null) { + AgentRegistryGrpc.getSearchAgentsMethod = + getSearchAgentsMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "SearchAgents")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.SearchAgentsRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.SearchAgentsResponse + .getDefaultInstance())) + .setSchemaDescriptor( + new AgentRegistryMethodDescriptorSupplier("SearchAgents")) + .build(); + } + } + } + return getSearchAgentsMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.GetAgentRequest, + com.google.cloud.agentregistry.v1.Agent> + getGetAgentMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetAgent", + requestType = com.google.cloud.agentregistry.v1.GetAgentRequest.class, + responseType = com.google.cloud.agentregistry.v1.Agent.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.GetAgentRequest, + com.google.cloud.agentregistry.v1.Agent> + getGetAgentMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.GetAgentRequest, + com.google.cloud.agentregistry.v1.Agent> + getGetAgentMethod; + if ((getGetAgentMethod = AgentRegistryGrpc.getGetAgentMethod) == null) { + synchronized (AgentRegistryGrpc.class) { + if ((getGetAgentMethod = AgentRegistryGrpc.getGetAgentMethod) == null) { + AgentRegistryGrpc.getGetAgentMethod = + getGetAgentMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetAgent")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.GetAgentRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.Agent.getDefaultInstance())) + .setSchemaDescriptor(new AgentRegistryMethodDescriptorSupplier("GetAgent")) + .build(); + } + } + } + return getGetAgentMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.ListEndpointsRequest, + com.google.cloud.agentregistry.v1.ListEndpointsResponse> + getListEndpointsMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "ListEndpoints", + requestType = com.google.cloud.agentregistry.v1.ListEndpointsRequest.class, + responseType = com.google.cloud.agentregistry.v1.ListEndpointsResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.ListEndpointsRequest, + com.google.cloud.agentregistry.v1.ListEndpointsResponse> + getListEndpointsMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.ListEndpointsRequest, + com.google.cloud.agentregistry.v1.ListEndpointsResponse> + getListEndpointsMethod; + if ((getListEndpointsMethod = AgentRegistryGrpc.getListEndpointsMethod) == null) { + synchronized (AgentRegistryGrpc.class) { + if ((getListEndpointsMethod = AgentRegistryGrpc.getListEndpointsMethod) == null) { + AgentRegistryGrpc.getListEndpointsMethod = + getListEndpointsMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "ListEndpoints")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.ListEndpointsRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.ListEndpointsResponse + .getDefaultInstance())) + .setSchemaDescriptor( + new AgentRegistryMethodDescriptorSupplier("ListEndpoints")) + .build(); + } + } + } + return getListEndpointsMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.GetEndpointRequest, + com.google.cloud.agentregistry.v1.Endpoint> + getGetEndpointMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetEndpoint", + requestType = com.google.cloud.agentregistry.v1.GetEndpointRequest.class, + responseType = com.google.cloud.agentregistry.v1.Endpoint.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.GetEndpointRequest, + com.google.cloud.agentregistry.v1.Endpoint> + getGetEndpointMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.GetEndpointRequest, + com.google.cloud.agentregistry.v1.Endpoint> + getGetEndpointMethod; + if ((getGetEndpointMethod = AgentRegistryGrpc.getGetEndpointMethod) == null) { + synchronized (AgentRegistryGrpc.class) { + if ((getGetEndpointMethod = AgentRegistryGrpc.getGetEndpointMethod) == null) { + AgentRegistryGrpc.getGetEndpointMethod = + getGetEndpointMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetEndpoint")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.GetEndpointRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.Endpoint.getDefaultInstance())) + .setSchemaDescriptor(new AgentRegistryMethodDescriptorSupplier("GetEndpoint")) + .build(); + } + } + } + return getGetEndpointMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.ListMcpServersRequest, + com.google.cloud.agentregistry.v1.ListMcpServersResponse> + getListMcpServersMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "ListMcpServers", + requestType = com.google.cloud.agentregistry.v1.ListMcpServersRequest.class, + responseType = com.google.cloud.agentregistry.v1.ListMcpServersResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.ListMcpServersRequest, + com.google.cloud.agentregistry.v1.ListMcpServersResponse> + getListMcpServersMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.ListMcpServersRequest, + com.google.cloud.agentregistry.v1.ListMcpServersResponse> + getListMcpServersMethod; + if ((getListMcpServersMethod = AgentRegistryGrpc.getListMcpServersMethod) == null) { + synchronized (AgentRegistryGrpc.class) { + if ((getListMcpServersMethod = AgentRegistryGrpc.getListMcpServersMethod) == null) { + AgentRegistryGrpc.getListMcpServersMethod = + getListMcpServersMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "ListMcpServers")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.ListMcpServersRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.ListMcpServersResponse + .getDefaultInstance())) + .setSchemaDescriptor( + new AgentRegistryMethodDescriptorSupplier("ListMcpServers")) + .build(); + } + } + } + return getListMcpServersMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.SearchMcpServersRequest, + com.google.cloud.agentregistry.v1.SearchMcpServersResponse> + getSearchMcpServersMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "SearchMcpServers", + requestType = com.google.cloud.agentregistry.v1.SearchMcpServersRequest.class, + responseType = com.google.cloud.agentregistry.v1.SearchMcpServersResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.SearchMcpServersRequest, + com.google.cloud.agentregistry.v1.SearchMcpServersResponse> + getSearchMcpServersMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.SearchMcpServersRequest, + com.google.cloud.agentregistry.v1.SearchMcpServersResponse> + getSearchMcpServersMethod; + if ((getSearchMcpServersMethod = AgentRegistryGrpc.getSearchMcpServersMethod) == null) { + synchronized (AgentRegistryGrpc.class) { + if ((getSearchMcpServersMethod = AgentRegistryGrpc.getSearchMcpServersMethod) == null) { + AgentRegistryGrpc.getSearchMcpServersMethod = + getSearchMcpServersMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "SearchMcpServers")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.SearchMcpServersRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.SearchMcpServersResponse + .getDefaultInstance())) + .setSchemaDescriptor( + new AgentRegistryMethodDescriptorSupplier("SearchMcpServers")) + .build(); + } + } + } + return getSearchMcpServersMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.GetMcpServerRequest, + com.google.cloud.agentregistry.v1.McpServer> + getGetMcpServerMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetMcpServer", + requestType = com.google.cloud.agentregistry.v1.GetMcpServerRequest.class, + responseType = com.google.cloud.agentregistry.v1.McpServer.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.GetMcpServerRequest, + com.google.cloud.agentregistry.v1.McpServer> + getGetMcpServerMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.GetMcpServerRequest, + com.google.cloud.agentregistry.v1.McpServer> + getGetMcpServerMethod; + if ((getGetMcpServerMethod = AgentRegistryGrpc.getGetMcpServerMethod) == null) { + synchronized (AgentRegistryGrpc.class) { + if ((getGetMcpServerMethod = AgentRegistryGrpc.getGetMcpServerMethod) == null) { + AgentRegistryGrpc.getGetMcpServerMethod = + getGetMcpServerMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetMcpServer")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.GetMcpServerRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.McpServer.getDefaultInstance())) + .setSchemaDescriptor( + new AgentRegistryMethodDescriptorSupplier("GetMcpServer")) + .build(); + } + } + } + return getGetMcpServerMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.ListServicesRequest, + com.google.cloud.agentregistry.v1.ListServicesResponse> + getListServicesMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "ListServices", + requestType = com.google.cloud.agentregistry.v1.ListServicesRequest.class, + responseType = com.google.cloud.agentregistry.v1.ListServicesResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.ListServicesRequest, + com.google.cloud.agentregistry.v1.ListServicesResponse> + getListServicesMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.ListServicesRequest, + com.google.cloud.agentregistry.v1.ListServicesResponse> + getListServicesMethod; + if ((getListServicesMethod = AgentRegistryGrpc.getListServicesMethod) == null) { + synchronized (AgentRegistryGrpc.class) { + if ((getListServicesMethod = AgentRegistryGrpc.getListServicesMethod) == null) { + AgentRegistryGrpc.getListServicesMethod = + getListServicesMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "ListServices")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.ListServicesRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.ListServicesResponse + .getDefaultInstance())) + .setSchemaDescriptor( + new AgentRegistryMethodDescriptorSupplier("ListServices")) + .build(); + } + } + } + return getListServicesMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.GetServiceRequest, + com.google.cloud.agentregistry.v1.Service> + getGetServiceMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetService", + requestType = com.google.cloud.agentregistry.v1.GetServiceRequest.class, + responseType = com.google.cloud.agentregistry.v1.Service.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.GetServiceRequest, + com.google.cloud.agentregistry.v1.Service> + getGetServiceMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.GetServiceRequest, + com.google.cloud.agentregistry.v1.Service> + getGetServiceMethod; + if ((getGetServiceMethod = AgentRegistryGrpc.getGetServiceMethod) == null) { + synchronized (AgentRegistryGrpc.class) { + if ((getGetServiceMethod = AgentRegistryGrpc.getGetServiceMethod) == null) { + AgentRegistryGrpc.getGetServiceMethod = + getGetServiceMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetService")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.GetServiceRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.Service.getDefaultInstance())) + .setSchemaDescriptor(new AgentRegistryMethodDescriptorSupplier("GetService")) + .build(); + } + } + } + return getGetServiceMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.CreateServiceRequest, com.google.longrunning.Operation> + getCreateServiceMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "CreateService", + requestType = com.google.cloud.agentregistry.v1.CreateServiceRequest.class, + responseType = com.google.longrunning.Operation.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.CreateServiceRequest, com.google.longrunning.Operation> + getCreateServiceMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.CreateServiceRequest, + com.google.longrunning.Operation> + getCreateServiceMethod; + if ((getCreateServiceMethod = AgentRegistryGrpc.getCreateServiceMethod) == null) { + synchronized (AgentRegistryGrpc.class) { + if ((getCreateServiceMethod = AgentRegistryGrpc.getCreateServiceMethod) == null) { + AgentRegistryGrpc.getCreateServiceMethod = + getCreateServiceMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "CreateService")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.CreateServiceRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.longrunning.Operation.getDefaultInstance())) + .setSchemaDescriptor( + new AgentRegistryMethodDescriptorSupplier("CreateService")) + .build(); + } + } + } + return getCreateServiceMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.UpdateServiceRequest, com.google.longrunning.Operation> + getUpdateServiceMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "UpdateService", + requestType = com.google.cloud.agentregistry.v1.UpdateServiceRequest.class, + responseType = com.google.longrunning.Operation.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.UpdateServiceRequest, com.google.longrunning.Operation> + getUpdateServiceMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.UpdateServiceRequest, + com.google.longrunning.Operation> + getUpdateServiceMethod; + if ((getUpdateServiceMethod = AgentRegistryGrpc.getUpdateServiceMethod) == null) { + synchronized (AgentRegistryGrpc.class) { + if ((getUpdateServiceMethod = AgentRegistryGrpc.getUpdateServiceMethod) == null) { + AgentRegistryGrpc.getUpdateServiceMethod = + getUpdateServiceMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "UpdateService")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.UpdateServiceRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.longrunning.Operation.getDefaultInstance())) + .setSchemaDescriptor( + new AgentRegistryMethodDescriptorSupplier("UpdateService")) + .build(); + } + } + } + return getUpdateServiceMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.DeleteServiceRequest, com.google.longrunning.Operation> + getDeleteServiceMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "DeleteService", + requestType = com.google.cloud.agentregistry.v1.DeleteServiceRequest.class, + responseType = com.google.longrunning.Operation.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.DeleteServiceRequest, com.google.longrunning.Operation> + getDeleteServiceMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.DeleteServiceRequest, + com.google.longrunning.Operation> + getDeleteServiceMethod; + if ((getDeleteServiceMethod = AgentRegistryGrpc.getDeleteServiceMethod) == null) { + synchronized (AgentRegistryGrpc.class) { + if ((getDeleteServiceMethod = AgentRegistryGrpc.getDeleteServiceMethod) == null) { + AgentRegistryGrpc.getDeleteServiceMethod = + getDeleteServiceMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "DeleteService")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.DeleteServiceRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.longrunning.Operation.getDefaultInstance())) + .setSchemaDescriptor( + new AgentRegistryMethodDescriptorSupplier("DeleteService")) + .build(); + } + } + } + return getDeleteServiceMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.ListBindingsRequest, + com.google.cloud.agentregistry.v1.ListBindingsResponse> + getListBindingsMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "ListBindings", + requestType = com.google.cloud.agentregistry.v1.ListBindingsRequest.class, + responseType = com.google.cloud.agentregistry.v1.ListBindingsResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.ListBindingsRequest, + com.google.cloud.agentregistry.v1.ListBindingsResponse> + getListBindingsMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.ListBindingsRequest, + com.google.cloud.agentregistry.v1.ListBindingsResponse> + getListBindingsMethod; + if ((getListBindingsMethod = AgentRegistryGrpc.getListBindingsMethod) == null) { + synchronized (AgentRegistryGrpc.class) { + if ((getListBindingsMethod = AgentRegistryGrpc.getListBindingsMethod) == null) { + AgentRegistryGrpc.getListBindingsMethod = + getListBindingsMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "ListBindings")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.ListBindingsRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.ListBindingsResponse + .getDefaultInstance())) + .setSchemaDescriptor( + new AgentRegistryMethodDescriptorSupplier("ListBindings")) + .build(); + } + } + } + return getListBindingsMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.GetBindingRequest, + com.google.cloud.agentregistry.v1.Binding> + getGetBindingMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetBinding", + requestType = com.google.cloud.agentregistry.v1.GetBindingRequest.class, + responseType = com.google.cloud.agentregistry.v1.Binding.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.GetBindingRequest, + com.google.cloud.agentregistry.v1.Binding> + getGetBindingMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.GetBindingRequest, + com.google.cloud.agentregistry.v1.Binding> + getGetBindingMethod; + if ((getGetBindingMethod = AgentRegistryGrpc.getGetBindingMethod) == null) { + synchronized (AgentRegistryGrpc.class) { + if ((getGetBindingMethod = AgentRegistryGrpc.getGetBindingMethod) == null) { + AgentRegistryGrpc.getGetBindingMethod = + getGetBindingMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetBinding")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.GetBindingRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.Binding.getDefaultInstance())) + .setSchemaDescriptor(new AgentRegistryMethodDescriptorSupplier("GetBinding")) + .build(); + } + } + } + return getGetBindingMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.CreateBindingRequest, com.google.longrunning.Operation> + getCreateBindingMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "CreateBinding", + requestType = com.google.cloud.agentregistry.v1.CreateBindingRequest.class, + responseType = com.google.longrunning.Operation.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.CreateBindingRequest, com.google.longrunning.Operation> + getCreateBindingMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.CreateBindingRequest, + com.google.longrunning.Operation> + getCreateBindingMethod; + if ((getCreateBindingMethod = AgentRegistryGrpc.getCreateBindingMethod) == null) { + synchronized (AgentRegistryGrpc.class) { + if ((getCreateBindingMethod = AgentRegistryGrpc.getCreateBindingMethod) == null) { + AgentRegistryGrpc.getCreateBindingMethod = + getCreateBindingMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "CreateBinding")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.CreateBindingRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.longrunning.Operation.getDefaultInstance())) + .setSchemaDescriptor( + new AgentRegistryMethodDescriptorSupplier("CreateBinding")) + .build(); + } + } + } + return getCreateBindingMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.UpdateBindingRequest, com.google.longrunning.Operation> + getUpdateBindingMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "UpdateBinding", + requestType = com.google.cloud.agentregistry.v1.UpdateBindingRequest.class, + responseType = com.google.longrunning.Operation.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.UpdateBindingRequest, com.google.longrunning.Operation> + getUpdateBindingMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.UpdateBindingRequest, + com.google.longrunning.Operation> + getUpdateBindingMethod; + if ((getUpdateBindingMethod = AgentRegistryGrpc.getUpdateBindingMethod) == null) { + synchronized (AgentRegistryGrpc.class) { + if ((getUpdateBindingMethod = AgentRegistryGrpc.getUpdateBindingMethod) == null) { + AgentRegistryGrpc.getUpdateBindingMethod = + getUpdateBindingMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "UpdateBinding")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.UpdateBindingRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.longrunning.Operation.getDefaultInstance())) + .setSchemaDescriptor( + new AgentRegistryMethodDescriptorSupplier("UpdateBinding")) + .build(); + } + } + } + return getUpdateBindingMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.DeleteBindingRequest, com.google.longrunning.Operation> + getDeleteBindingMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "DeleteBinding", + requestType = com.google.cloud.agentregistry.v1.DeleteBindingRequest.class, + responseType = com.google.longrunning.Operation.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.DeleteBindingRequest, com.google.longrunning.Operation> + getDeleteBindingMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.DeleteBindingRequest, + com.google.longrunning.Operation> + getDeleteBindingMethod; + if ((getDeleteBindingMethod = AgentRegistryGrpc.getDeleteBindingMethod) == null) { + synchronized (AgentRegistryGrpc.class) { + if ((getDeleteBindingMethod = AgentRegistryGrpc.getDeleteBindingMethod) == null) { + AgentRegistryGrpc.getDeleteBindingMethod = + getDeleteBindingMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "DeleteBinding")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.DeleteBindingRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.longrunning.Operation.getDefaultInstance())) + .setSchemaDescriptor( + new AgentRegistryMethodDescriptorSupplier("DeleteBinding")) + .build(); + } + } + } + return getDeleteBindingMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest, + com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse> + getFetchAvailableBindingsMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "FetchAvailableBindings", + requestType = com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest.class, + responseType = com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest, + com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse> + getFetchAvailableBindingsMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest, + com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse> + getFetchAvailableBindingsMethod; + if ((getFetchAvailableBindingsMethod = AgentRegistryGrpc.getFetchAvailableBindingsMethod) + == null) { + synchronized (AgentRegistryGrpc.class) { + if ((getFetchAvailableBindingsMethod = AgentRegistryGrpc.getFetchAvailableBindingsMethod) + == null) { + AgentRegistryGrpc.getFetchAvailableBindingsMethod = + getFetchAvailableBindingsMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + generateFullMethodName(SERVICE_NAME, "FetchAvailableBindings")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse + .getDefaultInstance())) + .setSchemaDescriptor( + new AgentRegistryMethodDescriptorSupplier("FetchAvailableBindings")) + .build(); + } + } + } + return getFetchAvailableBindingsMethod; + } + + /** Creates a new async stub that supports all call types for the service */ + public static AgentRegistryStub newStub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public AgentRegistryStub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new AgentRegistryStub(channel, callOptions); + } + }; + return AgentRegistryStub.newStub(factory, channel); + } + + /** Creates a new blocking-style stub that supports all types of calls on the service */ + public static AgentRegistryBlockingV2Stub newBlockingV2Stub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public AgentRegistryBlockingV2Stub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new AgentRegistryBlockingV2Stub(channel, callOptions); + } + }; + return AgentRegistryBlockingV2Stub.newStub(factory, channel); + } + + /** + * Creates a new blocking-style stub that supports unary and streaming output calls on the service + */ + public static AgentRegistryBlockingStub newBlockingStub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public AgentRegistryBlockingStub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new AgentRegistryBlockingStub(channel, callOptions); + } + }; + return AgentRegistryBlockingStub.newStub(factory, channel); + } + + /** Creates a new ListenableFuture-style stub that supports unary calls on the service */ + public static AgentRegistryFutureStub newFutureStub(io.grpc.Channel channel) { + io.grpc.stub.AbstractStub.StubFactory factory = + new io.grpc.stub.AbstractStub.StubFactory() { + @java.lang.Override + public AgentRegistryFutureStub newStub( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new AgentRegistryFutureStub(channel, callOptions); + } + }; + return AgentRegistryFutureStub.newStub(factory, channel); + } + + /** + * + * + *
+   * Service for managing Agents, Endpoints, McpServers, Services, and Bindings.
+   * 
+ */ + public interface AsyncService { + + /** + * + * + *
+     * Lists Agents in a given project and location.
+     * 
+ */ + default void listAgents( + com.google.cloud.agentregistry.v1.ListAgentsRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListAgentsMethod(), responseObserver); + } + + /** + * + * + *
+     * Searches Agents in a given project and location.
+     * 
+ */ + default void searchAgents( + com.google.cloud.agentregistry.v1.SearchAgentsRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getSearchAgentsMethod(), responseObserver); + } + + /** + * + * + *
+     * Gets details of a single Agent.
+     * 
+ */ + default void getAgent( + com.google.cloud.agentregistry.v1.GetAgentRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetAgentMethod(), responseObserver); + } + + /** + * + * + *
+     * Lists Endpoints in a given project and location.
+     * 
+ */ + default void listEndpoints( + com.google.cloud.agentregistry.v1.ListEndpointsRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getListEndpointsMethod(), responseObserver); + } + + /** + * + * + *
+     * Gets details of a single Endpoint.
+     * 
+ */ + default void getEndpoint( + com.google.cloud.agentregistry.v1.GetEndpointRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getGetEndpointMethod(), responseObserver); + } + + /** + * + * + *
+     * Lists McpServers in a given project and location.
+     * 
+ */ + default void listMcpServers( + com.google.cloud.agentregistry.v1.ListMcpServersRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getListMcpServersMethod(), responseObserver); + } + + /** + * + * + *
+     * Searches McpServers in a given project and location.
+     * 
+ */ + default void searchMcpServers( + com.google.cloud.agentregistry.v1.SearchMcpServersRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getSearchMcpServersMethod(), responseObserver); + } + + /** + * + * + *
+     * Gets details of a single McpServer.
+     * 
+ */ + default void getMcpServer( + com.google.cloud.agentregistry.v1.GetMcpServerRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getGetMcpServerMethod(), responseObserver); + } + + /** + * + * + *
+     * Lists Services in a given project and location.
+     * 
+ */ + default void listServices( + com.google.cloud.agentregistry.v1.ListServicesRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getListServicesMethod(), responseObserver); + } + + /** + * + * + *
+     * Gets details of a single Service.
+     * 
+ */ + default void getService( + com.google.cloud.agentregistry.v1.GetServiceRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetServiceMethod(), responseObserver); + } + + /** + * + * + *
+     * Creates a new Service in a given project and location.
+     * 
+ */ + default void createService( + com.google.cloud.agentregistry.v1.CreateServiceRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getCreateServiceMethod(), responseObserver); + } + + /** + * + * + *
+     * Updates the parameters of a single Service.
+     * 
+ */ + default void updateService( + com.google.cloud.agentregistry.v1.UpdateServiceRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getUpdateServiceMethod(), responseObserver); + } + + /** + * + * + *
+     * Deletes a single Service.
+     * 
+ */ + default void deleteService( + com.google.cloud.agentregistry.v1.DeleteServiceRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getDeleteServiceMethod(), responseObserver); + } + + /** + * + * + *
+     * Lists Bindings in a given project and location.
+     * 
+ */ + default void listBindings( + com.google.cloud.agentregistry.v1.ListBindingsRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getListBindingsMethod(), responseObserver); + } + + /** + * + * + *
+     * Gets details of a single Binding.
+     * 
+ */ + default void getBinding( + com.google.cloud.agentregistry.v1.GetBindingRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetBindingMethod(), responseObserver); + } + + /** + * + * + *
+     * Creates a new Binding in a given project and location.
+     * 
+ */ + default void createBinding( + com.google.cloud.agentregistry.v1.CreateBindingRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getCreateBindingMethod(), responseObserver); + } + + /** + * + * + *
+     * Updates the parameters of a single Binding.
+     * 
+ */ + default void updateBinding( + com.google.cloud.agentregistry.v1.UpdateBindingRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getUpdateBindingMethod(), responseObserver); + } + + /** + * + * + *
+     * Deletes a single Binding.
+     * 
+ */ + default void deleteBinding( + com.google.cloud.agentregistry.v1.DeleteBindingRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getDeleteBindingMethod(), responseObserver); + } + + /** + * + * + *
+     * Fetches available Bindings.
+     * 
+ */ + default void fetchAvailableBindings( + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest request, + io.grpc.stub.StreamObserver< + com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse> + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getFetchAvailableBindingsMethod(), responseObserver); + } + } + + /** + * Base class for the server implementation of the service AgentRegistry. + * + *
+   * Service for managing Agents, Endpoints, McpServers, Services, and Bindings.
+   * 
+ */ + public abstract static class AgentRegistryImplBase + implements io.grpc.BindableService, AsyncService { + + @java.lang.Override + public final io.grpc.ServerServiceDefinition bindService() { + return AgentRegistryGrpc.bindService(this); + } + } + + /** + * A stub to allow clients to do asynchronous rpc calls to service AgentRegistry. + * + *
+   * Service for managing Agents, Endpoints, McpServers, Services, and Bindings.
+   * 
+ */ + public static final class AgentRegistryStub + extends io.grpc.stub.AbstractAsyncStub { + private AgentRegistryStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected AgentRegistryStub build(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new AgentRegistryStub(channel, callOptions); + } + + /** + * + * + *
+     * Lists Agents in a given project and location.
+     * 
+ */ + public void listAgents( + com.google.cloud.agentregistry.v1.ListAgentsRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getListAgentsMethod(), getCallOptions()), request, responseObserver); + } + + /** + * + * + *
+     * Searches Agents in a given project and location.
+     * 
+ */ + public void searchAgents( + com.google.cloud.agentregistry.v1.SearchAgentsRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getSearchAgentsMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Gets details of a single Agent.
+     * 
+ */ + public void getAgent( + com.google.cloud.agentregistry.v1.GetAgentRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetAgentMethod(), getCallOptions()), request, responseObserver); + } + + /** + * + * + *
+     * Lists Endpoints in a given project and location.
+     * 
+ */ + public void listEndpoints( + com.google.cloud.agentregistry.v1.ListEndpointsRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getListEndpointsMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Gets details of a single Endpoint.
+     * 
+ */ + public void getEndpoint( + com.google.cloud.agentregistry.v1.GetEndpointRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetEndpointMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Lists McpServers in a given project and location.
+     * 
+ */ + public void listMcpServers( + com.google.cloud.agentregistry.v1.ListMcpServersRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getListMcpServersMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Searches McpServers in a given project and location.
+     * 
+ */ + public void searchMcpServers( + com.google.cloud.agentregistry.v1.SearchMcpServersRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getSearchMcpServersMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Gets details of a single McpServer.
+     * 
+ */ + public void getMcpServer( + com.google.cloud.agentregistry.v1.GetMcpServerRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetMcpServerMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Lists Services in a given project and location.
+     * 
+ */ + public void listServices( + com.google.cloud.agentregistry.v1.ListServicesRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getListServicesMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Gets details of a single Service.
+     * 
+ */ + public void getService( + com.google.cloud.agentregistry.v1.GetServiceRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetServiceMethod(), getCallOptions()), request, responseObserver); + } + + /** + * + * + *
+     * Creates a new Service in a given project and location.
+     * 
+ */ + public void createService( + com.google.cloud.agentregistry.v1.CreateServiceRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getCreateServiceMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Updates the parameters of a single Service.
+     * 
+ */ + public void updateService( + com.google.cloud.agentregistry.v1.UpdateServiceRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getUpdateServiceMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Deletes a single Service.
+     * 
+ */ + public void deleteService( + com.google.cloud.agentregistry.v1.DeleteServiceRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getDeleteServiceMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Lists Bindings in a given project and location.
+     * 
+ */ + public void listBindings( + com.google.cloud.agentregistry.v1.ListBindingsRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getListBindingsMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Gets details of a single Binding.
+     * 
+ */ + public void getBinding( + com.google.cloud.agentregistry.v1.GetBindingRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetBindingMethod(), getCallOptions()), request, responseObserver); + } + + /** + * + * + *
+     * Creates a new Binding in a given project and location.
+     * 
+ */ + public void createBinding( + com.google.cloud.agentregistry.v1.CreateBindingRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getCreateBindingMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Updates the parameters of a single Binding.
+     * 
+ */ + public void updateBinding( + com.google.cloud.agentregistry.v1.UpdateBindingRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getUpdateBindingMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Deletes a single Binding.
+     * 
+ */ + public void deleteBinding( + com.google.cloud.agentregistry.v1.DeleteBindingRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getDeleteBindingMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
+     * Fetches available Bindings.
+     * 
+ */ + public void fetchAvailableBindings( + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest request, + io.grpc.stub.StreamObserver< + com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse> + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getFetchAvailableBindingsMethod(), getCallOptions()), + request, + responseObserver); + } + } + + /** + * A stub to allow clients to do synchronous rpc calls to service AgentRegistry. + * + *
+   * Service for managing Agents, Endpoints, McpServers, Services, and Bindings.
+   * 
+ */ + public static final class AgentRegistryBlockingV2Stub + extends io.grpc.stub.AbstractBlockingStub { + private AgentRegistryBlockingV2Stub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected AgentRegistryBlockingV2Stub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new AgentRegistryBlockingV2Stub(channel, callOptions); + } + + /** + * + * + *
+     * Lists Agents in a given project and location.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.ListAgentsResponse listAgents( + com.google.cloud.agentregistry.v1.ListAgentsRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getListAgentsMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Searches Agents in a given project and location.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.SearchAgentsResponse searchAgents( + com.google.cloud.agentregistry.v1.SearchAgentsRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getSearchAgentsMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single Agent.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.Agent getAgent( + com.google.cloud.agentregistry.v1.GetAgentRequest request) throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getGetAgentMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Lists Endpoints in a given project and location.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.ListEndpointsResponse listEndpoints( + com.google.cloud.agentregistry.v1.ListEndpointsRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getListEndpointsMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single Endpoint.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.Endpoint getEndpoint( + com.google.cloud.agentregistry.v1.GetEndpointRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getGetEndpointMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Lists McpServers in a given project and location.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.ListMcpServersResponse listMcpServers( + com.google.cloud.agentregistry.v1.ListMcpServersRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getListMcpServersMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Searches McpServers in a given project and location.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.SearchMcpServersResponse searchMcpServers( + com.google.cloud.agentregistry.v1.SearchMcpServersRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getSearchMcpServersMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single McpServer.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.McpServer getMcpServer( + com.google.cloud.agentregistry.v1.GetMcpServerRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getGetMcpServerMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Lists Services in a given project and location.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.ListServicesResponse listServices( + com.google.cloud.agentregistry.v1.ListServicesRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getListServicesMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single Service.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.Service getService( + com.google.cloud.agentregistry.v1.GetServiceRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getGetServiceMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Creates a new Service in a given project and location.
+     * 
+ */ + public com.google.longrunning.Operation createService( + com.google.cloud.agentregistry.v1.CreateServiceRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getCreateServiceMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Updates the parameters of a single Service.
+     * 
+ */ + public com.google.longrunning.Operation updateService( + com.google.cloud.agentregistry.v1.UpdateServiceRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getUpdateServiceMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Deletes a single Service.
+     * 
+ */ + public com.google.longrunning.Operation deleteService( + com.google.cloud.agentregistry.v1.DeleteServiceRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getDeleteServiceMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Lists Bindings in a given project and location.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.ListBindingsResponse listBindings( + com.google.cloud.agentregistry.v1.ListBindingsRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getListBindingsMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single Binding.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.Binding getBinding( + com.google.cloud.agentregistry.v1.GetBindingRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getGetBindingMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Creates a new Binding in a given project and location.
+     * 
+ */ + public com.google.longrunning.Operation createBinding( + com.google.cloud.agentregistry.v1.CreateBindingRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getCreateBindingMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Updates the parameters of a single Binding.
+     * 
+ */ + public com.google.longrunning.Operation updateBinding( + com.google.cloud.agentregistry.v1.UpdateBindingRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getUpdateBindingMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Deletes a single Binding.
+     * 
+ */ + public com.google.longrunning.Operation deleteBinding( + com.google.cloud.agentregistry.v1.DeleteBindingRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getDeleteBindingMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Fetches available Bindings.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse fetchAvailableBindings( + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getFetchAvailableBindingsMethod(), getCallOptions(), request); + } + } + + /** + * A stub to allow clients to do limited synchronous rpc calls to service AgentRegistry. + * + *
+   * Service for managing Agents, Endpoints, McpServers, Services, and Bindings.
+   * 
+ */ + public static final class AgentRegistryBlockingStub + extends io.grpc.stub.AbstractBlockingStub { + private AgentRegistryBlockingStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected AgentRegistryBlockingStub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new AgentRegistryBlockingStub(channel, callOptions); + } + + /** + * + * + *
+     * Lists Agents in a given project and location.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.ListAgentsResponse listAgents( + com.google.cloud.agentregistry.v1.ListAgentsRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getListAgentsMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Searches Agents in a given project and location.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.SearchAgentsResponse searchAgents( + com.google.cloud.agentregistry.v1.SearchAgentsRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getSearchAgentsMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single Agent.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.Agent getAgent( + com.google.cloud.agentregistry.v1.GetAgentRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetAgentMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Lists Endpoints in a given project and location.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.ListEndpointsResponse listEndpoints( + com.google.cloud.agentregistry.v1.ListEndpointsRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getListEndpointsMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single Endpoint.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.Endpoint getEndpoint( + com.google.cloud.agentregistry.v1.GetEndpointRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetEndpointMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Lists McpServers in a given project and location.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.ListMcpServersResponse listMcpServers( + com.google.cloud.agentregistry.v1.ListMcpServersRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getListMcpServersMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Searches McpServers in a given project and location.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.SearchMcpServersResponse searchMcpServers( + com.google.cloud.agentregistry.v1.SearchMcpServersRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getSearchMcpServersMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single McpServer.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.McpServer getMcpServer( + com.google.cloud.agentregistry.v1.GetMcpServerRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetMcpServerMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Lists Services in a given project and location.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.ListServicesResponse listServices( + com.google.cloud.agentregistry.v1.ListServicesRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getListServicesMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single Service.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.Service getService( + com.google.cloud.agentregistry.v1.GetServiceRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetServiceMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Creates a new Service in a given project and location.
+     * 
+ */ + public com.google.longrunning.Operation createService( + com.google.cloud.agentregistry.v1.CreateServiceRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getCreateServiceMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Updates the parameters of a single Service.
+     * 
+ */ + public com.google.longrunning.Operation updateService( + com.google.cloud.agentregistry.v1.UpdateServiceRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getUpdateServiceMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Deletes a single Service.
+     * 
+ */ + public com.google.longrunning.Operation deleteService( + com.google.cloud.agentregistry.v1.DeleteServiceRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getDeleteServiceMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Lists Bindings in a given project and location.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.ListBindingsResponse listBindings( + com.google.cloud.agentregistry.v1.ListBindingsRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getListBindingsMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Gets details of a single Binding.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.Binding getBinding( + com.google.cloud.agentregistry.v1.GetBindingRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetBindingMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Creates a new Binding in a given project and location.
+     * 
+ */ + public com.google.longrunning.Operation createBinding( + com.google.cloud.agentregistry.v1.CreateBindingRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getCreateBindingMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Updates the parameters of a single Binding.
+     * 
+ */ + public com.google.longrunning.Operation updateBinding( + com.google.cloud.agentregistry.v1.UpdateBindingRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getUpdateBindingMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Deletes a single Binding.
+     * 
+ */ + public com.google.longrunning.Operation deleteBinding( + com.google.cloud.agentregistry.v1.DeleteBindingRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getDeleteBindingMethod(), getCallOptions(), request); + } + + /** + * + * + *
+     * Fetches available Bindings.
+     * 
+ */ + public com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse fetchAvailableBindings( + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getFetchAvailableBindingsMethod(), getCallOptions(), request); + } + } + + /** + * A stub to allow clients to do ListenableFuture-style rpc calls to service AgentRegistry. + * + *
+   * Service for managing Agents, Endpoints, McpServers, Services, and Bindings.
+   * 
+ */ + public static final class AgentRegistryFutureStub + extends io.grpc.stub.AbstractFutureStub { + private AgentRegistryFutureStub(io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + super(channel, callOptions); + } + + @java.lang.Override + protected AgentRegistryFutureStub build( + io.grpc.Channel channel, io.grpc.CallOptions callOptions) { + return new AgentRegistryFutureStub(channel, callOptions); + } + + /** + * + * + *
+     * Lists Agents in a given project and location.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.agentregistry.v1.ListAgentsResponse> + listAgents(com.google.cloud.agentregistry.v1.ListAgentsRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getListAgentsMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Searches Agents in a given project and location.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.agentregistry.v1.SearchAgentsResponse> + searchAgents(com.google.cloud.agentregistry.v1.SearchAgentsRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getSearchAgentsMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Gets details of a single Agent.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.agentregistry.v1.Agent> + getAgent(com.google.cloud.agentregistry.v1.GetAgentRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetAgentMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Lists Endpoints in a given project and location.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.agentregistry.v1.ListEndpointsResponse> + listEndpoints(com.google.cloud.agentregistry.v1.ListEndpointsRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getListEndpointsMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Gets details of a single Endpoint.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.agentregistry.v1.Endpoint> + getEndpoint(com.google.cloud.agentregistry.v1.GetEndpointRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetEndpointMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Lists McpServers in a given project and location.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.agentregistry.v1.ListMcpServersResponse> + listMcpServers(com.google.cloud.agentregistry.v1.ListMcpServersRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getListMcpServersMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Searches McpServers in a given project and location.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.agentregistry.v1.SearchMcpServersResponse> + searchMcpServers(com.google.cloud.agentregistry.v1.SearchMcpServersRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getSearchMcpServersMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Gets details of a single McpServer.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.agentregistry.v1.McpServer> + getMcpServer(com.google.cloud.agentregistry.v1.GetMcpServerRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetMcpServerMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Lists Services in a given project and location.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.agentregistry.v1.ListServicesResponse> + listServices(com.google.cloud.agentregistry.v1.ListServicesRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getListServicesMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Gets details of a single Service.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.agentregistry.v1.Service> + getService(com.google.cloud.agentregistry.v1.GetServiceRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetServiceMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Creates a new Service in a given project and location.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture + createService(com.google.cloud.agentregistry.v1.CreateServiceRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getCreateServiceMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Updates the parameters of a single Service.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture + updateService(com.google.cloud.agentregistry.v1.UpdateServiceRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getUpdateServiceMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Deletes a single Service.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture + deleteService(com.google.cloud.agentregistry.v1.DeleteServiceRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getDeleteServiceMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Lists Bindings in a given project and location.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.agentregistry.v1.ListBindingsResponse> + listBindings(com.google.cloud.agentregistry.v1.ListBindingsRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getListBindingsMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Gets details of a single Binding.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.agentregistry.v1.Binding> + getBinding(com.google.cloud.agentregistry.v1.GetBindingRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetBindingMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Creates a new Binding in a given project and location.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture + createBinding(com.google.cloud.agentregistry.v1.CreateBindingRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getCreateBindingMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Updates the parameters of a single Binding.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture + updateBinding(com.google.cloud.agentregistry.v1.UpdateBindingRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getUpdateBindingMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Deletes a single Binding.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture + deleteBinding(com.google.cloud.agentregistry.v1.DeleteBindingRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getDeleteBindingMethod(), getCallOptions()), request); + } + + /** + * + * + *
+     * Fetches available Bindings.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse> + fetchAvailableBindings( + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getFetchAvailableBindingsMethod(), getCallOptions()), request); + } + } + + private static final int METHODID_LIST_AGENTS = 0; + private static final int METHODID_SEARCH_AGENTS = 1; + private static final int METHODID_GET_AGENT = 2; + private static final int METHODID_LIST_ENDPOINTS = 3; + private static final int METHODID_GET_ENDPOINT = 4; + private static final int METHODID_LIST_MCP_SERVERS = 5; + private static final int METHODID_SEARCH_MCP_SERVERS = 6; + private static final int METHODID_GET_MCP_SERVER = 7; + private static final int METHODID_LIST_SERVICES = 8; + private static final int METHODID_GET_SERVICE = 9; + private static final int METHODID_CREATE_SERVICE = 10; + private static final int METHODID_UPDATE_SERVICE = 11; + private static final int METHODID_DELETE_SERVICE = 12; + private static final int METHODID_LIST_BINDINGS = 13; + private static final int METHODID_GET_BINDING = 14; + private static final int METHODID_CREATE_BINDING = 15; + private static final int METHODID_UPDATE_BINDING = 16; + private static final int METHODID_DELETE_BINDING = 17; + private static final int METHODID_FETCH_AVAILABLE_BINDINGS = 18; + + private static final class MethodHandlers + implements io.grpc.stub.ServerCalls.UnaryMethod, + io.grpc.stub.ServerCalls.ServerStreamingMethod, + io.grpc.stub.ServerCalls.ClientStreamingMethod, + io.grpc.stub.ServerCalls.BidiStreamingMethod { + private final AsyncService serviceImpl; + private final int methodId; + + MethodHandlers(AsyncService serviceImpl, int methodId) { + this.serviceImpl = serviceImpl; + this.methodId = methodId; + } + + @java.lang.Override + @java.lang.SuppressWarnings("unchecked") + public void invoke(Req request, io.grpc.stub.StreamObserver responseObserver) { + switch (methodId) { + case METHODID_LIST_AGENTS: + serviceImpl.listAgents( + (com.google.cloud.agentregistry.v1.ListAgentsRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_SEARCH_AGENTS: + serviceImpl.searchAgents( + (com.google.cloud.agentregistry.v1.SearchAgentsRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_GET_AGENT: + serviceImpl.getAgent( + (com.google.cloud.agentregistry.v1.GetAgentRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_LIST_ENDPOINTS: + serviceImpl.listEndpoints( + (com.google.cloud.agentregistry.v1.ListEndpointsRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_GET_ENDPOINT: + serviceImpl.getEndpoint( + (com.google.cloud.agentregistry.v1.GetEndpointRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_LIST_MCP_SERVERS: + serviceImpl.listMcpServers( + (com.google.cloud.agentregistry.v1.ListMcpServersRequest) request, + (io.grpc.stub.StreamObserver< + com.google.cloud.agentregistry.v1.ListMcpServersResponse>) + responseObserver); + break; + case METHODID_SEARCH_MCP_SERVERS: + serviceImpl.searchMcpServers( + (com.google.cloud.agentregistry.v1.SearchMcpServersRequest) request, + (io.grpc.stub.StreamObserver< + com.google.cloud.agentregistry.v1.SearchMcpServersResponse>) + responseObserver); + break; + case METHODID_GET_MCP_SERVER: + serviceImpl.getMcpServer( + (com.google.cloud.agentregistry.v1.GetMcpServerRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_LIST_SERVICES: + serviceImpl.listServices( + (com.google.cloud.agentregistry.v1.ListServicesRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_GET_SERVICE: + serviceImpl.getService( + (com.google.cloud.agentregistry.v1.GetServiceRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_CREATE_SERVICE: + serviceImpl.createService( + (com.google.cloud.agentregistry.v1.CreateServiceRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_UPDATE_SERVICE: + serviceImpl.updateService( + (com.google.cloud.agentregistry.v1.UpdateServiceRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_DELETE_SERVICE: + serviceImpl.deleteService( + (com.google.cloud.agentregistry.v1.DeleteServiceRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_LIST_BINDINGS: + serviceImpl.listBindings( + (com.google.cloud.agentregistry.v1.ListBindingsRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_GET_BINDING: + serviceImpl.getBinding( + (com.google.cloud.agentregistry.v1.GetBindingRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_CREATE_BINDING: + serviceImpl.createBinding( + (com.google.cloud.agentregistry.v1.CreateBindingRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_UPDATE_BINDING: + serviceImpl.updateBinding( + (com.google.cloud.agentregistry.v1.UpdateBindingRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_DELETE_BINDING: + serviceImpl.deleteBinding( + (com.google.cloud.agentregistry.v1.DeleteBindingRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_FETCH_AVAILABLE_BINDINGS: + serviceImpl.fetchAvailableBindings( + (com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest) request, + (io.grpc.stub.StreamObserver< + com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse>) + responseObserver); + break; + default: + throw new AssertionError(); + } + } + + @java.lang.Override + @java.lang.SuppressWarnings("unchecked") + public io.grpc.stub.StreamObserver invoke( + io.grpc.stub.StreamObserver responseObserver) { + switch (methodId) { + default: + throw new AssertionError(); + } + } + } + + public static final io.grpc.ServerServiceDefinition bindService(AsyncService service) { + return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()) + .addMethod( + getListAgentsMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.agentregistry.v1.ListAgentsRequest, + com.google.cloud.agentregistry.v1.ListAgentsResponse>( + service, METHODID_LIST_AGENTS))) + .addMethod( + getSearchAgentsMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.agentregistry.v1.SearchAgentsRequest, + com.google.cloud.agentregistry.v1.SearchAgentsResponse>( + service, METHODID_SEARCH_AGENTS))) + .addMethod( + getGetAgentMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.agentregistry.v1.GetAgentRequest, + com.google.cloud.agentregistry.v1.Agent>(service, METHODID_GET_AGENT))) + .addMethod( + getListEndpointsMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.agentregistry.v1.ListEndpointsRequest, + com.google.cloud.agentregistry.v1.ListEndpointsResponse>( + service, METHODID_LIST_ENDPOINTS))) + .addMethod( + getGetEndpointMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.agentregistry.v1.GetEndpointRequest, + com.google.cloud.agentregistry.v1.Endpoint>(service, METHODID_GET_ENDPOINT))) + .addMethod( + getListMcpServersMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.agentregistry.v1.ListMcpServersRequest, + com.google.cloud.agentregistry.v1.ListMcpServersResponse>( + service, METHODID_LIST_MCP_SERVERS))) + .addMethod( + getSearchMcpServersMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.agentregistry.v1.SearchMcpServersRequest, + com.google.cloud.agentregistry.v1.SearchMcpServersResponse>( + service, METHODID_SEARCH_MCP_SERVERS))) + .addMethod( + getGetMcpServerMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.agentregistry.v1.GetMcpServerRequest, + com.google.cloud.agentregistry.v1.McpServer>(service, METHODID_GET_MCP_SERVER))) + .addMethod( + getListServicesMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.agentregistry.v1.ListServicesRequest, + com.google.cloud.agentregistry.v1.ListServicesResponse>( + service, METHODID_LIST_SERVICES))) + .addMethod( + getGetServiceMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.agentregistry.v1.GetServiceRequest, + com.google.cloud.agentregistry.v1.Service>(service, METHODID_GET_SERVICE))) + .addMethod( + getCreateServiceMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.agentregistry.v1.CreateServiceRequest, + com.google.longrunning.Operation>(service, METHODID_CREATE_SERVICE))) + .addMethod( + getUpdateServiceMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.agentregistry.v1.UpdateServiceRequest, + com.google.longrunning.Operation>(service, METHODID_UPDATE_SERVICE))) + .addMethod( + getDeleteServiceMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.agentregistry.v1.DeleteServiceRequest, + com.google.longrunning.Operation>(service, METHODID_DELETE_SERVICE))) + .addMethod( + getListBindingsMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.agentregistry.v1.ListBindingsRequest, + com.google.cloud.agentregistry.v1.ListBindingsResponse>( + service, METHODID_LIST_BINDINGS))) + .addMethod( + getGetBindingMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.agentregistry.v1.GetBindingRequest, + com.google.cloud.agentregistry.v1.Binding>(service, METHODID_GET_BINDING))) + .addMethod( + getCreateBindingMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.agentregistry.v1.CreateBindingRequest, + com.google.longrunning.Operation>(service, METHODID_CREATE_BINDING))) + .addMethod( + getUpdateBindingMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.agentregistry.v1.UpdateBindingRequest, + com.google.longrunning.Operation>(service, METHODID_UPDATE_BINDING))) + .addMethod( + getDeleteBindingMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.agentregistry.v1.DeleteBindingRequest, + com.google.longrunning.Operation>(service, METHODID_DELETE_BINDING))) + .addMethod( + getFetchAvailableBindingsMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest, + com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse>( + service, METHODID_FETCH_AVAILABLE_BINDINGS))) + .build(); + } + + private abstract static class AgentRegistryBaseDescriptorSupplier + implements io.grpc.protobuf.ProtoFileDescriptorSupplier, + io.grpc.protobuf.ProtoServiceDescriptorSupplier { + AgentRegistryBaseDescriptorSupplier() {} + + @java.lang.Override + public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto.getDescriptor(); + } + + @java.lang.Override + public com.google.protobuf.Descriptors.ServiceDescriptor getServiceDescriptor() { + return getFileDescriptor().findServiceByName("AgentRegistry"); + } + } + + private static final class AgentRegistryFileDescriptorSupplier + extends AgentRegistryBaseDescriptorSupplier { + AgentRegistryFileDescriptorSupplier() {} + } + + private static final class AgentRegistryMethodDescriptorSupplier + extends AgentRegistryBaseDescriptorSupplier + implements io.grpc.protobuf.ProtoMethodDescriptorSupplier { + private final java.lang.String methodName; + + AgentRegistryMethodDescriptorSupplier(java.lang.String methodName) { + this.methodName = methodName; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.MethodDescriptor getMethodDescriptor() { + return getServiceDescriptor().findMethodByName(methodName); + } + } + + private static volatile io.grpc.ServiceDescriptor serviceDescriptor; + + public static io.grpc.ServiceDescriptor getServiceDescriptor() { + io.grpc.ServiceDescriptor result = serviceDescriptor; + if (result == null) { + synchronized (AgentRegistryGrpc.class) { + result = serviceDescriptor; + if (result == null) { + serviceDescriptor = + result = + io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME) + .setSchemaDescriptor(new AgentRegistryFileDescriptorSupplier()) + .addMethod(getListAgentsMethod()) + .addMethod(getSearchAgentsMethod()) + .addMethod(getGetAgentMethod()) + .addMethod(getListEndpointsMethod()) + .addMethod(getGetEndpointMethod()) + .addMethod(getListMcpServersMethod()) + .addMethod(getSearchMcpServersMethod()) + .addMethod(getGetMcpServerMethod()) + .addMethod(getListServicesMethod()) + .addMethod(getGetServiceMethod()) + .addMethod(getCreateServiceMethod()) + .addMethod(getUpdateServiceMethod()) + .addMethod(getDeleteServiceMethod()) + .addMethod(getListBindingsMethod()) + .addMethod(getGetBindingMethod()) + .addMethod(getCreateBindingMethod()) + .addMethod(getUpdateBindingMethod()) + .addMethod(getDeleteBindingMethod()) + .addMethod(getFetchAvailableBindingsMethod()) + .build(); + } + } + } + return result; + } +} diff --git a/java-agentregistry/owlbot.py b/java-agentregistry/owlbot.py new file mode 100755 index 000000000000..5caf2fc427bc --- /dev/null +++ b/java-agentregistry/owlbot.py @@ -0,0 +1,38 @@ +# Copyright 2026 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 +# +# 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 synthtool as s +from synthtool.languages import java + + +for library in s.get_staging_dirs(): + # put any special-case replacements here + s.move(library) + +s.remove_staging_dirs() +java.common_templates( + monorepo=True, + excludes=[ + ".github/*", + ".kokoro/*", + "samples/*", + "CODE_OF_CONDUCT.md", + "CONTRIBUTING.md", + "LICENSE", + "SECURITY.md", + "java.header", + "license-checks.xml", + "renovate.json", + ".gitignore" +]) diff --git a/java-agentregistry/pom.xml b/java-agentregistry/pom.xml new file mode 100644 index 000000000000..4fc9558b74cb --- /dev/null +++ b/java-agentregistry/pom.xml @@ -0,0 +1,58 @@ + + + 4.0.0 + com.google.cloud + google-cloud-agentregistry-parent + pom + 0.1.0 + Google Agent Registry Parent + + Java idiomatic client for Google Cloud Platform services. + + + + com.google.cloud + google-cloud-jar-parent + 1.88.0 + ../google-cloud-jar-parent/pom.xml + + + + UTF-8 + UTF-8 + github + google-cloud-agentregistry-parent + + + + + + + com.google.cloud + google-cloud-agentregistry + 0.1.0 + + + com.google.api.grpc + grpc-google-cloud-agentregistry-v1 + 0.1.0 + + + com.google.api.grpc + proto-google-cloud-agentregistry-v1 + 0.1.0 + + + + + + + + google-cloud-agentregistry + grpc-google-cloud-agentregistry-v1 + proto-google-cloud-agentregistry-v1 + + google-cloud-agentregistry-bom + + + \ No newline at end of file diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/clirr-ignored-differences.xml b/java-agentregistry/proto-google-cloud-agentregistry-v1/clirr-ignored-differences.xml new file mode 100644 index 000000000000..bc96e829d313 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/clirr-ignored-differences.xml @@ -0,0 +1,80 @@ + + + + + 7012 + com/google/cloud/agentregistry/v1/*OrBuilder + * get*(*) + + + 7012 + com/google/cloud/agentregistry/v1/*OrBuilder + boolean contains*(*) + + + 7012 + com/google/cloud/agentregistry/v1/*OrBuilder + boolean has*(*) + + + + 7006 + com/google/cloud/agentregistry/v1/** + * getDefaultInstanceForType() + ** + + + 7006 + com/google/cloud/agentregistry/v1/** + * addRepeatedField(*) + ** + + + 7006 + com/google/cloud/agentregistry/v1/** + * clear() + ** + + + 7006 + com/google/cloud/agentregistry/v1/** + * clearField(*) + ** + + + 7006 + com/google/cloud/agentregistry/v1/** + * clearOneof(*) + ** + + + 7006 + com/google/cloud/agentregistry/v1/** + * clone() + ** + + + 7006 + com/google/cloud/agentregistry/v1/** + * mergeUnknownFields(*) + ** + + + 7006 + com/google/cloud/agentregistry/v1/** + * setField(*) + ** + + + 7006 + com/google/cloud/agentregistry/v1/** + * setRepeatedField(*) + ** + + + 7006 + com/google/cloud/agentregistry/v1/** + * setUnknownFields(*) + ** + + diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/pom.xml b/java-agentregistry/proto-google-cloud-agentregistry-v1/pom.xml new file mode 100644 index 000000000000..246ef16dfbcc --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/pom.xml @@ -0,0 +1,37 @@ + + 4.0.0 + com.google.api.grpc + proto-google-cloud-agentregistry-v1 + 0.1.0 + proto-google-cloud-agentregistry-v1 + Proto library for google-cloud-agentregistry + + com.google.cloud + google-cloud-agentregistry-parent + 0.1.0 + + + + com.google.protobuf + protobuf-java + + + com.google.api.grpc + proto-google-common-protos + + + com.google.api.grpc + proto-google-iam-v1 + + + com.google.api + api-common + + + com.google.guava + guava + + + diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/Agent.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/Agent.java new file mode 100644 index 000000000000..7e9e35459b26 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/Agent.java @@ -0,0 +1,8826 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agent.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Represents an Agent.
+ * "A2A" below refers to the Agent-to-Agent protocol.
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Agent} + */ +@com.google.protobuf.Generated +public final class Agent extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.Agent) + AgentOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Agent"); + } + + // Use Agent.newBuilder() to construct. + private Agent(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Agent() { + name_ = ""; + agentId_ = ""; + location_ = ""; + displayName_ = ""; + description_ = ""; + version_ = ""; + protocols_ = java.util.Collections.emptyList(); + skills_ = java.util.Collections.emptyList(); + uid_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentProto + .internal_static_google_cloud_agentregistry_v1_Agent_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection( + int number) { + switch (number) { + case 13: + return internalGetAttributes(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentProto + .internal_static_google_cloud_agentregistry_v1_Agent_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Agent.class, + com.google.cloud.agentregistry.v1.Agent.Builder.class); + } + + public interface ProtocolOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.Agent.Protocol) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * Output only. The type of the protocol.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Protocol.Type type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for type. + */ + int getTypeValue(); + + /** + * + * + *
+     * Output only. The type of the protocol.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Protocol.Type type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The type. + */ + com.google.cloud.agentregistry.v1.Agent.Protocol.Type getType(); + + /** + * + * + *
+     * Output only. The version of the protocol, for example, the A2A Agent Card
+     * version.
+     * 
+ * + * string protocol_version = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The protocolVersion. + */ + java.lang.String getProtocolVersion(); + + /** + * + * + *
+     * Output only. The version of the protocol, for example, the A2A Agent Card
+     * version.
+     * 
+ * + * string protocol_version = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for protocolVersion. + */ + com.google.protobuf.ByteString getProtocolVersionBytes(); + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + java.util.List getInterfacesList(); + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.agentregistry.v1.Interface getInterfaces(int index); + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + int getInterfacesCount(); + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + java.util.List + getInterfacesOrBuilderList(); + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.agentregistry.v1.InterfaceOrBuilder getInterfacesOrBuilder(int index); + } + + /** + * + * + *
+   * Represents the protocol of an Agent.
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Agent.Protocol} + */ + public static final class Protocol extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.Agent.Protocol) + ProtocolOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Protocol"); + } + + // Use Protocol.newBuilder() to construct. + private Protocol(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Protocol() { + type_ = 0; + protocolVersion_ = ""; + interfaces_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentProto + .internal_static_google_cloud_agentregistry_v1_Agent_Protocol_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentProto + .internal_static_google_cloud_agentregistry_v1_Agent_Protocol_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Agent.Protocol.class, + com.google.cloud.agentregistry.v1.Agent.Protocol.Builder.class); + } + + /** + * + * + *
+     * The type of the protocol.
+     * 
+ * + * Protobuf enum {@code google.cloud.agentregistry.v1.Agent.Protocol.Type} + */ + public enum Type implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+       * Unspecified type.
+       * 
+ * + * TYPE_UNSPECIFIED = 0; + */ + TYPE_UNSPECIFIED(0), + /** + * + * + *
+       * The interfaces point to an A2A Agent following the A2A
+       * specification.
+       * 
+ * + * A2A_AGENT = 1; + */ + A2A_AGENT(1), + /** + * + * + *
+       * Agent does not follow any standard protocol.
+       * 
+ * + * CUSTOM = 2; + */ + CUSTOM(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Type"); + } + + /** + * + * + *
+       * Unspecified type.
+       * 
+ * + * TYPE_UNSPECIFIED = 0; + */ + public static final int TYPE_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+       * The interfaces point to an A2A Agent following the A2A
+       * specification.
+       * 
+ * + * A2A_AGENT = 1; + */ + public static final int A2A_AGENT_VALUE = 1; + + /** + * + * + *
+       * Agent does not follow any standard protocol.
+       * 
+ * + * CUSTOM = 2; + */ + public static final int CUSTOM_VALUE = 2; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static Type valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static Type forNumber(int value) { + switch (value) { + case 0: + return TYPE_UNSPECIFIED; + case 1: + return A2A_AGENT; + case 2: + return CUSTOM; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Type findValueByNumber(int number) { + return Type.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.Agent.Protocol.getDescriptor() + .getEnumTypes() + .get(0); + } + + private static final Type[] VALUES = values(); + + public static Type valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private Type(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.agentregistry.v1.Agent.Protocol.Type) + } + + public static final int TYPE_FIELD_NUMBER = 1; + private int type_ = 0; + + /** + * + * + *
+     * Output only. The type of the protocol.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Protocol.Type type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for type. + */ + @java.lang.Override + public int getTypeValue() { + return type_; + } + + /** + * + * + *
+     * Output only. The type of the protocol.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Protocol.Type type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The type. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.Protocol.Type getType() { + com.google.cloud.agentregistry.v1.Agent.Protocol.Type result = + com.google.cloud.agentregistry.v1.Agent.Protocol.Type.forNumber(type_); + return result == null + ? com.google.cloud.agentregistry.v1.Agent.Protocol.Type.UNRECOGNIZED + : result; + } + + public static final int PROTOCOL_VERSION_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object protocolVersion_ = ""; + + /** + * + * + *
+     * Output only. The version of the protocol, for example, the A2A Agent Card
+     * version.
+     * 
+ * + * string protocol_version = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The protocolVersion. + */ + @java.lang.Override + public java.lang.String getProtocolVersion() { + java.lang.Object ref = protocolVersion_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + protocolVersion_ = s; + return s; + } + } + + /** + * + * + *
+     * Output only. The version of the protocol, for example, the A2A Agent Card
+     * version.
+     * 
+ * + * string protocol_version = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for protocolVersion. + */ + @java.lang.Override + public com.google.protobuf.ByteString getProtocolVersionBytes() { + java.lang.Object ref = protocolVersion_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + protocolVersion_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int INTERFACES_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private java.util.List interfaces_; + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.List getInterfacesList() { + return interfaces_; + } + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.List + getInterfacesOrBuilderList() { + return interfaces_; + } + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public int getInterfacesCount() { + return interfaces_.size(); + } + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Interface getInterfaces(int index) { + return interfaces_.get(index); + } + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.InterfaceOrBuilder getInterfacesOrBuilder(int index) { + return interfaces_.get(index); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (type_ + != com.google.cloud.agentregistry.v1.Agent.Protocol.Type.TYPE_UNSPECIFIED.getNumber()) { + output.writeEnum(1, type_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(protocolVersion_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, protocolVersion_); + } + for (int i = 0; i < interfaces_.size(); i++) { + output.writeMessage(3, interfaces_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (type_ + != com.google.cloud.agentregistry.v1.Agent.Protocol.Type.TYPE_UNSPECIFIED.getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(1, type_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(protocolVersion_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, protocolVersion_); + } + for (int i = 0; i < interfaces_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, interfaces_.get(i)); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.Agent.Protocol)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.Agent.Protocol other = + (com.google.cloud.agentregistry.v1.Agent.Protocol) obj; + + if (type_ != other.type_) return false; + if (!getProtocolVersion().equals(other.getProtocolVersion())) return false; + if (!getInterfacesList().equals(other.getInterfacesList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + TYPE_FIELD_NUMBER; + hash = (53 * hash) + type_; + hash = (37 * hash) + PROTOCOL_VERSION_FIELD_NUMBER; + hash = (53 * hash) + getProtocolVersion().hashCode(); + if (getInterfacesCount() > 0) { + hash = (37 * hash) + INTERFACES_FIELD_NUMBER; + hash = (53 * hash) + getInterfacesList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.Agent.Protocol parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Agent.Protocol parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Agent.Protocol parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Agent.Protocol parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Agent.Protocol parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Agent.Protocol parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Agent.Protocol parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Agent.Protocol parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Agent.Protocol parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Agent.Protocol parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Agent.Protocol parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Agent.Protocol parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloud.agentregistry.v1.Agent.Protocol prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+     * Represents the protocol of an Agent.
+     * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Agent.Protocol} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.Agent.Protocol) + com.google.cloud.agentregistry.v1.Agent.ProtocolOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentProto + .internal_static_google_cloud_agentregistry_v1_Agent_Protocol_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentProto + .internal_static_google_cloud_agentregistry_v1_Agent_Protocol_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Agent.Protocol.class, + com.google.cloud.agentregistry.v1.Agent.Protocol.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.Agent.Protocol.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + type_ = 0; + protocolVersion_ = ""; + if (interfacesBuilder_ == null) { + interfaces_ = java.util.Collections.emptyList(); + } else { + interfaces_ = null; + interfacesBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000004); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentProto + .internal_static_google_cloud_agentregistry_v1_Agent_Protocol_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.Protocol getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.Agent.Protocol.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.Protocol build() { + com.google.cloud.agentregistry.v1.Agent.Protocol result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.Protocol buildPartial() { + com.google.cloud.agentregistry.v1.Agent.Protocol result = + new com.google.cloud.agentregistry.v1.Agent.Protocol(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.agentregistry.v1.Agent.Protocol result) { + if (interfacesBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + interfaces_ = java.util.Collections.unmodifiableList(interfaces_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.interfaces_ = interfaces_; + } else { + result.interfaces_ = interfacesBuilder_.build(); + } + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.Agent.Protocol result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.type_ = type_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.protocolVersion_ = protocolVersion_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.Agent.Protocol) { + return mergeFrom((com.google.cloud.agentregistry.v1.Agent.Protocol) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.Agent.Protocol other) { + if (other == com.google.cloud.agentregistry.v1.Agent.Protocol.getDefaultInstance()) + return this; + if (other.type_ != 0) { + setTypeValue(other.getTypeValue()); + } + if (!other.getProtocolVersion().isEmpty()) { + protocolVersion_ = other.protocolVersion_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (interfacesBuilder_ == null) { + if (!other.interfaces_.isEmpty()) { + if (interfaces_.isEmpty()) { + interfaces_ = other.interfaces_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureInterfacesIsMutable(); + interfaces_.addAll(other.interfaces_); + } + onChanged(); + } + } else { + if (!other.interfaces_.isEmpty()) { + if (interfacesBuilder_.isEmpty()) { + interfacesBuilder_.dispose(); + interfacesBuilder_ = null; + interfaces_ = other.interfaces_; + bitField0_ = (bitField0_ & ~0x00000004); + interfacesBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetInterfacesFieldBuilder() + : null; + } else { + interfacesBuilder_.addAllMessages(other.interfaces_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: + { + type_ = input.readEnum(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 18: + { + protocolVersion_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + com.google.cloud.agentregistry.v1.Interface m = + input.readMessage( + com.google.cloud.agentregistry.v1.Interface.parser(), extensionRegistry); + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + interfaces_.add(m); + } else { + interfacesBuilder_.addMessage(m); + } + break; + } // case 26 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private int type_ = 0; + + /** + * + * + *
+       * Output only. The type of the protocol.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Protocol.Type type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for type. + */ + @java.lang.Override + public int getTypeValue() { + return type_; + } + + /** + * + * + *
+       * Output only. The type of the protocol.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Protocol.Type type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The enum numeric value on the wire for type to set. + * @return This builder for chaining. + */ + public Builder setTypeValue(int value) { + type_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The type of the protocol.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Protocol.Type type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The type. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.Protocol.Type getType() { + com.google.cloud.agentregistry.v1.Agent.Protocol.Type result = + com.google.cloud.agentregistry.v1.Agent.Protocol.Type.forNumber(type_); + return result == null + ? com.google.cloud.agentregistry.v1.Agent.Protocol.Type.UNRECOGNIZED + : result; + } + + /** + * + * + *
+       * Output only. The type of the protocol.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Protocol.Type type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The type to set. + * @return This builder for chaining. + */ + public Builder setType(com.google.cloud.agentregistry.v1.Agent.Protocol.Type value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + type_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The type of the protocol.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Protocol.Type type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return This builder for chaining. + */ + public Builder clearType() { + bitField0_ = (bitField0_ & ~0x00000001); + type_ = 0; + onChanged(); + return this; + } + + private java.lang.Object protocolVersion_ = ""; + + /** + * + * + *
+       * Output only. The version of the protocol, for example, the A2A Agent Card
+       * version.
+       * 
+ * + * string protocol_version = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The protocolVersion. + */ + public java.lang.String getProtocolVersion() { + java.lang.Object ref = protocolVersion_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + protocolVersion_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Output only. The version of the protocol, for example, the A2A Agent Card
+       * version.
+       * 
+ * + * string protocol_version = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for protocolVersion. + */ + public com.google.protobuf.ByteString getProtocolVersionBytes() { + java.lang.Object ref = protocolVersion_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + protocolVersion_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Output only. The version of the protocol, for example, the A2A Agent Card
+       * version.
+       * 
+ * + * string protocol_version = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The protocolVersion to set. + * @return This builder for chaining. + */ + public Builder setProtocolVersion(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + protocolVersion_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The version of the protocol, for example, the A2A Agent Card
+       * version.
+       * 
+ * + * string protocol_version = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearProtocolVersion() { + protocolVersion_ = getDefaultInstance().getProtocolVersion(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The version of the protocol, for example, the A2A Agent Card
+       * version.
+       * 
+ * + * string protocol_version = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for protocolVersion to set. + * @return This builder for chaining. + */ + public Builder setProtocolVersionBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + protocolVersion_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.util.List interfaces_ = + java.util.Collections.emptyList(); + + private void ensureInterfacesIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + interfaces_ = + new java.util.ArrayList(interfaces_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Interface, + com.google.cloud.agentregistry.v1.Interface.Builder, + com.google.cloud.agentregistry.v1.InterfaceOrBuilder> + interfacesBuilder_; + + /** + * + * + *
+       * Output only. The connection details for the Agent.
+       * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List getInterfacesList() { + if (interfacesBuilder_ == null) { + return java.util.Collections.unmodifiableList(interfaces_); + } else { + return interfacesBuilder_.getMessageList(); + } + } + + /** + * + * + *
+       * Output only. The connection details for the Agent.
+       * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public int getInterfacesCount() { + if (interfacesBuilder_ == null) { + return interfaces_.size(); + } else { + return interfacesBuilder_.getCount(); + } + } + + /** + * + * + *
+       * Output only. The connection details for the Agent.
+       * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.Interface getInterfaces(int index) { + if (interfacesBuilder_ == null) { + return interfaces_.get(index); + } else { + return interfacesBuilder_.getMessage(index); + } + } + + /** + * + * + *
+       * Output only. The connection details for the Agent.
+       * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setInterfaces(int index, com.google.cloud.agentregistry.v1.Interface value) { + if (interfacesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureInterfacesIsMutable(); + interfaces_.set(index, value); + onChanged(); + } else { + interfacesBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+       * Output only. The connection details for the Agent.
+       * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setInterfaces( + int index, com.google.cloud.agentregistry.v1.Interface.Builder builderForValue) { + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + interfaces_.set(index, builderForValue.build()); + onChanged(); + } else { + interfacesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+       * Output only. The connection details for the Agent.
+       * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addInterfaces(com.google.cloud.agentregistry.v1.Interface value) { + if (interfacesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureInterfacesIsMutable(); + interfaces_.add(value); + onChanged(); + } else { + interfacesBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+       * Output only. The connection details for the Agent.
+       * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addInterfaces(int index, com.google.cloud.agentregistry.v1.Interface value) { + if (interfacesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureInterfacesIsMutable(); + interfaces_.add(index, value); + onChanged(); + } else { + interfacesBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+       * Output only. The connection details for the Agent.
+       * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addInterfaces( + com.google.cloud.agentregistry.v1.Interface.Builder builderForValue) { + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + interfaces_.add(builderForValue.build()); + onChanged(); + } else { + interfacesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+       * Output only. The connection details for the Agent.
+       * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addInterfaces( + int index, com.google.cloud.agentregistry.v1.Interface.Builder builderForValue) { + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + interfaces_.add(index, builderForValue.build()); + onChanged(); + } else { + interfacesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+       * Output only. The connection details for the Agent.
+       * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addAllInterfaces( + java.lang.Iterable values) { + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, interfaces_); + onChanged(); + } else { + interfacesBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+       * Output only. The connection details for the Agent.
+       * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearInterfaces() { + if (interfacesBuilder_ == null) { + interfaces_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + interfacesBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+       * Output only. The connection details for the Agent.
+       * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder removeInterfaces(int index) { + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + interfaces_.remove(index); + onChanged(); + } else { + interfacesBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+       * Output only. The connection details for the Agent.
+       * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.Interface.Builder getInterfacesBuilder(int index) { + return internalGetInterfacesFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+       * Output only. The connection details for the Agent.
+       * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.InterfaceOrBuilder getInterfacesOrBuilder( + int index) { + if (interfacesBuilder_ == null) { + return interfaces_.get(index); + } else { + return interfacesBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+       * Output only. The connection details for the Agent.
+       * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List + getInterfacesOrBuilderList() { + if (interfacesBuilder_ != null) { + return interfacesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(interfaces_); + } + } + + /** + * + * + *
+       * Output only. The connection details for the Agent.
+       * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.Interface.Builder addInterfacesBuilder() { + return internalGetInterfacesFieldBuilder() + .addBuilder(com.google.cloud.agentregistry.v1.Interface.getDefaultInstance()); + } + + /** + * + * + *
+       * Output only. The connection details for the Agent.
+       * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.Interface.Builder addInterfacesBuilder(int index) { + return internalGetInterfacesFieldBuilder() + .addBuilder(index, com.google.cloud.agentregistry.v1.Interface.getDefaultInstance()); + } + + /** + * + * + *
+       * Output only. The connection details for the Agent.
+       * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List + getInterfacesBuilderList() { + return internalGetInterfacesFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Interface, + com.google.cloud.agentregistry.v1.Interface.Builder, + com.google.cloud.agentregistry.v1.InterfaceOrBuilder> + internalGetInterfacesFieldBuilder() { + if (interfacesBuilder_ == null) { + interfacesBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Interface, + com.google.cloud.agentregistry.v1.Interface.Builder, + com.google.cloud.agentregistry.v1.InterfaceOrBuilder>( + interfaces_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean()); + interfaces_ = null; + } + return interfacesBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.Agent.Protocol) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.Agent.Protocol) + private static final com.google.cloud.agentregistry.v1.Agent.Protocol DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.Agent.Protocol(); + } + + public static com.google.cloud.agentregistry.v1.Agent.Protocol getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Protocol parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.Protocol getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface SkillOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.Agent.Skill) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * Output only. A unique identifier for the agent's skill.
+     * 
+ * + * string id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The id. + */ + java.lang.String getId(); + + /** + * + * + *
+     * Output only. A unique identifier for the agent's skill.
+     * 
+ * + * string id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for id. + */ + com.google.protobuf.ByteString getIdBytes(); + + /** + * + * + *
+     * Output only. A human-readable name for the agent's skill.
+     * 
+ * + * string name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+     * Output only. A human-readable name for the agent's skill.
+     * 
+ * + * string name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+     * Output only. A more detailed description of the skill.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The description. + */ + java.lang.String getDescription(); + + /** + * + * + *
+     * Output only. A more detailed description of the skill.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for description. + */ + com.google.protobuf.ByteString getDescriptionBytes(); + + /** + * + * + *
+     * Output only. Keywords describing the skill.
+     * 
+ * + * repeated string tags = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return A list containing the tags. + */ + java.util.List getTagsList(); + + /** + * + * + *
+     * Output only. Keywords describing the skill.
+     * 
+ * + * repeated string tags = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The count of tags. + */ + int getTagsCount(); + + /** + * + * + *
+     * Output only. Keywords describing the skill.
+     * 
+ * + * repeated string tags = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param index The index of the element to return. + * @return The tags at the given index. + */ + java.lang.String getTags(int index); + + /** + * + * + *
+     * Output only. Keywords describing the skill.
+     * 
+ * + * repeated string tags = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param index The index of the value to return. + * @return The bytes of the tags at the given index. + */ + com.google.protobuf.ByteString getTagsBytes(int index); + + /** + * + * + *
+     * Output only. Example prompts or scenarios this skill can handle.
+     * 
+ * + * repeated string examples = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return A list containing the examples. + */ + java.util.List getExamplesList(); + + /** + * + * + *
+     * Output only. Example prompts or scenarios this skill can handle.
+     * 
+ * + * repeated string examples = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The count of examples. + */ + int getExamplesCount(); + + /** + * + * + *
+     * Output only. Example prompts or scenarios this skill can handle.
+     * 
+ * + * repeated string examples = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param index The index of the element to return. + * @return The examples at the given index. + */ + java.lang.String getExamples(int index); + + /** + * + * + *
+     * Output only. Example prompts or scenarios this skill can handle.
+     * 
+ * + * repeated string examples = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param index The index of the value to return. + * @return The bytes of the examples at the given index. + */ + com.google.protobuf.ByteString getExamplesBytes(int index); + } + + /** + * + * + *
+   * Represents the skills of an Agent.
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Agent.Skill} + */ + public static final class Skill extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.Agent.Skill) + SkillOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Skill"); + } + + // Use Skill.newBuilder() to construct. + private Skill(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Skill() { + id_ = ""; + name_ = ""; + description_ = ""; + tags_ = com.google.protobuf.LazyStringArrayList.emptyList(); + examples_ = com.google.protobuf.LazyStringArrayList.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentProto + .internal_static_google_cloud_agentregistry_v1_Agent_Skill_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentProto + .internal_static_google_cloud_agentregistry_v1_Agent_Skill_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Agent.Skill.class, + com.google.cloud.agentregistry.v1.Agent.Skill.Builder.class); + } + + public static final int ID_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object id_ = ""; + + /** + * + * + *
+     * Output only. A unique identifier for the agent's skill.
+     * 
+ * + * string id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The id. + */ + @java.lang.Override + public java.lang.String getId() { + java.lang.Object ref = id_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + id_ = s; + return s; + } + } + + /** + * + * + *
+     * Output only. A unique identifier for the agent's skill.
+     * 
+ * + * string id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for id. + */ + @java.lang.Override + public com.google.protobuf.ByteString getIdBytes() { + java.lang.Object ref = id_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + id_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int NAME_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+     * Output only. A human-readable name for the agent's skill.
+     * 
+ * + * string name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * + * + *
+     * Output only. A human-readable name for the agent's skill.
+     * 
+ * + * string name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DESCRIPTION_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object description_ = ""; + + /** + * + * + *
+     * Output only. A more detailed description of the skill.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The description. + */ + @java.lang.Override + public java.lang.String getDescription() { + java.lang.Object ref = description_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + description_ = s; + return s; + } + } + + /** + * + * + *
+     * Output only. A more detailed description of the skill.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for description. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TAGS_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList tags_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + /** + * + * + *
+     * Output only. Keywords describing the skill.
+     * 
+ * + * repeated string tags = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return A list containing the tags. + */ + public com.google.protobuf.ProtocolStringList getTagsList() { + return tags_; + } + + /** + * + * + *
+     * Output only. Keywords describing the skill.
+     * 
+ * + * repeated string tags = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The count of tags. + */ + public int getTagsCount() { + return tags_.size(); + } + + /** + * + * + *
+     * Output only. Keywords describing the skill.
+     * 
+ * + * repeated string tags = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param index The index of the element to return. + * @return The tags at the given index. + */ + public java.lang.String getTags(int index) { + return tags_.get(index); + } + + /** + * + * + *
+     * Output only. Keywords describing the skill.
+     * 
+ * + * repeated string tags = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param index The index of the value to return. + * @return The bytes of the tags at the given index. + */ + public com.google.protobuf.ByteString getTagsBytes(int index) { + return tags_.getByteString(index); + } + + public static final int EXAMPLES_FIELD_NUMBER = 5; + + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList examples_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + /** + * + * + *
+     * Output only. Example prompts or scenarios this skill can handle.
+     * 
+ * + * repeated string examples = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return A list containing the examples. + */ + public com.google.protobuf.ProtocolStringList getExamplesList() { + return examples_; + } + + /** + * + * + *
+     * Output only. Example prompts or scenarios this skill can handle.
+     * 
+ * + * repeated string examples = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The count of examples. + */ + public int getExamplesCount() { + return examples_.size(); + } + + /** + * + * + *
+     * Output only. Example prompts or scenarios this skill can handle.
+     * 
+ * + * repeated string examples = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param index The index of the element to return. + * @return The examples at the given index. + */ + public java.lang.String getExamples(int index) { + return examples_.get(index); + } + + /** + * + * + *
+     * Output only. Example prompts or scenarios this skill can handle.
+     * 
+ * + * repeated string examples = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param index The index of the value to return. + * @return The bytes of the examples at the given index. + */ + public com.google.protobuf.ByteString getExamplesBytes(int index) { + return examples_.getByteString(index); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(id_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, id_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(description_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, description_); + } + for (int i = 0; i < tags_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, tags_.getRaw(i)); + } + for (int i = 0; i < examples_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, examples_.getRaw(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(id_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, id_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(description_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, description_); + } + { + int dataSize = 0; + for (int i = 0; i < tags_.size(); i++) { + dataSize += computeStringSizeNoTag(tags_.getRaw(i)); + } + size += dataSize; + size += 1 * getTagsList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < examples_.size(); i++) { + dataSize += computeStringSizeNoTag(examples_.getRaw(i)); + } + size += dataSize; + size += 1 * getExamplesList().size(); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.Agent.Skill)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.Agent.Skill other = + (com.google.cloud.agentregistry.v1.Agent.Skill) obj; + + if (!getId().equals(other.getId())) return false; + if (!getName().equals(other.getName())) return false; + if (!getDescription().equals(other.getDescription())) return false; + if (!getTagsList().equals(other.getTagsList())) return false; + if (!getExamplesList().equals(other.getExamplesList())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + ID_FIELD_NUMBER; + hash = (53 * hash) + getId().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER; + hash = (53 * hash) + getDescription().hashCode(); + if (getTagsCount() > 0) { + hash = (37 * hash) + TAGS_FIELD_NUMBER; + hash = (53 * hash) + getTagsList().hashCode(); + } + if (getExamplesCount() > 0) { + hash = (37 * hash) + EXAMPLES_FIELD_NUMBER; + hash = (53 * hash) + getExamplesList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.Agent.Skill parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Agent.Skill parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Agent.Skill parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Agent.Skill parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Agent.Skill parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Agent.Skill parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Agent.Skill parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Agent.Skill parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Agent.Skill parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Agent.Skill parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Agent.Skill parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Agent.Skill parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloud.agentregistry.v1.Agent.Skill prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+     * Represents the skills of an Agent.
+     * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Agent.Skill} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.Agent.Skill) + com.google.cloud.agentregistry.v1.Agent.SkillOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentProto + .internal_static_google_cloud_agentregistry_v1_Agent_Skill_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentProto + .internal_static_google_cloud_agentregistry_v1_Agent_Skill_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Agent.Skill.class, + com.google.cloud.agentregistry.v1.Agent.Skill.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.Agent.Skill.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + id_ = ""; + name_ = ""; + description_ = ""; + tags_ = com.google.protobuf.LazyStringArrayList.emptyList(); + examples_ = com.google.protobuf.LazyStringArrayList.emptyList(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentProto + .internal_static_google_cloud_agentregistry_v1_Agent_Skill_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.Skill getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.Agent.Skill.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.Skill build() { + com.google.cloud.agentregistry.v1.Agent.Skill result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.Skill buildPartial() { + com.google.cloud.agentregistry.v1.Agent.Skill result = + new com.google.cloud.agentregistry.v1.Agent.Skill(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.Agent.Skill result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.id_ = id_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.description_ = description_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + tags_.makeImmutable(); + result.tags_ = tags_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + examples_.makeImmutable(); + result.examples_ = examples_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.Agent.Skill) { + return mergeFrom((com.google.cloud.agentregistry.v1.Agent.Skill) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.Agent.Skill other) { + if (other == com.google.cloud.agentregistry.v1.Agent.Skill.getDefaultInstance()) + return this; + if (!other.getId().isEmpty()) { + id_ = other.id_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getDescription().isEmpty()) { + description_ = other.description_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.tags_.isEmpty()) { + if (tags_.isEmpty()) { + tags_ = other.tags_; + bitField0_ |= 0x00000008; + } else { + ensureTagsIsMutable(); + tags_.addAll(other.tags_); + } + onChanged(); + } + if (!other.examples_.isEmpty()) { + if (examples_.isEmpty()) { + examples_ = other.examples_; + bitField0_ |= 0x00000010; + } else { + ensureExamplesIsMutable(); + examples_.addAll(other.examples_); + } + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + id_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + description_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: + { + java.lang.String s = input.readStringRequireUtf8(); + ensureTagsIsMutable(); + tags_.add(s); + break; + } // case 34 + case 42: + { + java.lang.String s = input.readStringRequireUtf8(); + ensureExamplesIsMutable(); + examples_.add(s); + break; + } // case 42 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object id_ = ""; + + /** + * + * + *
+       * Output only. A unique identifier for the agent's skill.
+       * 
+ * + * string id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The id. + */ + public java.lang.String getId() { + java.lang.Object ref = id_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + id_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Output only. A unique identifier for the agent's skill.
+       * 
+ * + * string id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for id. + */ + public com.google.protobuf.ByteString getIdBytes() { + java.lang.Object ref = id_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + id_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Output only. A unique identifier for the agent's skill.
+       * 
+ * + * string id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The id to set. + * @return This builder for chaining. + */ + public Builder setId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + id_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. A unique identifier for the agent's skill.
+       * 
+ * + * string id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearId() { + id_ = getDefaultInstance().getId(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. A unique identifier for the agent's skill.
+       * 
+ * + * string id = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for id to set. + * @return This builder for chaining. + */ + public Builder setIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + id_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object name_ = ""; + + /** + * + * + *
+       * Output only. A human-readable name for the agent's skill.
+       * 
+ * + * string name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Output only. A human-readable name for the agent's skill.
+       * 
+ * + * string name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Output only. A human-readable name for the agent's skill.
+       * 
+ * + * string name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. A human-readable name for the agent's skill.
+       * 
+ * + * string name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. A human-readable name for the agent's skill.
+       * 
+ * + * string name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object description_ = ""; + + /** + * + * + *
+       * Output only. A more detailed description of the skill.
+       * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The description. + */ + public java.lang.String getDescription() { + java.lang.Object ref = description_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + description_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Output only. A more detailed description of the skill.
+       * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for description. + */ + public com.google.protobuf.ByteString getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Output only. A more detailed description of the skill.
+       * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The description to set. + * @return This builder for chaining. + */ + public Builder setDescription(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + description_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. A more detailed description of the skill.
+       * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearDescription() { + description_ = getDefaultInstance().getDescription(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. A more detailed description of the skill.
+       * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for description to set. + * @return This builder for chaining. + */ + public Builder setDescriptionBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + description_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList tags_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + private void ensureTagsIsMutable() { + if (!tags_.isModifiable()) { + tags_ = new com.google.protobuf.LazyStringArrayList(tags_); + } + bitField0_ |= 0x00000008; + } + + /** + * + * + *
+       * Output only. Keywords describing the skill.
+       * 
+ * + * repeated string tags = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return A list containing the tags. + */ + public com.google.protobuf.ProtocolStringList getTagsList() { + tags_.makeImmutable(); + return tags_; + } + + /** + * + * + *
+       * Output only. Keywords describing the skill.
+       * 
+ * + * repeated string tags = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The count of tags. + */ + public int getTagsCount() { + return tags_.size(); + } + + /** + * + * + *
+       * Output only. Keywords describing the skill.
+       * 
+ * + * repeated string tags = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param index The index of the element to return. + * @return The tags at the given index. + */ + public java.lang.String getTags(int index) { + return tags_.get(index); + } + + /** + * + * + *
+       * Output only. Keywords describing the skill.
+       * 
+ * + * repeated string tags = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param index The index of the value to return. + * @return The bytes of the tags at the given index. + */ + public com.google.protobuf.ByteString getTagsBytes(int index) { + return tags_.getByteString(index); + } + + /** + * + * + *
+       * Output only. Keywords describing the skill.
+       * 
+ * + * repeated string tags = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param index The index to set the value at. + * @param value The tags to set. + * @return This builder for chaining. + */ + public Builder setTags(int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureTagsIsMutable(); + tags_.set(index, value); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Keywords describing the skill.
+       * 
+ * + * repeated string tags = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The tags to add. + * @return This builder for chaining. + */ + public Builder addTags(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureTagsIsMutable(); + tags_.add(value); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Keywords describing the skill.
+       * 
+ * + * repeated string tags = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param values The tags to add. + * @return This builder for chaining. + */ + public Builder addAllTags(java.lang.Iterable values) { + ensureTagsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, tags_); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Keywords describing the skill.
+       * 
+ * + * repeated string tags = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearTags() { + tags_ = com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000008); + ; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Keywords describing the skill.
+       * 
+ * + * repeated string tags = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes of the tags to add. + * @return This builder for chaining. + */ + public Builder addTagsBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureTagsIsMutable(); + tags_.add(value); + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList examples_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + private void ensureExamplesIsMutable() { + if (!examples_.isModifiable()) { + examples_ = new com.google.protobuf.LazyStringArrayList(examples_); + } + bitField0_ |= 0x00000010; + } + + /** + * + * + *
+       * Output only. Example prompts or scenarios this skill can handle.
+       * 
+ * + * repeated string examples = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return A list containing the examples. + */ + public com.google.protobuf.ProtocolStringList getExamplesList() { + examples_.makeImmutable(); + return examples_; + } + + /** + * + * + *
+       * Output only. Example prompts or scenarios this skill can handle.
+       * 
+ * + * repeated string examples = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The count of examples. + */ + public int getExamplesCount() { + return examples_.size(); + } + + /** + * + * + *
+       * Output only. Example prompts or scenarios this skill can handle.
+       * 
+ * + * repeated string examples = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param index The index of the element to return. + * @return The examples at the given index. + */ + public java.lang.String getExamples(int index) { + return examples_.get(index); + } + + /** + * + * + *
+       * Output only. Example prompts or scenarios this skill can handle.
+       * 
+ * + * repeated string examples = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param index The index of the value to return. + * @return The bytes of the examples at the given index. + */ + public com.google.protobuf.ByteString getExamplesBytes(int index) { + return examples_.getByteString(index); + } + + /** + * + * + *
+       * Output only. Example prompts or scenarios this skill can handle.
+       * 
+ * + * repeated string examples = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param index The index to set the value at. + * @param value The examples to set. + * @return This builder for chaining. + */ + public Builder setExamples(int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureExamplesIsMutable(); + examples_.set(index, value); + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Example prompts or scenarios this skill can handle.
+       * 
+ * + * repeated string examples = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The examples to add. + * @return This builder for chaining. + */ + public Builder addExamples(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureExamplesIsMutable(); + examples_.add(value); + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Example prompts or scenarios this skill can handle.
+       * 
+ * + * repeated string examples = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param values The examples to add. + * @return This builder for chaining. + */ + public Builder addAllExamples(java.lang.Iterable values) { + ensureExamplesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, examples_); + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Example prompts or scenarios this skill can handle.
+       * 
+ * + * repeated string examples = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearExamples() { + examples_ = com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000010); + ; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Example prompts or scenarios this skill can handle.
+       * 
+ * + * repeated string examples = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes of the examples to add. + * @return This builder for chaining. + */ + public Builder addExamplesBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureExamplesIsMutable(); + examples_.add(value); + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.Agent.Skill) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.Agent.Skill) + private static final com.google.cloud.agentregistry.v1.Agent.Skill DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.Agent.Skill(); + } + + public static com.google.cloud.agentregistry.v1.Agent.Skill getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Skill parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.Skill getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface CardOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.Agent.Card) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * Output only. The type of agent card.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card.Type type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for type. + */ + int getTypeValue(); + + /** + * + * + *
+     * Output only. The type of agent card.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card.Type type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The type. + */ + com.google.cloud.agentregistry.v1.Agent.Card.Type getType(); + + /** + * + * + *
+     * Output only. The content of the agent card.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the content field is set. + */ + boolean hasContent(); + + /** + * + * + *
+     * Output only. The content of the agent card.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The content. + */ + com.google.protobuf.Struct getContent(); + + /** + * + * + *
+     * Output only. The content of the agent card.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.StructOrBuilder getContentOrBuilder(); + } + + /** + * + * + *
+   * Full Agent Card payload, often obtained from the A2A Agent Card.
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Agent.Card} + */ + public static final class Card extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.Agent.Card) + CardOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Card"); + } + + // Use Card.newBuilder() to construct. + private Card(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Card() { + type_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentProto + .internal_static_google_cloud_agentregistry_v1_Agent_Card_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentProto + .internal_static_google_cloud_agentregistry_v1_Agent_Card_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Agent.Card.class, + com.google.cloud.agentregistry.v1.Agent.Card.Builder.class); + } + + /** + * + * + *
+     * Represents the type of the agent card.
+     * 
+ * + * Protobuf enum {@code google.cloud.agentregistry.v1.Agent.Card.Type} + */ + public enum Type implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+       * Unspecified type.
+       * 
+ * + * TYPE_UNSPECIFIED = 0; + */ + TYPE_UNSPECIFIED(0), + /** + * + * + *
+       * Indicates that the card is an A2A Agent Card.
+       * 
+ * + * A2A_AGENT_CARD = 1; + */ + A2A_AGENT_CARD(1), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Type"); + } + + /** + * + * + *
+       * Unspecified type.
+       * 
+ * + * TYPE_UNSPECIFIED = 0; + */ + public static final int TYPE_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+       * Indicates that the card is an A2A Agent Card.
+       * 
+ * + * A2A_AGENT_CARD = 1; + */ + public static final int A2A_AGENT_CARD_VALUE = 1; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static Type valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static Type forNumber(int value) { + switch (value) { + case 0: + return TYPE_UNSPECIFIED; + case 1: + return A2A_AGENT_CARD; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Type findValueByNumber(int number) { + return Type.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.Agent.Card.getDescriptor().getEnumTypes().get(0); + } + + private static final Type[] VALUES = values(); + + public static Type valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private Type(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.agentregistry.v1.Agent.Card.Type) + } + + private int bitField0_; + public static final int TYPE_FIELD_NUMBER = 1; + private int type_ = 0; + + /** + * + * + *
+     * Output only. The type of agent card.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card.Type type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for type. + */ + @java.lang.Override + public int getTypeValue() { + return type_; + } + + /** + * + * + *
+     * Output only. The type of agent card.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card.Type type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The type. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.Card.Type getType() { + com.google.cloud.agentregistry.v1.Agent.Card.Type result = + com.google.cloud.agentregistry.v1.Agent.Card.Type.forNumber(type_); + return result == null + ? com.google.cloud.agentregistry.v1.Agent.Card.Type.UNRECOGNIZED + : result; + } + + public static final int CONTENT_FIELD_NUMBER = 2; + private com.google.protobuf.Struct content_; + + /** + * + * + *
+     * Output only. The content of the agent card.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the content field is set. + */ + @java.lang.Override + public boolean hasContent() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Output only. The content of the agent card.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The content. + */ + @java.lang.Override + public com.google.protobuf.Struct getContent() { + return content_ == null ? com.google.protobuf.Struct.getDefaultInstance() : content_; + } + + /** + * + * + *
+     * Output only. The content of the agent card.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.StructOrBuilder getContentOrBuilder() { + return content_ == null ? com.google.protobuf.Struct.getDefaultInstance() : content_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (type_ != com.google.cloud.agentregistry.v1.Agent.Card.Type.TYPE_UNSPECIFIED.getNumber()) { + output.writeEnum(1, type_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getContent()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (type_ != com.google.cloud.agentregistry.v1.Agent.Card.Type.TYPE_UNSPECIFIED.getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(1, type_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getContent()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.Agent.Card)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.Agent.Card other = + (com.google.cloud.agentregistry.v1.Agent.Card) obj; + + if (type_ != other.type_) return false; + if (hasContent() != other.hasContent()) return false; + if (hasContent()) { + if (!getContent().equals(other.getContent())) return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + TYPE_FIELD_NUMBER; + hash = (53 * hash) + type_; + if (hasContent()) { + hash = (37 * hash) + CONTENT_FIELD_NUMBER; + hash = (53 * hash) + getContent().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.Agent.Card parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Agent.Card parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Agent.Card parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Agent.Card parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Agent.Card parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Agent.Card parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Agent.Card parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Agent.Card parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Agent.Card parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Agent.Card parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Agent.Card parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Agent.Card parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloud.agentregistry.v1.Agent.Card prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+     * Full Agent Card payload, often obtained from the A2A Agent Card.
+     * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Agent.Card} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.Agent.Card) + com.google.cloud.agentregistry.v1.Agent.CardOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentProto + .internal_static_google_cloud_agentregistry_v1_Agent_Card_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentProto + .internal_static_google_cloud_agentregistry_v1_Agent_Card_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Agent.Card.class, + com.google.cloud.agentregistry.v1.Agent.Card.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.Agent.Card.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetContentFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + type_ = 0; + content_ = null; + if (contentBuilder_ != null) { + contentBuilder_.dispose(); + contentBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentProto + .internal_static_google_cloud_agentregistry_v1_Agent_Card_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.Card getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.Agent.Card.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.Card build() { + com.google.cloud.agentregistry.v1.Agent.Card result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.Card buildPartial() { + com.google.cloud.agentregistry.v1.Agent.Card result = + new com.google.cloud.agentregistry.v1.Agent.Card(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.Agent.Card result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.type_ = type_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.content_ = contentBuilder_ == null ? content_ : contentBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.Agent.Card) { + return mergeFrom((com.google.cloud.agentregistry.v1.Agent.Card) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.Agent.Card other) { + if (other == com.google.cloud.agentregistry.v1.Agent.Card.getDefaultInstance()) return this; + if (other.type_ != 0) { + setTypeValue(other.getTypeValue()); + } + if (other.hasContent()) { + mergeContent(other.getContent()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: + { + type_ = input.readEnum(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 18: + { + input.readMessage( + internalGetContentFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private int type_ = 0; + + /** + * + * + *
+       * Output only. The type of agent card.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card.Type type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for type. + */ + @java.lang.Override + public int getTypeValue() { + return type_; + } + + /** + * + * + *
+       * Output only. The type of agent card.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card.Type type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The enum numeric value on the wire for type to set. + * @return This builder for chaining. + */ + public Builder setTypeValue(int value) { + type_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The type of agent card.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card.Type type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The type. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.Card.Type getType() { + com.google.cloud.agentregistry.v1.Agent.Card.Type result = + com.google.cloud.agentregistry.v1.Agent.Card.Type.forNumber(type_); + return result == null + ? com.google.cloud.agentregistry.v1.Agent.Card.Type.UNRECOGNIZED + : result; + } + + /** + * + * + *
+       * Output only. The type of agent card.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card.Type type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The type to set. + * @return This builder for chaining. + */ + public Builder setType(com.google.cloud.agentregistry.v1.Agent.Card.Type value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + type_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The type of agent card.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card.Type type = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return This builder for chaining. + */ + public Builder clearType() { + bitField0_ = (bitField0_ & ~0x00000001); + type_ = 0; + onChanged(); + return this; + } + + private com.google.protobuf.Struct content_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Struct, + com.google.protobuf.Struct.Builder, + com.google.protobuf.StructOrBuilder> + contentBuilder_; + + /** + * + * + *
+       * Output only. The content of the agent card.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the content field is set. + */ + public boolean hasContent() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+       * Output only. The content of the agent card.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The content. + */ + public com.google.protobuf.Struct getContent() { + if (contentBuilder_ == null) { + return content_ == null ? com.google.protobuf.Struct.getDefaultInstance() : content_; + } else { + return contentBuilder_.getMessage(); + } + } + + /** + * + * + *
+       * Output only. The content of the agent card.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setContent(com.google.protobuf.Struct value) { + if (contentBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + content_ = value; + } else { + contentBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The content of the agent card.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setContent(com.google.protobuf.Struct.Builder builderForValue) { + if (contentBuilder_ == null) { + content_ = builderForValue.build(); + } else { + contentBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The content of the agent card.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeContent(com.google.protobuf.Struct value) { + if (contentBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && content_ != null + && content_ != com.google.protobuf.Struct.getDefaultInstance()) { + getContentBuilder().mergeFrom(value); + } else { + content_ = value; + } + } else { + contentBuilder_.mergeFrom(value); + } + if (content_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+       * Output only. The content of the agent card.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearContent() { + bitField0_ = (bitField0_ & ~0x00000002); + content_ = null; + if (contentBuilder_ != null) { + contentBuilder_.dispose(); + contentBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. The content of the agent card.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Struct.Builder getContentBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetContentFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Output only. The content of the agent card.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.StructOrBuilder getContentOrBuilder() { + if (contentBuilder_ != null) { + return contentBuilder_.getMessageOrBuilder(); + } else { + return content_ == null ? com.google.protobuf.Struct.getDefaultInstance() : content_; + } + } + + /** + * + * + *
+       * Output only. The content of the agent card.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Struct, + com.google.protobuf.Struct.Builder, + com.google.protobuf.StructOrBuilder> + internalGetContentFieldBuilder() { + if (contentBuilder_ == null) { + contentBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Struct, + com.google.protobuf.Struct.Builder, + com.google.protobuf.StructOrBuilder>( + getContent(), getParentForChildren(), isClean()); + content_ = null; + } + return contentBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.Agent.Card) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.Agent.Card) + private static final com.google.cloud.agentregistry.v1.Agent.Card DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.Agent.Card(); + } + + public static com.google.cloud.agentregistry.v1.Agent.Card getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Card parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.Card getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int bitField0_; + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Identifier. The resource name of an Agent.
+   * Format: `projects/{project}/locations/{location}/agents/{agent}`.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Identifier. The resource name of an Agent.
+   * Format: `projects/{project}/locations/{location}/agents/{agent}`.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int AGENT_ID_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object agentId_ = ""; + + /** + * + * + *
+   * Output only. A stable, globally unique identifier for agents.
+   * 
+ * + * string agent_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The agentId. + */ + @java.lang.Override + public java.lang.String getAgentId() { + java.lang.Object ref = agentId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + agentId_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. A stable, globally unique identifier for agents.
+   * 
+ * + * string agent_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for agentId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getAgentIdBytes() { + java.lang.Object ref = agentId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + agentId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int LOCATION_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private volatile java.lang.Object location_ = ""; + + /** + * + * + *
+   * Output only. The location where agent is hosted. The value is defined by
+   * the hosting environment (i.e. cloud provider).
+   * 
+ * + * string location = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The location. + */ + @java.lang.Override + public java.lang.String getLocation() { + java.lang.Object ref = location_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + location_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. The location where agent is hosted. The value is defined by
+   * the hosting environment (i.e. cloud provider).
+   * 
+ * + * string location = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for location. + */ + @java.lang.Override + public com.google.protobuf.ByteString getLocationBytes() { + java.lang.Object ref = location_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + location_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DISPLAY_NAME_FIELD_NUMBER = 5; + + @SuppressWarnings("serial") + private volatile java.lang.Object displayName_ = ""; + + /** + * + * + *
+   * Output only. The display name of the agent, often obtained from the A2A
+   * Agent Card.
+   * 
+ * + * string display_name = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The displayName. + */ + @java.lang.Override + public java.lang.String getDisplayName() { + java.lang.Object ref = displayName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + displayName_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. The display name of the agent, often obtained from the A2A
+   * Agent Card.
+   * 
+ * + * string display_name = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for displayName. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDisplayNameBytes() { + java.lang.Object ref = displayName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + displayName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DESCRIPTION_FIELD_NUMBER = 6; + + @SuppressWarnings("serial") + private volatile java.lang.Object description_ = ""; + + /** + * + * + *
+   * Output only. The description of the Agent, often obtained from the A2A
+   * Agent Card. Empty if Agent Card has no description.
+   * 
+ * + * string description = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The description. + */ + @java.lang.Override + public java.lang.String getDescription() { + java.lang.Object ref = description_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + description_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. The description of the Agent, often obtained from the A2A
+   * Agent Card. Empty if Agent Card has no description.
+   * 
+ * + * string description = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for description. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int VERSION_FIELD_NUMBER = 7; + + @SuppressWarnings("serial") + private volatile java.lang.Object version_ = ""; + + /** + * + * + *
+   * Output only. The version of the Agent, often obtained from the A2A Agent
+   * Card. Empty if Agent Card has no version or agent is not an A2A Agent.
+   * 
+ * + * string version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The version. + */ + @java.lang.Override + public java.lang.String getVersion() { + java.lang.Object ref = version_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + version_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. The version of the Agent, often obtained from the A2A Agent
+   * Card. Empty if Agent Card has no version or agent is not an A2A Agent.
+   * 
+ * + * string version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for version. + */ + @java.lang.Override + public com.google.protobuf.ByteString getVersionBytes() { + java.lang.Object ref = version_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + version_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PROTOCOLS_FIELD_NUMBER = 8; + + @SuppressWarnings("serial") + private java.util.List protocols_; + + /** + * + * + *
+   * Output only. The connection details for the Agent.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.List getProtocolsList() { + return protocols_; + } + + /** + * + * + *
+   * Output only. The connection details for the Agent.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.List + getProtocolsOrBuilderList() { + return protocols_; + } + + /** + * + * + *
+   * Output only. The connection details for the Agent.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public int getProtocolsCount() { + return protocols_.size(); + } + + /** + * + * + *
+   * Output only. The connection details for the Agent.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.Protocol getProtocols(int index) { + return protocols_.get(index); + } + + /** + * + * + *
+   * Output only. The connection details for the Agent.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.ProtocolOrBuilder getProtocolsOrBuilder( + int index) { + return protocols_.get(index); + } + + public static final int SKILLS_FIELD_NUMBER = 9; + + @SuppressWarnings("serial") + private java.util.List skills_; + + /** + * + * + *
+   * Output only. Skills the agent possesses, often obtained from the A2A Agent
+   * Card.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.List getSkillsList() { + return skills_; + } + + /** + * + * + *
+   * Output only. Skills the agent possesses, often obtained from the A2A Agent
+   * Card.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.List + getSkillsOrBuilderList() { + return skills_; + } + + /** + * + * + *
+   * Output only. Skills the agent possesses, often obtained from the A2A Agent
+   * Card.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public int getSkillsCount() { + return skills_.size(); + } + + /** + * + * + *
+   * Output only. Skills the agent possesses, often obtained from the A2A Agent
+   * Card.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.Skill getSkills(int index) { + return skills_.get(index); + } + + /** + * + * + *
+   * Output only. Skills the agent possesses, often obtained from the A2A Agent
+   * Card.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.SkillOrBuilder getSkillsOrBuilder(int index) { + return skills_.get(index); + } + + public static final int UID_FIELD_NUMBER = 10; + + @SuppressWarnings("serial") + private volatile java.lang.Object uid_ = ""; + + /** + * + * + *
+   * Output only. A universally unique identifier for the Agent.
+   * 
+ * + * + * string uid = 10 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_info) = { ... } + * + * + * @return The uid. + */ + @java.lang.Override + public java.lang.String getUid() { + java.lang.Object ref = uid_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + uid_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. A universally unique identifier for the Agent.
+   * 
+ * + * + * string uid = 10 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_info) = { ... } + * + * + * @return The bytes for uid. + */ + @java.lang.Override + public com.google.protobuf.ByteString getUidBytes() { + java.lang.Object ref = uid_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + uid_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int CREATE_TIME_FIELD_NUMBER = 11; + private com.google.protobuf.Timestamp createTime_; + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + @java.lang.Override + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCreateTime() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + public static final int UPDATE_TIME_FIELD_NUMBER = 12; + private com.google.protobuf.Timestamp updateTime_; + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + @java.lang.Override + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getUpdateTime() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + public static final int ATTRIBUTES_FIELD_NUMBER = 13; + + private static final class AttributesDefaultEntryHolder { + static final com.google.protobuf.MapEntry + defaultEntry = + com.google.protobuf.MapEntry + .newDefaultInstance( + com.google.cloud.agentregistry.v1.AgentProto + .internal_static_google_cloud_agentregistry_v1_Agent_AttributesEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.MESSAGE, + com.google.protobuf.Struct.getDefaultInstance()); + } + + @SuppressWarnings("serial") + private com.google.protobuf.MapField attributes_; + + private com.google.protobuf.MapField + internalGetAttributes() { + if (attributes_ == null) { + return com.google.protobuf.MapField.emptyMapField(AttributesDefaultEntryHolder.defaultEntry); + } + return attributes_; + } + + public int getAttributesCount() { + return internalGetAttributes().getMap().size(); + } + + /** + * + * + *
+   * Output only. Attributes of the Agent.
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/Framework`: {"framework":
+   * "google-adk"} - the agent framework used to develop the Agent. Example
+   * values: "google-adk", "langchain", "custom".
+   * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+   * "principal://..."} - the runtime identity associated with the Agent.
+   * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+   * - the URI of the underlying resource hosting the Agent, for
+   * example, the Reasoning Engine URI.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public boolean containsAttributes(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + return internalGetAttributes().getMap().containsKey(key); + } + + /** Use {@link #getAttributesMap()} instead. */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getAttributes() { + return getAttributesMap(); + } + + /** + * + * + *
+   * Output only. Attributes of the Agent.
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/Framework`: {"framework":
+   * "google-adk"} - the agent framework used to develop the Agent. Example
+   * values: "google-adk", "langchain", "custom".
+   * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+   * "principal://..."} - the runtime identity associated with the Agent.
+   * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+   * - the URI of the underlying resource hosting the Agent, for
+   * example, the Reasoning Engine URI.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.Map getAttributesMap() { + return internalGetAttributes().getMap(); + } + + /** + * + * + *
+   * Output only. Attributes of the Agent.
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/Framework`: {"framework":
+   * "google-adk"} - the agent framework used to develop the Agent. Example
+   * values: "google-adk", "langchain", "custom".
+   * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+   * "principal://..."} - the runtime identity associated with the Agent.
+   * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+   * - the URI of the underlying resource hosting the Agent, for
+   * example, the Reasoning Engine URI.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public /* nullable */ com.google.protobuf.Struct getAttributesOrDefault( + java.lang.String key, + /* nullable */ + com.google.protobuf.Struct defaultValue) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = + internalGetAttributes().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + + /** + * + * + *
+   * Output only. Attributes of the Agent.
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/Framework`: {"framework":
+   * "google-adk"} - the agent framework used to develop the Agent. Example
+   * values: "google-adk", "langchain", "custom".
+   * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+   * "principal://..."} - the runtime identity associated with the Agent.
+   * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+   * - the URI of the underlying resource hosting the Agent, for
+   * example, the Reasoning Engine URI.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.Struct getAttributesOrThrow(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = + internalGetAttributes().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public static final int CARD_FIELD_NUMBER = 14; + private com.google.cloud.agentregistry.v1.Agent.Card card_; + + /** + * + * + *
+   * Output only. Full Agent Card payload, when available.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card card = 14 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the card field is set. + */ + @java.lang.Override + public boolean hasCard() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+   * Output only. Full Agent Card payload, when available.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card card = 14 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The card. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.Card getCard() { + return card_ == null + ? com.google.cloud.agentregistry.v1.Agent.Card.getDefaultInstance() + : card_; + } + + /** + * + * + *
+   * Output only. Full Agent Card payload, when available.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card card = 14 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent.CardOrBuilder getCardOrBuilder() { + return card_ == null + ? com.google.cloud.agentregistry.v1.Agent.Card.getDefaultInstance() + : card_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(agentId_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, agentId_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(location_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, location_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, displayName_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(description_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 6, description_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 7, version_); + } + for (int i = 0; i < protocols_.size(); i++) { + output.writeMessage(8, protocols_.get(i)); + } + for (int i = 0; i < skills_.size(); i++) { + output.writeMessage(9, skills_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(uid_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 10, uid_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(11, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(12, getUpdateTime()); + } + com.google.protobuf.GeneratedMessage.serializeStringMapTo( + output, internalGetAttributes(), AttributesDefaultEntryHolder.defaultEntry, 13); + if (((bitField0_ & 0x00000004) != 0)) { + output.writeMessage(14, getCard()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(agentId_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, agentId_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(location_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, location_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, displayName_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(description_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(6, description_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(version_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(7, version_); + } + for (int i = 0; i < protocols_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, protocols_.get(i)); + } + for (int i = 0; i < skills_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(9, skills_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(uid_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(10, uid_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(11, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(12, getUpdateTime()); + } + for (java.util.Map.Entry entry : + internalGetAttributes().getMap().entrySet()) { + com.google.protobuf.MapEntry attributes__ = + AttributesDefaultEntryHolder.defaultEntry + .newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += com.google.protobuf.CodedOutputStream.computeMessageSize(13, attributes__); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(14, getCard()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.Agent)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.Agent other = (com.google.cloud.agentregistry.v1.Agent) obj; + + if (!getName().equals(other.getName())) return false; + if (!getAgentId().equals(other.getAgentId())) return false; + if (!getLocation().equals(other.getLocation())) return false; + if (!getDisplayName().equals(other.getDisplayName())) return false; + if (!getDescription().equals(other.getDescription())) return false; + if (!getVersion().equals(other.getVersion())) return false; + if (!getProtocolsList().equals(other.getProtocolsList())) return false; + if (!getSkillsList().equals(other.getSkillsList())) return false; + if (!getUid().equals(other.getUid())) return false; + if (hasCreateTime() != other.hasCreateTime()) return false; + if (hasCreateTime()) { + if (!getCreateTime().equals(other.getCreateTime())) return false; + } + if (hasUpdateTime() != other.hasUpdateTime()) return false; + if (hasUpdateTime()) { + if (!getUpdateTime().equals(other.getUpdateTime())) return false; + } + if (!internalGetAttributes().equals(other.internalGetAttributes())) return false; + if (hasCard() != other.hasCard()) return false; + if (hasCard()) { + if (!getCard().equals(other.getCard())) return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + AGENT_ID_FIELD_NUMBER; + hash = (53 * hash) + getAgentId().hashCode(); + hash = (37 * hash) + LOCATION_FIELD_NUMBER; + hash = (53 * hash) + getLocation().hashCode(); + hash = (37 * hash) + DISPLAY_NAME_FIELD_NUMBER; + hash = (53 * hash) + getDisplayName().hashCode(); + hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER; + hash = (53 * hash) + getDescription().hashCode(); + hash = (37 * hash) + VERSION_FIELD_NUMBER; + hash = (53 * hash) + getVersion().hashCode(); + if (getProtocolsCount() > 0) { + hash = (37 * hash) + PROTOCOLS_FIELD_NUMBER; + hash = (53 * hash) + getProtocolsList().hashCode(); + } + if (getSkillsCount() > 0) { + hash = (37 * hash) + SKILLS_FIELD_NUMBER; + hash = (53 * hash) + getSkillsList().hashCode(); + } + hash = (37 * hash) + UID_FIELD_NUMBER; + hash = (53 * hash) + getUid().hashCode(); + if (hasCreateTime()) { + hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCreateTime().hashCode(); + } + if (hasUpdateTime()) { + hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getUpdateTime().hashCode(); + } + if (!internalGetAttributes().getMap().isEmpty()) { + hash = (37 * hash) + ATTRIBUTES_FIELD_NUMBER; + hash = (53 * hash) + internalGetAttributes().hashCode(); + } + if (hasCard()) { + hash = (37 * hash) + CARD_FIELD_NUMBER; + hash = (53 * hash) + getCard().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.Agent parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Agent parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Agent parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Agent parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Agent parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Agent parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Agent parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Agent parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Agent parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Agent parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Agent parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Agent parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloud.agentregistry.v1.Agent prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Represents an Agent.
+   * "A2A" below refers to the Agent-to-Agent protocol.
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Agent} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.Agent) + com.google.cloud.agentregistry.v1.AgentOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentProto + .internal_static_google_cloud_agentregistry_v1_Agent_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection( + int number) { + switch (number) { + case 13: + return internalGetAttributes(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapFieldReflectionAccessor internalGetMutableMapFieldReflection( + int number) { + switch (number) { + case 13: + return internalGetMutableAttributes(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentProto + .internal_static_google_cloud_agentregistry_v1_Agent_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Agent.class, + com.google.cloud.agentregistry.v1.Agent.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.Agent.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetProtocolsFieldBuilder(); + internalGetSkillsFieldBuilder(); + internalGetCreateTimeFieldBuilder(); + internalGetUpdateTimeFieldBuilder(); + internalGetCardFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + agentId_ = ""; + location_ = ""; + displayName_ = ""; + description_ = ""; + version_ = ""; + if (protocolsBuilder_ == null) { + protocols_ = java.util.Collections.emptyList(); + } else { + protocols_ = null; + protocolsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000040); + if (skillsBuilder_ == null) { + skills_ = java.util.Collections.emptyList(); + } else { + skills_ = null; + skillsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000080); + uid_ = ""; + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + internalGetMutableAttributes().clear(); + card_ = null; + if (cardBuilder_ != null) { + cardBuilder_.dispose(); + cardBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentProto + .internal_static_google_cloud_agentregistry_v1_Agent_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.Agent.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent build() { + com.google.cloud.agentregistry.v1.Agent result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent buildPartial() { + com.google.cloud.agentregistry.v1.Agent result = + new com.google.cloud.agentregistry.v1.Agent(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(com.google.cloud.agentregistry.v1.Agent result) { + if (protocolsBuilder_ == null) { + if (((bitField0_ & 0x00000040) != 0)) { + protocols_ = java.util.Collections.unmodifiableList(protocols_); + bitField0_ = (bitField0_ & ~0x00000040); + } + result.protocols_ = protocols_; + } else { + result.protocols_ = protocolsBuilder_.build(); + } + if (skillsBuilder_ == null) { + if (((bitField0_ & 0x00000080) != 0)) { + skills_ = java.util.Collections.unmodifiableList(skills_); + bitField0_ = (bitField0_ & ~0x00000080); + } + result.skills_ = skills_; + } else { + result.skills_ = skillsBuilder_.build(); + } + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.Agent result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.agentId_ = agentId_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.location_ = location_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.displayName_ = displayName_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.description_ = description_; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.version_ = version_; + } + if (((from_bitField0_ & 0x00000100) != 0)) { + result.uid_ = uid_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000200) != 0)) { + result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000400) != 0)) { + result.updateTime_ = updateTimeBuilder_ == null ? updateTime_ : updateTimeBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000800) != 0)) { + result.attributes_ = + internalGetAttributes().build(AttributesDefaultEntryHolder.defaultEntry); + } + if (((from_bitField0_ & 0x00001000) != 0)) { + result.card_ = cardBuilder_ == null ? card_ : cardBuilder_.build(); + to_bitField0_ |= 0x00000004; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.Agent) { + return mergeFrom((com.google.cloud.agentregistry.v1.Agent) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.Agent other) { + if (other == com.google.cloud.agentregistry.v1.Agent.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getAgentId().isEmpty()) { + agentId_ = other.agentId_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getLocation().isEmpty()) { + location_ = other.location_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getDisplayName().isEmpty()) { + displayName_ = other.displayName_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (!other.getDescription().isEmpty()) { + description_ = other.description_; + bitField0_ |= 0x00000010; + onChanged(); + } + if (!other.getVersion().isEmpty()) { + version_ = other.version_; + bitField0_ |= 0x00000020; + onChanged(); + } + if (protocolsBuilder_ == null) { + if (!other.protocols_.isEmpty()) { + if (protocols_.isEmpty()) { + protocols_ = other.protocols_; + bitField0_ = (bitField0_ & ~0x00000040); + } else { + ensureProtocolsIsMutable(); + protocols_.addAll(other.protocols_); + } + onChanged(); + } + } else { + if (!other.protocols_.isEmpty()) { + if (protocolsBuilder_.isEmpty()) { + protocolsBuilder_.dispose(); + protocolsBuilder_ = null; + protocols_ = other.protocols_; + bitField0_ = (bitField0_ & ~0x00000040); + protocolsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetProtocolsFieldBuilder() + : null; + } else { + protocolsBuilder_.addAllMessages(other.protocols_); + } + } + } + if (skillsBuilder_ == null) { + if (!other.skills_.isEmpty()) { + if (skills_.isEmpty()) { + skills_ = other.skills_; + bitField0_ = (bitField0_ & ~0x00000080); + } else { + ensureSkillsIsMutable(); + skills_.addAll(other.skills_); + } + onChanged(); + } + } else { + if (!other.skills_.isEmpty()) { + if (skillsBuilder_.isEmpty()) { + skillsBuilder_.dispose(); + skillsBuilder_ = null; + skills_ = other.skills_; + bitField0_ = (bitField0_ & ~0x00000080); + skillsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetSkillsFieldBuilder() + : null; + } else { + skillsBuilder_.addAllMessages(other.skills_); + } + } + } + if (!other.getUid().isEmpty()) { + uid_ = other.uid_; + bitField0_ |= 0x00000100; + onChanged(); + } + if (other.hasCreateTime()) { + mergeCreateTime(other.getCreateTime()); + } + if (other.hasUpdateTime()) { + mergeUpdateTime(other.getUpdateTime()); + } + internalGetMutableAttributes().mergeFrom(other.internalGetAttributes()); + bitField0_ |= 0x00000800; + if (other.hasCard()) { + mergeCard(other.getCard()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + agentId_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 34: + { + location_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 34 + case 42: + { + displayName_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 42 + case 50: + { + description_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 50 + case 58: + { + version_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000020; + break; + } // case 58 + case 66: + { + com.google.cloud.agentregistry.v1.Agent.Protocol m = + input.readMessage( + com.google.cloud.agentregistry.v1.Agent.Protocol.parser(), + extensionRegistry); + if (protocolsBuilder_ == null) { + ensureProtocolsIsMutable(); + protocols_.add(m); + } else { + protocolsBuilder_.addMessage(m); + } + break; + } // case 66 + case 74: + { + com.google.cloud.agentregistry.v1.Agent.Skill m = + input.readMessage( + com.google.cloud.agentregistry.v1.Agent.Skill.parser(), extensionRegistry); + if (skillsBuilder_ == null) { + ensureSkillsIsMutable(); + skills_.add(m); + } else { + skillsBuilder_.addMessage(m); + } + break; + } // case 74 + case 82: + { + uid_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000100; + break; + } // case 82 + case 90: + { + input.readMessage( + internalGetCreateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000200; + break; + } // case 90 + case 98: + { + input.readMessage( + internalGetUpdateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000400; + break; + } // case 98 + case 106: + { + com.google.protobuf.MapEntry + attributes__ = + input.readMessage( + AttributesDefaultEntryHolder.defaultEntry.getParserForType(), + extensionRegistry); + internalGetMutableAttributes() + .ensureBuilderMap() + .put(attributes__.getKey(), attributes__.getValue()); + bitField0_ |= 0x00000800; + break; + } // case 106 + case 114: + { + input.readMessage(internalGetCardFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00001000; + break; + } // case 114 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Identifier. The resource name of an Agent.
+     * Format: `projects/{project}/locations/{location}/agents/{agent}`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Identifier. The resource name of an Agent.
+     * Format: `projects/{project}/locations/{location}/agents/{agent}`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Identifier. The resource name of an Agent.
+     * Format: `projects/{project}/locations/{location}/agents/{agent}`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. The resource name of an Agent.
+     * Format: `projects/{project}/locations/{location}/agents/{agent}`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. The resource name of an Agent.
+     * Format: `projects/{project}/locations/{location}/agents/{agent}`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object agentId_ = ""; + + /** + * + * + *
+     * Output only. A stable, globally unique identifier for agents.
+     * 
+ * + * string agent_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The agentId. + */ + public java.lang.String getAgentId() { + java.lang.Object ref = agentId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + agentId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. A stable, globally unique identifier for agents.
+     * 
+ * + * string agent_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for agentId. + */ + public com.google.protobuf.ByteString getAgentIdBytes() { + java.lang.Object ref = agentId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + agentId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. A stable, globally unique identifier for agents.
+     * 
+ * + * string agent_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The agentId to set. + * @return This builder for chaining. + */ + public Builder setAgentId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + agentId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. A stable, globally unique identifier for agents.
+     * 
+ * + * string agent_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearAgentId() { + agentId_ = getDefaultInstance().getAgentId(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. A stable, globally unique identifier for agents.
+     * 
+ * + * string agent_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for agentId to set. + * @return This builder for chaining. + */ + public Builder setAgentIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + agentId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object location_ = ""; + + /** + * + * + *
+     * Output only. The location where agent is hosted. The value is defined by
+     * the hosting environment (i.e. cloud provider).
+     * 
+ * + * string location = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The location. + */ + public java.lang.String getLocation() { + java.lang.Object ref = location_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + location_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. The location where agent is hosted. The value is defined by
+     * the hosting environment (i.e. cloud provider).
+     * 
+ * + * string location = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for location. + */ + public com.google.protobuf.ByteString getLocationBytes() { + java.lang.Object ref = location_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + location_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. The location where agent is hosted. The value is defined by
+     * the hosting environment (i.e. cloud provider).
+     * 
+ * + * string location = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The location to set. + * @return This builder for chaining. + */ + public Builder setLocation(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + location_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The location where agent is hosted. The value is defined by
+     * the hosting environment (i.e. cloud provider).
+     * 
+ * + * string location = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearLocation() { + location_ = getDefaultInstance().getLocation(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The location where agent is hosted. The value is defined by
+     * the hosting environment (i.e. cloud provider).
+     * 
+ * + * string location = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for location to set. + * @return This builder for chaining. + */ + public Builder setLocationBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + location_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object displayName_ = ""; + + /** + * + * + *
+     * Output only. The display name of the agent, often obtained from the A2A
+     * Agent Card.
+     * 
+ * + * string display_name = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The displayName. + */ + public java.lang.String getDisplayName() { + java.lang.Object ref = displayName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + displayName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. The display name of the agent, often obtained from the A2A
+     * Agent Card.
+     * 
+ * + * string display_name = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for displayName. + */ + public com.google.protobuf.ByteString getDisplayNameBytes() { + java.lang.Object ref = displayName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + displayName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. The display name of the agent, often obtained from the A2A
+     * Agent Card.
+     * 
+ * + * string display_name = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The displayName to set. + * @return This builder for chaining. + */ + public Builder setDisplayName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + displayName_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The display name of the agent, often obtained from the A2A
+     * Agent Card.
+     * 
+ * + * string display_name = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearDisplayName() { + displayName_ = getDefaultInstance().getDisplayName(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The display name of the agent, often obtained from the A2A
+     * Agent Card.
+     * 
+ * + * string display_name = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for displayName to set. + * @return This builder for chaining. + */ + public Builder setDisplayNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + displayName_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private java.lang.Object description_ = ""; + + /** + * + * + *
+     * Output only. The description of the Agent, often obtained from the A2A
+     * Agent Card. Empty if Agent Card has no description.
+     * 
+ * + * string description = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The description. + */ + public java.lang.String getDescription() { + java.lang.Object ref = description_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + description_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. The description of the Agent, often obtained from the A2A
+     * Agent Card. Empty if Agent Card has no description.
+     * 
+ * + * string description = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for description. + */ + public com.google.protobuf.ByteString getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. The description of the Agent, often obtained from the A2A
+     * Agent Card. Empty if Agent Card has no description.
+     * 
+ * + * string description = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The description to set. + * @return This builder for chaining. + */ + public Builder setDescription(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + description_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The description of the Agent, often obtained from the A2A
+     * Agent Card. Empty if Agent Card has no description.
+     * 
+ * + * string description = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearDescription() { + description_ = getDefaultInstance().getDescription(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The description of the Agent, often obtained from the A2A
+     * Agent Card. Empty if Agent Card has no description.
+     * 
+ * + * string description = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for description to set. + * @return This builder for chaining. + */ + public Builder setDescriptionBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + description_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + private java.lang.Object version_ = ""; + + /** + * + * + *
+     * Output only. The version of the Agent, often obtained from the A2A Agent
+     * Card. Empty if Agent Card has no version or agent is not an A2A Agent.
+     * 
+ * + * string version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The version. + */ + public java.lang.String getVersion() { + java.lang.Object ref = version_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + version_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. The version of the Agent, often obtained from the A2A Agent
+     * Card. Empty if Agent Card has no version or agent is not an A2A Agent.
+     * 
+ * + * string version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for version. + */ + public com.google.protobuf.ByteString getVersionBytes() { + java.lang.Object ref = version_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + version_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. The version of the Agent, often obtained from the A2A Agent
+     * Card. Empty if Agent Card has no version or agent is not an A2A Agent.
+     * 
+ * + * string version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The version to set. + * @return This builder for chaining. + */ + public Builder setVersion(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + version_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The version of the Agent, often obtained from the A2A Agent
+     * Card. Empty if Agent Card has no version or agent is not an A2A Agent.
+     * 
+ * + * string version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearVersion() { + version_ = getDefaultInstance().getVersion(); + bitField0_ = (bitField0_ & ~0x00000020); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The version of the Agent, often obtained from the A2A Agent
+     * Card. Empty if Agent Card has no version or agent is not an A2A Agent.
+     * 
+ * + * string version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for version to set. + * @return This builder for chaining. + */ + public Builder setVersionBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + version_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + private java.util.List protocols_ = + java.util.Collections.emptyList(); + + private void ensureProtocolsIsMutable() { + if (!((bitField0_ & 0x00000040) != 0)) { + protocols_ = + new java.util.ArrayList(protocols_); + bitField0_ |= 0x00000040; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Agent.Protocol, + com.google.cloud.agentregistry.v1.Agent.Protocol.Builder, + com.google.cloud.agentregistry.v1.Agent.ProtocolOrBuilder> + protocolsBuilder_; + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List getProtocolsList() { + if (protocolsBuilder_ == null) { + return java.util.Collections.unmodifiableList(protocols_); + } else { + return protocolsBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public int getProtocolsCount() { + if (protocolsBuilder_ == null) { + return protocols_.size(); + } else { + return protocolsBuilder_.getCount(); + } + } + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.Agent.Protocol getProtocols(int index) { + if (protocolsBuilder_ == null) { + return protocols_.get(index); + } else { + return protocolsBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setProtocols(int index, com.google.cloud.agentregistry.v1.Agent.Protocol value) { + if (protocolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureProtocolsIsMutable(); + protocols_.set(index, value); + onChanged(); + } else { + protocolsBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setProtocols( + int index, com.google.cloud.agentregistry.v1.Agent.Protocol.Builder builderForValue) { + if (protocolsBuilder_ == null) { + ensureProtocolsIsMutable(); + protocols_.set(index, builderForValue.build()); + onChanged(); + } else { + protocolsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addProtocols(com.google.cloud.agentregistry.v1.Agent.Protocol value) { + if (protocolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureProtocolsIsMutable(); + protocols_.add(value); + onChanged(); + } else { + protocolsBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addProtocols(int index, com.google.cloud.agentregistry.v1.Agent.Protocol value) { + if (protocolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureProtocolsIsMutable(); + protocols_.add(index, value); + onChanged(); + } else { + protocolsBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addProtocols( + com.google.cloud.agentregistry.v1.Agent.Protocol.Builder builderForValue) { + if (protocolsBuilder_ == null) { + ensureProtocolsIsMutable(); + protocols_.add(builderForValue.build()); + onChanged(); + } else { + protocolsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addProtocols( + int index, com.google.cloud.agentregistry.v1.Agent.Protocol.Builder builderForValue) { + if (protocolsBuilder_ == null) { + ensureProtocolsIsMutable(); + protocols_.add(index, builderForValue.build()); + onChanged(); + } else { + protocolsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addAllProtocols( + java.lang.Iterable values) { + if (protocolsBuilder_ == null) { + ensureProtocolsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, protocols_); + onChanged(); + } else { + protocolsBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearProtocols() { + if (protocolsBuilder_ == null) { + protocols_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + } else { + protocolsBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder removeProtocols(int index) { + if (protocolsBuilder_ == null) { + ensureProtocolsIsMutable(); + protocols_.remove(index); + onChanged(); + } else { + protocolsBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.Agent.Protocol.Builder getProtocolsBuilder(int index) { + return internalGetProtocolsFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.Agent.ProtocolOrBuilder getProtocolsOrBuilder( + int index) { + if (protocolsBuilder_ == null) { + return protocols_.get(index); + } else { + return protocolsBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List + getProtocolsOrBuilderList() { + if (protocolsBuilder_ != null) { + return protocolsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(protocols_); + } + } + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.Agent.Protocol.Builder addProtocolsBuilder() { + return internalGetProtocolsFieldBuilder() + .addBuilder(com.google.cloud.agentregistry.v1.Agent.Protocol.getDefaultInstance()); + } + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.Agent.Protocol.Builder addProtocolsBuilder(int index) { + return internalGetProtocolsFieldBuilder() + .addBuilder(index, com.google.cloud.agentregistry.v1.Agent.Protocol.getDefaultInstance()); + } + + /** + * + * + *
+     * Output only. The connection details for the Agent.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List + getProtocolsBuilderList() { + return internalGetProtocolsFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Agent.Protocol, + com.google.cloud.agentregistry.v1.Agent.Protocol.Builder, + com.google.cloud.agentregistry.v1.Agent.ProtocolOrBuilder> + internalGetProtocolsFieldBuilder() { + if (protocolsBuilder_ == null) { + protocolsBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Agent.Protocol, + com.google.cloud.agentregistry.v1.Agent.Protocol.Builder, + com.google.cloud.agentregistry.v1.Agent.ProtocolOrBuilder>( + protocols_, ((bitField0_ & 0x00000040) != 0), getParentForChildren(), isClean()); + protocols_ = null; + } + return protocolsBuilder_; + } + + private java.util.List skills_ = + java.util.Collections.emptyList(); + + private void ensureSkillsIsMutable() { + if (!((bitField0_ & 0x00000080) != 0)) { + skills_ = new java.util.ArrayList(skills_); + bitField0_ |= 0x00000080; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Agent.Skill, + com.google.cloud.agentregistry.v1.Agent.Skill.Builder, + com.google.cloud.agentregistry.v1.Agent.SkillOrBuilder> + skillsBuilder_; + + /** + * + * + *
+     * Output only. Skills the agent possesses, often obtained from the A2A Agent
+     * Card.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List getSkillsList() { + if (skillsBuilder_ == null) { + return java.util.Collections.unmodifiableList(skills_); + } else { + return skillsBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * Output only. Skills the agent possesses, often obtained from the A2A Agent
+     * Card.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public int getSkillsCount() { + if (skillsBuilder_ == null) { + return skills_.size(); + } else { + return skillsBuilder_.getCount(); + } + } + + /** + * + * + *
+     * Output only. Skills the agent possesses, often obtained from the A2A Agent
+     * Card.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.Agent.Skill getSkills(int index) { + if (skillsBuilder_ == null) { + return skills_.get(index); + } else { + return skillsBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * Output only. Skills the agent possesses, often obtained from the A2A Agent
+     * Card.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setSkills(int index, com.google.cloud.agentregistry.v1.Agent.Skill value) { + if (skillsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSkillsIsMutable(); + skills_.set(index, value); + onChanged(); + } else { + skillsBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * Output only. Skills the agent possesses, often obtained from the A2A Agent
+     * Card.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setSkills( + int index, com.google.cloud.agentregistry.v1.Agent.Skill.Builder builderForValue) { + if (skillsBuilder_ == null) { + ensureSkillsIsMutable(); + skills_.set(index, builderForValue.build()); + onChanged(); + } else { + skillsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Output only. Skills the agent possesses, often obtained from the A2A Agent
+     * Card.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addSkills(com.google.cloud.agentregistry.v1.Agent.Skill value) { + if (skillsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSkillsIsMutable(); + skills_.add(value); + onChanged(); + } else { + skillsBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * Output only. Skills the agent possesses, often obtained from the A2A Agent
+     * Card.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addSkills(int index, com.google.cloud.agentregistry.v1.Agent.Skill value) { + if (skillsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSkillsIsMutable(); + skills_.add(index, value); + onChanged(); + } else { + skillsBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * Output only. Skills the agent possesses, often obtained from the A2A Agent
+     * Card.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addSkills( + com.google.cloud.agentregistry.v1.Agent.Skill.Builder builderForValue) { + if (skillsBuilder_ == null) { + ensureSkillsIsMutable(); + skills_.add(builderForValue.build()); + onChanged(); + } else { + skillsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Output only. Skills the agent possesses, often obtained from the A2A Agent
+     * Card.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addSkills( + int index, com.google.cloud.agentregistry.v1.Agent.Skill.Builder builderForValue) { + if (skillsBuilder_ == null) { + ensureSkillsIsMutable(); + skills_.add(index, builderForValue.build()); + onChanged(); + } else { + skillsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Output only. Skills the agent possesses, often obtained from the A2A Agent
+     * Card.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addAllSkills( + java.lang.Iterable values) { + if (skillsBuilder_ == null) { + ensureSkillsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, skills_); + onChanged(); + } else { + skillsBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * Output only. Skills the agent possesses, often obtained from the A2A Agent
+     * Card.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearSkills() { + if (skillsBuilder_ == null) { + skills_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000080); + onChanged(); + } else { + skillsBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * Output only. Skills the agent possesses, often obtained from the A2A Agent
+     * Card.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder removeSkills(int index) { + if (skillsBuilder_ == null) { + ensureSkillsIsMutable(); + skills_.remove(index); + onChanged(); + } else { + skillsBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * Output only. Skills the agent possesses, often obtained from the A2A Agent
+     * Card.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.Agent.Skill.Builder getSkillsBuilder(int index) { + return internalGetSkillsFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * Output only. Skills the agent possesses, often obtained from the A2A Agent
+     * Card.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.Agent.SkillOrBuilder getSkillsOrBuilder(int index) { + if (skillsBuilder_ == null) { + return skills_.get(index); + } else { + return skillsBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * Output only. Skills the agent possesses, often obtained from the A2A Agent
+     * Card.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List + getSkillsOrBuilderList() { + if (skillsBuilder_ != null) { + return skillsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(skills_); + } + } + + /** + * + * + *
+     * Output only. Skills the agent possesses, often obtained from the A2A Agent
+     * Card.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.Agent.Skill.Builder addSkillsBuilder() { + return internalGetSkillsFieldBuilder() + .addBuilder(com.google.cloud.agentregistry.v1.Agent.Skill.getDefaultInstance()); + } + + /** + * + * + *
+     * Output only. Skills the agent possesses, often obtained from the A2A Agent
+     * Card.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.Agent.Skill.Builder addSkillsBuilder(int index) { + return internalGetSkillsFieldBuilder() + .addBuilder(index, com.google.cloud.agentregistry.v1.Agent.Skill.getDefaultInstance()); + } + + /** + * + * + *
+     * Output only. Skills the agent possesses, often obtained from the A2A Agent
+     * Card.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List + getSkillsBuilderList() { + return internalGetSkillsFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Agent.Skill, + com.google.cloud.agentregistry.v1.Agent.Skill.Builder, + com.google.cloud.agentregistry.v1.Agent.SkillOrBuilder> + internalGetSkillsFieldBuilder() { + if (skillsBuilder_ == null) { + skillsBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Agent.Skill, + com.google.cloud.agentregistry.v1.Agent.Skill.Builder, + com.google.cloud.agentregistry.v1.Agent.SkillOrBuilder>( + skills_, ((bitField0_ & 0x00000080) != 0), getParentForChildren(), isClean()); + skills_ = null; + } + return skillsBuilder_; + } + + private java.lang.Object uid_ = ""; + + /** + * + * + *
+     * Output only. A universally unique identifier for the Agent.
+     * 
+ * + * + * string uid = 10 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_info) = { ... } + * + * + * @return The uid. + */ + public java.lang.String getUid() { + java.lang.Object ref = uid_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + uid_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. A universally unique identifier for the Agent.
+     * 
+ * + * + * string uid = 10 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_info) = { ... } + * + * + * @return The bytes for uid. + */ + public com.google.protobuf.ByteString getUidBytes() { + java.lang.Object ref = uid_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + uid_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. A universally unique identifier for the Agent.
+     * 
+ * + * + * string uid = 10 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_info) = { ... } + * + * + * @param value The uid to set. + * @return This builder for chaining. + */ + public Builder setUid(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + uid_ = value; + bitField0_ |= 0x00000100; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. A universally unique identifier for the Agent.
+     * 
+ * + * + * string uid = 10 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_info) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearUid() { + uid_ = getDefaultInstance().getUid(); + bitField0_ = (bitField0_ & ~0x00000100); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. A universally unique identifier for the Agent.
+     * 
+ * + * + * string uid = 10 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_info) = { ... } + * + * + * @param value The bytes for uid to set. + * @return This builder for chaining. + */ + public Builder setUidBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + uid_ = value; + bitField0_ |= 0x00000100; + onChanged(); + return this; + } + + private com.google.protobuf.Timestamp createTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + createTimeBuilder_; + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000200) != 0); + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + public com.google.protobuf.Timestamp getCreateTime() { + if (createTimeBuilder_ == null) { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } else { + return createTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + createTime_ = value; + } else { + createTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000200; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (createTimeBuilder_ == null) { + createTime_ = builderForValue.build(); + } else { + createTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000200; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (((bitField0_ & 0x00000200) != 0) + && createTime_ != null + && createTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getCreateTimeBuilder().mergeFrom(value); + } else { + createTime_ = value; + } + } else { + createTimeBuilder_.mergeFrom(value); + } + if (createTime_ != null) { + bitField0_ |= 0x00000200; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCreateTime() { + bitField0_ = (bitField0_ & ~0x00000200); + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() { + bitField0_ |= 0x00000200; + onChanged(); + return internalGetCreateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + if (createTimeBuilder_ != null) { + return createTimeBuilder_.getMessageOrBuilder(); + } else { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetCreateTimeFieldBuilder() { + if (createTimeBuilder_ == null) { + createTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCreateTime(), getParentForChildren(), isClean()); + createTime_ = null; + } + return createTimeBuilder_; + } + + private com.google.protobuf.Timestamp updateTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + updateTimeBuilder_; + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000400) != 0); + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + public com.google.protobuf.Timestamp getUpdateTime() { + if (updateTimeBuilder_ == null) { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } else { + return updateTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateTime_ = value; + } else { + updateTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000400; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (updateTimeBuilder_ == null) { + updateTime_ = builderForValue.build(); + } else { + updateTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000400; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (((bitField0_ & 0x00000400) != 0) + && updateTime_ != null + && updateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getUpdateTimeBuilder().mergeFrom(value); + } else { + updateTime_ = value; + } + } else { + updateTimeBuilder_.mergeFrom(value); + } + if (updateTime_ != null) { + bitField0_ |= 0x00000400; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearUpdateTime() { + bitField0_ = (bitField0_ & ~0x00000400); + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getUpdateTimeBuilder() { + bitField0_ |= 0x00000400; + onChanged(); + return internalGetUpdateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + if (updateTimeBuilder_ != null) { + return updateTimeBuilder_.getMessageOrBuilder(); + } else { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetUpdateTimeFieldBuilder() { + if (updateTimeBuilder_ == null) { + updateTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getUpdateTime(), getParentForChildren(), isClean()); + updateTime_ = null; + } + return updateTimeBuilder_; + } + + private static final class AttributesConverter + implements com.google.protobuf.MapFieldBuilder.Converter< + java.lang.String, com.google.protobuf.StructOrBuilder, com.google.protobuf.Struct> { + @java.lang.Override + public com.google.protobuf.Struct build(com.google.protobuf.StructOrBuilder val) { + if (val instanceof com.google.protobuf.Struct) { + return (com.google.protobuf.Struct) val; + } + return ((com.google.protobuf.Struct.Builder) val).build(); + } + + @java.lang.Override + public com.google.protobuf.MapEntry + defaultEntry() { + return AttributesDefaultEntryHolder.defaultEntry; + } + } + ; + + private static final AttributesConverter attributesConverter = new AttributesConverter(); + + private com.google.protobuf.MapFieldBuilder< + java.lang.String, + com.google.protobuf.StructOrBuilder, + com.google.protobuf.Struct, + com.google.protobuf.Struct.Builder> + attributes_; + + private com.google.protobuf.MapFieldBuilder< + java.lang.String, + com.google.protobuf.StructOrBuilder, + com.google.protobuf.Struct, + com.google.protobuf.Struct.Builder> + internalGetAttributes() { + if (attributes_ == null) { + return new com.google.protobuf.MapFieldBuilder<>(attributesConverter); + } + return attributes_; + } + + private com.google.protobuf.MapFieldBuilder< + java.lang.String, + com.google.protobuf.StructOrBuilder, + com.google.protobuf.Struct, + com.google.protobuf.Struct.Builder> + internalGetMutableAttributes() { + if (attributes_ == null) { + attributes_ = new com.google.protobuf.MapFieldBuilder<>(attributesConverter); + } + bitField0_ |= 0x00000800; + onChanged(); + return attributes_; + } + + public int getAttributesCount() { + return internalGetAttributes().ensureBuilderMap().size(); + } + + /** + * + * + *
+     * Output only. Attributes of the Agent.
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/Framework`: {"framework":
+     * "google-adk"} - the agent framework used to develop the Agent. Example
+     * values: "google-adk", "langchain", "custom".
+     * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+     * "principal://..."} - the runtime identity associated with the Agent.
+     * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+     * - the URI of the underlying resource hosting the Agent, for
+     * example, the Reasoning Engine URI.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public boolean containsAttributes(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + return internalGetAttributes().ensureBuilderMap().containsKey(key); + } + + /** Use {@link #getAttributesMap()} instead. */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getAttributes() { + return getAttributesMap(); + } + + /** + * + * + *
+     * Output only. Attributes of the Agent.
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/Framework`: {"framework":
+     * "google-adk"} - the agent framework used to develop the Agent. Example
+     * values: "google-adk", "langchain", "custom".
+     * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+     * "principal://..."} - the runtime identity associated with the Agent.
+     * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+     * - the URI of the underlying resource hosting the Agent, for
+     * example, the Reasoning Engine URI.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.Map getAttributesMap() { + return internalGetAttributes().getImmutableMap(); + } + + /** + * + * + *
+     * Output only. Attributes of the Agent.
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/Framework`: {"framework":
+     * "google-adk"} - the agent framework used to develop the Agent. Example
+     * values: "google-adk", "langchain", "custom".
+     * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+     * "principal://..."} - the runtime identity associated with the Agent.
+     * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+     * - the URI of the underlying resource hosting the Agent, for
+     * example, the Reasoning Engine URI.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public /* nullable */ com.google.protobuf.Struct getAttributesOrDefault( + java.lang.String key, + /* nullable */ + com.google.protobuf.Struct defaultValue) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = + internalGetMutableAttributes().ensureBuilderMap(); + return map.containsKey(key) ? attributesConverter.build(map.get(key)) : defaultValue; + } + + /** + * + * + *
+     * Output only. Attributes of the Agent.
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/Framework`: {"framework":
+     * "google-adk"} - the agent framework used to develop the Agent. Example
+     * values: "google-adk", "langchain", "custom".
+     * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+     * "principal://..."} - the runtime identity associated with the Agent.
+     * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+     * - the URI of the underlying resource hosting the Agent, for
+     * example, the Reasoning Engine URI.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.Struct getAttributesOrThrow(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = + internalGetMutableAttributes().ensureBuilderMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return attributesConverter.build(map.get(key)); + } + + public Builder clearAttributes() { + bitField0_ = (bitField0_ & ~0x00000800); + internalGetMutableAttributes().clear(); + return this; + } + + /** + * + * + *
+     * Output only. Attributes of the Agent.
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/Framework`: {"framework":
+     * "google-adk"} - the agent framework used to develop the Agent. Example
+     * values: "google-adk", "langchain", "custom".
+     * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+     * "principal://..."} - the runtime identity associated with the Agent.
+     * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+     * - the URI of the underlying resource hosting the Agent, for
+     * example, the Reasoning Engine URI.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder removeAttributes(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + internalGetMutableAttributes().ensureBuilderMap().remove(key); + return this; + } + + /** Use alternate mutation accessors instead. */ + @java.lang.Deprecated + public java.util.Map getMutableAttributes() { + bitField0_ |= 0x00000800; + return internalGetMutableAttributes().ensureMessageMap(); + } + + /** + * + * + *
+     * Output only. Attributes of the Agent.
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/Framework`: {"framework":
+     * "google-adk"} - the agent framework used to develop the Agent. Example
+     * values: "google-adk", "langchain", "custom".
+     * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+     * "principal://..."} - the runtime identity associated with the Agent.
+     * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+     * - the URI of the underlying resource hosting the Agent, for
+     * example, the Reasoning Engine URI.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder putAttributes(java.lang.String key, com.google.protobuf.Struct value) { + if (key == null) { + throw new NullPointerException("map key"); + } + if (value == null) { + throw new NullPointerException("map value"); + } + internalGetMutableAttributes().ensureBuilderMap().put(key, value); + bitField0_ |= 0x00000800; + return this; + } + + /** + * + * + *
+     * Output only. Attributes of the Agent.
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/Framework`: {"framework":
+     * "google-adk"} - the agent framework used to develop the Agent. Example
+     * values: "google-adk", "langchain", "custom".
+     * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+     * "principal://..."} - the runtime identity associated with the Agent.
+     * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+     * - the URI of the underlying resource hosting the Agent, for
+     * example, the Reasoning Engine URI.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder putAllAttributes( + java.util.Map values) { + for (java.util.Map.Entry e : + values.entrySet()) { + if (e.getKey() == null || e.getValue() == null) { + throw new NullPointerException(); + } + } + internalGetMutableAttributes().ensureBuilderMap().putAll(values); + bitField0_ |= 0x00000800; + return this; + } + + /** + * + * + *
+     * Output only. Attributes of the Agent.
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/Framework`: {"framework":
+     * "google-adk"} - the agent framework used to develop the Agent. Example
+     * values: "google-adk", "langchain", "custom".
+     * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+     * "principal://..."} - the runtime identity associated with the Agent.
+     * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+     * - the URI of the underlying resource hosting the Agent, for
+     * example, the Reasoning Engine URI.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Struct.Builder putAttributesBuilderIfAbsent(java.lang.String key) { + java.util.Map builderMap = + internalGetMutableAttributes().ensureBuilderMap(); + com.google.protobuf.StructOrBuilder entry = builderMap.get(key); + if (entry == null) { + entry = com.google.protobuf.Struct.newBuilder(); + builderMap.put(key, entry); + } + if (entry instanceof com.google.protobuf.Struct) { + entry = ((com.google.protobuf.Struct) entry).toBuilder(); + builderMap.put(key, entry); + } + return (com.google.protobuf.Struct.Builder) entry; + } + + private com.google.cloud.agentregistry.v1.Agent.Card card_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Agent.Card, + com.google.cloud.agentregistry.v1.Agent.Card.Builder, + com.google.cloud.agentregistry.v1.Agent.CardOrBuilder> + cardBuilder_; + + /** + * + * + *
+     * Output only. Full Agent Card payload, when available.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card card = 14 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the card field is set. + */ + public boolean hasCard() { + return ((bitField0_ & 0x00001000) != 0); + } + + /** + * + * + *
+     * Output only. Full Agent Card payload, when available.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card card = 14 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The card. + */ + public com.google.cloud.agentregistry.v1.Agent.Card getCard() { + if (cardBuilder_ == null) { + return card_ == null + ? com.google.cloud.agentregistry.v1.Agent.Card.getDefaultInstance() + : card_; + } else { + return cardBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. Full Agent Card payload, when available.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card card = 14 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCard(com.google.cloud.agentregistry.v1.Agent.Card value) { + if (cardBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + card_ = value; + } else { + cardBuilder_.setMessage(value); + } + bitField0_ |= 0x00001000; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Full Agent Card payload, when available.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card card = 14 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCard(com.google.cloud.agentregistry.v1.Agent.Card.Builder builderForValue) { + if (cardBuilder_ == null) { + card_ = builderForValue.build(); + } else { + cardBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00001000; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Full Agent Card payload, when available.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card card = 14 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCard(com.google.cloud.agentregistry.v1.Agent.Card value) { + if (cardBuilder_ == null) { + if (((bitField0_ & 0x00001000) != 0) + && card_ != null + && card_ != com.google.cloud.agentregistry.v1.Agent.Card.getDefaultInstance()) { + getCardBuilder().mergeFrom(value); + } else { + card_ = value; + } + } else { + cardBuilder_.mergeFrom(value); + } + if (card_ != null) { + bitField0_ |= 0x00001000; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. Full Agent Card payload, when available.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card card = 14 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCard() { + bitField0_ = (bitField0_ & ~0x00001000); + card_ = null; + if (cardBuilder_ != null) { + cardBuilder_.dispose(); + cardBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Full Agent Card payload, when available.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card card = 14 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.Agent.Card.Builder getCardBuilder() { + bitField0_ |= 0x00001000; + onChanged(); + return internalGetCardFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. Full Agent Card payload, when available.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card card = 14 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.Agent.CardOrBuilder getCardOrBuilder() { + if (cardBuilder_ != null) { + return cardBuilder_.getMessageOrBuilder(); + } else { + return card_ == null + ? com.google.cloud.agentregistry.v1.Agent.Card.getDefaultInstance() + : card_; + } + } + + /** + * + * + *
+     * Output only. Full Agent Card payload, when available.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card card = 14 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Agent.Card, + com.google.cloud.agentregistry.v1.Agent.Card.Builder, + com.google.cloud.agentregistry.v1.Agent.CardOrBuilder> + internalGetCardFieldBuilder() { + if (cardBuilder_ == null) { + cardBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Agent.Card, + com.google.cloud.agentregistry.v1.Agent.Card.Builder, + com.google.cloud.agentregistry.v1.Agent.CardOrBuilder>( + getCard(), getParentForChildren(), isClean()); + card_ = null; + } + return cardBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.Agent) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.Agent) + private static final com.google.cloud.agentregistry.v1.Agent DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.Agent(); + } + + public static com.google.cloud.agentregistry.v1.Agent getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Agent parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/AgentName.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/AgentName.java new file mode 100644 index 000000000000..f3cafcb3418a --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/AgentName.java @@ -0,0 +1,223 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1; + +import com.google.api.pathtemplate.PathTemplate; +import com.google.api.resourcenames.ResourceName; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@Generated("by gapic-generator-java") +public class AgentName implements ResourceName { + private static final PathTemplate PROJECT_LOCATION_AGENT = + PathTemplate.createWithoutUrlEncoding( + "projects/{project}/locations/{location}/agents/{agent}"); + private volatile Map fieldValuesMap; + private final String project; + private final String location; + private final String agent; + + @Deprecated + protected AgentName() { + project = null; + location = null; + agent = null; + } + + private AgentName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + agent = Preconditions.checkNotNull(builder.getAgent()); + } + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getAgent() { + return agent; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static AgentName of(String project, String location, String agent) { + return newBuilder().setProject(project).setLocation(location).setAgent(agent).build(); + } + + public static String format(String project, String location, String agent) { + return newBuilder() + .setProject(project) + .setLocation(location) + .setAgent(agent) + .build() + .toString(); + } + + public static AgentName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + Map matchMap = + PROJECT_LOCATION_AGENT.validatedMatch( + formattedString, "AgentName.parse: formattedString not in valid format"); + return of(matchMap.get("project"), matchMap.get("location"), matchMap.get("agent")); + } + + public static List parseList(List formattedStrings) { + List list = new ArrayList<>(formattedStrings.size()); + for (String formattedString : formattedStrings) { + list.add(parse(formattedString)); + } + return list; + } + + public static List toStringList(List values) { + List list = new ArrayList<>(values.size()); + for (AgentName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return PROJECT_LOCATION_AGENT.matches(formattedString); + } + + @Override + public Map getFieldValuesMap() { + if (fieldValuesMap == null) { + synchronized (this) { + if (fieldValuesMap == null) { + ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + if (agent != null) { + fieldMapBuilder.put("agent", agent); + } + fieldValuesMap = fieldMapBuilder.build(); + } + } + } + return fieldValuesMap; + } + + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return PROJECT_LOCATION_AGENT.instantiate( + "project", project, "location", location, "agent", agent); + } + + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + if (o != null && getClass() == o.getClass()) { + AgentName that = ((AgentName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location) + && Objects.equals(this.agent, that.agent); + } + return false; + } + + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + h *= 1000003; + h ^= Objects.hashCode(agent); + return h; + } + + /** Builder for projects/{project}/locations/{location}/agents/{agent}. */ + public static class Builder { + private String project; + private String location; + private String agent; + + protected Builder() {} + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getAgent() { + return agent; + } + + public Builder setProject(String project) { + this.project = project; + return this; + } + + public Builder setLocation(String location) { + this.location = location; + return this; + } + + public Builder setAgent(String agent) { + this.agent = agent; + return this; + } + + private Builder(AgentName agentName) { + this.project = agentName.project; + this.location = agentName.location; + this.agent = agentName.agent; + } + + public AgentName build() { + return new AgentName(this); + } + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/AgentOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/AgentOrBuilder.java new file mode 100644 index 000000000000..75c2ac887a79 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/AgentOrBuilder.java @@ -0,0 +1,607 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agent.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface AgentOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.Agent) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Identifier. The resource name of an Agent.
+   * Format: `projects/{project}/locations/{location}/agents/{agent}`.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Identifier. The resource name of an Agent.
+   * Format: `projects/{project}/locations/{location}/agents/{agent}`.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Output only. A stable, globally unique identifier for agents.
+   * 
+ * + * string agent_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The agentId. + */ + java.lang.String getAgentId(); + + /** + * + * + *
+   * Output only. A stable, globally unique identifier for agents.
+   * 
+ * + * string agent_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for agentId. + */ + com.google.protobuf.ByteString getAgentIdBytes(); + + /** + * + * + *
+   * Output only. The location where agent is hosted. The value is defined by
+   * the hosting environment (i.e. cloud provider).
+   * 
+ * + * string location = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The location. + */ + java.lang.String getLocation(); + + /** + * + * + *
+   * Output only. The location where agent is hosted. The value is defined by
+   * the hosting environment (i.e. cloud provider).
+   * 
+ * + * string location = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for location. + */ + com.google.protobuf.ByteString getLocationBytes(); + + /** + * + * + *
+   * Output only. The display name of the agent, often obtained from the A2A
+   * Agent Card.
+   * 
+ * + * string display_name = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The displayName. + */ + java.lang.String getDisplayName(); + + /** + * + * + *
+   * Output only. The display name of the agent, often obtained from the A2A
+   * Agent Card.
+   * 
+ * + * string display_name = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for displayName. + */ + com.google.protobuf.ByteString getDisplayNameBytes(); + + /** + * + * + *
+   * Output only. The description of the Agent, often obtained from the A2A
+   * Agent Card. Empty if Agent Card has no description.
+   * 
+ * + * string description = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The description. + */ + java.lang.String getDescription(); + + /** + * + * + *
+   * Output only. The description of the Agent, often obtained from the A2A
+   * Agent Card. Empty if Agent Card has no description.
+   * 
+ * + * string description = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for description. + */ + com.google.protobuf.ByteString getDescriptionBytes(); + + /** + * + * + *
+   * Output only. The version of the Agent, often obtained from the A2A Agent
+   * Card. Empty if Agent Card has no version or agent is not an A2A Agent.
+   * 
+ * + * string version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The version. + */ + java.lang.String getVersion(); + + /** + * + * + *
+   * Output only. The version of the Agent, often obtained from the A2A Agent
+   * Card. Empty if Agent Card has no version or agent is not an A2A Agent.
+   * 
+ * + * string version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for version. + */ + com.google.protobuf.ByteString getVersionBytes(); + + /** + * + * + *
+   * Output only. The connection details for the Agent.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + java.util.List getProtocolsList(); + + /** + * + * + *
+   * Output only. The connection details for the Agent.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.agentregistry.v1.Agent.Protocol getProtocols(int index); + + /** + * + * + *
+   * Output only. The connection details for the Agent.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + int getProtocolsCount(); + + /** + * + * + *
+   * Output only. The connection details for the Agent.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + java.util.List + getProtocolsOrBuilderList(); + + /** + * + * + *
+   * Output only. The connection details for the Agent.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Protocol protocols = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.agentregistry.v1.Agent.ProtocolOrBuilder getProtocolsOrBuilder(int index); + + /** + * + * + *
+   * Output only. Skills the agent possesses, often obtained from the A2A Agent
+   * Card.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + java.util.List getSkillsList(); + + /** + * + * + *
+   * Output only. Skills the agent possesses, often obtained from the A2A Agent
+   * Card.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.agentregistry.v1.Agent.Skill getSkills(int index); + + /** + * + * + *
+   * Output only. Skills the agent possesses, often obtained from the A2A Agent
+   * Card.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + int getSkillsCount(); + + /** + * + * + *
+   * Output only. Skills the agent possesses, often obtained from the A2A Agent
+   * Card.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + java.util.List + getSkillsOrBuilderList(); + + /** + * + * + *
+   * Output only. Skills the agent possesses, often obtained from the A2A Agent
+   * Card.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Agent.Skill skills = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.agentregistry.v1.Agent.SkillOrBuilder getSkillsOrBuilder(int index); + + /** + * + * + *
+   * Output only. A universally unique identifier for the Agent.
+   * 
+ * + * + * string uid = 10 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_info) = { ... } + * + * + * @return The uid. + */ + java.lang.String getUid(); + + /** + * + * + *
+   * Output only. A universally unique identifier for the Agent.
+   * 
+ * + * + * string uid = 10 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.field_info) = { ... } + * + * + * @return The bytes for uid. + */ + com.google.protobuf.ByteString getUidBytes(); + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + boolean hasCreateTime(); + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + com.google.protobuf.Timestamp getCreateTime(); + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + boolean hasUpdateTime(); + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + com.google.protobuf.Timestamp getUpdateTime(); + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. Attributes of the Agent.
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/Framework`: {"framework":
+   * "google-adk"} - the agent framework used to develop the Agent. Example
+   * values: "google-adk", "langchain", "custom".
+   * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+   * "principal://..."} - the runtime identity associated with the Agent.
+   * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+   * - the URI of the underlying resource hosting the Agent, for
+   * example, the Reasoning Engine URI.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + int getAttributesCount(); + + /** + * + * + *
+   * Output only. Attributes of the Agent.
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/Framework`: {"framework":
+   * "google-adk"} - the agent framework used to develop the Agent. Example
+   * values: "google-adk", "langchain", "custom".
+   * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+   * "principal://..."} - the runtime identity associated with the Agent.
+   * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+   * - the URI of the underlying resource hosting the Agent, for
+   * example, the Reasoning Engine URI.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + boolean containsAttributes(java.lang.String key); + + /** Use {@link #getAttributesMap()} instead. */ + @java.lang.Deprecated + java.util.Map getAttributes(); + + /** + * + * + *
+   * Output only. Attributes of the Agent.
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/Framework`: {"framework":
+   * "google-adk"} - the agent framework used to develop the Agent. Example
+   * values: "google-adk", "langchain", "custom".
+   * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+   * "principal://..."} - the runtime identity associated with the Agent.
+   * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+   * - the URI of the underlying resource hosting the Agent, for
+   * example, the Reasoning Engine URI.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + java.util.Map getAttributesMap(); + + /** + * + * + *
+   * Output only. Attributes of the Agent.
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/Framework`: {"framework":
+   * "google-adk"} - the agent framework used to develop the Agent. Example
+   * values: "google-adk", "langchain", "custom".
+   * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+   * "principal://..."} - the runtime identity associated with the Agent.
+   * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+   * - the URI of the underlying resource hosting the Agent, for
+   * example, the Reasoning Engine URI.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + /* nullable */ + com.google.protobuf.Struct getAttributesOrDefault( + java.lang.String key, + /* nullable */ + com.google.protobuf.Struct defaultValue); + + /** + * + * + *
+   * Output only. Attributes of the Agent.
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/Framework`: {"framework":
+   * "google-adk"} - the agent framework used to develop the Agent. Example
+   * values: "google-adk", "langchain", "custom".
+   * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+   * "principal://..."} - the runtime identity associated with the Agent.
+   * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+   * - the URI of the underlying resource hosting the Agent, for
+   * example, the Reasoning Engine URI.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 13 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.Struct getAttributesOrThrow(java.lang.String key); + + /** + * + * + *
+   * Output only. Full Agent Card payload, when available.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card card = 14 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the card field is set. + */ + boolean hasCard(); + + /** + * + * + *
+   * Output only. Full Agent Card payload, when available.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card card = 14 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The card. + */ + com.google.cloud.agentregistry.v1.Agent.Card getCard(); + + /** + * + * + *
+   * Output only. Full Agent Card payload, when available.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Agent.Card card = 14 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.agentregistry.v1.Agent.CardOrBuilder getCardOrBuilder(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/AgentProto.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/AgentProto.java new file mode 100644 index 000000000000..2769b56ca559 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/AgentProto.java @@ -0,0 +1,214 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agent.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public final class AgentProto extends com.google.protobuf.GeneratedFile { + private AgentProto() {} + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "AgentProto"); + } + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {} + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry); + } + + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_Agent_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_Agent_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_Agent_Protocol_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_Agent_Protocol_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_Agent_Skill_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_Agent_Skill_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_Agent_Card_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_Agent_Card_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_Agent_AttributesEntry_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_Agent_AttributesEntry_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + + static { + java.lang.String[] descriptorData = { + "\n" + + ")google/cloud/agentregistry/v1/agent.pr" + + "oto\022\035google.cloud.agentregistry.v1\032\037goog" + + "le/api/field_behavior.proto\032\033google/api/" + + "field_info.proto\032\031google/api/resource.pr" + + "oto\032.google/cloud/agentregistry/v1/prope" + + "rties.proto\032\034google/protobuf/struct.proto\032\037google/protobuf/timestamp.proto\"\367" + + "\t\n" + + "\005Agent\022\021\n" + + "\004name\030\001 \001(\tB\003\340A\010\022\025\n" + + "\010agent_id\030\002 \001(\tB\003\340A\003\022\025\n" + + "\010location\030\004 \001(\tB\003\340A\003\022\031\n" + + "\014display_name\030\005 \001(\tB\003\340A\003\022\030\n" + + "\013description\030\006 \001(\tB\003\340A\003\022\024\n" + + "\007version\030\007 \001(\tB\003\340A\003\022E\n" + + "\tprotocols\030\010 " + + "\003(\0132-.google.cloud.agentregistry.v1.Agent.ProtocolB\003\340A\003\022?\n" + + "\006skills\030\t \003(\0132*.google" + + ".cloud.agentregistry.v1.Agent.SkillB\003\340A\003\022\030\n" + + "\003uid\030\n" + + " \001(\tB\013\340A\003\342\214\317\327\010\002\010\001\0224\n" + + "\013create_time\030\013 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n" + + "\013update_time\030\014" + + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022M\n\n" + + "attributes\030\r" + + " \003(\01324.google.cloud.agentregistry.v1.Agent.AttributesEntryB\003\340A\003\022<\n" + + "\004card\030\016" + + " \001(\0132).google.cloud.agentregistry.v1.Agent.CardB\003\340A\003\032\354\001\n" + + "\010Protocol\022E\n" + + "\004type\030\001 \001(\01622.google.cloud.ag" + + "entregistry.v1.Agent.Protocol.TypeB\003\340A\003\022\035\n" + + "\020protocol_version\030\002 \001(\tB\003\340A\003\022A\n\n" + + "interfaces\030\003" + + " \003(\0132(.google.cloud.agentregistry.v1.InterfaceB\003\340A\003\"7\n" + + "\004Type\022\024\n" + + "\020TYPE_UNSPECIFIED\020\000\022\r\n" + + "\tA2A_AGENT\020\001\022\n\n" + + "\006CUSTOM\020\002\032o\n" + + "\005Skill\022\017\n" + + "\002id\030\001 \001(\tB\003\340A\003\022\021\n" + + "\004name\030\002 \001(\tB\003\340A\003\022\030\n" + + "\013description\030\003 \001(\tB\003\340A\003\022\021\n" + + "\004tags\030\004 \003(\tB\003\340A\003\022\025\n" + + "\010examples\030\005 \003(\tB\003\340A\003\032\252\001\n" + + "\004Card\022A\n" + + "\004type\030\001" + + " \001(\0162..google.cloud.agentregistry.v1.Agent.Card.TypeB\003\340A\003\022-\n" + + "\007content\030\002 \001(\0132\027.google.protobuf.StructB\003\340A\003\"0\n" + + "\004Type\022\024\n" + + "\020TYPE_UNSPECIFIED\020\000\022\022\n" + + "\016A2A_AGENT_CARD\020\001\032J\n" + + "\017AttributesEntry\022\013\n" + + "\003key\030\001 \001(\t\022&\n" + + "\005value\030\002 \001(\0132\027.google.protobuf.Struct:\0028\001:n\352Ak\n" + + "\"agentregistry.googleapis.com/Agent\0226p" + + "rojects/{project}/locations/{location}/agents/{agent}*\006agents2\005agentB\335\001\n" + + "!com.google.cloud.agentregistry.v1B\n" + + "AgentProtoP\001ZGcloud.google.com/go/agentregistry/apiv" + + "1/agentregistrypb;agentregistrypb\252\002\035Goog" + + "le.Cloud.AgentRegistry.V1\312\002\035Google\\Cloud\\AgentRegistry\\V1\352\002" + + " Google::Cloud::AgentRegistry::V1b\006proto3" + }; + descriptor = + com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( + descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + com.google.api.FieldBehaviorProto.getDescriptor(), + com.google.api.FieldInfoProto.getDescriptor(), + com.google.api.ResourceProto.getDescriptor(), + com.google.cloud.agentregistry.v1.PropertiesProto.getDescriptor(), + com.google.protobuf.StructProto.getDescriptor(), + com.google.protobuf.TimestampProto.getDescriptor(), + }); + internal_static_google_cloud_agentregistry_v1_Agent_descriptor = + getDescriptor().getMessageType(0); + internal_static_google_cloud_agentregistry_v1_Agent_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_Agent_descriptor, + new java.lang.String[] { + "Name", + "AgentId", + "Location", + "DisplayName", + "Description", + "Version", + "Protocols", + "Skills", + "Uid", + "CreateTime", + "UpdateTime", + "Attributes", + "Card", + }); + internal_static_google_cloud_agentregistry_v1_Agent_Protocol_descriptor = + internal_static_google_cloud_agentregistry_v1_Agent_descriptor.getNestedType(0); + internal_static_google_cloud_agentregistry_v1_Agent_Protocol_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_Agent_Protocol_descriptor, + new java.lang.String[] { + "Type", "ProtocolVersion", "Interfaces", + }); + internal_static_google_cloud_agentregistry_v1_Agent_Skill_descriptor = + internal_static_google_cloud_agentregistry_v1_Agent_descriptor.getNestedType(1); + internal_static_google_cloud_agentregistry_v1_Agent_Skill_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_Agent_Skill_descriptor, + new java.lang.String[] { + "Id", "Name", "Description", "Tags", "Examples", + }); + internal_static_google_cloud_agentregistry_v1_Agent_Card_descriptor = + internal_static_google_cloud_agentregistry_v1_Agent_descriptor.getNestedType(2); + internal_static_google_cloud_agentregistry_v1_Agent_Card_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_Agent_Card_descriptor, + new java.lang.String[] { + "Type", "Content", + }); + internal_static_google_cloud_agentregistry_v1_Agent_AttributesEntry_descriptor = + internal_static_google_cloud_agentregistry_v1_Agent_descriptor.getNestedType(3); + internal_static_google_cloud_agentregistry_v1_Agent_AttributesEntry_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_Agent_AttributesEntry_descriptor, + new java.lang.String[] { + "Key", "Value", + }); + descriptor.resolveAllFeaturesImmutable(); + com.google.api.FieldBehaviorProto.getDescriptor(); + com.google.api.FieldInfoProto.getDescriptor(); + com.google.api.ResourceProto.getDescriptor(); + com.google.cloud.agentregistry.v1.PropertiesProto.getDescriptor(); + com.google.protobuf.StructProto.getDescriptor(); + com.google.protobuf.TimestampProto.getDescriptor(); + com.google.protobuf.ExtensionRegistry registry = + com.google.protobuf.ExtensionRegistry.newInstance(); + registry.add(com.google.api.FieldBehaviorProto.fieldBehavior); + registry.add(com.google.api.FieldInfoProto.fieldInfo); + registry.add(com.google.api.ResourceProto.resource); + com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( + descriptor, registry); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/AgentRegistryServiceProto.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/AgentRegistryServiceProto.java new file mode 100644 index 000000000000..a3f74b6660dd --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/AgentRegistryServiceProto.java @@ -0,0 +1,679 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public final class AgentRegistryServiceProto extends com.google.protobuf.GeneratedFile { + private AgentRegistryServiceProto() {} + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "AgentRegistryServiceProto"); + } + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {} + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry); + } + + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_ListAgentsRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_ListAgentsRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_ListAgentsResponse_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_ListAgentsResponse_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_SearchAgentsRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_SearchAgentsRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_SearchAgentsResponse_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_SearchAgentsResponse_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_GetAgentRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_GetAgentRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_ListEndpointsRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_ListEndpointsRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_ListEndpointsResponse_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_ListEndpointsResponse_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_GetEndpointRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_GetEndpointRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_ListMcpServersRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_ListMcpServersRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_ListMcpServersResponse_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_ListMcpServersResponse_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_SearchMcpServersRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_SearchMcpServersRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_SearchMcpServersResponse_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_SearchMcpServersResponse_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_GetMcpServerRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_GetMcpServerRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_ListServicesRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_ListServicesRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_ListServicesResponse_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_ListServicesResponse_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_GetServiceRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_GetServiceRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_CreateServiceRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_CreateServiceRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_FetchAvailableBindingsRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_FetchAvailableBindingsRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_FetchAvailableBindingsResponse_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_FetchAvailableBindingsResponse_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_UpdateServiceRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_UpdateServiceRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_DeleteServiceRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_DeleteServiceRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_OperationMetadata_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_OperationMetadata_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_ListBindingsRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_ListBindingsRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_ListBindingsResponse_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_ListBindingsResponse_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_GetBindingRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_GetBindingRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_CreateBindingRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_CreateBindingRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_UpdateBindingRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_UpdateBindingRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_DeleteBindingRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_DeleteBindingRequest_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + + static { + java.lang.String[] descriptorData = { + "\n" + + "9google/cloud/agentregistry/v1/agentregistry_service.proto\022\035google.cloud.agentr" + + "egistry.v1\032\034google/api/annotations.proto" + + "\032\027google/api/client.proto\032\037google/api/fi" + + "eld_behavior.proto\032\033google/api/field_inf" + + "o.proto\032\031google/api/resource.proto\032)goog" + + "le/cloud/agentregistry/v1/agent.proto\032+google/cloud/agentregistry/v1/binding.pro" + + "to\032,google/cloud/agentregistry/v1/endpoint.proto\032.google/cloud/agentregistry/v1/" + + "mcp_server.proto\032+google/cloud/agentregistry/v1/service.proto\032#google/longrunnin" + + "g/operations.proto\032\033google/protobuf/empty.proto\032" + + " google/protobuf/field_mask.proto\032\037google/protobuf/timestamp.proto\"\254\001\n" + + "\021ListAgentsRequest\022:\n" + + "\006parent\030\001 \001(" + + "\tB*\340A\002\372A$\022\"agentregistry.googleapis.com/Agent\022\026\n" + + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\003 \001(\tB\003\340A\001\022\023\n" + + "\006filter\030\004 \001(\tB\003\340A\001\022\025\n" + + "\010order_by\030\005 \001(\tB\003\340A\001\"c\n" + + "\022ListAgentsResponse\0224\n" + + "\006agents\030\001 \003(\0132$.google.cloud.agentregistry.v1.Agent\022\027\n" + + "\017next_page_token\030\002 \001(\t\"\236\001\n" + + "\023SearchAgentsRequest\022:\n" + + "\006parent\030\001 \001(" + + "\tB*\340A\002\372A$\022\"agentregistry.googleapis.com/Agent\022\032\n\r" + + "search_string\030\003 \001(\tB\003\340A\001\022\026\n" + + "\tpage_size\030\006 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\007 \001(\tB\003\340A\001\"e\n" + + "\024SearchAgentsResponse\0224\n" + + "\006agents\030\001 \003(\0132$.google.cloud.agentregistry.v1.Agent\022\027\n" + + "\017next_page_token\030\002 \001(\t\"K\n" + + "\017GetAgentRequest\0228\n" + + "\004name\030\001 \001(\tB*\340A\002\372A$\n" + + "\"agentregistry.googleapis.com/Agent\"\233\001\n" + + "\024ListEndpointsRequest\022=\n" + + "\006parent\030\001 \001(" + + "\tB-\340A\002\372A\'\022%agentregistry.googleapis.com/Endpoint\022\026\n" + + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\003 \001(\tB\003\340A\001\022\023\n" + + "\006filter\030\004 \001(\tB\003\340A\001\"l\n" + + "\025ListEndpointsResponse\022:\n" + + "\tendpoints\030\001 \003(\0132\'.google.cloud.agentregistry.v1.Endpoint\022\027\n" + + "\017next_page_token\030\002 \001(\t\"Q\n" + + "\022GetEndpointRequest\022;\n" + + "\004name\030\001 \001(\tB-\340A\002\372A\'\n" + + "%agentregistry.googleapis.com/Endpoint\"\264\001\n" + + "\025ListMcpServersRequest\022>\n" + + "\006parent\030\001 \001(" + + "\tB.\340A\002\372A(\022&agentregistry.googleapis.com/McpServer\022\026\n" + + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\003 \001(\tB\003\340A\001\022\023\n" + + "\006filter\030\004 \001(\tB\003\340A\001\022\025\n" + + "\010order_by\030\005 \001(\tB\003\340A\001\"p\n" + + "\026ListMcpServersResponse\022=\n" + + "\013mcp_servers\030\001 \003(\0132(.google.cloud.agentregistry.v1.McpServer\022\027\n" + + "\017next_page_token\030\002 \001(\t\"\246\001\n" + + "\027SearchMcpServersRequest\022>\n" + + "\006parent\030\001 \001(" + + "\tB.\340A\002\372A(\022&agentregistry.googleapis.com/McpServer\022\032\n\r" + + "search_string\030\003 \001(\tB\003\340A\001\022\026\n" + + "\tpage_size\030\006 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\007 \001(\tB\003\340A\001\"r\n" + + "\030SearchMcpServersResponse\022=\n" + + "\013mcp_servers\030\001 \003(\0132(.google.cloud.agentregistry.v1.McpServer\022\027\n" + + "\017next_page_token\030\002 \001(\t\"S\n" + + "\023GetMcpServerRequest\022<\n" + + "\004name\030\001 \001(\tB.\340A\002\372A(\n" + + "&agentregistry.googleapis.com/McpServer\"\231\001\n" + + "\023ListServicesRequest\022<\n" + + "\006parent\030\001 \001(" + + "\tB,\340A\002\372A&\022$agentregistry.googleapis.com/Service\022\026\n" + + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\003 \001(\tB\003\340A\001\022\023\n" + + "\006filter\030\004 \001(\tB\003\340A\001\"i\n" + + "\024ListServicesResponse\0228\n" + + "\010services\030\001 \003(\0132&.google.cloud.agentregistry.v1.Service\022\027\n" + + "\017next_page_token\030\002 \001(\t\"O\n" + + "\021GetServiceRequest\022:\n" + + "\004name\030\001 \001(\tB,\340A\002\372A&\n" + + "$agentregistry.googleapis.com/Service\"\314\001\n" + + "\024CreateServiceRequest\022<\n" + + "\006parent\030\001 \001(" + + "\tB,\340A\002\372A&\022$agentregistry.googleapis.com/Service\022\027\n\n" + + "service_id\030\002 \001(\tB\003\340A\002\022<\n" + + "\007service\030\003" + + " \001(\0132&.google.cloud.agentregistry.v1.ServiceB\003\340A\002\022\037\n\n" + + "request_id\030\004 \001(\tB\013\340A\001\342\214\317\327\010\002\010\001\"\341\001\n" + + "\035FetchAvailableBindingsRequest\022\033\n" + + "\021source_identifier\030\002 \001(\tH\000\022 \n" + + "\021target_identifier\030\003 \001(\tB\003\340A\001H\001\022<\n" + + "\006parent\030\001 \001(" + + "\tB,\340A\002\372A&\022$agentregistry.googleapis.com/Binding\022\026\n" + + "\tpage_size\030\004 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\005 \001(\tB\003\340A\001B\010\n" + + "\006sourceB\010\n" + + "\006target\"s\n" + + "\036FetchAvailableBindingsResponse\0228\n" + + "\010bindings\030\001 \003(\0132&.google.cloud.agentregistry.v1.Binding\022\027\n" + + "\017next_page_token\030\002 \001(\t\"\253\001\n" + + "\024UpdateServiceRequest\0224\n" + + "\013update_mask\030\001 \001(\0132\032.google.protobuf.FieldMaskB\003\340A\001\022<\n" + + "\007service\030\002" + + " \001(\0132&.google.cloud.agentregistry.v1.ServiceB\003\340A\002\022\037\n\n" + + "request_id\030\003 \001(\tB\013\340A\001\342\214\317\327\010\002\010\001\"s\n" + + "\024DeleteServiceRequest\022:\n" + + "\004name\030\001 \001(\tB,\340A\002\372A&\n" + + "$agentregistry.googleapis.com/Service\022\037\n\n" + + "request_id\030\002 \001(\tB\013\340A\001\342\214\317\327\010\002\010\001\"\200\002\n" + + "\021OperationMetadata\0224\n" + + "\013create_time\030\001 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0221\n" + + "\010end_time\030\002 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022\023\n" + + "\006target\030\003 \001(\tB\003\340A\003\022\021\n" + + "\004verb\030\004 \001(\tB\003\340A\003\022\033\n" + + "\016status_message\030\005 \001(\tB\003\340A\003\022#\n" + + "\026requested_cancellation\030\006 \001(\010B\003\340A\003\022\030\n" + + "\013api_version\030\007 \001(\tB\003\340A\003\"\260\001\n" + + "\023ListBindingsRequest\022<\n" + + "\006parent\030\001 \001(\tB,\340A\002" + + "\372A&\022$agentregistry.googleapis.com/Binding\022\026\n" + + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\003 \001(\tB\003\340A\001\022\023\n" + + "\006filter\030\004 \001(\tB\003\340A\001\022\025\n" + + "\010order_by\030\005 \001(\tB\003\340A\001\"i\n" + + "\024ListBindingsResponse\0228\n" + + "\010bindings\030\001 \003(\0132&.google.cloud.agentregistry.v1.Binding\022\027\n" + + "\017next_page_token\030\002 \001(\t\"O\n" + + "\021GetBindingRequest\022:\n" + + "\004name\030\001 \001(\tB,\340A\002\372A&\n" + + "$agentregistry.googleapis.com/Binding\"\314\001\n" + + "\024CreateBindingRequest\022<\n" + + "\006parent\030\001 \001(" + + "\tB,\340A\002\372A&\022$agentregistry.googleapis.com/Binding\022\027\n\n" + + "binding_id\030\002 \001(\tB\003\340A\002\022<\n" + + "\007binding\030\003" + + " \001(\0132&.google.cloud.agentregistry.v1.BindingB\003\340A\002\022\037\n\n" + + "request_id\030\004 \001(\tB\013\340A\001\342\214\317\327\010\002\010\001\"\253\001\n" + + "\024UpdateBindingRequest\022<\n" + + "\007binding\030\001" + + " \001(\0132&.google.cloud.agentregistry.v1.BindingB\003\340A\002\0224\n" + + "\013update_mask\030\002" + + " \001(\0132\032.google.protobuf.FieldMaskB\003\340A\001\022\037\n\n" + + "request_id\030\003 \001(\tB\013\340A\001\342\214\317\327\010\002\010\001\"s\n" + + "\024DeleteBindingRequest\022:\n" + + "\004name\030\001 \001(\tB,\340A\002\372A&\n" + + "$agentregistry.googleapis.com/Binding\022\037\n\n" + + "request_id\030\002 \001(\tB\013\340A\001\342\214\317\327\010\002\010\0012\214\037\n\r" + + "AgentRegistry\022\256\001\n\n" + + "ListAgents\0220.google.cloud.agentregistry.v1.ListAgentsRequest\0321.google.cloud.a" + + "gentregistry.v1.ListAgentsResponse\";\332A\006p" + + "arent\202\323\344\223\002,\022*/v1/{parent=projects/*/locations/*}/agents\022\276\001\n" + + "\014SearchAgents\0222.google.cloud.agentregistry.v1.SearchAgentsReq" + + "uest\0323.google.cloud.agentregistry.v1.Sea" + + "rchAgentsResponse\"E\332A\006parent\202\323\344\223\0026\"1/v1/" + + "{parent=projects/*/locations/*}/agents:search:\001*\022\233\001\n" + + "\010GetAgent\022..google.cloud.agentregistry.v1.GetAgentRequest\032$.google.c" + + "loud.agentregistry.v1.Agent\"9\332A\004name\202\323\344\223" + + "\002,\022*/v1/{name=projects/*/locations/*/agents/*}\022\272\001\n\r" + + "ListEndpoints\0223.google.cloud.agentregistry.v1.ListEndpointsRequest\0324." + + "google.cloud.agentregistry.v1.ListEndpoi" + + "ntsResponse\">\332A\006parent\202\323\344\223\002/\022-/v1/{parent=projects/*/locations/*}/endpoints\022\247\001\n" + + "\013GetEndpoint\0221.google.cloud.agentregistry" + + ".v1.GetEndpointRequest\032\'.google.cloud.ag" + + "entregistry.v1.Endpoint\"<\332A\004name\202\323\344\223\002/\022-" + + "/v1/{name=projects/*/locations/*/endpoints/*}\022\276\001\n" + + "\016ListMcpServers\0224.google.cloud.agentregistry.v1.ListMcpServersRequest\0325" + + ".google.cloud.agentregistry.v1.ListMcpSe" + + "rversResponse\"?\332A\006parent\202\323\344\223\0020\022./v1/{par" + + "ent=projects/*/locations/*}/mcpServers\022\316\001\n" + + "\020SearchMcpServers\0226.google.cloud.agent" + + "registry.v1.SearchMcpServersRequest\0327.google.cloud.agentregistry.v1.SearchMcpSer" + + "versResponse\"I\332A\006parent\202\323\344\223\002:\"5/v1/{pare" + + "nt=projects/*/locations/*}/mcpServers:search:\001*\022\253\001\n" + + "\014GetMcpServer\0222.google.cloud.agentregistry.v1.GetMcpServerRequest\032(.g" + + "oogle.cloud.agentregistry.v1.McpServer\"=" + + "\332A\004name\202\323\344\223\0020\022./v1/{name=projects/*/locations/*/mcpServers/*}\022\266\001\n" + + "\014ListServices\0222.google.cloud.agentregistry.v1.ListServi" + + "cesRequest\0323.google.cloud.agentregistry." + + "v1.ListServicesResponse\"=\332A\006parent\202\323\344\223\002." + + "\022,/v1/{parent=projects/*/locations/*}/services\022\243\001\n\n" + + "GetService\0220.google.cloud.agentregistry.v1.GetServiceRequest\032&.google" + + ".cloud.agentregistry.v1.Service\";\332A\004name" + + "\202\323\344\223\002.\022,/v1/{name=projects/*/locations/*/services/*}\022\335\001\n\r" + + "CreateService\0223.google." + + "cloud.agentregistry.v1.CreateServiceRequest\032\035.google.longrunning.Operation\"x\312A\034\n" + + "\007Service\022\021OperationMetadata\332A\031parent,ser" + + "vice,service_id\202\323\344\223\0027\",/v1/{parent=projects/*/locations/*}/services:\007service\022\337\001\n" + + "\r" + + "UpdateService\0223.google.cloud.agentregis" + + "try.v1.UpdateServiceRequest\032\035.google.longrunning.Operation\"z\312A\034\n" + + "\007Service\022\021OperationMetadata\332A\023service,update_mask\202\323\344\223\002?2" + + "4/v1/{service.name=projects/*/locations/*/services/*}:\007service\022\315\001\n\r" + + "DeleteService\0223.google.cloud.agentregistry.v1.DeleteS" + + "erviceRequest\032\035.google.longrunning.Operation\"h\312A*\n" + + "\025google.protobuf.Empty\022\021Operat" + + "ionMetadata\332A\004name\202\323\344\223\002.*,/v1/{name=projects/*/locations/*/services/*}\022\266\001\n" + + "\014ListBindings\0222.google.cloud.agentregistry.v1." + + "ListBindingsRequest\0323.google.cloud.agent" + + "registry.v1.ListBindingsResponse\"=\332A\006par" + + "ent\202\323\344\223\002.\022,/v1/{parent=projects/*/locations/*}/bindings\022\243\001\n\n" + + "GetBinding\0220.google.cloud.agentregistry.v1.GetBindingRequest" + + "\032&.google.cloud.agentregistry.v1.Binding" + + "\";\332A\004name\202\323\344\223\002.\022,/v1/{name=projects/*/locations/*/bindings/*}\022\335\001\n\r" + + "CreateBinding\0223.google.cloud.agentregistry.v1.CreateBi" + + "ndingRequest\032\035.google.longrunning.Operation\"x\312A\034\n" + + "\007Binding\022\021OperationMetadata\332A\031p" + + "arent,binding,binding_id\202\323\344\223\0027\",/v1/{par" + + "ent=projects/*/locations/*}/bindings:\007binding\022\337\001\n\r" + + "UpdateBinding\0223.google.cloud.a" + + "gentregistry.v1.UpdateBindingRequest\032\035.google.longrunning.Operation\"z\312A\034\n" + + "\007Binding\022\021OperationMetadata\332A\023binding,update_ma" + + "sk\202\323\344\223\002?24/v1/{binding.name=projects/*/locations/*/bindings/*}:\007binding\022\315\001\n\r" + + "DeleteBinding\0223.google.cloud.agentregistry.v" + + "1.DeleteBindingRequest\032\035.google.longrunning.Operation\"h\312A*\n" + + "\025google.protobuf.Empt" + + "y\022\021OperationMetadata\332A\004name\202\323\344\223\002.*,/v1/{" + + "name=projects/*/locations/*/bindings/*}\022\343\001\n" + + "\026FetchAvailableBindings\022<.google.cloud.agentregistry.v1.FetchAvailableBinding" + + "sRequest\032=.google.cloud.agentregistry.v1" + + ".FetchAvailableBindingsResponse\"L\332A\006pare" + + "nt\202\323\344\223\002=\022;/v1/{parent=projects/*/locatio" + + "ns/*}/bindings:fetchAvailable\032\373\001\312A\034agent" + + "registry.googleapis.com\322A\330\001https://www.g" + + "oogleapis.com/auth/agentregistry.read-only,https://www.googleapis.com/auth/agent" + + "registry.read-write,https://www.googleapis.com/auth/cloud-platform,https://www.g" + + "oogleapis.com/auth/cloud-platform.read-onlyB\354\001\n" + + "!com.google.cloud.agentregistry.v1B\031AgentRegistryServiceProtoP\001ZGcloud.go" + + "ogle.com/go/agentregistry/apiv1/agentreg" + + "istrypb;agentregistrypb\252\002\035Google.Cloud.A" + + "gentRegistry.V1\312\002\035Google\\Cloud\\AgentRegistry\\V1\352\002" + + " Google::Cloud::AgentRegistry::V1b\006proto3" + }; + descriptor = + com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( + descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + com.google.api.AnnotationsProto.getDescriptor(), + com.google.api.ClientProto.getDescriptor(), + com.google.api.FieldBehaviorProto.getDescriptor(), + com.google.api.FieldInfoProto.getDescriptor(), + com.google.api.ResourceProto.getDescriptor(), + com.google.cloud.agentregistry.v1.AgentProto.getDescriptor(), + com.google.cloud.agentregistry.v1.BindingProto.getDescriptor(), + com.google.cloud.agentregistry.v1.EndpointProto.getDescriptor(), + com.google.cloud.agentregistry.v1.McpServerProto.getDescriptor(), + com.google.cloud.agentregistry.v1.ServiceProto.getDescriptor(), + com.google.longrunning.OperationsProto.getDescriptor(), + com.google.protobuf.EmptyProto.getDescriptor(), + com.google.protobuf.FieldMaskProto.getDescriptor(), + com.google.protobuf.TimestampProto.getDescriptor(), + }); + internal_static_google_cloud_agentregistry_v1_ListAgentsRequest_descriptor = + getDescriptor().getMessageType(0); + internal_static_google_cloud_agentregistry_v1_ListAgentsRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_ListAgentsRequest_descriptor, + new java.lang.String[] { + "Parent", "PageSize", "PageToken", "Filter", "OrderBy", + }); + internal_static_google_cloud_agentregistry_v1_ListAgentsResponse_descriptor = + getDescriptor().getMessageType(1); + internal_static_google_cloud_agentregistry_v1_ListAgentsResponse_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_ListAgentsResponse_descriptor, + new java.lang.String[] { + "Agents", "NextPageToken", + }); + internal_static_google_cloud_agentregistry_v1_SearchAgentsRequest_descriptor = + getDescriptor().getMessageType(2); + internal_static_google_cloud_agentregistry_v1_SearchAgentsRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_SearchAgentsRequest_descriptor, + new java.lang.String[] { + "Parent", "SearchString", "PageSize", "PageToken", + }); + internal_static_google_cloud_agentregistry_v1_SearchAgentsResponse_descriptor = + getDescriptor().getMessageType(3); + internal_static_google_cloud_agentregistry_v1_SearchAgentsResponse_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_SearchAgentsResponse_descriptor, + new java.lang.String[] { + "Agents", "NextPageToken", + }); + internal_static_google_cloud_agentregistry_v1_GetAgentRequest_descriptor = + getDescriptor().getMessageType(4); + internal_static_google_cloud_agentregistry_v1_GetAgentRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_GetAgentRequest_descriptor, + new java.lang.String[] { + "Name", + }); + internal_static_google_cloud_agentregistry_v1_ListEndpointsRequest_descriptor = + getDescriptor().getMessageType(5); + internal_static_google_cloud_agentregistry_v1_ListEndpointsRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_ListEndpointsRequest_descriptor, + new java.lang.String[] { + "Parent", "PageSize", "PageToken", "Filter", + }); + internal_static_google_cloud_agentregistry_v1_ListEndpointsResponse_descriptor = + getDescriptor().getMessageType(6); + internal_static_google_cloud_agentregistry_v1_ListEndpointsResponse_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_ListEndpointsResponse_descriptor, + new java.lang.String[] { + "Endpoints", "NextPageToken", + }); + internal_static_google_cloud_agentregistry_v1_GetEndpointRequest_descriptor = + getDescriptor().getMessageType(7); + internal_static_google_cloud_agentregistry_v1_GetEndpointRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_GetEndpointRequest_descriptor, + new java.lang.String[] { + "Name", + }); + internal_static_google_cloud_agentregistry_v1_ListMcpServersRequest_descriptor = + getDescriptor().getMessageType(8); + internal_static_google_cloud_agentregistry_v1_ListMcpServersRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_ListMcpServersRequest_descriptor, + new java.lang.String[] { + "Parent", "PageSize", "PageToken", "Filter", "OrderBy", + }); + internal_static_google_cloud_agentregistry_v1_ListMcpServersResponse_descriptor = + getDescriptor().getMessageType(9); + internal_static_google_cloud_agentregistry_v1_ListMcpServersResponse_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_ListMcpServersResponse_descriptor, + new java.lang.String[] { + "McpServers", "NextPageToken", + }); + internal_static_google_cloud_agentregistry_v1_SearchMcpServersRequest_descriptor = + getDescriptor().getMessageType(10); + internal_static_google_cloud_agentregistry_v1_SearchMcpServersRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_SearchMcpServersRequest_descriptor, + new java.lang.String[] { + "Parent", "SearchString", "PageSize", "PageToken", + }); + internal_static_google_cloud_agentregistry_v1_SearchMcpServersResponse_descriptor = + getDescriptor().getMessageType(11); + internal_static_google_cloud_agentregistry_v1_SearchMcpServersResponse_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_SearchMcpServersResponse_descriptor, + new java.lang.String[] { + "McpServers", "NextPageToken", + }); + internal_static_google_cloud_agentregistry_v1_GetMcpServerRequest_descriptor = + getDescriptor().getMessageType(12); + internal_static_google_cloud_agentregistry_v1_GetMcpServerRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_GetMcpServerRequest_descriptor, + new java.lang.String[] { + "Name", + }); + internal_static_google_cloud_agentregistry_v1_ListServicesRequest_descriptor = + getDescriptor().getMessageType(13); + internal_static_google_cloud_agentregistry_v1_ListServicesRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_ListServicesRequest_descriptor, + new java.lang.String[] { + "Parent", "PageSize", "PageToken", "Filter", + }); + internal_static_google_cloud_agentregistry_v1_ListServicesResponse_descriptor = + getDescriptor().getMessageType(14); + internal_static_google_cloud_agentregistry_v1_ListServicesResponse_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_ListServicesResponse_descriptor, + new java.lang.String[] { + "Services", "NextPageToken", + }); + internal_static_google_cloud_agentregistry_v1_GetServiceRequest_descriptor = + getDescriptor().getMessageType(15); + internal_static_google_cloud_agentregistry_v1_GetServiceRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_GetServiceRequest_descriptor, + new java.lang.String[] { + "Name", + }); + internal_static_google_cloud_agentregistry_v1_CreateServiceRequest_descriptor = + getDescriptor().getMessageType(16); + internal_static_google_cloud_agentregistry_v1_CreateServiceRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_CreateServiceRequest_descriptor, + new java.lang.String[] { + "Parent", "ServiceId", "Service", "RequestId", + }); + internal_static_google_cloud_agentregistry_v1_FetchAvailableBindingsRequest_descriptor = + getDescriptor().getMessageType(17); + internal_static_google_cloud_agentregistry_v1_FetchAvailableBindingsRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_FetchAvailableBindingsRequest_descriptor, + new java.lang.String[] { + "SourceIdentifier", + "TargetIdentifier", + "Parent", + "PageSize", + "PageToken", + "Source", + "Target", + }); + internal_static_google_cloud_agentregistry_v1_FetchAvailableBindingsResponse_descriptor = + getDescriptor().getMessageType(18); + internal_static_google_cloud_agentregistry_v1_FetchAvailableBindingsResponse_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_FetchAvailableBindingsResponse_descriptor, + new java.lang.String[] { + "Bindings", "NextPageToken", + }); + internal_static_google_cloud_agentregistry_v1_UpdateServiceRequest_descriptor = + getDescriptor().getMessageType(19); + internal_static_google_cloud_agentregistry_v1_UpdateServiceRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_UpdateServiceRequest_descriptor, + new java.lang.String[] { + "UpdateMask", "Service", "RequestId", + }); + internal_static_google_cloud_agentregistry_v1_DeleteServiceRequest_descriptor = + getDescriptor().getMessageType(20); + internal_static_google_cloud_agentregistry_v1_DeleteServiceRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_DeleteServiceRequest_descriptor, + new java.lang.String[] { + "Name", "RequestId", + }); + internal_static_google_cloud_agentregistry_v1_OperationMetadata_descriptor = + getDescriptor().getMessageType(21); + internal_static_google_cloud_agentregistry_v1_OperationMetadata_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_OperationMetadata_descriptor, + new java.lang.String[] { + "CreateTime", + "EndTime", + "Target", + "Verb", + "StatusMessage", + "RequestedCancellation", + "ApiVersion", + }); + internal_static_google_cloud_agentregistry_v1_ListBindingsRequest_descriptor = + getDescriptor().getMessageType(22); + internal_static_google_cloud_agentregistry_v1_ListBindingsRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_ListBindingsRequest_descriptor, + new java.lang.String[] { + "Parent", "PageSize", "PageToken", "Filter", "OrderBy", + }); + internal_static_google_cloud_agentregistry_v1_ListBindingsResponse_descriptor = + getDescriptor().getMessageType(23); + internal_static_google_cloud_agentregistry_v1_ListBindingsResponse_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_ListBindingsResponse_descriptor, + new java.lang.String[] { + "Bindings", "NextPageToken", + }); + internal_static_google_cloud_agentregistry_v1_GetBindingRequest_descriptor = + getDescriptor().getMessageType(24); + internal_static_google_cloud_agentregistry_v1_GetBindingRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_GetBindingRequest_descriptor, + new java.lang.String[] { + "Name", + }); + internal_static_google_cloud_agentregistry_v1_CreateBindingRequest_descriptor = + getDescriptor().getMessageType(25); + internal_static_google_cloud_agentregistry_v1_CreateBindingRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_CreateBindingRequest_descriptor, + new java.lang.String[] { + "Parent", "BindingId", "Binding", "RequestId", + }); + internal_static_google_cloud_agentregistry_v1_UpdateBindingRequest_descriptor = + getDescriptor().getMessageType(26); + internal_static_google_cloud_agentregistry_v1_UpdateBindingRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_UpdateBindingRequest_descriptor, + new java.lang.String[] { + "Binding", "UpdateMask", "RequestId", + }); + internal_static_google_cloud_agentregistry_v1_DeleteBindingRequest_descriptor = + getDescriptor().getMessageType(27); + internal_static_google_cloud_agentregistry_v1_DeleteBindingRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_DeleteBindingRequest_descriptor, + new java.lang.String[] { + "Name", "RequestId", + }); + descriptor.resolveAllFeaturesImmutable(); + com.google.api.AnnotationsProto.getDescriptor(); + com.google.api.ClientProto.getDescriptor(); + com.google.api.FieldBehaviorProto.getDescriptor(); + com.google.api.FieldInfoProto.getDescriptor(); + com.google.api.ResourceProto.getDescriptor(); + com.google.cloud.agentregistry.v1.AgentProto.getDescriptor(); + com.google.cloud.agentregistry.v1.BindingProto.getDescriptor(); + com.google.cloud.agentregistry.v1.EndpointProto.getDescriptor(); + com.google.cloud.agentregistry.v1.McpServerProto.getDescriptor(); + com.google.cloud.agentregistry.v1.ServiceProto.getDescriptor(); + com.google.longrunning.OperationsProto.getDescriptor(); + com.google.protobuf.EmptyProto.getDescriptor(); + com.google.protobuf.FieldMaskProto.getDescriptor(); + com.google.protobuf.TimestampProto.getDescriptor(); + com.google.protobuf.ExtensionRegistry registry = + com.google.protobuf.ExtensionRegistry.newInstance(); + registry.add(com.google.api.ClientProto.defaultHost); + registry.add(com.google.api.FieldBehaviorProto.fieldBehavior); + registry.add(com.google.api.FieldInfoProto.fieldInfo); + registry.add(com.google.api.AnnotationsProto.http); + registry.add(com.google.api.ClientProto.methodSignature); + registry.add(com.google.api.ClientProto.oauthScopes); + registry.add(com.google.api.ResourceProto.resourceReference); + registry.add(com.google.longrunning.OperationsProto.operationInfo); + com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( + descriptor, registry); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/Binding.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/Binding.java new file mode 100644 index 000000000000..17eebb199675 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/Binding.java @@ -0,0 +1,5460 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/binding.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Represents a user-defined Binding.
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Binding} + */ +@com.google.protobuf.Generated +public final class Binding extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.Binding) + BindingOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Binding"); + } + + // Use Binding.newBuilder() to construct. + private Binding(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Binding() { + name_ = ""; + displayName_ = ""; + description_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.BindingProto + .internal_static_google_cloud_agentregistry_v1_Binding_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.BindingProto + .internal_static_google_cloud_agentregistry_v1_Binding_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Binding.class, + com.google.cloud.agentregistry.v1.Binding.Builder.class); + } + + public interface SourceOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.Binding.Source) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * The identifier of the source Agent.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * 
+ * + * string identifier = 1; + * + * @return Whether the identifier field is set. + */ + boolean hasIdentifier(); + + /** + * + * + *
+     * The identifier of the source Agent.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * 
+ * + * string identifier = 1; + * + * @return The identifier. + */ + java.lang.String getIdentifier(); + + /** + * + * + *
+     * The identifier of the source Agent.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * 
+ * + * string identifier = 1; + * + * @return The bytes for identifier. + */ + com.google.protobuf.ByteString getIdentifierBytes(); + + com.google.cloud.agentregistry.v1.Binding.Source.SourceTypeCase getSourceTypeCase(); + } + + /** + * + * + *
+   * The source of the Binding.
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Binding.Source} + */ + public static final class Source extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.Binding.Source) + SourceOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Source"); + } + + // Use Source.newBuilder() to construct. + private Source(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Source() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.BindingProto + .internal_static_google_cloud_agentregistry_v1_Binding_Source_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.BindingProto + .internal_static_google_cloud_agentregistry_v1_Binding_Source_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Binding.Source.class, + com.google.cloud.agentregistry.v1.Binding.Source.Builder.class); + } + + private int sourceTypeCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object sourceType_; + + public enum SourceTypeCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + IDENTIFIER(1), + SOURCETYPE_NOT_SET(0); + private final int value; + + private SourceTypeCase(int value) { + this.value = value; + } + + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static SourceTypeCase valueOf(int value) { + return forNumber(value); + } + + public static SourceTypeCase forNumber(int value) { + switch (value) { + case 1: + return IDENTIFIER; + case 0: + return SOURCETYPE_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public SourceTypeCase getSourceTypeCase() { + return SourceTypeCase.forNumber(sourceTypeCase_); + } + + public static final int IDENTIFIER_FIELD_NUMBER = 1; + + /** + * + * + *
+     * The identifier of the source Agent.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * 
+ * + * string identifier = 1; + * + * @return Whether the identifier field is set. + */ + public boolean hasIdentifier() { + return sourceTypeCase_ == 1; + } + + /** + * + * + *
+     * The identifier of the source Agent.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * 
+ * + * string identifier = 1; + * + * @return The identifier. + */ + public java.lang.String getIdentifier() { + java.lang.Object ref = ""; + if (sourceTypeCase_ == 1) { + ref = sourceType_; + } + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (sourceTypeCase_ == 1) { + sourceType_ = s; + } + return s; + } + } + + /** + * + * + *
+     * The identifier of the source Agent.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * 
+ * + * string identifier = 1; + * + * @return The bytes for identifier. + */ + public com.google.protobuf.ByteString getIdentifierBytes() { + java.lang.Object ref = ""; + if (sourceTypeCase_ == 1) { + ref = sourceType_; + } + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (sourceTypeCase_ == 1) { + sourceType_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (sourceTypeCase_ == 1) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, sourceType_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (sourceTypeCase_ == 1) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, sourceType_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.Binding.Source)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.Binding.Source other = + (com.google.cloud.agentregistry.v1.Binding.Source) obj; + + if (!getSourceTypeCase().equals(other.getSourceTypeCase())) return false; + switch (sourceTypeCase_) { + case 1: + if (!getIdentifier().equals(other.getIdentifier())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + switch (sourceTypeCase_) { + case 1: + hash = (37 * hash) + IDENTIFIER_FIELD_NUMBER; + hash = (53 * hash) + getIdentifier().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.Binding.Source parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Binding.Source parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Binding.Source parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Binding.Source parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Binding.Source parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Binding.Source parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Binding.Source parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Binding.Source parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Binding.Source parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Binding.Source parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Binding.Source parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Binding.Source parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloud.agentregistry.v1.Binding.Source prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+     * The source of the Binding.
+     * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Binding.Source} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.Binding.Source) + com.google.cloud.agentregistry.v1.Binding.SourceOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.BindingProto + .internal_static_google_cloud_agentregistry_v1_Binding_Source_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.BindingProto + .internal_static_google_cloud_agentregistry_v1_Binding_Source_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Binding.Source.class, + com.google.cloud.agentregistry.v1.Binding.Source.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.Binding.Source.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + sourceTypeCase_ = 0; + sourceType_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.BindingProto + .internal_static_google_cloud_agentregistry_v1_Binding_Source_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding.Source getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.Binding.Source.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding.Source build() { + com.google.cloud.agentregistry.v1.Binding.Source result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding.Source buildPartial() { + com.google.cloud.agentregistry.v1.Binding.Source result = + new com.google.cloud.agentregistry.v1.Binding.Source(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.Binding.Source result) { + int from_bitField0_ = bitField0_; + } + + private void buildPartialOneofs(com.google.cloud.agentregistry.v1.Binding.Source result) { + result.sourceTypeCase_ = sourceTypeCase_; + result.sourceType_ = this.sourceType_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.Binding.Source) { + return mergeFrom((com.google.cloud.agentregistry.v1.Binding.Source) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.Binding.Source other) { + if (other == com.google.cloud.agentregistry.v1.Binding.Source.getDefaultInstance()) + return this; + switch (other.getSourceTypeCase()) { + case IDENTIFIER: + { + sourceTypeCase_ = 1; + sourceType_ = other.sourceType_; + onChanged(); + break; + } + case SOURCETYPE_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + sourceTypeCase_ = 1; + sourceType_ = s; + break; + } // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int sourceTypeCase_ = 0; + private java.lang.Object sourceType_; + + public SourceTypeCase getSourceTypeCase() { + return SourceTypeCase.forNumber(sourceTypeCase_); + } + + public Builder clearSourceType() { + sourceTypeCase_ = 0; + sourceType_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + /** + * + * + *
+       * The identifier of the source Agent.
+       * Format:
+       *
+       * * `urn:agent:{publisher}:{namespace}:{name}`
+       * 
+ * + * string identifier = 1; + * + * @return Whether the identifier field is set. + */ + @java.lang.Override + public boolean hasIdentifier() { + return sourceTypeCase_ == 1; + } + + /** + * + * + *
+       * The identifier of the source Agent.
+       * Format:
+       *
+       * * `urn:agent:{publisher}:{namespace}:{name}`
+       * 
+ * + * string identifier = 1; + * + * @return The identifier. + */ + @java.lang.Override + public java.lang.String getIdentifier() { + java.lang.Object ref = ""; + if (sourceTypeCase_ == 1) { + ref = sourceType_; + } + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (sourceTypeCase_ == 1) { + sourceType_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * The identifier of the source Agent.
+       * Format:
+       *
+       * * `urn:agent:{publisher}:{namespace}:{name}`
+       * 
+ * + * string identifier = 1; + * + * @return The bytes for identifier. + */ + @java.lang.Override + public com.google.protobuf.ByteString getIdentifierBytes() { + java.lang.Object ref = ""; + if (sourceTypeCase_ == 1) { + ref = sourceType_; + } + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (sourceTypeCase_ == 1) { + sourceType_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * The identifier of the source Agent.
+       * Format:
+       *
+       * * `urn:agent:{publisher}:{namespace}:{name}`
+       * 
+ * + * string identifier = 1; + * + * @param value The identifier to set. + * @return This builder for chaining. + */ + public Builder setIdentifier(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + sourceTypeCase_ = 1; + sourceType_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+       * The identifier of the source Agent.
+       * Format:
+       *
+       * * `urn:agent:{publisher}:{namespace}:{name}`
+       * 
+ * + * string identifier = 1; + * + * @return This builder for chaining. + */ + public Builder clearIdentifier() { + if (sourceTypeCase_ == 1) { + sourceTypeCase_ = 0; + sourceType_ = null; + onChanged(); + } + return this; + } + + /** + * + * + *
+       * The identifier of the source Agent.
+       * Format:
+       *
+       * * `urn:agent:{publisher}:{namespace}:{name}`
+       * 
+ * + * string identifier = 1; + * + * @param value The bytes for identifier to set. + * @return This builder for chaining. + */ + public Builder setIdentifierBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + sourceTypeCase_ = 1; + sourceType_ = value; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.Binding.Source) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.Binding.Source) + private static final com.google.cloud.agentregistry.v1.Binding.Source DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.Binding.Source(); + } + + public static com.google.cloud.agentregistry.v1.Binding.Source getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Source parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding.Source getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface TargetOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.Binding.Target) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * The identifier of the target Agent, MCP Server, or Endpoint.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * * `urn:mcp:{publisher}:{namespace}:{name}`
+     * * `urn:endpoint:{publisher}:{namespace}:{name}`
+     * 
+ * + * string identifier = 1; + * + * @return Whether the identifier field is set. + */ + boolean hasIdentifier(); + + /** + * + * + *
+     * The identifier of the target Agent, MCP Server, or Endpoint.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * * `urn:mcp:{publisher}:{namespace}:{name}`
+     * * `urn:endpoint:{publisher}:{namespace}:{name}`
+     * 
+ * + * string identifier = 1; + * + * @return The identifier. + */ + java.lang.String getIdentifier(); + + /** + * + * + *
+     * The identifier of the target Agent, MCP Server, or Endpoint.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * * `urn:mcp:{publisher}:{namespace}:{name}`
+     * * `urn:endpoint:{publisher}:{namespace}:{name}`
+     * 
+ * + * string identifier = 1; + * + * @return The bytes for identifier. + */ + com.google.protobuf.ByteString getIdentifierBytes(); + + com.google.cloud.agentregistry.v1.Binding.Target.TargetTypeCase getTargetTypeCase(); + } + + /** + * + * + *
+   * The target of the Binding.
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Binding.Target} + */ + public static final class Target extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.Binding.Target) + TargetOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Target"); + } + + // Use Target.newBuilder() to construct. + private Target(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Target() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.BindingProto + .internal_static_google_cloud_agentregistry_v1_Binding_Target_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.BindingProto + .internal_static_google_cloud_agentregistry_v1_Binding_Target_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Binding.Target.class, + com.google.cloud.agentregistry.v1.Binding.Target.Builder.class); + } + + private int targetTypeCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object targetType_; + + public enum TargetTypeCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + IDENTIFIER(1), + TARGETTYPE_NOT_SET(0); + private final int value; + + private TargetTypeCase(int value) { + this.value = value; + } + + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static TargetTypeCase valueOf(int value) { + return forNumber(value); + } + + public static TargetTypeCase forNumber(int value) { + switch (value) { + case 1: + return IDENTIFIER; + case 0: + return TARGETTYPE_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public TargetTypeCase getTargetTypeCase() { + return TargetTypeCase.forNumber(targetTypeCase_); + } + + public static final int IDENTIFIER_FIELD_NUMBER = 1; + + /** + * + * + *
+     * The identifier of the target Agent, MCP Server, or Endpoint.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * * `urn:mcp:{publisher}:{namespace}:{name}`
+     * * `urn:endpoint:{publisher}:{namespace}:{name}`
+     * 
+ * + * string identifier = 1; + * + * @return Whether the identifier field is set. + */ + public boolean hasIdentifier() { + return targetTypeCase_ == 1; + } + + /** + * + * + *
+     * The identifier of the target Agent, MCP Server, or Endpoint.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * * `urn:mcp:{publisher}:{namespace}:{name}`
+     * * `urn:endpoint:{publisher}:{namespace}:{name}`
+     * 
+ * + * string identifier = 1; + * + * @return The identifier. + */ + public java.lang.String getIdentifier() { + java.lang.Object ref = ""; + if (targetTypeCase_ == 1) { + ref = targetType_; + } + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (targetTypeCase_ == 1) { + targetType_ = s; + } + return s; + } + } + + /** + * + * + *
+     * The identifier of the target Agent, MCP Server, or Endpoint.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * * `urn:mcp:{publisher}:{namespace}:{name}`
+     * * `urn:endpoint:{publisher}:{namespace}:{name}`
+     * 
+ * + * string identifier = 1; + * + * @return The bytes for identifier. + */ + public com.google.protobuf.ByteString getIdentifierBytes() { + java.lang.Object ref = ""; + if (targetTypeCase_ == 1) { + ref = targetType_; + } + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (targetTypeCase_ == 1) { + targetType_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (targetTypeCase_ == 1) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, targetType_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (targetTypeCase_ == 1) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, targetType_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.Binding.Target)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.Binding.Target other = + (com.google.cloud.agentregistry.v1.Binding.Target) obj; + + if (!getTargetTypeCase().equals(other.getTargetTypeCase())) return false; + switch (targetTypeCase_) { + case 1: + if (!getIdentifier().equals(other.getIdentifier())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + switch (targetTypeCase_) { + case 1: + hash = (37 * hash) + IDENTIFIER_FIELD_NUMBER; + hash = (53 * hash) + getIdentifier().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.Binding.Target parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Binding.Target parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Binding.Target parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Binding.Target parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Binding.Target parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Binding.Target parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Binding.Target parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Binding.Target parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Binding.Target parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Binding.Target parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Binding.Target parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Binding.Target parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloud.agentregistry.v1.Binding.Target prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+     * The target of the Binding.
+     * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Binding.Target} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.Binding.Target) + com.google.cloud.agentregistry.v1.Binding.TargetOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.BindingProto + .internal_static_google_cloud_agentregistry_v1_Binding_Target_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.BindingProto + .internal_static_google_cloud_agentregistry_v1_Binding_Target_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Binding.Target.class, + com.google.cloud.agentregistry.v1.Binding.Target.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.Binding.Target.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + targetTypeCase_ = 0; + targetType_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.BindingProto + .internal_static_google_cloud_agentregistry_v1_Binding_Target_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding.Target getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.Binding.Target.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding.Target build() { + com.google.cloud.agentregistry.v1.Binding.Target result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding.Target buildPartial() { + com.google.cloud.agentregistry.v1.Binding.Target result = + new com.google.cloud.agentregistry.v1.Binding.Target(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.Binding.Target result) { + int from_bitField0_ = bitField0_; + } + + private void buildPartialOneofs(com.google.cloud.agentregistry.v1.Binding.Target result) { + result.targetTypeCase_ = targetTypeCase_; + result.targetType_ = this.targetType_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.Binding.Target) { + return mergeFrom((com.google.cloud.agentregistry.v1.Binding.Target) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.Binding.Target other) { + if (other == com.google.cloud.agentregistry.v1.Binding.Target.getDefaultInstance()) + return this; + switch (other.getTargetTypeCase()) { + case IDENTIFIER: + { + targetTypeCase_ = 1; + targetType_ = other.targetType_; + onChanged(); + break; + } + case TARGETTYPE_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + targetTypeCase_ = 1; + targetType_ = s; + break; + } // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int targetTypeCase_ = 0; + private java.lang.Object targetType_; + + public TargetTypeCase getTargetTypeCase() { + return TargetTypeCase.forNumber(targetTypeCase_); + } + + public Builder clearTargetType() { + targetTypeCase_ = 0; + targetType_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + /** + * + * + *
+       * The identifier of the target Agent, MCP Server, or Endpoint.
+       * Format:
+       *
+       * * `urn:agent:{publisher}:{namespace}:{name}`
+       * * `urn:mcp:{publisher}:{namespace}:{name}`
+       * * `urn:endpoint:{publisher}:{namespace}:{name}`
+       * 
+ * + * string identifier = 1; + * + * @return Whether the identifier field is set. + */ + @java.lang.Override + public boolean hasIdentifier() { + return targetTypeCase_ == 1; + } + + /** + * + * + *
+       * The identifier of the target Agent, MCP Server, or Endpoint.
+       * Format:
+       *
+       * * `urn:agent:{publisher}:{namespace}:{name}`
+       * * `urn:mcp:{publisher}:{namespace}:{name}`
+       * * `urn:endpoint:{publisher}:{namespace}:{name}`
+       * 
+ * + * string identifier = 1; + * + * @return The identifier. + */ + @java.lang.Override + public java.lang.String getIdentifier() { + java.lang.Object ref = ""; + if (targetTypeCase_ == 1) { + ref = targetType_; + } + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (targetTypeCase_ == 1) { + targetType_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * The identifier of the target Agent, MCP Server, or Endpoint.
+       * Format:
+       *
+       * * `urn:agent:{publisher}:{namespace}:{name}`
+       * * `urn:mcp:{publisher}:{namespace}:{name}`
+       * * `urn:endpoint:{publisher}:{namespace}:{name}`
+       * 
+ * + * string identifier = 1; + * + * @return The bytes for identifier. + */ + @java.lang.Override + public com.google.protobuf.ByteString getIdentifierBytes() { + java.lang.Object ref = ""; + if (targetTypeCase_ == 1) { + ref = targetType_; + } + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (targetTypeCase_ == 1) { + targetType_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * The identifier of the target Agent, MCP Server, or Endpoint.
+       * Format:
+       *
+       * * `urn:agent:{publisher}:{namespace}:{name}`
+       * * `urn:mcp:{publisher}:{namespace}:{name}`
+       * * `urn:endpoint:{publisher}:{namespace}:{name}`
+       * 
+ * + * string identifier = 1; + * + * @param value The identifier to set. + * @return This builder for chaining. + */ + public Builder setIdentifier(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + targetTypeCase_ = 1; + targetType_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+       * The identifier of the target Agent, MCP Server, or Endpoint.
+       * Format:
+       *
+       * * `urn:agent:{publisher}:{namespace}:{name}`
+       * * `urn:mcp:{publisher}:{namespace}:{name}`
+       * * `urn:endpoint:{publisher}:{namespace}:{name}`
+       * 
+ * + * string identifier = 1; + * + * @return This builder for chaining. + */ + public Builder clearIdentifier() { + if (targetTypeCase_ == 1) { + targetTypeCase_ = 0; + targetType_ = null; + onChanged(); + } + return this; + } + + /** + * + * + *
+       * The identifier of the target Agent, MCP Server, or Endpoint.
+       * Format:
+       *
+       * * `urn:agent:{publisher}:{namespace}:{name}`
+       * * `urn:mcp:{publisher}:{namespace}:{name}`
+       * * `urn:endpoint:{publisher}:{namespace}:{name}`
+       * 
+ * + * string identifier = 1; + * + * @param value The bytes for identifier to set. + * @return This builder for chaining. + */ + public Builder setIdentifierBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + targetTypeCase_ = 1; + targetType_ = value; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.Binding.Target) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.Binding.Target) + private static final com.google.cloud.agentregistry.v1.Binding.Target DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.Binding.Target(); + } + + public static com.google.cloud.agentregistry.v1.Binding.Target getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Target parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding.Target getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface AuthProviderBindingOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.Binding.AuthProviderBinding) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * Required. The resource name of the target AuthProvider.
+     * Format:
+     *
+     * * `projects/{project}/locations/{location}/authProviders/{auth_provider}`
+     * 
+ * + * string auth_provider = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The authProvider. + */ + java.lang.String getAuthProvider(); + + /** + * + * + *
+     * Required. The resource name of the target AuthProvider.
+     * Format:
+     *
+     * * `projects/{project}/locations/{location}/authProviders/{auth_provider}`
+     * 
+ * + * string auth_provider = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for authProvider. + */ + com.google.protobuf.ByteString getAuthProviderBytes(); + + /** + * + * + *
+     * Optional. The list of OAuth2 scopes of the AuthProvider.
+     * 
+ * + * repeated string scopes = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return A list containing the scopes. + */ + java.util.List getScopesList(); + + /** + * + * + *
+     * Optional. The list of OAuth2 scopes of the AuthProvider.
+     * 
+ * + * repeated string scopes = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The count of scopes. + */ + int getScopesCount(); + + /** + * + * + *
+     * Optional. The list of OAuth2 scopes of the AuthProvider.
+     * 
+ * + * repeated string scopes = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param index The index of the element to return. + * @return The scopes at the given index. + */ + java.lang.String getScopes(int index); + + /** + * + * + *
+     * Optional. The list of OAuth2 scopes of the AuthProvider.
+     * 
+ * + * repeated string scopes = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param index The index of the value to return. + * @return The bytes of the scopes at the given index. + */ + com.google.protobuf.ByteString getScopesBytes(int index); + + /** + * + * + *
+     * Optional. The continue URI of the AuthProvider.
+     * The URI is used to reauthenticate the user and finalize the managed OAuth
+     * flow.
+     * 
+ * + * string continue_uri = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The continueUri. + */ + java.lang.String getContinueUri(); + + /** + * + * + *
+     * Optional. The continue URI of the AuthProvider.
+     * The URI is used to reauthenticate the user and finalize the managed OAuth
+     * flow.
+     * 
+ * + * string continue_uri = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for continueUri. + */ + com.google.protobuf.ByteString getContinueUriBytes(); + } + + /** + * + * + *
+   * The AuthProvider of the Binding.
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Binding.AuthProviderBinding} + */ + public static final class AuthProviderBinding extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.Binding.AuthProviderBinding) + AuthProviderBindingOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "AuthProviderBinding"); + } + + // Use AuthProviderBinding.newBuilder() to construct. + private AuthProviderBinding(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private AuthProviderBinding() { + authProvider_ = ""; + scopes_ = com.google.protobuf.LazyStringArrayList.emptyList(); + continueUri_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.BindingProto + .internal_static_google_cloud_agentregistry_v1_Binding_AuthProviderBinding_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.BindingProto + .internal_static_google_cloud_agentregistry_v1_Binding_AuthProviderBinding_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding.class, + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding.Builder.class); + } + + public static final int AUTH_PROVIDER_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object authProvider_ = ""; + + /** + * + * + *
+     * Required. The resource name of the target AuthProvider.
+     * Format:
+     *
+     * * `projects/{project}/locations/{location}/authProviders/{auth_provider}`
+     * 
+ * + * string auth_provider = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The authProvider. + */ + @java.lang.Override + public java.lang.String getAuthProvider() { + java.lang.Object ref = authProvider_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + authProvider_ = s; + return s; + } + } + + /** + * + * + *
+     * Required. The resource name of the target AuthProvider.
+     * Format:
+     *
+     * * `projects/{project}/locations/{location}/authProviders/{auth_provider}`
+     * 
+ * + * string auth_provider = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for authProvider. + */ + @java.lang.Override + public com.google.protobuf.ByteString getAuthProviderBytes() { + java.lang.Object ref = authProvider_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + authProvider_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SCOPES_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private com.google.protobuf.LazyStringArrayList scopes_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + /** + * + * + *
+     * Optional. The list of OAuth2 scopes of the AuthProvider.
+     * 
+ * + * repeated string scopes = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return A list containing the scopes. + */ + public com.google.protobuf.ProtocolStringList getScopesList() { + return scopes_; + } + + /** + * + * + *
+     * Optional. The list of OAuth2 scopes of the AuthProvider.
+     * 
+ * + * repeated string scopes = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The count of scopes. + */ + public int getScopesCount() { + return scopes_.size(); + } + + /** + * + * + *
+     * Optional. The list of OAuth2 scopes of the AuthProvider.
+     * 
+ * + * repeated string scopes = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param index The index of the element to return. + * @return The scopes at the given index. + */ + public java.lang.String getScopes(int index) { + return scopes_.get(index); + } + + /** + * + * + *
+     * Optional. The list of OAuth2 scopes of the AuthProvider.
+     * 
+ * + * repeated string scopes = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param index The index of the value to return. + * @return The bytes of the scopes at the given index. + */ + public com.google.protobuf.ByteString getScopesBytes(int index) { + return scopes_.getByteString(index); + } + + public static final int CONTINUE_URI_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object continueUri_ = ""; + + /** + * + * + *
+     * Optional. The continue URI of the AuthProvider.
+     * The URI is used to reauthenticate the user and finalize the managed OAuth
+     * flow.
+     * 
+ * + * string continue_uri = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The continueUri. + */ + @java.lang.Override + public java.lang.String getContinueUri() { + java.lang.Object ref = continueUri_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + continueUri_ = s; + return s; + } + } + + /** + * + * + *
+     * Optional. The continue URI of the AuthProvider.
+     * The URI is used to reauthenticate the user and finalize the managed OAuth
+     * flow.
+     * 
+ * + * string continue_uri = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for continueUri. + */ + @java.lang.Override + public com.google.protobuf.ByteString getContinueUriBytes() { + java.lang.Object ref = continueUri_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + continueUri_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(authProvider_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, authProvider_); + } + for (int i = 0; i < scopes_.size(); i++) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, scopes_.getRaw(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(continueUri_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, continueUri_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(authProvider_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, authProvider_); + } + { + int dataSize = 0; + for (int i = 0; i < scopes_.size(); i++) { + dataSize += computeStringSizeNoTag(scopes_.getRaw(i)); + } + size += dataSize; + size += 1 * getScopesList().size(); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(continueUri_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, continueUri_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding other = + (com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding) obj; + + if (!getAuthProvider().equals(other.getAuthProvider())) return false; + if (!getScopesList().equals(other.getScopesList())) return false; + if (!getContinueUri().equals(other.getContinueUri())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + AUTH_PROVIDER_FIELD_NUMBER; + hash = (53 * hash) + getAuthProvider().hashCode(); + if (getScopesCount() > 0) { + hash = (37 * hash) + SCOPES_FIELD_NUMBER; + hash = (53 * hash) + getScopesList().hashCode(); + } + hash = (37 * hash) + CONTINUE_URI_FIELD_NUMBER; + hash = (53 * hash) + getContinueUri().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+     * The AuthProvider of the Binding.
+     * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Binding.AuthProviderBinding} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.Binding.AuthProviderBinding) + com.google.cloud.agentregistry.v1.Binding.AuthProviderBindingOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.BindingProto + .internal_static_google_cloud_agentregistry_v1_Binding_AuthProviderBinding_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.BindingProto + .internal_static_google_cloud_agentregistry_v1_Binding_AuthProviderBinding_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding.class, + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + authProvider_ = ""; + scopes_ = com.google.protobuf.LazyStringArrayList.emptyList(); + continueUri_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.BindingProto + .internal_static_google_cloud_agentregistry_v1_Binding_AuthProviderBinding_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding + getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding build() { + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding buildPartial() { + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding result = + new com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.authProvider_ = authProvider_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + scopes_.makeImmutable(); + result.scopes_ = scopes_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.continueUri_ = continueUri_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding) { + return mergeFrom((com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding other) { + if (other + == com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding.getDefaultInstance()) + return this; + if (!other.getAuthProvider().isEmpty()) { + authProvider_ = other.authProvider_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.scopes_.isEmpty()) { + if (scopes_.isEmpty()) { + scopes_ = other.scopes_; + bitField0_ |= 0x00000002; + } else { + ensureScopesIsMutable(); + scopes_.addAll(other.scopes_); + } + onChanged(); + } + if (!other.getContinueUri().isEmpty()) { + continueUri_ = other.continueUri_; + bitField0_ |= 0x00000004; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + authProvider_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + ensureScopesIsMutable(); + scopes_.add(s); + break; + } // case 18 + case 26: + { + continueUri_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object authProvider_ = ""; + + /** + * + * + *
+       * Required. The resource name of the target AuthProvider.
+       * Format:
+       *
+       * * `projects/{project}/locations/{location}/authProviders/{auth_provider}`
+       * 
+ * + * string auth_provider = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The authProvider. + */ + public java.lang.String getAuthProvider() { + java.lang.Object ref = authProvider_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + authProvider_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Required. The resource name of the target AuthProvider.
+       * Format:
+       *
+       * * `projects/{project}/locations/{location}/authProviders/{auth_provider}`
+       * 
+ * + * string auth_provider = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for authProvider. + */ + public com.google.protobuf.ByteString getAuthProviderBytes() { + java.lang.Object ref = authProvider_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + authProvider_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Required. The resource name of the target AuthProvider.
+       * Format:
+       *
+       * * `projects/{project}/locations/{location}/authProviders/{auth_provider}`
+       * 
+ * + * string auth_provider = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @param value The authProvider to set. + * @return This builder for chaining. + */ + public Builder setAuthProvider(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + authProvider_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+       * Required. The resource name of the target AuthProvider.
+       * Format:
+       *
+       * * `projects/{project}/locations/{location}/authProviders/{auth_provider}`
+       * 
+ * + * string auth_provider = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @return This builder for chaining. + */ + public Builder clearAuthProvider() { + authProvider_ = getDefaultInstance().getAuthProvider(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+       * Required. The resource name of the target AuthProvider.
+       * Format:
+       *
+       * * `projects/{project}/locations/{location}/authProviders/{auth_provider}`
+       * 
+ * + * string auth_provider = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @param value The bytes for authProvider to set. + * @return This builder for chaining. + */ + public Builder setAuthProviderBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + authProvider_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringArrayList scopes_ = + com.google.protobuf.LazyStringArrayList.emptyList(); + + private void ensureScopesIsMutable() { + if (!scopes_.isModifiable()) { + scopes_ = new com.google.protobuf.LazyStringArrayList(scopes_); + } + bitField0_ |= 0x00000002; + } + + /** + * + * + *
+       * Optional. The list of OAuth2 scopes of the AuthProvider.
+       * 
+ * + * repeated string scopes = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return A list containing the scopes. + */ + public com.google.protobuf.ProtocolStringList getScopesList() { + scopes_.makeImmutable(); + return scopes_; + } + + /** + * + * + *
+       * Optional. The list of OAuth2 scopes of the AuthProvider.
+       * 
+ * + * repeated string scopes = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The count of scopes. + */ + public int getScopesCount() { + return scopes_.size(); + } + + /** + * + * + *
+       * Optional. The list of OAuth2 scopes of the AuthProvider.
+       * 
+ * + * repeated string scopes = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param index The index of the element to return. + * @return The scopes at the given index. + */ + public java.lang.String getScopes(int index) { + return scopes_.get(index); + } + + /** + * + * + *
+       * Optional. The list of OAuth2 scopes of the AuthProvider.
+       * 
+ * + * repeated string scopes = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param index The index of the value to return. + * @return The bytes of the scopes at the given index. + */ + public com.google.protobuf.ByteString getScopesBytes(int index) { + return scopes_.getByteString(index); + } + + /** + * + * + *
+       * Optional. The list of OAuth2 scopes of the AuthProvider.
+       * 
+ * + * repeated string scopes = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param index The index to set the value at. + * @param value The scopes to set. + * @return This builder for chaining. + */ + public Builder setScopes(int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureScopesIsMutable(); + scopes_.set(index, value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The list of OAuth2 scopes of the AuthProvider.
+       * 
+ * + * repeated string scopes = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The scopes to add. + * @return This builder for chaining. + */ + public Builder addScopes(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureScopesIsMutable(); + scopes_.add(value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The list of OAuth2 scopes of the AuthProvider.
+       * 
+ * + * repeated string scopes = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param values The scopes to add. + * @return This builder for chaining. + */ + public Builder addAllScopes(java.lang.Iterable values) { + ensureScopesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, scopes_); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The list of OAuth2 scopes of the AuthProvider.
+       * 
+ * + * repeated string scopes = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearScopes() { + scopes_ = com.google.protobuf.LazyStringArrayList.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + ; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The list of OAuth2 scopes of the AuthProvider.
+       * 
+ * + * repeated string scopes = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes of the scopes to add. + * @return This builder for chaining. + */ + public Builder addScopesBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureScopesIsMutable(); + scopes_.add(value); + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object continueUri_ = ""; + + /** + * + * + *
+       * Optional. The continue URI of the AuthProvider.
+       * The URI is used to reauthenticate the user and finalize the managed OAuth
+       * flow.
+       * 
+ * + * string continue_uri = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The continueUri. + */ + public java.lang.String getContinueUri() { + java.lang.Object ref = continueUri_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + continueUri_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Optional. The continue URI of the AuthProvider.
+       * The URI is used to reauthenticate the user and finalize the managed OAuth
+       * flow.
+       * 
+ * + * string continue_uri = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for continueUri. + */ + public com.google.protobuf.ByteString getContinueUriBytes() { + java.lang.Object ref = continueUri_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + continueUri_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Optional. The continue URI of the AuthProvider.
+       * The URI is used to reauthenticate the user and finalize the managed OAuth
+       * flow.
+       * 
+ * + * string continue_uri = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The continueUri to set. + * @return This builder for chaining. + */ + public Builder setContinueUri(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + continueUri_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The continue URI of the AuthProvider.
+       * The URI is used to reauthenticate the user and finalize the managed OAuth
+       * flow.
+       * 
+ * + * string continue_uri = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearContinueUri() { + continueUri_ = getDefaultInstance().getContinueUri(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The continue URI of the AuthProvider.
+       * The URI is used to reauthenticate the user and finalize the managed OAuth
+       * flow.
+       * 
+ * + * string continue_uri = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for continueUri to set. + * @return This builder for chaining. + */ + public Builder setContinueUriBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + continueUri_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.Binding.AuthProviderBinding) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.Binding.AuthProviderBinding) + private static final com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding(); + } + + public static com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public AuthProviderBinding parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int bitField0_; + private int bindingCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object binding_; + + public enum BindingCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + AUTH_PROVIDER_BINDING(6), + BINDING_NOT_SET(0); + private final int value; + + private BindingCase(int value) { + this.value = value; + } + + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static BindingCase valueOf(int value) { + return forNumber(value); + } + + public static BindingCase forNumber(int value) { + switch (value) { + case 6: + return AUTH_PROVIDER_BINDING; + case 0: + return BINDING_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public BindingCase getBindingCase() { + return BindingCase.forNumber(bindingCase_); + } + + public static final int AUTH_PROVIDER_BINDING_FIELD_NUMBER = 6; + + /** + * + * + *
+   * The binding for AuthProvider.
+   * 
+ * + * .google.cloud.agentregistry.v1.Binding.AuthProviderBinding auth_provider_binding = 6; + * + * + * @return Whether the authProviderBinding field is set. + */ + @java.lang.Override + public boolean hasAuthProviderBinding() { + return bindingCase_ == 6; + } + + /** + * + * + *
+   * The binding for AuthProvider.
+   * 
+ * + * .google.cloud.agentregistry.v1.Binding.AuthProviderBinding auth_provider_binding = 6; + * + * + * @return The authProviderBinding. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding getAuthProviderBinding() { + if (bindingCase_ == 6) { + return (com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding) binding_; + } + return com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding.getDefaultInstance(); + } + + /** + * + * + *
+   * The binding for AuthProvider.
+   * 
+ * + * .google.cloud.agentregistry.v1.Binding.AuthProviderBinding auth_provider_binding = 6; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding.AuthProviderBindingOrBuilder + getAuthProviderBindingOrBuilder() { + if (bindingCase_ == 6) { + return (com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding) binding_; + } + return com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding.getDefaultInstance(); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. Identifier. The resource name of the Binding.
+   * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.field_behavior) = REQUIRED]; + * + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. Identifier. The resource name of the Binding.
+   * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.field_behavior) = REQUIRED]; + * + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DISPLAY_NAME_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object displayName_ = ""; + + /** + * + * + *
+   * Optional. User-defined display name for the Binding.
+   * Can have a maximum length of `63` characters.
+   * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The displayName. + */ + @java.lang.Override + public java.lang.String getDisplayName() { + java.lang.Object ref = displayName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + displayName_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. User-defined display name for the Binding.
+   * Can have a maximum length of `63` characters.
+   * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for displayName. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDisplayNameBytes() { + java.lang.Object ref = displayName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + displayName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DESCRIPTION_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object description_ = ""; + + /** + * + * + *
+   * Optional. User-defined description of a Binding.
+   * Can have a maximum length of `2048` characters.
+   * 
+ * + * string description = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The description. + */ + @java.lang.Override + public java.lang.String getDescription() { + java.lang.Object ref = description_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + description_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. User-defined description of a Binding.
+   * Can have a maximum length of `2048` characters.
+   * 
+ * + * string description = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for description. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SOURCE_FIELD_NUMBER = 4; + private com.google.cloud.agentregistry.v1.Binding.Source source_; + + /** + * + * + *
+   * Required. The target Agent of the Binding.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Source source = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the source field is set. + */ + @java.lang.Override + public boolean hasSource() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Required. The target Agent of the Binding.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Source source = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The source. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding.Source getSource() { + return source_ == null + ? com.google.cloud.agentregistry.v1.Binding.Source.getDefaultInstance() + : source_; + } + + /** + * + * + *
+   * Required. The target Agent of the Binding.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Source source = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding.SourceOrBuilder getSourceOrBuilder() { + return source_ == null + ? com.google.cloud.agentregistry.v1.Binding.Source.getDefaultInstance() + : source_; + } + + public static final int TARGET_FIELD_NUMBER = 5; + private com.google.cloud.agentregistry.v1.Binding.Target target_; + + /** + * + * + *
+   * Required. The target Agent Registry Resource of the Binding.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Target target = 5 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the target field is set. + */ + @java.lang.Override + public boolean hasTarget() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Required. The target Agent Registry Resource of the Binding.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Target target = 5 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The target. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding.Target getTarget() { + return target_ == null + ? com.google.cloud.agentregistry.v1.Binding.Target.getDefaultInstance() + : target_; + } + + /** + * + * + *
+   * Required. The target Agent Registry Resource of the Binding.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Target target = 5 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding.TargetOrBuilder getTargetOrBuilder() { + return target_ == null + ? com.google.cloud.agentregistry.v1.Binding.Target.getDefaultInstance() + : target_; + } + + public static final int CREATE_TIME_FIELD_NUMBER = 7; + private com.google.protobuf.Timestamp createTime_; + + /** + * + * + *
+   * Output only. Timestamp when this binding was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + @java.lang.Override + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+   * Output only. Timestamp when this binding was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCreateTime() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + /** + * + * + *
+   * Output only. Timestamp when this binding was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + public static final int UPDATE_TIME_FIELD_NUMBER = 8; + private com.google.protobuf.Timestamp updateTime_; + + /** + * + * + *
+   * Output only. Timestamp when this binding was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + @java.lang.Override + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000008) != 0); + } + + /** + * + * + *
+   * Output only. Timestamp when this binding was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getUpdateTime() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + /** + * + * + *
+   * Output only. Timestamp when this binding was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, displayName_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(description_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, description_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(4, getSource()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(5, getTarget()); + } + if (bindingCase_ == 6) { + output.writeMessage( + 6, (com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding) binding_); + } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeMessage(7, getCreateTime()); + } + if (((bitField0_ & 0x00000008) != 0)) { + output.writeMessage(8, getUpdateTime()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, displayName_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(description_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, description_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getSource()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, getTarget()); + } + if (bindingCase_ == 6) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 6, (com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding) binding_); + } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, getCreateTime()); + } + if (((bitField0_ & 0x00000008) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, getUpdateTime()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.Binding)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.Binding other = + (com.google.cloud.agentregistry.v1.Binding) obj; + + if (!getName().equals(other.getName())) return false; + if (!getDisplayName().equals(other.getDisplayName())) return false; + if (!getDescription().equals(other.getDescription())) return false; + if (hasSource() != other.hasSource()) return false; + if (hasSource()) { + if (!getSource().equals(other.getSource())) return false; + } + if (hasTarget() != other.hasTarget()) return false; + if (hasTarget()) { + if (!getTarget().equals(other.getTarget())) return false; + } + if (hasCreateTime() != other.hasCreateTime()) return false; + if (hasCreateTime()) { + if (!getCreateTime().equals(other.getCreateTime())) return false; + } + if (hasUpdateTime() != other.hasUpdateTime()) return false; + if (hasUpdateTime()) { + if (!getUpdateTime().equals(other.getUpdateTime())) return false; + } + if (!getBindingCase().equals(other.getBindingCase())) return false; + switch (bindingCase_) { + case 6: + if (!getAuthProviderBinding().equals(other.getAuthProviderBinding())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + DISPLAY_NAME_FIELD_NUMBER; + hash = (53 * hash) + getDisplayName().hashCode(); + hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER; + hash = (53 * hash) + getDescription().hashCode(); + if (hasSource()) { + hash = (37 * hash) + SOURCE_FIELD_NUMBER; + hash = (53 * hash) + getSource().hashCode(); + } + if (hasTarget()) { + hash = (37 * hash) + TARGET_FIELD_NUMBER; + hash = (53 * hash) + getTarget().hashCode(); + } + if (hasCreateTime()) { + hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCreateTime().hashCode(); + } + if (hasUpdateTime()) { + hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getUpdateTime().hashCode(); + } + switch (bindingCase_) { + case 6: + hash = (37 * hash) + AUTH_PROVIDER_BINDING_FIELD_NUMBER; + hash = (53 * hash) + getAuthProviderBinding().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.Binding parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Binding parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Binding parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Binding parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Binding parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Binding parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Binding parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Binding parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Binding parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Binding parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Binding parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Binding parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloud.agentregistry.v1.Binding prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Represents a user-defined Binding.
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Binding} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.Binding) + com.google.cloud.agentregistry.v1.BindingOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.BindingProto + .internal_static_google_cloud_agentregistry_v1_Binding_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.BindingProto + .internal_static_google_cloud_agentregistry_v1_Binding_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Binding.class, + com.google.cloud.agentregistry.v1.Binding.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.Binding.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetSourceFieldBuilder(); + internalGetTargetFieldBuilder(); + internalGetCreateTimeFieldBuilder(); + internalGetUpdateTimeFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (authProviderBindingBuilder_ != null) { + authProviderBindingBuilder_.clear(); + } + name_ = ""; + displayName_ = ""; + description_ = ""; + source_ = null; + if (sourceBuilder_ != null) { + sourceBuilder_.dispose(); + sourceBuilder_ = null; + } + target_ = null; + if (targetBuilder_ != null) { + targetBuilder_.dispose(); + targetBuilder_ = null; + } + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + bindingCase_ = 0; + binding_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.BindingProto + .internal_static_google_cloud_agentregistry_v1_Binding_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.Binding.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding build() { + com.google.cloud.agentregistry.v1.Binding result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding buildPartial() { + com.google.cloud.agentregistry.v1.Binding result = + new com.google.cloud.agentregistry.v1.Binding(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.Binding result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.displayName_ = displayName_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.description_ = description_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000010) != 0)) { + result.source_ = sourceBuilder_ == null ? source_ : sourceBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.target_ = targetBuilder_ == null ? target_ : targetBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build(); + to_bitField0_ |= 0x00000004; + } + if (((from_bitField0_ & 0x00000080) != 0)) { + result.updateTime_ = updateTimeBuilder_ == null ? updateTime_ : updateTimeBuilder_.build(); + to_bitField0_ |= 0x00000008; + } + result.bitField0_ |= to_bitField0_; + } + + private void buildPartialOneofs(com.google.cloud.agentregistry.v1.Binding result) { + result.bindingCase_ = bindingCase_; + result.binding_ = this.binding_; + if (bindingCase_ == 6 && authProviderBindingBuilder_ != null) { + result.binding_ = authProviderBindingBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.Binding) { + return mergeFrom((com.google.cloud.agentregistry.v1.Binding) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.Binding other) { + if (other == com.google.cloud.agentregistry.v1.Binding.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getDisplayName().isEmpty()) { + displayName_ = other.displayName_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getDescription().isEmpty()) { + description_ = other.description_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (other.hasSource()) { + mergeSource(other.getSource()); + } + if (other.hasTarget()) { + mergeTarget(other.getTarget()); + } + if (other.hasCreateTime()) { + mergeCreateTime(other.getCreateTime()); + } + if (other.hasUpdateTime()) { + mergeUpdateTime(other.getUpdateTime()); + } + switch (other.getBindingCase()) { + case AUTH_PROVIDER_BINDING: + { + mergeAuthProviderBinding(other.getAuthProviderBinding()); + break; + } + case BINDING_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 10 + case 18: + { + displayName_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 18 + case 26: + { + description_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 26 + case 34: + { + input.readMessage(internalGetSourceFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000010; + break; + } // case 34 + case 42: + { + input.readMessage(internalGetTargetFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000020; + break; + } // case 42 + case 50: + { + input.readMessage( + internalGetAuthProviderBindingFieldBuilder().getBuilder(), extensionRegistry); + bindingCase_ = 6; + break; + } // case 50 + case 58: + { + input.readMessage( + internalGetCreateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000040; + break; + } // case 58 + case 66: + { + input.readMessage( + internalGetUpdateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000080; + break; + } // case 66 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bindingCase_ = 0; + private java.lang.Object binding_; + + public BindingCase getBindingCase() { + return BindingCase.forNumber(bindingCase_); + } + + public Builder clearBinding() { + bindingCase_ = 0; + binding_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding, + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding.Builder, + com.google.cloud.agentregistry.v1.Binding.AuthProviderBindingOrBuilder> + authProviderBindingBuilder_; + + /** + * + * + *
+     * The binding for AuthProvider.
+     * 
+ * + * .google.cloud.agentregistry.v1.Binding.AuthProviderBinding auth_provider_binding = 6; + * + * + * @return Whether the authProviderBinding field is set. + */ + @java.lang.Override + public boolean hasAuthProviderBinding() { + return bindingCase_ == 6; + } + + /** + * + * + *
+     * The binding for AuthProvider.
+     * 
+ * + * .google.cloud.agentregistry.v1.Binding.AuthProviderBinding auth_provider_binding = 6; + * + * + * @return The authProviderBinding. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding getAuthProviderBinding() { + if (authProviderBindingBuilder_ == null) { + if (bindingCase_ == 6) { + return (com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding) binding_; + } + return com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding.getDefaultInstance(); + } else { + if (bindingCase_ == 6) { + return authProviderBindingBuilder_.getMessage(); + } + return com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding.getDefaultInstance(); + } + } + + /** + * + * + *
+     * The binding for AuthProvider.
+     * 
+ * + * .google.cloud.agentregistry.v1.Binding.AuthProviderBinding auth_provider_binding = 6; + * + */ + public Builder setAuthProviderBinding( + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding value) { + if (authProviderBindingBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + binding_ = value; + onChanged(); + } else { + authProviderBindingBuilder_.setMessage(value); + } + bindingCase_ = 6; + return this; + } + + /** + * + * + *
+     * The binding for AuthProvider.
+     * 
+ * + * .google.cloud.agentregistry.v1.Binding.AuthProviderBinding auth_provider_binding = 6; + * + */ + public Builder setAuthProviderBinding( + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding.Builder builderForValue) { + if (authProviderBindingBuilder_ == null) { + binding_ = builderForValue.build(); + onChanged(); + } else { + authProviderBindingBuilder_.setMessage(builderForValue.build()); + } + bindingCase_ = 6; + return this; + } + + /** + * + * + *
+     * The binding for AuthProvider.
+     * 
+ * + * .google.cloud.agentregistry.v1.Binding.AuthProviderBinding auth_provider_binding = 6; + * + */ + public Builder mergeAuthProviderBinding( + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding value) { + if (authProviderBindingBuilder_ == null) { + if (bindingCase_ == 6 + && binding_ + != com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding + .getDefaultInstance()) { + binding_ = + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding.newBuilder( + (com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding) binding_) + .mergeFrom(value) + .buildPartial(); + } else { + binding_ = value; + } + onChanged(); + } else { + if (bindingCase_ == 6) { + authProviderBindingBuilder_.mergeFrom(value); + } else { + authProviderBindingBuilder_.setMessage(value); + } + } + bindingCase_ = 6; + return this; + } + + /** + * + * + *
+     * The binding for AuthProvider.
+     * 
+ * + * .google.cloud.agentregistry.v1.Binding.AuthProviderBinding auth_provider_binding = 6; + * + */ + public Builder clearAuthProviderBinding() { + if (authProviderBindingBuilder_ == null) { + if (bindingCase_ == 6) { + bindingCase_ = 0; + binding_ = null; + onChanged(); + } + } else { + if (bindingCase_ == 6) { + bindingCase_ = 0; + binding_ = null; + } + authProviderBindingBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * The binding for AuthProvider.
+     * 
+ * + * .google.cloud.agentregistry.v1.Binding.AuthProviderBinding auth_provider_binding = 6; + * + */ + public com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding.Builder + getAuthProviderBindingBuilder() { + return internalGetAuthProviderBindingFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * The binding for AuthProvider.
+     * 
+ * + * .google.cloud.agentregistry.v1.Binding.AuthProviderBinding auth_provider_binding = 6; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding.AuthProviderBindingOrBuilder + getAuthProviderBindingOrBuilder() { + if ((bindingCase_ == 6) && (authProviderBindingBuilder_ != null)) { + return authProviderBindingBuilder_.getMessageOrBuilder(); + } else { + if (bindingCase_ == 6) { + return (com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding) binding_; + } + return com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding.getDefaultInstance(); + } + } + + /** + * + * + *
+     * The binding for AuthProvider.
+     * 
+ * + * .google.cloud.agentregistry.v1.Binding.AuthProviderBinding auth_provider_binding = 6; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding, + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding.Builder, + com.google.cloud.agentregistry.v1.Binding.AuthProviderBindingOrBuilder> + internalGetAuthProviderBindingFieldBuilder() { + if (authProviderBindingBuilder_ == null) { + if (!(bindingCase_ == 6)) { + binding_ = + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding.getDefaultInstance(); + } + authProviderBindingBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding, + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding.Builder, + com.google.cloud.agentregistry.v1.Binding.AuthProviderBindingOrBuilder>( + (com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding) binding_, + getParentForChildren(), + isClean()); + binding_ = null; + } + bindingCase_ = 6; + onChanged(); + return authProviderBindingBuilder_; + } + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Required. Identifier. The resource name of the Binding.
+     * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.field_behavior) = REQUIRED]; + * + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. Identifier. The resource name of the Binding.
+     * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.field_behavior) = REQUIRED]; + * + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. Identifier. The resource name of the Binding.
+     * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.field_behavior) = REQUIRED]; + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Identifier. The resource name of the Binding.
+     * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.field_behavior) = REQUIRED]; + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Identifier. The resource name of the Binding.
+     * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.field_behavior) = REQUIRED]; + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object displayName_ = ""; + + /** + * + * + *
+     * Optional. User-defined display name for the Binding.
+     * Can have a maximum length of `63` characters.
+     * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The displayName. + */ + public java.lang.String getDisplayName() { + java.lang.Object ref = displayName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + displayName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. User-defined display name for the Binding.
+     * Can have a maximum length of `63` characters.
+     * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for displayName. + */ + public com.google.protobuf.ByteString getDisplayNameBytes() { + java.lang.Object ref = displayName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + displayName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. User-defined display name for the Binding.
+     * Can have a maximum length of `63` characters.
+     * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The displayName to set. + * @return This builder for chaining. + */ + public Builder setDisplayName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + displayName_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. User-defined display name for the Binding.
+     * Can have a maximum length of `63` characters.
+     * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearDisplayName() { + displayName_ = getDefaultInstance().getDisplayName(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. User-defined display name for the Binding.
+     * Can have a maximum length of `63` characters.
+     * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for displayName to set. + * @return This builder for chaining. + */ + public Builder setDisplayNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + displayName_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object description_ = ""; + + /** + * + * + *
+     * Optional. User-defined description of a Binding.
+     * Can have a maximum length of `2048` characters.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The description. + */ + public java.lang.String getDescription() { + java.lang.Object ref = description_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + description_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. User-defined description of a Binding.
+     * Can have a maximum length of `2048` characters.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for description. + */ + public com.google.protobuf.ByteString getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. User-defined description of a Binding.
+     * Can have a maximum length of `2048` characters.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The description to set. + * @return This builder for chaining. + */ + public Builder setDescription(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + description_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. User-defined description of a Binding.
+     * Can have a maximum length of `2048` characters.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearDescription() { + description_ = getDefaultInstance().getDescription(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. User-defined description of a Binding.
+     * Can have a maximum length of `2048` characters.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for description to set. + * @return This builder for chaining. + */ + public Builder setDescriptionBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + description_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private com.google.cloud.agentregistry.v1.Binding.Source source_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Binding.Source, + com.google.cloud.agentregistry.v1.Binding.Source.Builder, + com.google.cloud.agentregistry.v1.Binding.SourceOrBuilder> + sourceBuilder_; + + /** + * + * + *
+     * Required. The target Agent of the Binding.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Source source = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the source field is set. + */ + public boolean hasSource() { + return ((bitField0_ & 0x00000010) != 0); + } + + /** + * + * + *
+     * Required. The target Agent of the Binding.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Source source = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The source. + */ + public com.google.cloud.agentregistry.v1.Binding.Source getSource() { + if (sourceBuilder_ == null) { + return source_ == null + ? com.google.cloud.agentregistry.v1.Binding.Source.getDefaultInstance() + : source_; + } else { + return sourceBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Required. The target Agent of the Binding.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Source source = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setSource(com.google.cloud.agentregistry.v1.Binding.Source value) { + if (sourceBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + source_ = value; + } else { + sourceBuilder_.setMessage(value); + } + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The target Agent of the Binding.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Source source = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setSource( + com.google.cloud.agentregistry.v1.Binding.Source.Builder builderForValue) { + if (sourceBuilder_ == null) { + source_ = builderForValue.build(); + } else { + sourceBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The target Agent of the Binding.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Source source = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeSource(com.google.cloud.agentregistry.v1.Binding.Source value) { + if (sourceBuilder_ == null) { + if (((bitField0_ & 0x00000010) != 0) + && source_ != null + && source_ != com.google.cloud.agentregistry.v1.Binding.Source.getDefaultInstance()) { + getSourceBuilder().mergeFrom(value); + } else { + source_ = value; + } + } else { + sourceBuilder_.mergeFrom(value); + } + if (source_ != null) { + bitField0_ |= 0x00000010; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Required. The target Agent of the Binding.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Source source = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearSource() { + bitField0_ = (bitField0_ & ~0x00000010); + source_ = null; + if (sourceBuilder_ != null) { + sourceBuilder_.dispose(); + sourceBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The target Agent of the Binding.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Source source = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.agentregistry.v1.Binding.Source.Builder getSourceBuilder() { + bitField0_ |= 0x00000010; + onChanged(); + return internalGetSourceFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Required. The target Agent of the Binding.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Source source = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.agentregistry.v1.Binding.SourceOrBuilder getSourceOrBuilder() { + if (sourceBuilder_ != null) { + return sourceBuilder_.getMessageOrBuilder(); + } else { + return source_ == null + ? com.google.cloud.agentregistry.v1.Binding.Source.getDefaultInstance() + : source_; + } + } + + /** + * + * + *
+     * Required. The target Agent of the Binding.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Source source = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Binding.Source, + com.google.cloud.agentregistry.v1.Binding.Source.Builder, + com.google.cloud.agentregistry.v1.Binding.SourceOrBuilder> + internalGetSourceFieldBuilder() { + if (sourceBuilder_ == null) { + sourceBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Binding.Source, + com.google.cloud.agentregistry.v1.Binding.Source.Builder, + com.google.cloud.agentregistry.v1.Binding.SourceOrBuilder>( + getSource(), getParentForChildren(), isClean()); + source_ = null; + } + return sourceBuilder_; + } + + private com.google.cloud.agentregistry.v1.Binding.Target target_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Binding.Target, + com.google.cloud.agentregistry.v1.Binding.Target.Builder, + com.google.cloud.agentregistry.v1.Binding.TargetOrBuilder> + targetBuilder_; + + /** + * + * + *
+     * Required. The target Agent Registry Resource of the Binding.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Target target = 5 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the target field is set. + */ + public boolean hasTarget() { + return ((bitField0_ & 0x00000020) != 0); + } + + /** + * + * + *
+     * Required. The target Agent Registry Resource of the Binding.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Target target = 5 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The target. + */ + public com.google.cloud.agentregistry.v1.Binding.Target getTarget() { + if (targetBuilder_ == null) { + return target_ == null + ? com.google.cloud.agentregistry.v1.Binding.Target.getDefaultInstance() + : target_; + } else { + return targetBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Required. The target Agent Registry Resource of the Binding.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Target target = 5 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setTarget(com.google.cloud.agentregistry.v1.Binding.Target value) { + if (targetBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + target_ = value; + } else { + targetBuilder_.setMessage(value); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The target Agent Registry Resource of the Binding.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Target target = 5 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setTarget( + com.google.cloud.agentregistry.v1.Binding.Target.Builder builderForValue) { + if (targetBuilder_ == null) { + target_ = builderForValue.build(); + } else { + targetBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The target Agent Registry Resource of the Binding.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Target target = 5 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeTarget(com.google.cloud.agentregistry.v1.Binding.Target value) { + if (targetBuilder_ == null) { + if (((bitField0_ & 0x00000020) != 0) + && target_ != null + && target_ != com.google.cloud.agentregistry.v1.Binding.Target.getDefaultInstance()) { + getTargetBuilder().mergeFrom(value); + } else { + target_ = value; + } + } else { + targetBuilder_.mergeFrom(value); + } + if (target_ != null) { + bitField0_ |= 0x00000020; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Required. The target Agent Registry Resource of the Binding.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Target target = 5 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearTarget() { + bitField0_ = (bitField0_ & ~0x00000020); + target_ = null; + if (targetBuilder_ != null) { + targetBuilder_.dispose(); + targetBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The target Agent Registry Resource of the Binding.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Target target = 5 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.agentregistry.v1.Binding.Target.Builder getTargetBuilder() { + bitField0_ |= 0x00000020; + onChanged(); + return internalGetTargetFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Required. The target Agent Registry Resource of the Binding.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Target target = 5 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.agentregistry.v1.Binding.TargetOrBuilder getTargetOrBuilder() { + if (targetBuilder_ != null) { + return targetBuilder_.getMessageOrBuilder(); + } else { + return target_ == null + ? com.google.cloud.agentregistry.v1.Binding.Target.getDefaultInstance() + : target_; + } + } + + /** + * + * + *
+     * Required. The target Agent Registry Resource of the Binding.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Target target = 5 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Binding.Target, + com.google.cloud.agentregistry.v1.Binding.Target.Builder, + com.google.cloud.agentregistry.v1.Binding.TargetOrBuilder> + internalGetTargetFieldBuilder() { + if (targetBuilder_ == null) { + targetBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Binding.Target, + com.google.cloud.agentregistry.v1.Binding.Target.Builder, + com.google.cloud.agentregistry.v1.Binding.TargetOrBuilder>( + getTarget(), getParentForChildren(), isClean()); + target_ = null; + } + return targetBuilder_; + } + + private com.google.protobuf.Timestamp createTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + createTimeBuilder_; + + /** + * + * + *
+     * Output only. Timestamp when this binding was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000040) != 0); + } + + /** + * + * + *
+     * Output only. Timestamp when this binding was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + public com.google.protobuf.Timestamp getCreateTime() { + if (createTimeBuilder_ == null) { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } else { + return createTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. Timestamp when this binding was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + createTime_ = value; + } else { + createTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Timestamp when this binding was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (createTimeBuilder_ == null) { + createTime_ = builderForValue.build(); + } else { + createTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Timestamp when this binding was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (((bitField0_ & 0x00000040) != 0) + && createTime_ != null + && createTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getCreateTimeBuilder().mergeFrom(value); + } else { + createTime_ = value; + } + } else { + createTimeBuilder_.mergeFrom(value); + } + if (createTime_ != null) { + bitField0_ |= 0x00000040; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. Timestamp when this binding was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCreateTime() { + bitField0_ = (bitField0_ & ~0x00000040); + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Timestamp when this binding was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() { + bitField0_ |= 0x00000040; + onChanged(); + return internalGetCreateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. Timestamp when this binding was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + if (createTimeBuilder_ != null) { + return createTimeBuilder_.getMessageOrBuilder(); + } else { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } + } + + /** + * + * + *
+     * Output only. Timestamp when this binding was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetCreateTimeFieldBuilder() { + if (createTimeBuilder_ == null) { + createTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCreateTime(), getParentForChildren(), isClean()); + createTime_ = null; + } + return createTimeBuilder_; + } + + private com.google.protobuf.Timestamp updateTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + updateTimeBuilder_; + + /** + * + * + *
+     * Output only. Timestamp when this binding was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000080) != 0); + } + + /** + * + * + *
+     * Output only. Timestamp when this binding was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + public com.google.protobuf.Timestamp getUpdateTime() { + if (updateTimeBuilder_ == null) { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } else { + return updateTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. Timestamp when this binding was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateTime_ = value; + } else { + updateTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000080; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Timestamp when this binding was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (updateTimeBuilder_ == null) { + updateTime_ = builderForValue.build(); + } else { + updateTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000080; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Timestamp when this binding was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (((bitField0_ & 0x00000080) != 0) + && updateTime_ != null + && updateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getUpdateTimeBuilder().mergeFrom(value); + } else { + updateTime_ = value; + } + } else { + updateTimeBuilder_.mergeFrom(value); + } + if (updateTime_ != null) { + bitField0_ |= 0x00000080; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. Timestamp when this binding was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearUpdateTime() { + bitField0_ = (bitField0_ & ~0x00000080); + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Timestamp when this binding was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getUpdateTimeBuilder() { + bitField0_ |= 0x00000080; + onChanged(); + return internalGetUpdateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. Timestamp when this binding was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + if (updateTimeBuilder_ != null) { + return updateTimeBuilder_.getMessageOrBuilder(); + } else { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } + } + + /** + * + * + *
+     * Output only. Timestamp when this binding was last updated.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetUpdateTimeFieldBuilder() { + if (updateTimeBuilder_ == null) { + updateTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getUpdateTime(), getParentForChildren(), isClean()); + updateTime_ = null; + } + return updateTimeBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.Binding) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.Binding) + private static final com.google.cloud.agentregistry.v1.Binding DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.Binding(); + } + + public static com.google.cloud.agentregistry.v1.Binding getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Binding parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/BindingName.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/BindingName.java new file mode 100644 index 000000000000..1f30c38db2c5 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/BindingName.java @@ -0,0 +1,223 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1; + +import com.google.api.pathtemplate.PathTemplate; +import com.google.api.resourcenames.ResourceName; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@Generated("by gapic-generator-java") +public class BindingName implements ResourceName { + private static final PathTemplate PROJECT_LOCATION_BINDING = + PathTemplate.createWithoutUrlEncoding( + "projects/{project}/locations/{location}/bindings/{binding}"); + private volatile Map fieldValuesMap; + private final String project; + private final String location; + private final String binding; + + @Deprecated + protected BindingName() { + project = null; + location = null; + binding = null; + } + + private BindingName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + binding = Preconditions.checkNotNull(builder.getBinding()); + } + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getBinding() { + return binding; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static BindingName of(String project, String location, String binding) { + return newBuilder().setProject(project).setLocation(location).setBinding(binding).build(); + } + + public static String format(String project, String location, String binding) { + return newBuilder() + .setProject(project) + .setLocation(location) + .setBinding(binding) + .build() + .toString(); + } + + public static BindingName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + Map matchMap = + PROJECT_LOCATION_BINDING.validatedMatch( + formattedString, "BindingName.parse: formattedString not in valid format"); + return of(matchMap.get("project"), matchMap.get("location"), matchMap.get("binding")); + } + + public static List parseList(List formattedStrings) { + List list = new ArrayList<>(formattedStrings.size()); + for (String formattedString : formattedStrings) { + list.add(parse(formattedString)); + } + return list; + } + + public static List toStringList(List values) { + List list = new ArrayList<>(values.size()); + for (BindingName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return PROJECT_LOCATION_BINDING.matches(formattedString); + } + + @Override + public Map getFieldValuesMap() { + if (fieldValuesMap == null) { + synchronized (this) { + if (fieldValuesMap == null) { + ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + if (binding != null) { + fieldMapBuilder.put("binding", binding); + } + fieldValuesMap = fieldMapBuilder.build(); + } + } + } + return fieldValuesMap; + } + + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return PROJECT_LOCATION_BINDING.instantiate( + "project", project, "location", location, "binding", binding); + } + + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + if (o != null && getClass() == o.getClass()) { + BindingName that = ((BindingName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location) + && Objects.equals(this.binding, that.binding); + } + return false; + } + + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + h *= 1000003; + h ^= Objects.hashCode(binding); + return h; + } + + /** Builder for projects/{project}/locations/{location}/bindings/{binding}. */ + public static class Builder { + private String project; + private String location; + private String binding; + + protected Builder() {} + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getBinding() { + return binding; + } + + public Builder setProject(String project) { + this.project = project; + return this; + } + + public Builder setLocation(String location) { + this.location = location; + return this; + } + + public Builder setBinding(String binding) { + this.binding = binding; + return this; + } + + private Builder(BindingName bindingName) { + this.project = bindingName.project; + this.location = bindingName.location; + this.binding = bindingName.binding; + } + + public BindingName build() { + return new BindingName(this); + } + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/BindingOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/BindingOrBuilder.java new file mode 100644 index 000000000000..bb7f735aeb5b --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/BindingOrBuilder.java @@ -0,0 +1,325 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/binding.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface BindingOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.Binding) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The binding for AuthProvider.
+   * 
+ * + * .google.cloud.agentregistry.v1.Binding.AuthProviderBinding auth_provider_binding = 6; + * + * + * @return Whether the authProviderBinding field is set. + */ + boolean hasAuthProviderBinding(); + + /** + * + * + *
+   * The binding for AuthProvider.
+   * 
+ * + * .google.cloud.agentregistry.v1.Binding.AuthProviderBinding auth_provider_binding = 6; + * + * + * @return The authProviderBinding. + */ + com.google.cloud.agentregistry.v1.Binding.AuthProviderBinding getAuthProviderBinding(); + + /** + * + * + *
+   * The binding for AuthProvider.
+   * 
+ * + * .google.cloud.agentregistry.v1.Binding.AuthProviderBinding auth_provider_binding = 6; + * + */ + com.google.cloud.agentregistry.v1.Binding.AuthProviderBindingOrBuilder + getAuthProviderBindingOrBuilder(); + + /** + * + * + *
+   * Required. Identifier. The resource name of the Binding.
+   * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.field_behavior) = REQUIRED]; + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. Identifier. The resource name of the Binding.
+   * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.field_behavior) = REQUIRED]; + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Optional. User-defined display name for the Binding.
+   * Can have a maximum length of `63` characters.
+   * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The displayName. + */ + java.lang.String getDisplayName(); + + /** + * + * + *
+   * Optional. User-defined display name for the Binding.
+   * Can have a maximum length of `63` characters.
+   * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for displayName. + */ + com.google.protobuf.ByteString getDisplayNameBytes(); + + /** + * + * + *
+   * Optional. User-defined description of a Binding.
+   * Can have a maximum length of `2048` characters.
+   * 
+ * + * string description = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The description. + */ + java.lang.String getDescription(); + + /** + * + * + *
+   * Optional. User-defined description of a Binding.
+   * Can have a maximum length of `2048` characters.
+   * 
+ * + * string description = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for description. + */ + com.google.protobuf.ByteString getDescriptionBytes(); + + /** + * + * + *
+   * Required. The target Agent of the Binding.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Source source = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the source field is set. + */ + boolean hasSource(); + + /** + * + * + *
+   * Required. The target Agent of the Binding.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Source source = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The source. + */ + com.google.cloud.agentregistry.v1.Binding.Source getSource(); + + /** + * + * + *
+   * Required. The target Agent of the Binding.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Source source = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.cloud.agentregistry.v1.Binding.SourceOrBuilder getSourceOrBuilder(); + + /** + * + * + *
+   * Required. The target Agent Registry Resource of the Binding.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Target target = 5 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the target field is set. + */ + boolean hasTarget(); + + /** + * + * + *
+   * Required. The target Agent Registry Resource of the Binding.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Target target = 5 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The target. + */ + com.google.cloud.agentregistry.v1.Binding.Target getTarget(); + + /** + * + * + *
+   * Required. The target Agent Registry Resource of the Binding.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding.Target target = 5 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.cloud.agentregistry.v1.Binding.TargetOrBuilder getTargetOrBuilder(); + + /** + * + * + *
+   * Output only. Timestamp when this binding was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + boolean hasCreateTime(); + + /** + * + * + *
+   * Output only. Timestamp when this binding was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + com.google.protobuf.Timestamp getCreateTime(); + + /** + * + * + *
+   * Output only. Timestamp when this binding was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. Timestamp when this binding was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + boolean hasUpdateTime(); + + /** + * + * + *
+   * Output only. Timestamp when this binding was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + com.google.protobuf.Timestamp getUpdateTime(); + + /** + * + * + *
+   * Output only. Timestamp when this binding was last updated.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder(); + + com.google.cloud.agentregistry.v1.Binding.BindingCase getBindingCase(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/BindingProto.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/BindingProto.java new file mode 100644 index 000000000000..6cfaee48cec1 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/BindingProto.java @@ -0,0 +1,164 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/binding.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public final class BindingProto extends com.google.protobuf.GeneratedFile { + private BindingProto() {} + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "BindingProto"); + } + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {} + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry); + } + + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_Binding_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_Binding_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_Binding_Source_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_Binding_Source_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_Binding_Target_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_Binding_Target_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_Binding_AuthProviderBinding_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_Binding_AuthProviderBinding_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + + static { + java.lang.String[] descriptorData = { + "\n" + + "+google/cloud/agentregistry/v1/binding." + + "proto\022\035google.cloud.agentregistry.v1\032\037go" + + "ogle/api/field_behavior.proto\032\031google/ap" + + "i/resource.proto\032\037google/protobuf/timestamp.proto\"\353\005\n" + + "\007Binding\022[\n" + + "\025auth_provider_binding\030\006" + + " \001(\0132:.google.cloud.agentregistry.v1.Binding.AuthProviderBindingH\000\022\024\n" + + "\004name\030\001 \001(\tB\006\340A\010\340A\002\022\031\n" + + "\014display_name\030\002 \001(\tB\003\340A\001\022\030\n" + + "\013description\030\003 \001(\tB\003\340A\001\022B\n" + + "\006source\030\004" + + " \001(\0132-.google.cloud.agentregistry.v1.Binding.SourceB\003\340A\002\022B\n" + + "\006target\030\005 \001(\0132-.goog" + + "le.cloud.agentregistry.v1.Binding.TargetB\003\340A\002\0224\n" + + "\013create_time\030\007 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n" + + "\013update_time\030\010 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\032-\n" + + "\006Source\022\024\n\n" + + "identifier\030\001 \001(\tH\000B\r\n" + + "\013source_type\032-\n" + + "\006Target\022\024\n\n" + + "identifier\030\001 \001(\tH\000B\r\n" + + "\013target_type\032a\n" + + "\023AuthProviderBinding\022\032\n\r" + + "auth_provider\030\001 \001(\tB\003\340A\002\022\023\n" + + "\006scopes\030\002 \003(\tB\003\340A\001\022\031\n" + + "\014continue_uri\030\003 \001(\tB\003\340A\001:x\352Au\n" + + "$agentregistry.googleapis.com/Binding\022:projects/" + + "{project}/locations/{location}/bindings/{binding}*\010bindings2\007bindingB\t\n" + + "\007bindingB\337\001\n" + + "!com.google.cloud.agentregistry.v1B\014BindingProtoP\001ZGcloud.google.com/go/agent" + + "registry/apiv1/agentregistrypb;agentregi" + + "strypb\252\002\035Google.Cloud.AgentRegistry.V1\312\002\035Google\\Cloud\\AgentRegistry\\V1\352\002" + + " Google::Cloud::AgentRegistry::V1b\006proto3" + }; + descriptor = + com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( + descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + com.google.api.FieldBehaviorProto.getDescriptor(), + com.google.api.ResourceProto.getDescriptor(), + com.google.protobuf.TimestampProto.getDescriptor(), + }); + internal_static_google_cloud_agentregistry_v1_Binding_descriptor = + getDescriptor().getMessageType(0); + internal_static_google_cloud_agentregistry_v1_Binding_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_Binding_descriptor, + new java.lang.String[] { + "AuthProviderBinding", + "Name", + "DisplayName", + "Description", + "Source", + "Target", + "CreateTime", + "UpdateTime", + "Binding", + }); + internal_static_google_cloud_agentregistry_v1_Binding_Source_descriptor = + internal_static_google_cloud_agentregistry_v1_Binding_descriptor.getNestedType(0); + internal_static_google_cloud_agentregistry_v1_Binding_Source_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_Binding_Source_descriptor, + new java.lang.String[] { + "Identifier", "SourceType", + }); + internal_static_google_cloud_agentregistry_v1_Binding_Target_descriptor = + internal_static_google_cloud_agentregistry_v1_Binding_descriptor.getNestedType(1); + internal_static_google_cloud_agentregistry_v1_Binding_Target_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_Binding_Target_descriptor, + new java.lang.String[] { + "Identifier", "TargetType", + }); + internal_static_google_cloud_agentregistry_v1_Binding_AuthProviderBinding_descriptor = + internal_static_google_cloud_agentregistry_v1_Binding_descriptor.getNestedType(2); + internal_static_google_cloud_agentregistry_v1_Binding_AuthProviderBinding_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_Binding_AuthProviderBinding_descriptor, + new java.lang.String[] { + "AuthProvider", "Scopes", "ContinueUri", + }); + descriptor.resolveAllFeaturesImmutable(); + com.google.api.FieldBehaviorProto.getDescriptor(); + com.google.api.ResourceProto.getDescriptor(); + com.google.protobuf.TimestampProto.getDescriptor(); + com.google.protobuf.ExtensionRegistry registry = + com.google.protobuf.ExtensionRegistry.newInstance(); + registry.add(com.google.api.FieldBehaviorProto.fieldBehavior); + registry.add(com.google.api.ResourceProto.resource); + com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( + descriptor, registry); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/CreateBindingRequest.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/CreateBindingRequest.java new file mode 100644 index 000000000000..01a5d5b63443 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/CreateBindingRequest.java @@ -0,0 +1,1444 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for creating a Binding
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.CreateBindingRequest} + */ +@com.google.protobuf.Generated +public final class CreateBindingRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.CreateBindingRequest) + CreateBindingRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "CreateBindingRequest"); + } + + // Use CreateBindingRequest.newBuilder() to construct. + private CreateBindingRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private CreateBindingRequest() { + parent_ = ""; + bindingId_ = ""; + requestId_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_CreateBindingRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_CreateBindingRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.CreateBindingRequest.class, + com.google.cloud.agentregistry.v1.CreateBindingRequest.Builder.class); + } + + private int bitField0_; + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. The project and location to create the Binding in.
+   * Expected format: `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The project and location to create the Binding in.
+   * Expected format: `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int BINDING_ID_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object bindingId_ = ""; + + /** + * + * + *
+   * Required. The ID to use for the binding, which will become the final
+   * component of the binding's resource name.
+   *
+   * This value should be 4-63 characters, and must conform to RFC-1034.
+   * Specifically, it must match the regular expression
+   * `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.
+   * 
+ * + * string binding_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bindingId. + */ + @java.lang.Override + public java.lang.String getBindingId() { + java.lang.Object ref = bindingId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + bindingId_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The ID to use for the binding, which will become the final
+   * component of the binding's resource name.
+   *
+   * This value should be 4-63 characters, and must conform to RFC-1034.
+   * Specifically, it must match the regular expression
+   * `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.
+   * 
+ * + * string binding_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for bindingId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getBindingIdBytes() { + java.lang.Object ref = bindingId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + bindingId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int BINDING_FIELD_NUMBER = 3; + private com.google.cloud.agentregistry.v1.Binding binding_; + + /** + * + * + *
+   * Required. The Binding resource that is being created.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the binding field is set. + */ + @java.lang.Override + public boolean hasBinding() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Required. The Binding resource that is being created.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The binding. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding getBinding() { + return binding_ == null + ? com.google.cloud.agentregistry.v1.Binding.getDefaultInstance() + : binding_; + } + + /** + * + * + *
+   * Required. The Binding resource that is being created.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.BindingOrBuilder getBindingOrBuilder() { + return binding_ == null + ? com.google.cloud.agentregistry.v1.Binding.getDefaultInstance() + : binding_; + } + + public static final int REQUEST_ID_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private volatile java.lang.Object requestId_ = ""; + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The requestId. + */ + @java.lang.Override + public java.lang.String getRequestId() { + java.lang.Object ref = requestId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + requestId_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The bytes for requestId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getRequestIdBytes() { + java.lang.Object ref = requestId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + requestId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(bindingId_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, bindingId_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(3, getBinding()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(requestId_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, requestId_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(bindingId_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, bindingId_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getBinding()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(requestId_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, requestId_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.CreateBindingRequest)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.CreateBindingRequest other = + (com.google.cloud.agentregistry.v1.CreateBindingRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (!getBindingId().equals(other.getBindingId())) return false; + if (hasBinding() != other.hasBinding()) return false; + if (hasBinding()) { + if (!getBinding().equals(other.getBinding())) return false; + } + if (!getRequestId().equals(other.getRequestId())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + BINDING_ID_FIELD_NUMBER; + hash = (53 * hash) + getBindingId().hashCode(); + if (hasBinding()) { + hash = (37 * hash) + BINDING_FIELD_NUMBER; + hash = (53 * hash) + getBinding().hashCode(); + } + hash = (37 * hash) + REQUEST_ID_FIELD_NUMBER; + hash = (53 * hash) + getRequestId().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.CreateBindingRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.CreateBindingRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.CreateBindingRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.CreateBindingRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.CreateBindingRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.CreateBindingRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.CreateBindingRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.CreateBindingRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.CreateBindingRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.CreateBindingRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.CreateBindingRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.CreateBindingRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.CreateBindingRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for creating a Binding
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.CreateBindingRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.CreateBindingRequest) + com.google.cloud.agentregistry.v1.CreateBindingRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_CreateBindingRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_CreateBindingRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.CreateBindingRequest.class, + com.google.cloud.agentregistry.v1.CreateBindingRequest.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.CreateBindingRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetBindingFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + bindingId_ = ""; + binding_ = null; + if (bindingBuilder_ != null) { + bindingBuilder_.dispose(); + bindingBuilder_ = null; + } + requestId_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_CreateBindingRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.CreateBindingRequest getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.CreateBindingRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.CreateBindingRequest build() { + com.google.cloud.agentregistry.v1.CreateBindingRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.CreateBindingRequest buildPartial() { + com.google.cloud.agentregistry.v1.CreateBindingRequest result = + new com.google.cloud.agentregistry.v1.CreateBindingRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.CreateBindingRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.bindingId_ = bindingId_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.binding_ = bindingBuilder_ == null ? binding_ : bindingBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.requestId_ = requestId_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.CreateBindingRequest) { + return mergeFrom((com.google.cloud.agentregistry.v1.CreateBindingRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.CreateBindingRequest other) { + if (other == com.google.cloud.agentregistry.v1.CreateBindingRequest.getDefaultInstance()) + return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getBindingId().isEmpty()) { + bindingId_ = other.bindingId_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.hasBinding()) { + mergeBinding(other.getBinding()); + } + if (!other.getRequestId().isEmpty()) { + requestId_ = other.requestId_; + bitField0_ |= 0x00000008; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + bindingId_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + input.readMessage(internalGetBindingFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: + { + requestId_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object parent_ = ""; + + /** + * + * + *
+     * Required. The project and location to create the Binding in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The project and location to create the Binding in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The project and location to create the Binding in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The project and location to create the Binding in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The project and location to create the Binding in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object bindingId_ = ""; + + /** + * + * + *
+     * Required. The ID to use for the binding, which will become the final
+     * component of the binding's resource name.
+     *
+     * This value should be 4-63 characters, and must conform to RFC-1034.
+     * Specifically, it must match the regular expression
+     * `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.
+     * 
+ * + * string binding_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bindingId. + */ + public java.lang.String getBindingId() { + java.lang.Object ref = bindingId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + bindingId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The ID to use for the binding, which will become the final
+     * component of the binding's resource name.
+     *
+     * This value should be 4-63 characters, and must conform to RFC-1034.
+     * Specifically, it must match the regular expression
+     * `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.
+     * 
+ * + * string binding_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for bindingId. + */ + public com.google.protobuf.ByteString getBindingIdBytes() { + java.lang.Object ref = bindingId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + bindingId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The ID to use for the binding, which will become the final
+     * component of the binding's resource name.
+     *
+     * This value should be 4-63 characters, and must conform to RFC-1034.
+     * Specifically, it must match the regular expression
+     * `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.
+     * 
+ * + * string binding_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @param value The bindingId to set. + * @return This builder for chaining. + */ + public Builder setBindingId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + bindingId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The ID to use for the binding, which will become the final
+     * component of the binding's resource name.
+     *
+     * This value should be 4-63 characters, and must conform to RFC-1034.
+     * Specifically, it must match the regular expression
+     * `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.
+     * 
+ * + * string binding_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return This builder for chaining. + */ + public Builder clearBindingId() { + bindingId_ = getDefaultInstance().getBindingId(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The ID to use for the binding, which will become the final
+     * component of the binding's resource name.
+     *
+     * This value should be 4-63 characters, and must conform to RFC-1034.
+     * Specifically, it must match the regular expression
+     * `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.
+     * 
+ * + * string binding_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @param value The bytes for bindingId to set. + * @return This builder for chaining. + */ + public Builder setBindingIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + bindingId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private com.google.cloud.agentregistry.v1.Binding binding_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Binding, + com.google.cloud.agentregistry.v1.Binding.Builder, + com.google.cloud.agentregistry.v1.BindingOrBuilder> + bindingBuilder_; + + /** + * + * + *
+     * Required. The Binding resource that is being created.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the binding field is set. + */ + public boolean hasBinding() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+     * Required. The Binding resource that is being created.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The binding. + */ + public com.google.cloud.agentregistry.v1.Binding getBinding() { + if (bindingBuilder_ == null) { + return binding_ == null + ? com.google.cloud.agentregistry.v1.Binding.getDefaultInstance() + : binding_; + } else { + return bindingBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Required. The Binding resource that is being created.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setBinding(com.google.cloud.agentregistry.v1.Binding value) { + if (bindingBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + binding_ = value; + } else { + bindingBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The Binding resource that is being created.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setBinding(com.google.cloud.agentregistry.v1.Binding.Builder builderForValue) { + if (bindingBuilder_ == null) { + binding_ = builderForValue.build(); + } else { + bindingBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The Binding resource that is being created.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeBinding(com.google.cloud.agentregistry.v1.Binding value) { + if (bindingBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) + && binding_ != null + && binding_ != com.google.cloud.agentregistry.v1.Binding.getDefaultInstance()) { + getBindingBuilder().mergeFrom(value); + } else { + binding_ = value; + } + } else { + bindingBuilder_.mergeFrom(value); + } + if (binding_ != null) { + bitField0_ |= 0x00000004; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Required. The Binding resource that is being created.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearBinding() { + bitField0_ = (bitField0_ & ~0x00000004); + binding_ = null; + if (bindingBuilder_ != null) { + bindingBuilder_.dispose(); + bindingBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The Binding resource that is being created.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.agentregistry.v1.Binding.Builder getBindingBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return internalGetBindingFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Required. The Binding resource that is being created.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.agentregistry.v1.BindingOrBuilder getBindingOrBuilder() { + if (bindingBuilder_ != null) { + return bindingBuilder_.getMessageOrBuilder(); + } else { + return binding_ == null + ? com.google.cloud.agentregistry.v1.Binding.getDefaultInstance() + : binding_; + } + } + + /** + * + * + *
+     * Required. The Binding resource that is being created.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Binding, + com.google.cloud.agentregistry.v1.Binding.Builder, + com.google.cloud.agentregistry.v1.BindingOrBuilder> + internalGetBindingFieldBuilder() { + if (bindingBuilder_ == null) { + bindingBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Binding, + com.google.cloud.agentregistry.v1.Binding.Builder, + com.google.cloud.agentregistry.v1.BindingOrBuilder>( + getBinding(), getParentForChildren(), isClean()); + binding_ = null; + } + return bindingBuilder_; + } + + private java.lang.Object requestId_ = ""; + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The requestId. + */ + public java.lang.String getRequestId() { + java.lang.Object ref = requestId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + requestId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The bytes for requestId. + */ + public com.google.protobuf.ByteString getRequestIdBytes() { + java.lang.Object ref = requestId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + requestId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @param value The requestId to set. + * @return This builder for chaining. + */ + public Builder setRequestId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + requestId_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearRequestId() { + requestId_ = getDefaultInstance().getRequestId(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @param value The bytes for requestId to set. + * @return This builder for chaining. + */ + public Builder setRequestIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + requestId_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.CreateBindingRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.CreateBindingRequest) + private static final com.google.cloud.agentregistry.v1.CreateBindingRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.CreateBindingRequest(); + } + + public static com.google.cloud.agentregistry.v1.CreateBindingRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CreateBindingRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.CreateBindingRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/CreateBindingRequestOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/CreateBindingRequestOrBuilder.java new file mode 100644 index 000000000000..5b38df2786cf --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/CreateBindingRequestOrBuilder.java @@ -0,0 +1,193 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface CreateBindingRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.CreateBindingRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The project and location to create the Binding in.
+   * Expected format: `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. The project and location to create the Binding in.
+   * Expected format: `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Required. The ID to use for the binding, which will become the final
+   * component of the binding's resource name.
+   *
+   * This value should be 4-63 characters, and must conform to RFC-1034.
+   * Specifically, it must match the regular expression
+   * `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.
+   * 
+ * + * string binding_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bindingId. + */ + java.lang.String getBindingId(); + + /** + * + * + *
+   * Required. The ID to use for the binding, which will become the final
+   * component of the binding's resource name.
+   *
+   * This value should be 4-63 characters, and must conform to RFC-1034.
+   * Specifically, it must match the regular expression
+   * `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.
+   * 
+ * + * string binding_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for bindingId. + */ + com.google.protobuf.ByteString getBindingIdBytes(); + + /** + * + * + *
+   * Required. The Binding resource that is being created.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the binding field is set. + */ + boolean hasBinding(); + + /** + * + * + *
+   * Required. The Binding resource that is being created.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The binding. + */ + com.google.cloud.agentregistry.v1.Binding getBinding(); + + /** + * + * + *
+   * Required. The Binding resource that is being created.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.cloud.agentregistry.v1.BindingOrBuilder getBindingOrBuilder(); + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The requestId. + */ + java.lang.String getRequestId(); + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The bytes for requestId. + */ + com.google.protobuf.ByteString getRequestIdBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/CreateServiceRequest.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/CreateServiceRequest.java new file mode 100644 index 000000000000..3577b67ebebb --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/CreateServiceRequest.java @@ -0,0 +1,1449 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for creating a Service
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.CreateServiceRequest} + */ +@com.google.protobuf.Generated +public final class CreateServiceRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.CreateServiceRequest) + CreateServiceRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "CreateServiceRequest"); + } + + // Use CreateServiceRequest.newBuilder() to construct. + private CreateServiceRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private CreateServiceRequest() { + parent_ = ""; + serviceId_ = ""; + requestId_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_CreateServiceRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_CreateServiceRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.CreateServiceRequest.class, + com.google.cloud.agentregistry.v1.CreateServiceRequest.Builder.class); + } + + private int bitField0_; + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. The project and location to create the Service in.
+   * Expected format: `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The project and location to create the Service in.
+   * Expected format: `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SERVICE_ID_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object serviceId_ = ""; + + /** + * + * + *
+   * Required. The ID to use for the service, which will become the final
+   * component of the service's resource name.
+   *
+   * This value should be 4-63 characters, and valid characters
+   * are `/[a-z][0-9]-/`.
+   * 
+ * + * string service_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The serviceId. + */ + @java.lang.Override + public java.lang.String getServiceId() { + java.lang.Object ref = serviceId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + serviceId_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The ID to use for the service, which will become the final
+   * component of the service's resource name.
+   *
+   * This value should be 4-63 characters, and valid characters
+   * are `/[a-z][0-9]-/`.
+   * 
+ * + * string service_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for serviceId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getServiceIdBytes() { + java.lang.Object ref = serviceId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + serviceId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SERVICE_FIELD_NUMBER = 3; + private com.google.cloud.agentregistry.v1.Service service_; + + /** + * + * + *
+   * Required. The Service resource that is being created.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the service field is set. + */ + @java.lang.Override + public boolean hasService() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Required. The Service resource that is being created.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The service. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service getService() { + return service_ == null + ? com.google.cloud.agentregistry.v1.Service.getDefaultInstance() + : service_; + } + + /** + * + * + *
+   * Required. The Service resource that is being created.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.ServiceOrBuilder getServiceOrBuilder() { + return service_ == null + ? com.google.cloud.agentregistry.v1.Service.getDefaultInstance() + : service_; + } + + public static final int REQUEST_ID_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private volatile java.lang.Object requestId_ = ""; + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The requestId. + */ + @java.lang.Override + public java.lang.String getRequestId() { + java.lang.Object ref = requestId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + requestId_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The bytes for requestId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getRequestIdBytes() { + java.lang.Object ref = requestId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + requestId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(serviceId_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, serviceId_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(3, getService()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(requestId_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, requestId_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(serviceId_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, serviceId_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getService()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(requestId_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, requestId_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.CreateServiceRequest)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.CreateServiceRequest other = + (com.google.cloud.agentregistry.v1.CreateServiceRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (!getServiceId().equals(other.getServiceId())) return false; + if (hasService() != other.hasService()) return false; + if (hasService()) { + if (!getService().equals(other.getService())) return false; + } + if (!getRequestId().equals(other.getRequestId())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + SERVICE_ID_FIELD_NUMBER; + hash = (53 * hash) + getServiceId().hashCode(); + if (hasService()) { + hash = (37 * hash) + SERVICE_FIELD_NUMBER; + hash = (53 * hash) + getService().hashCode(); + } + hash = (37 * hash) + REQUEST_ID_FIELD_NUMBER; + hash = (53 * hash) + getRequestId().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.CreateServiceRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.CreateServiceRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.CreateServiceRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.CreateServiceRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.CreateServiceRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.CreateServiceRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.CreateServiceRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.CreateServiceRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.CreateServiceRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.CreateServiceRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.CreateServiceRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.CreateServiceRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.CreateServiceRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for creating a Service
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.CreateServiceRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.CreateServiceRequest) + com.google.cloud.agentregistry.v1.CreateServiceRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_CreateServiceRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_CreateServiceRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.CreateServiceRequest.class, + com.google.cloud.agentregistry.v1.CreateServiceRequest.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.CreateServiceRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetServiceFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + serviceId_ = ""; + service_ = null; + if (serviceBuilder_ != null) { + serviceBuilder_.dispose(); + serviceBuilder_ = null; + } + requestId_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_CreateServiceRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.CreateServiceRequest getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.CreateServiceRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.CreateServiceRequest build() { + com.google.cloud.agentregistry.v1.CreateServiceRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.CreateServiceRequest buildPartial() { + com.google.cloud.agentregistry.v1.CreateServiceRequest result = + new com.google.cloud.agentregistry.v1.CreateServiceRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.CreateServiceRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.serviceId_ = serviceId_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.service_ = serviceBuilder_ == null ? service_ : serviceBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.requestId_ = requestId_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.CreateServiceRequest) { + return mergeFrom((com.google.cloud.agentregistry.v1.CreateServiceRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.CreateServiceRequest other) { + if (other == com.google.cloud.agentregistry.v1.CreateServiceRequest.getDefaultInstance()) + return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getServiceId().isEmpty()) { + serviceId_ = other.serviceId_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.hasService()) { + mergeService(other.getService()); + } + if (!other.getRequestId().isEmpty()) { + requestId_ = other.requestId_; + bitField0_ |= 0x00000008; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + serviceId_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + input.readMessage(internalGetServiceFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: + { + requestId_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object parent_ = ""; + + /** + * + * + *
+     * Required. The project and location to create the Service in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The project and location to create the Service in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The project and location to create the Service in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The project and location to create the Service in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The project and location to create the Service in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object serviceId_ = ""; + + /** + * + * + *
+     * Required. The ID to use for the service, which will become the final
+     * component of the service's resource name.
+     *
+     * This value should be 4-63 characters, and valid characters
+     * are `/[a-z][0-9]-/`.
+     * 
+ * + * string service_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The serviceId. + */ + public java.lang.String getServiceId() { + java.lang.Object ref = serviceId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + serviceId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The ID to use for the service, which will become the final
+     * component of the service's resource name.
+     *
+     * This value should be 4-63 characters, and valid characters
+     * are `/[a-z][0-9]-/`.
+     * 
+ * + * string service_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for serviceId. + */ + public com.google.protobuf.ByteString getServiceIdBytes() { + java.lang.Object ref = serviceId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + serviceId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The ID to use for the service, which will become the final
+     * component of the service's resource name.
+     *
+     * This value should be 4-63 characters, and valid characters
+     * are `/[a-z][0-9]-/`.
+     * 
+ * + * string service_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @param value The serviceId to set. + * @return This builder for chaining. + */ + public Builder setServiceId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + serviceId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The ID to use for the service, which will become the final
+     * component of the service's resource name.
+     *
+     * This value should be 4-63 characters, and valid characters
+     * are `/[a-z][0-9]-/`.
+     * 
+ * + * string service_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return This builder for chaining. + */ + public Builder clearServiceId() { + serviceId_ = getDefaultInstance().getServiceId(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The ID to use for the service, which will become the final
+     * component of the service's resource name.
+     *
+     * This value should be 4-63 characters, and valid characters
+     * are `/[a-z][0-9]-/`.
+     * 
+ * + * string service_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @param value The bytes for serviceId to set. + * @return This builder for chaining. + */ + public Builder setServiceIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + serviceId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private com.google.cloud.agentregistry.v1.Service service_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Service, + com.google.cloud.agentregistry.v1.Service.Builder, + com.google.cloud.agentregistry.v1.ServiceOrBuilder> + serviceBuilder_; + + /** + * + * + *
+     * Required. The Service resource that is being created.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the service field is set. + */ + public boolean hasService() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+     * Required. The Service resource that is being created.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The service. + */ + public com.google.cloud.agentregistry.v1.Service getService() { + if (serviceBuilder_ == null) { + return service_ == null + ? com.google.cloud.agentregistry.v1.Service.getDefaultInstance() + : service_; + } else { + return serviceBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Required. The Service resource that is being created.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setService(com.google.cloud.agentregistry.v1.Service value) { + if (serviceBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + service_ = value; + } else { + serviceBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The Service resource that is being created.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setService(com.google.cloud.agentregistry.v1.Service.Builder builderForValue) { + if (serviceBuilder_ == null) { + service_ = builderForValue.build(); + } else { + serviceBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The Service resource that is being created.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeService(com.google.cloud.agentregistry.v1.Service value) { + if (serviceBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) + && service_ != null + && service_ != com.google.cloud.agentregistry.v1.Service.getDefaultInstance()) { + getServiceBuilder().mergeFrom(value); + } else { + service_ = value; + } + } else { + serviceBuilder_.mergeFrom(value); + } + if (service_ != null) { + bitField0_ |= 0x00000004; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Required. The Service resource that is being created.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearService() { + bitField0_ = (bitField0_ & ~0x00000004); + service_ = null; + if (serviceBuilder_ != null) { + serviceBuilder_.dispose(); + serviceBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The Service resource that is being created.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.agentregistry.v1.Service.Builder getServiceBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return internalGetServiceFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Required. The Service resource that is being created.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.agentregistry.v1.ServiceOrBuilder getServiceOrBuilder() { + if (serviceBuilder_ != null) { + return serviceBuilder_.getMessageOrBuilder(); + } else { + return service_ == null + ? com.google.cloud.agentregistry.v1.Service.getDefaultInstance() + : service_; + } + } + + /** + * + * + *
+     * Required. The Service resource that is being created.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Service, + com.google.cloud.agentregistry.v1.Service.Builder, + com.google.cloud.agentregistry.v1.ServiceOrBuilder> + internalGetServiceFieldBuilder() { + if (serviceBuilder_ == null) { + serviceBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Service, + com.google.cloud.agentregistry.v1.Service.Builder, + com.google.cloud.agentregistry.v1.ServiceOrBuilder>( + getService(), getParentForChildren(), isClean()); + service_ = null; + } + return serviceBuilder_; + } + + private java.lang.Object requestId_ = ""; + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The requestId. + */ + public java.lang.String getRequestId() { + java.lang.Object ref = requestId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + requestId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The bytes for requestId. + */ + public com.google.protobuf.ByteString getRequestIdBytes() { + java.lang.Object ref = requestId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + requestId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @param value The requestId to set. + * @return This builder for chaining. + */ + public Builder setRequestId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + requestId_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearRequestId() { + requestId_ = getDefaultInstance().getRequestId(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @param value The bytes for requestId to set. + * @return This builder for chaining. + */ + public Builder setRequestIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + requestId_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.CreateServiceRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.CreateServiceRequest) + private static final com.google.cloud.agentregistry.v1.CreateServiceRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.CreateServiceRequest(); + } + + public static com.google.cloud.agentregistry.v1.CreateServiceRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CreateServiceRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.CreateServiceRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/CreateServiceRequestOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/CreateServiceRequestOrBuilder.java new file mode 100644 index 000000000000..329596cd0db6 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/CreateServiceRequestOrBuilder.java @@ -0,0 +1,194 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface CreateServiceRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.CreateServiceRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The project and location to create the Service in.
+   * Expected format: `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. The project and location to create the Service in.
+   * Expected format: `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Required. The ID to use for the service, which will become the final
+   * component of the service's resource name.
+   *
+   * This value should be 4-63 characters, and valid characters
+   * are `/[a-z][0-9]-/`.
+   * 
+ * + * string service_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The serviceId. + */ + java.lang.String getServiceId(); + + /** + * + * + *
+   * Required. The ID to use for the service, which will become the final
+   * component of the service's resource name.
+   *
+   * This value should be 4-63 characters, and valid characters
+   * are `/[a-z][0-9]-/`.
+   * 
+ * + * string service_id = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for serviceId. + */ + com.google.protobuf.ByteString getServiceIdBytes(); + + /** + * + * + *
+   * Required. The Service resource that is being created.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the service field is set. + */ + boolean hasService(); + + /** + * + * + *
+   * Required. The Service resource that is being created.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The service. + */ + com.google.cloud.agentregistry.v1.Service getService(); + + /** + * + * + *
+   * Required. The Service resource that is being created.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 3 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.cloud.agentregistry.v1.ServiceOrBuilder getServiceOrBuilder(); + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The requestId. + */ + java.lang.String getRequestId(); + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 4 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The bytes for requestId. + */ + com.google.protobuf.ByteString getRequestIdBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/DeleteBindingRequest.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/DeleteBindingRequest.java new file mode 100644 index 000000000000..e270b2bc5836 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/DeleteBindingRequest.java @@ -0,0 +1,905 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for deleting a Binding
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.DeleteBindingRequest} + */ +@com.google.protobuf.Generated +public final class DeleteBindingRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.DeleteBindingRequest) + DeleteBindingRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "DeleteBindingRequest"); + } + + // Use DeleteBindingRequest.newBuilder() to construct. + private DeleteBindingRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private DeleteBindingRequest() { + name_ = ""; + requestId_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_DeleteBindingRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_DeleteBindingRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.DeleteBindingRequest.class, + com.google.cloud.agentregistry.v1.DeleteBindingRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. The name of the Binding.
+   * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The name of the Binding.
+   * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int REQUEST_ID_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object requestId_ = ""; + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes after the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The requestId. + */ + @java.lang.Override + public java.lang.String getRequestId() { + java.lang.Object ref = requestId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + requestId_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes after the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The bytes for requestId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getRequestIdBytes() { + java.lang.Object ref = requestId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + requestId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(requestId_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, requestId_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(requestId_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, requestId_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.DeleteBindingRequest)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.DeleteBindingRequest other = + (com.google.cloud.agentregistry.v1.DeleteBindingRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (!getRequestId().equals(other.getRequestId())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + REQUEST_ID_FIELD_NUMBER; + hash = (53 * hash) + getRequestId().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.DeleteBindingRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.DeleteBindingRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.DeleteBindingRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.DeleteBindingRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.DeleteBindingRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.DeleteBindingRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.DeleteBindingRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.DeleteBindingRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.DeleteBindingRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.DeleteBindingRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.DeleteBindingRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.DeleteBindingRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.DeleteBindingRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for deleting a Binding
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.DeleteBindingRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.DeleteBindingRequest) + com.google.cloud.agentregistry.v1.DeleteBindingRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_DeleteBindingRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_DeleteBindingRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.DeleteBindingRequest.class, + com.google.cloud.agentregistry.v1.DeleteBindingRequest.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.DeleteBindingRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + requestId_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_DeleteBindingRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.DeleteBindingRequest getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.DeleteBindingRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.DeleteBindingRequest build() { + com.google.cloud.agentregistry.v1.DeleteBindingRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.DeleteBindingRequest buildPartial() { + com.google.cloud.agentregistry.v1.DeleteBindingRequest result = + new com.google.cloud.agentregistry.v1.DeleteBindingRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.DeleteBindingRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.requestId_ = requestId_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.DeleteBindingRequest) { + return mergeFrom((com.google.cloud.agentregistry.v1.DeleteBindingRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.DeleteBindingRequest other) { + if (other == com.google.cloud.agentregistry.v1.DeleteBindingRequest.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getRequestId().isEmpty()) { + requestId_ = other.requestId_; + bitField0_ |= 0x00000002; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + requestId_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Required. The name of the Binding.
+     * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The name of the Binding.
+     * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The name of the Binding.
+     * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The name of the Binding.
+     * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The name of the Binding.
+     * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object requestId_ = ""; + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes after the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The requestId. + */ + public java.lang.String getRequestId() { + java.lang.Object ref = requestId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + requestId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes after the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The bytes for requestId. + */ + public com.google.protobuf.ByteString getRequestIdBytes() { + java.lang.Object ref = requestId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + requestId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes after the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @param value The requestId to set. + * @return This builder for chaining. + */ + public Builder setRequestId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + requestId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes after the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearRequestId() { + requestId_ = getDefaultInstance().getRequestId(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes after the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @param value The bytes for requestId to set. + * @return This builder for chaining. + */ + public Builder setRequestIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + requestId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.DeleteBindingRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.DeleteBindingRequest) + private static final com.google.cloud.agentregistry.v1.DeleteBindingRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.DeleteBindingRequest(); + } + + public static com.google.cloud.agentregistry.v1.DeleteBindingRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public DeleteBindingRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.DeleteBindingRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/DeleteBindingRequestOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/DeleteBindingRequestOrBuilder.java new file mode 100644 index 000000000000..329cec9817cb --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/DeleteBindingRequestOrBuilder.java @@ -0,0 +1,114 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface DeleteBindingRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.DeleteBindingRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The name of the Binding.
+   * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. The name of the Binding.
+   * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes after the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The requestId. + */ + java.lang.String getRequestId(); + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes after the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The bytes for requestId. + */ + com.google.protobuf.ByteString getRequestIdBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/DeleteServiceRequest.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/DeleteServiceRequest.java new file mode 100644 index 000000000000..4a022c43d595 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/DeleteServiceRequest.java @@ -0,0 +1,905 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for deleting a Service
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.DeleteServiceRequest} + */ +@com.google.protobuf.Generated +public final class DeleteServiceRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.DeleteServiceRequest) + DeleteServiceRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "DeleteServiceRequest"); + } + + // Use DeleteServiceRequest.newBuilder() to construct. + private DeleteServiceRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private DeleteServiceRequest() { + name_ = ""; + requestId_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_DeleteServiceRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_DeleteServiceRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.DeleteServiceRequest.class, + com.google.cloud.agentregistry.v1.DeleteServiceRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. The name of the Service.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The name of the Service.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int REQUEST_ID_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object requestId_ = ""; + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes after the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The requestId. + */ + @java.lang.Override + public java.lang.String getRequestId() { + java.lang.Object ref = requestId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + requestId_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes after the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The bytes for requestId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getRequestIdBytes() { + java.lang.Object ref = requestId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + requestId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(requestId_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, requestId_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(requestId_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, requestId_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.DeleteServiceRequest)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.DeleteServiceRequest other = + (com.google.cloud.agentregistry.v1.DeleteServiceRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (!getRequestId().equals(other.getRequestId())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + REQUEST_ID_FIELD_NUMBER; + hash = (53 * hash) + getRequestId().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.DeleteServiceRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.DeleteServiceRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.DeleteServiceRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.DeleteServiceRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.DeleteServiceRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.DeleteServiceRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.DeleteServiceRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.DeleteServiceRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.DeleteServiceRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.DeleteServiceRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.DeleteServiceRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.DeleteServiceRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.DeleteServiceRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for deleting a Service
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.DeleteServiceRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.DeleteServiceRequest) + com.google.cloud.agentregistry.v1.DeleteServiceRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_DeleteServiceRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_DeleteServiceRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.DeleteServiceRequest.class, + com.google.cloud.agentregistry.v1.DeleteServiceRequest.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.DeleteServiceRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + requestId_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_DeleteServiceRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.DeleteServiceRequest getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.DeleteServiceRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.DeleteServiceRequest build() { + com.google.cloud.agentregistry.v1.DeleteServiceRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.DeleteServiceRequest buildPartial() { + com.google.cloud.agentregistry.v1.DeleteServiceRequest result = + new com.google.cloud.agentregistry.v1.DeleteServiceRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.DeleteServiceRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.requestId_ = requestId_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.DeleteServiceRequest) { + return mergeFrom((com.google.cloud.agentregistry.v1.DeleteServiceRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.DeleteServiceRequest other) { + if (other == com.google.cloud.agentregistry.v1.DeleteServiceRequest.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getRequestId().isEmpty()) { + requestId_ = other.requestId_; + bitField0_ |= 0x00000002; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + requestId_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Required. The name of the Service.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The name of the Service.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The name of the Service.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The name of the Service.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The name of the Service.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object requestId_ = ""; + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes after the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The requestId. + */ + public java.lang.String getRequestId() { + java.lang.Object ref = requestId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + requestId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes after the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The bytes for requestId. + */ + public com.google.protobuf.ByteString getRequestIdBytes() { + java.lang.Object ref = requestId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + requestId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes after the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @param value The requestId to set. + * @return This builder for chaining. + */ + public Builder setRequestId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + requestId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes after the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearRequestId() { + requestId_ = getDefaultInstance().getRequestId(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes after the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @param value The bytes for requestId to set. + * @return This builder for chaining. + */ + public Builder setRequestIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + requestId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.DeleteServiceRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.DeleteServiceRequest) + private static final com.google.cloud.agentregistry.v1.DeleteServiceRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.DeleteServiceRequest(); + } + + public static com.google.cloud.agentregistry.v1.DeleteServiceRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public DeleteServiceRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.DeleteServiceRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/DeleteServiceRequestOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/DeleteServiceRequestOrBuilder.java new file mode 100644 index 000000000000..303bf2afd050 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/DeleteServiceRequestOrBuilder.java @@ -0,0 +1,114 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface DeleteServiceRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.DeleteServiceRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The name of the Service.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. The name of the Service.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes after the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The requestId. + */ + java.lang.String getRequestId(); + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes after the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The bytes for requestId. + */ + com.google.protobuf.ByteString getRequestIdBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/Endpoint.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/Endpoint.java new file mode 100644 index 000000000000..f971c5ba1b8d --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/Endpoint.java @@ -0,0 +1,2855 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/endpoint.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Represents an Endpoint.
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Endpoint} + */ +@com.google.protobuf.Generated +public final class Endpoint extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.Endpoint) + EndpointOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Endpoint"); + } + + // Use Endpoint.newBuilder() to construct. + private Endpoint(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Endpoint() { + name_ = ""; + endpointId_ = ""; + displayName_ = ""; + description_ = ""; + interfaces_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.EndpointProto + .internal_static_google_cloud_agentregistry_v1_Endpoint_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection( + int number) { + switch (number) { + case 7: + return internalGetAttributes(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.EndpointProto + .internal_static_google_cloud_agentregistry_v1_Endpoint_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Endpoint.class, + com.google.cloud.agentregistry.v1.Endpoint.Builder.class); + } + + private int bitField0_; + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Identifier. The resource name of the Endpoint.
+   * Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Identifier. The resource name of the Endpoint.
+   * Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ENDPOINT_ID_FIELD_NUMBER = 8; + + @SuppressWarnings("serial") + private volatile java.lang.Object endpointId_ = ""; + + /** + * + * + *
+   * Output only. A stable, globally unique identifier for Endpoint.
+   * 
+ * + * string endpoint_id = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The endpointId. + */ + @java.lang.Override + public java.lang.String getEndpointId() { + java.lang.Object ref = endpointId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + endpointId_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. A stable, globally unique identifier for Endpoint.
+   * 
+ * + * string endpoint_id = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for endpointId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getEndpointIdBytes() { + java.lang.Object ref = endpointId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + endpointId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DISPLAY_NAME_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object displayName_ = ""; + + /** + * + * + *
+   * Output only. Display name for the Endpoint.
+   * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The displayName. + */ + @java.lang.Override + public java.lang.String getDisplayName() { + java.lang.Object ref = displayName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + displayName_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. Display name for the Endpoint.
+   * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for displayName. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDisplayNameBytes() { + java.lang.Object ref = displayName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + displayName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DESCRIPTION_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object description_ = ""; + + /** + * + * + *
+   * Output only. Description of an Endpoint.
+   * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The description. + */ + @java.lang.Override + public java.lang.String getDescription() { + java.lang.Object ref = description_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + description_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. Description of an Endpoint.
+   * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for description. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int INTERFACES_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private java.util.List interfaces_; + + /** + * + * + *
+   * Required. The connection details for the Endpoint.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public java.util.List getInterfacesList() { + return interfaces_; + } + + /** + * + * + *
+   * Required. The connection details for the Endpoint.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public java.util.List + getInterfacesOrBuilderList() { + return interfaces_; + } + + /** + * + * + *
+   * Required. The connection details for the Endpoint.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public int getInterfacesCount() { + return interfaces_.size(); + } + + /** + * + * + *
+   * Required. The connection details for the Endpoint.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Interface getInterfaces(int index) { + return interfaces_.get(index); + } + + /** + * + * + *
+   * Required. The connection details for the Endpoint.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.InterfaceOrBuilder getInterfacesOrBuilder(int index) { + return interfaces_.get(index); + } + + public static final int CREATE_TIME_FIELD_NUMBER = 5; + private com.google.protobuf.Timestamp createTime_; + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + @java.lang.Override + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCreateTime() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + public static final int UPDATE_TIME_FIELD_NUMBER = 6; + private com.google.protobuf.Timestamp updateTime_; + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + @java.lang.Override + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getUpdateTime() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + public static final int ATTRIBUTES_FIELD_NUMBER = 7; + + private static final class AttributesDefaultEntryHolder { + static final com.google.protobuf.MapEntry + defaultEntry = + com.google.protobuf.MapEntry + .newDefaultInstance( + com.google.cloud.agentregistry.v1.EndpointProto + .internal_static_google_cloud_agentregistry_v1_Endpoint_AttributesEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.MESSAGE, + com.google.protobuf.Struct.getDefaultInstance()); + } + + @SuppressWarnings("serial") + private com.google.protobuf.MapField attributes_; + + private com.google.protobuf.MapField + internalGetAttributes() { + if (attributes_ == null) { + return com.google.protobuf.MapField.emptyMapField(AttributesDefaultEntryHolder.defaultEntry); + } + return attributes_; + } + + public int getAttributesCount() { + return internalGetAttributes().getMap().size(); + } + + /** + * + * + *
+   * Output only. Attributes of the Endpoint.
+   *
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/RuntimeReference`:
+   * {"uri": "//..."} - the URI of the underlying resource hosting the
+   * Endpoint, for example, the GKE Deployment.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public boolean containsAttributes(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + return internalGetAttributes().getMap().containsKey(key); + } + + /** Use {@link #getAttributesMap()} instead. */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getAttributes() { + return getAttributesMap(); + } + + /** + * + * + *
+   * Output only. Attributes of the Endpoint.
+   *
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/RuntimeReference`:
+   * {"uri": "//..."} - the URI of the underlying resource hosting the
+   * Endpoint, for example, the GKE Deployment.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.Map getAttributesMap() { + return internalGetAttributes().getMap(); + } + + /** + * + * + *
+   * Output only. Attributes of the Endpoint.
+   *
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/RuntimeReference`:
+   * {"uri": "//..."} - the URI of the underlying resource hosting the
+   * Endpoint, for example, the GKE Deployment.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public /* nullable */ com.google.protobuf.Struct getAttributesOrDefault( + java.lang.String key, + /* nullable */ + com.google.protobuf.Struct defaultValue) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = + internalGetAttributes().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + + /** + * + * + *
+   * Output only. Attributes of the Endpoint.
+   *
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/RuntimeReference`:
+   * {"uri": "//..."} - the URI of the underlying resource hosting the
+   * Endpoint, for example, the GKE Deployment.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.Struct getAttributesOrThrow(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = + internalGetAttributes().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, displayName_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(description_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, description_); + } + for (int i = 0; i < interfaces_.size(); i++) { + output.writeMessage(4, interfaces_.get(i)); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(5, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(6, getUpdateTime()); + } + com.google.protobuf.GeneratedMessage.serializeStringMapTo( + output, internalGetAttributes(), AttributesDefaultEntryHolder.defaultEntry, 7); + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(endpointId_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 8, endpointId_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, displayName_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(description_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, description_); + } + for (int i = 0; i < interfaces_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, interfaces_.get(i)); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getUpdateTime()); + } + for (java.util.Map.Entry entry : + internalGetAttributes().getMap().entrySet()) { + com.google.protobuf.MapEntry attributes__ = + AttributesDefaultEntryHolder.defaultEntry + .newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, attributes__); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(endpointId_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(8, endpointId_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.Endpoint)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.Endpoint other = + (com.google.cloud.agentregistry.v1.Endpoint) obj; + + if (!getName().equals(other.getName())) return false; + if (!getEndpointId().equals(other.getEndpointId())) return false; + if (!getDisplayName().equals(other.getDisplayName())) return false; + if (!getDescription().equals(other.getDescription())) return false; + if (!getInterfacesList().equals(other.getInterfacesList())) return false; + if (hasCreateTime() != other.hasCreateTime()) return false; + if (hasCreateTime()) { + if (!getCreateTime().equals(other.getCreateTime())) return false; + } + if (hasUpdateTime() != other.hasUpdateTime()) return false; + if (hasUpdateTime()) { + if (!getUpdateTime().equals(other.getUpdateTime())) return false; + } + if (!internalGetAttributes().equals(other.internalGetAttributes())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + ENDPOINT_ID_FIELD_NUMBER; + hash = (53 * hash) + getEndpointId().hashCode(); + hash = (37 * hash) + DISPLAY_NAME_FIELD_NUMBER; + hash = (53 * hash) + getDisplayName().hashCode(); + hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER; + hash = (53 * hash) + getDescription().hashCode(); + if (getInterfacesCount() > 0) { + hash = (37 * hash) + INTERFACES_FIELD_NUMBER; + hash = (53 * hash) + getInterfacesList().hashCode(); + } + if (hasCreateTime()) { + hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCreateTime().hashCode(); + } + if (hasUpdateTime()) { + hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getUpdateTime().hashCode(); + } + if (!internalGetAttributes().getMap().isEmpty()) { + hash = (37 * hash) + ATTRIBUTES_FIELD_NUMBER; + hash = (53 * hash) + internalGetAttributes().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.Endpoint parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Endpoint parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Endpoint parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Endpoint parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Endpoint parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Endpoint parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Endpoint parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Endpoint parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Endpoint parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Endpoint parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Endpoint parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Endpoint parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloud.agentregistry.v1.Endpoint prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Represents an Endpoint.
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Endpoint} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.Endpoint) + com.google.cloud.agentregistry.v1.EndpointOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.EndpointProto + .internal_static_google_cloud_agentregistry_v1_Endpoint_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection( + int number) { + switch (number) { + case 7: + return internalGetAttributes(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapFieldReflectionAccessor internalGetMutableMapFieldReflection( + int number) { + switch (number) { + case 7: + return internalGetMutableAttributes(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.EndpointProto + .internal_static_google_cloud_agentregistry_v1_Endpoint_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Endpoint.class, + com.google.cloud.agentregistry.v1.Endpoint.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.Endpoint.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetInterfacesFieldBuilder(); + internalGetCreateTimeFieldBuilder(); + internalGetUpdateTimeFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + endpointId_ = ""; + displayName_ = ""; + description_ = ""; + if (interfacesBuilder_ == null) { + interfaces_ = java.util.Collections.emptyList(); + } else { + interfaces_ = null; + interfacesBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000010); + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + internalGetMutableAttributes().clear(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.EndpointProto + .internal_static_google_cloud_agentregistry_v1_Endpoint_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Endpoint getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.Endpoint.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Endpoint build() { + com.google.cloud.agentregistry.v1.Endpoint result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Endpoint buildPartial() { + com.google.cloud.agentregistry.v1.Endpoint result = + new com.google.cloud.agentregistry.v1.Endpoint(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(com.google.cloud.agentregistry.v1.Endpoint result) { + if (interfacesBuilder_ == null) { + if (((bitField0_ & 0x00000010) != 0)) { + interfaces_ = java.util.Collections.unmodifiableList(interfaces_); + bitField0_ = (bitField0_ & ~0x00000010); + } + result.interfaces_ = interfaces_; + } else { + result.interfaces_ = interfacesBuilder_.build(); + } + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.Endpoint result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.endpointId_ = endpointId_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.displayName_ = displayName_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.description_ = description_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000020) != 0)) { + result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.updateTime_ = updateTimeBuilder_ == null ? updateTime_ : updateTimeBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000080) != 0)) { + result.attributes_ = + internalGetAttributes().build(AttributesDefaultEntryHolder.defaultEntry); + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.Endpoint) { + return mergeFrom((com.google.cloud.agentregistry.v1.Endpoint) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.Endpoint other) { + if (other == com.google.cloud.agentregistry.v1.Endpoint.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getEndpointId().isEmpty()) { + endpointId_ = other.endpointId_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getDisplayName().isEmpty()) { + displayName_ = other.displayName_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getDescription().isEmpty()) { + description_ = other.description_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (interfacesBuilder_ == null) { + if (!other.interfaces_.isEmpty()) { + if (interfaces_.isEmpty()) { + interfaces_ = other.interfaces_; + bitField0_ = (bitField0_ & ~0x00000010); + } else { + ensureInterfacesIsMutable(); + interfaces_.addAll(other.interfaces_); + } + onChanged(); + } + } else { + if (!other.interfaces_.isEmpty()) { + if (interfacesBuilder_.isEmpty()) { + interfacesBuilder_.dispose(); + interfacesBuilder_ = null; + interfaces_ = other.interfaces_; + bitField0_ = (bitField0_ & ~0x00000010); + interfacesBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetInterfacesFieldBuilder() + : null; + } else { + interfacesBuilder_.addAllMessages(other.interfaces_); + } + } + } + if (other.hasCreateTime()) { + mergeCreateTime(other.getCreateTime()); + } + if (other.hasUpdateTime()) { + mergeUpdateTime(other.getUpdateTime()); + } + internalGetMutableAttributes().mergeFrom(other.internalGetAttributes()); + bitField0_ |= 0x00000080; + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + displayName_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 18 + case 26: + { + description_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 26 + case 34: + { + com.google.cloud.agentregistry.v1.Interface m = + input.readMessage( + com.google.cloud.agentregistry.v1.Interface.parser(), extensionRegistry); + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + interfaces_.add(m); + } else { + interfacesBuilder_.addMessage(m); + } + break; + } // case 34 + case 42: + { + input.readMessage( + internalGetCreateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000020; + break; + } // case 42 + case 50: + { + input.readMessage( + internalGetUpdateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000040; + break; + } // case 50 + case 58: + { + com.google.protobuf.MapEntry + attributes__ = + input.readMessage( + AttributesDefaultEntryHolder.defaultEntry.getParserForType(), + extensionRegistry); + internalGetMutableAttributes() + .ensureBuilderMap() + .put(attributes__.getKey(), attributes__.getValue()); + bitField0_ |= 0x00000080; + break; + } // case 58 + case 66: + { + endpointId_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 66 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Identifier. The resource name of the Endpoint.
+     * Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Identifier. The resource name of the Endpoint.
+     * Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Identifier. The resource name of the Endpoint.
+     * Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. The resource name of the Endpoint.
+     * Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. The resource name of the Endpoint.
+     * Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object endpointId_ = ""; + + /** + * + * + *
+     * Output only. A stable, globally unique identifier for Endpoint.
+     * 
+ * + * string endpoint_id = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The endpointId. + */ + public java.lang.String getEndpointId() { + java.lang.Object ref = endpointId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + endpointId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. A stable, globally unique identifier for Endpoint.
+     * 
+ * + * string endpoint_id = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for endpointId. + */ + public com.google.protobuf.ByteString getEndpointIdBytes() { + java.lang.Object ref = endpointId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + endpointId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. A stable, globally unique identifier for Endpoint.
+     * 
+ * + * string endpoint_id = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The endpointId to set. + * @return This builder for chaining. + */ + public Builder setEndpointId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + endpointId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. A stable, globally unique identifier for Endpoint.
+     * 
+ * + * string endpoint_id = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearEndpointId() { + endpointId_ = getDefaultInstance().getEndpointId(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. A stable, globally unique identifier for Endpoint.
+     * 
+ * + * string endpoint_id = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for endpointId to set. + * @return This builder for chaining. + */ + public Builder setEndpointIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + endpointId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object displayName_ = ""; + + /** + * + * + *
+     * Output only. Display name for the Endpoint.
+     * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The displayName. + */ + public java.lang.String getDisplayName() { + java.lang.Object ref = displayName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + displayName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. Display name for the Endpoint.
+     * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for displayName. + */ + public com.google.protobuf.ByteString getDisplayNameBytes() { + java.lang.Object ref = displayName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + displayName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. Display name for the Endpoint.
+     * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The displayName to set. + * @return This builder for chaining. + */ + public Builder setDisplayName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + displayName_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Display name for the Endpoint.
+     * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearDisplayName() { + displayName_ = getDefaultInstance().getDisplayName(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Display name for the Endpoint.
+     * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for displayName to set. + * @return This builder for chaining. + */ + public Builder setDisplayNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + displayName_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object description_ = ""; + + /** + * + * + *
+     * Output only. Description of an Endpoint.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The description. + */ + public java.lang.String getDescription() { + java.lang.Object ref = description_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + description_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. Description of an Endpoint.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for description. + */ + public com.google.protobuf.ByteString getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. Description of an Endpoint.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The description to set. + * @return This builder for chaining. + */ + public Builder setDescription(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + description_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Description of an Endpoint.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearDescription() { + description_ = getDefaultInstance().getDescription(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Description of an Endpoint.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for description to set. + * @return This builder for chaining. + */ + public Builder setDescriptionBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + description_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private java.util.List interfaces_ = + java.util.Collections.emptyList(); + + private void ensureInterfacesIsMutable() { + if (!((bitField0_ & 0x00000010) != 0)) { + interfaces_ = + new java.util.ArrayList(interfaces_); + bitField0_ |= 0x00000010; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Interface, + com.google.cloud.agentregistry.v1.Interface.Builder, + com.google.cloud.agentregistry.v1.InterfaceOrBuilder> + interfacesBuilder_; + + /** + * + * + *
+     * Required. The connection details for the Endpoint.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public java.util.List getInterfacesList() { + if (interfacesBuilder_ == null) { + return java.util.Collections.unmodifiableList(interfaces_); + } else { + return interfacesBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * Required. The connection details for the Endpoint.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public int getInterfacesCount() { + if (interfacesBuilder_ == null) { + return interfaces_.size(); + } else { + return interfacesBuilder_.getCount(); + } + } + + /** + * + * + *
+     * Required. The connection details for the Endpoint.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.agentregistry.v1.Interface getInterfaces(int index) { + if (interfacesBuilder_ == null) { + return interfaces_.get(index); + } else { + return interfacesBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * Required. The connection details for the Endpoint.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setInterfaces(int index, com.google.cloud.agentregistry.v1.Interface value) { + if (interfacesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureInterfacesIsMutable(); + interfaces_.set(index, value); + onChanged(); + } else { + interfacesBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * Required. The connection details for the Endpoint.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setInterfaces( + int index, com.google.cloud.agentregistry.v1.Interface.Builder builderForValue) { + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + interfaces_.set(index, builderForValue.build()); + onChanged(); + } else { + interfacesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Required. The connection details for the Endpoint.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder addInterfaces(com.google.cloud.agentregistry.v1.Interface value) { + if (interfacesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureInterfacesIsMutable(); + interfaces_.add(value); + onChanged(); + } else { + interfacesBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * Required. The connection details for the Endpoint.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder addInterfaces(int index, com.google.cloud.agentregistry.v1.Interface value) { + if (interfacesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureInterfacesIsMutable(); + interfaces_.add(index, value); + onChanged(); + } else { + interfacesBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * Required. The connection details for the Endpoint.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder addInterfaces( + com.google.cloud.agentregistry.v1.Interface.Builder builderForValue) { + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + interfaces_.add(builderForValue.build()); + onChanged(); + } else { + interfacesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Required. The connection details for the Endpoint.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder addInterfaces( + int index, com.google.cloud.agentregistry.v1.Interface.Builder builderForValue) { + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + interfaces_.add(index, builderForValue.build()); + onChanged(); + } else { + interfacesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Required. The connection details for the Endpoint.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder addAllInterfaces( + java.lang.Iterable values) { + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, interfaces_); + onChanged(); + } else { + interfacesBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * Required. The connection details for the Endpoint.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearInterfaces() { + if (interfacesBuilder_ == null) { + interfaces_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + } else { + interfacesBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * Required. The connection details for the Endpoint.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder removeInterfaces(int index) { + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + interfaces_.remove(index); + onChanged(); + } else { + interfacesBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * Required. The connection details for the Endpoint.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.agentregistry.v1.Interface.Builder getInterfacesBuilder(int index) { + return internalGetInterfacesFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * Required. The connection details for the Endpoint.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.agentregistry.v1.InterfaceOrBuilder getInterfacesOrBuilder(int index) { + if (interfacesBuilder_ == null) { + return interfaces_.get(index); + } else { + return interfacesBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * Required. The connection details for the Endpoint.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public java.util.List + getInterfacesOrBuilderList() { + if (interfacesBuilder_ != null) { + return interfacesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(interfaces_); + } + } + + /** + * + * + *
+     * Required. The connection details for the Endpoint.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.agentregistry.v1.Interface.Builder addInterfacesBuilder() { + return internalGetInterfacesFieldBuilder() + .addBuilder(com.google.cloud.agentregistry.v1.Interface.getDefaultInstance()); + } + + /** + * + * + *
+     * Required. The connection details for the Endpoint.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.agentregistry.v1.Interface.Builder addInterfacesBuilder(int index) { + return internalGetInterfacesFieldBuilder() + .addBuilder(index, com.google.cloud.agentregistry.v1.Interface.getDefaultInstance()); + } + + /** + * + * + *
+     * Required. The connection details for the Endpoint.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public java.util.List + getInterfacesBuilderList() { + return internalGetInterfacesFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Interface, + com.google.cloud.agentregistry.v1.Interface.Builder, + com.google.cloud.agentregistry.v1.InterfaceOrBuilder> + internalGetInterfacesFieldBuilder() { + if (interfacesBuilder_ == null) { + interfacesBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Interface, + com.google.cloud.agentregistry.v1.Interface.Builder, + com.google.cloud.agentregistry.v1.InterfaceOrBuilder>( + interfaces_, ((bitField0_ & 0x00000010) != 0), getParentForChildren(), isClean()); + interfaces_ = null; + } + return interfacesBuilder_; + } + + private com.google.protobuf.Timestamp createTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + createTimeBuilder_; + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000020) != 0); + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + public com.google.protobuf.Timestamp getCreateTime() { + if (createTimeBuilder_ == null) { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } else { + return createTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + createTime_ = value; + } else { + createTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (createTimeBuilder_ == null) { + createTime_ = builderForValue.build(); + } else { + createTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (((bitField0_ & 0x00000020) != 0) + && createTime_ != null + && createTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getCreateTimeBuilder().mergeFrom(value); + } else { + createTime_ = value; + } + } else { + createTimeBuilder_.mergeFrom(value); + } + if (createTime_ != null) { + bitField0_ |= 0x00000020; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCreateTime() { + bitField0_ = (bitField0_ & ~0x00000020); + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() { + bitField0_ |= 0x00000020; + onChanged(); + return internalGetCreateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + if (createTimeBuilder_ != null) { + return createTimeBuilder_.getMessageOrBuilder(); + } else { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetCreateTimeFieldBuilder() { + if (createTimeBuilder_ == null) { + createTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCreateTime(), getParentForChildren(), isClean()); + createTime_ = null; + } + return createTimeBuilder_; + } + + private com.google.protobuf.Timestamp updateTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + updateTimeBuilder_; + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000040) != 0); + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + public com.google.protobuf.Timestamp getUpdateTime() { + if (updateTimeBuilder_ == null) { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } else { + return updateTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateTime_ = value; + } else { + updateTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (updateTimeBuilder_ == null) { + updateTime_ = builderForValue.build(); + } else { + updateTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (((bitField0_ & 0x00000040) != 0) + && updateTime_ != null + && updateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getUpdateTimeBuilder().mergeFrom(value); + } else { + updateTime_ = value; + } + } else { + updateTimeBuilder_.mergeFrom(value); + } + if (updateTime_ != null) { + bitField0_ |= 0x00000040; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearUpdateTime() { + bitField0_ = (bitField0_ & ~0x00000040); + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getUpdateTimeBuilder() { + bitField0_ |= 0x00000040; + onChanged(); + return internalGetUpdateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + if (updateTimeBuilder_ != null) { + return updateTimeBuilder_.getMessageOrBuilder(); + } else { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetUpdateTimeFieldBuilder() { + if (updateTimeBuilder_ == null) { + updateTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getUpdateTime(), getParentForChildren(), isClean()); + updateTime_ = null; + } + return updateTimeBuilder_; + } + + private static final class AttributesConverter + implements com.google.protobuf.MapFieldBuilder.Converter< + java.lang.String, com.google.protobuf.StructOrBuilder, com.google.protobuf.Struct> { + @java.lang.Override + public com.google.protobuf.Struct build(com.google.protobuf.StructOrBuilder val) { + if (val instanceof com.google.protobuf.Struct) { + return (com.google.protobuf.Struct) val; + } + return ((com.google.protobuf.Struct.Builder) val).build(); + } + + @java.lang.Override + public com.google.protobuf.MapEntry + defaultEntry() { + return AttributesDefaultEntryHolder.defaultEntry; + } + } + ; + + private static final AttributesConverter attributesConverter = new AttributesConverter(); + + private com.google.protobuf.MapFieldBuilder< + java.lang.String, + com.google.protobuf.StructOrBuilder, + com.google.protobuf.Struct, + com.google.protobuf.Struct.Builder> + attributes_; + + private com.google.protobuf.MapFieldBuilder< + java.lang.String, + com.google.protobuf.StructOrBuilder, + com.google.protobuf.Struct, + com.google.protobuf.Struct.Builder> + internalGetAttributes() { + if (attributes_ == null) { + return new com.google.protobuf.MapFieldBuilder<>(attributesConverter); + } + return attributes_; + } + + private com.google.protobuf.MapFieldBuilder< + java.lang.String, + com.google.protobuf.StructOrBuilder, + com.google.protobuf.Struct, + com.google.protobuf.Struct.Builder> + internalGetMutableAttributes() { + if (attributes_ == null) { + attributes_ = new com.google.protobuf.MapFieldBuilder<>(attributesConverter); + } + bitField0_ |= 0x00000080; + onChanged(); + return attributes_; + } + + public int getAttributesCount() { + return internalGetAttributes().ensureBuilderMap().size(); + } + + /** + * + * + *
+     * Output only. Attributes of the Endpoint.
+     *
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/RuntimeReference`:
+     * {"uri": "//..."} - the URI of the underlying resource hosting the
+     * Endpoint, for example, the GKE Deployment.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public boolean containsAttributes(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + return internalGetAttributes().ensureBuilderMap().containsKey(key); + } + + /** Use {@link #getAttributesMap()} instead. */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getAttributes() { + return getAttributesMap(); + } + + /** + * + * + *
+     * Output only. Attributes of the Endpoint.
+     *
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/RuntimeReference`:
+     * {"uri": "//..."} - the URI of the underlying resource hosting the
+     * Endpoint, for example, the GKE Deployment.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.Map getAttributesMap() { + return internalGetAttributes().getImmutableMap(); + } + + /** + * + * + *
+     * Output only. Attributes of the Endpoint.
+     *
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/RuntimeReference`:
+     * {"uri": "//..."} - the URI of the underlying resource hosting the
+     * Endpoint, for example, the GKE Deployment.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public /* nullable */ com.google.protobuf.Struct getAttributesOrDefault( + java.lang.String key, + /* nullable */ + com.google.protobuf.Struct defaultValue) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = + internalGetMutableAttributes().ensureBuilderMap(); + return map.containsKey(key) ? attributesConverter.build(map.get(key)) : defaultValue; + } + + /** + * + * + *
+     * Output only. Attributes of the Endpoint.
+     *
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/RuntimeReference`:
+     * {"uri": "//..."} - the URI of the underlying resource hosting the
+     * Endpoint, for example, the GKE Deployment.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.Struct getAttributesOrThrow(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = + internalGetMutableAttributes().ensureBuilderMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return attributesConverter.build(map.get(key)); + } + + public Builder clearAttributes() { + bitField0_ = (bitField0_ & ~0x00000080); + internalGetMutableAttributes().clear(); + return this; + } + + /** + * + * + *
+     * Output only. Attributes of the Endpoint.
+     *
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/RuntimeReference`:
+     * {"uri": "//..."} - the URI of the underlying resource hosting the
+     * Endpoint, for example, the GKE Deployment.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder removeAttributes(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + internalGetMutableAttributes().ensureBuilderMap().remove(key); + return this; + } + + /** Use alternate mutation accessors instead. */ + @java.lang.Deprecated + public java.util.Map getMutableAttributes() { + bitField0_ |= 0x00000080; + return internalGetMutableAttributes().ensureMessageMap(); + } + + /** + * + * + *
+     * Output only. Attributes of the Endpoint.
+     *
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/RuntimeReference`:
+     * {"uri": "//..."} - the URI of the underlying resource hosting the
+     * Endpoint, for example, the GKE Deployment.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder putAttributes(java.lang.String key, com.google.protobuf.Struct value) { + if (key == null) { + throw new NullPointerException("map key"); + } + if (value == null) { + throw new NullPointerException("map value"); + } + internalGetMutableAttributes().ensureBuilderMap().put(key, value); + bitField0_ |= 0x00000080; + return this; + } + + /** + * + * + *
+     * Output only. Attributes of the Endpoint.
+     *
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/RuntimeReference`:
+     * {"uri": "//..."} - the URI of the underlying resource hosting the
+     * Endpoint, for example, the GKE Deployment.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder putAllAttributes( + java.util.Map values) { + for (java.util.Map.Entry e : + values.entrySet()) { + if (e.getKey() == null || e.getValue() == null) { + throw new NullPointerException(); + } + } + internalGetMutableAttributes().ensureBuilderMap().putAll(values); + bitField0_ |= 0x00000080; + return this; + } + + /** + * + * + *
+     * Output only. Attributes of the Endpoint.
+     *
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/RuntimeReference`:
+     * {"uri": "//..."} - the URI of the underlying resource hosting the
+     * Endpoint, for example, the GKE Deployment.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Struct.Builder putAttributesBuilderIfAbsent(java.lang.String key) { + java.util.Map builderMap = + internalGetMutableAttributes().ensureBuilderMap(); + com.google.protobuf.StructOrBuilder entry = builderMap.get(key); + if (entry == null) { + entry = com.google.protobuf.Struct.newBuilder(); + builderMap.put(key, entry); + } + if (entry instanceof com.google.protobuf.Struct) { + entry = ((com.google.protobuf.Struct) entry).toBuilder(); + builderMap.put(key, entry); + } + return (com.google.protobuf.Struct.Builder) entry; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.Endpoint) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.Endpoint) + private static final com.google.cloud.agentregistry.v1.Endpoint DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.Endpoint(); + } + + public static com.google.cloud.agentregistry.v1.Endpoint getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Endpoint parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Endpoint getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/EndpointName.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/EndpointName.java new file mode 100644 index 000000000000..25c8907fdf6a --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/EndpointName.java @@ -0,0 +1,223 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1; + +import com.google.api.pathtemplate.PathTemplate; +import com.google.api.resourcenames.ResourceName; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@Generated("by gapic-generator-java") +public class EndpointName implements ResourceName { + private static final PathTemplate PROJECT_LOCATION_ENDPOINT = + PathTemplate.createWithoutUrlEncoding( + "projects/{project}/locations/{location}/endpoints/{endpoint}"); + private volatile Map fieldValuesMap; + private final String project; + private final String location; + private final String endpoint; + + @Deprecated + protected EndpointName() { + project = null; + location = null; + endpoint = null; + } + + private EndpointName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + endpoint = Preconditions.checkNotNull(builder.getEndpoint()); + } + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getEndpoint() { + return endpoint; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static EndpointName of(String project, String location, String endpoint) { + return newBuilder().setProject(project).setLocation(location).setEndpoint(endpoint).build(); + } + + public static String format(String project, String location, String endpoint) { + return newBuilder() + .setProject(project) + .setLocation(location) + .setEndpoint(endpoint) + .build() + .toString(); + } + + public static EndpointName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + Map matchMap = + PROJECT_LOCATION_ENDPOINT.validatedMatch( + formattedString, "EndpointName.parse: formattedString not in valid format"); + return of(matchMap.get("project"), matchMap.get("location"), matchMap.get("endpoint")); + } + + public static List parseList(List formattedStrings) { + List list = new ArrayList<>(formattedStrings.size()); + for (String formattedString : formattedStrings) { + list.add(parse(formattedString)); + } + return list; + } + + public static List toStringList(List values) { + List list = new ArrayList<>(values.size()); + for (EndpointName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return PROJECT_LOCATION_ENDPOINT.matches(formattedString); + } + + @Override + public Map getFieldValuesMap() { + if (fieldValuesMap == null) { + synchronized (this) { + if (fieldValuesMap == null) { + ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + if (endpoint != null) { + fieldMapBuilder.put("endpoint", endpoint); + } + fieldValuesMap = fieldMapBuilder.build(); + } + } + } + return fieldValuesMap; + } + + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return PROJECT_LOCATION_ENDPOINT.instantiate( + "project", project, "location", location, "endpoint", endpoint); + } + + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + if (o != null && getClass() == o.getClass()) { + EndpointName that = ((EndpointName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location) + && Objects.equals(this.endpoint, that.endpoint); + } + return false; + } + + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + h *= 1000003; + h ^= Objects.hashCode(endpoint); + return h; + } + + /** Builder for projects/{project}/locations/{location}/endpoints/{endpoint}. */ + public static class Builder { + private String project; + private String location; + private String endpoint; + + protected Builder() {} + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getEndpoint() { + return endpoint; + } + + public Builder setProject(String project) { + this.project = project; + return this; + } + + public Builder setLocation(String location) { + this.location = location; + return this; + } + + public Builder setEndpoint(String endpoint) { + this.endpoint = endpoint; + return this; + } + + private Builder(EndpointName endpointName) { + this.project = endpointName.project; + this.location = endpointName.location; + this.endpoint = endpointName.endpoint; + } + + public EndpointName build() { + return new EndpointName(this); + } + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/EndpointOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/EndpointOrBuilder.java new file mode 100644 index 000000000000..f874679a6cbc --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/EndpointOrBuilder.java @@ -0,0 +1,383 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/endpoint.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface EndpointOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.Endpoint) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Identifier. The resource name of the Endpoint.
+   * Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Identifier. The resource name of the Endpoint.
+   * Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Output only. A stable, globally unique identifier for Endpoint.
+   * 
+ * + * string endpoint_id = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The endpointId. + */ + java.lang.String getEndpointId(); + + /** + * + * + *
+   * Output only. A stable, globally unique identifier for Endpoint.
+   * 
+ * + * string endpoint_id = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for endpointId. + */ + com.google.protobuf.ByteString getEndpointIdBytes(); + + /** + * + * + *
+   * Output only. Display name for the Endpoint.
+   * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The displayName. + */ + java.lang.String getDisplayName(); + + /** + * + * + *
+   * Output only. Display name for the Endpoint.
+   * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for displayName. + */ + com.google.protobuf.ByteString getDisplayNameBytes(); + + /** + * + * + *
+   * Output only. Description of an Endpoint.
+   * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The description. + */ + java.lang.String getDescription(); + + /** + * + * + *
+   * Output only. Description of an Endpoint.
+   * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for description. + */ + com.google.protobuf.ByteString getDescriptionBytes(); + + /** + * + * + *
+   * Required. The connection details for the Endpoint.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + java.util.List getInterfacesList(); + + /** + * + * + *
+   * Required. The connection details for the Endpoint.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.cloud.agentregistry.v1.Interface getInterfaces(int index); + + /** + * + * + *
+   * Required. The connection details for the Endpoint.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + int getInterfacesCount(); + + /** + * + * + *
+   * Required. The connection details for the Endpoint.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + java.util.List + getInterfacesOrBuilderList(); + + /** + * + * + *
+   * Required. The connection details for the Endpoint.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.cloud.agentregistry.v1.InterfaceOrBuilder getInterfacesOrBuilder(int index); + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + boolean hasCreateTime(); + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + com.google.protobuf.Timestamp getCreateTime(); + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + boolean hasUpdateTime(); + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + com.google.protobuf.Timestamp getUpdateTime(); + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. Attributes of the Endpoint.
+   *
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/RuntimeReference`:
+   * {"uri": "//..."} - the URI of the underlying resource hosting the
+   * Endpoint, for example, the GKE Deployment.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + int getAttributesCount(); + + /** + * + * + *
+   * Output only. Attributes of the Endpoint.
+   *
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/RuntimeReference`:
+   * {"uri": "//..."} - the URI of the underlying resource hosting the
+   * Endpoint, for example, the GKE Deployment.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + boolean containsAttributes(java.lang.String key); + + /** Use {@link #getAttributesMap()} instead. */ + @java.lang.Deprecated + java.util.Map getAttributes(); + + /** + * + * + *
+   * Output only. Attributes of the Endpoint.
+   *
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/RuntimeReference`:
+   * {"uri": "//..."} - the URI of the underlying resource hosting the
+   * Endpoint, for example, the GKE Deployment.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + java.util.Map getAttributesMap(); + + /** + * + * + *
+   * Output only. Attributes of the Endpoint.
+   *
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/RuntimeReference`:
+   * {"uri": "//..."} - the URI of the underlying resource hosting the
+   * Endpoint, for example, the GKE Deployment.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + /* nullable */ + com.google.protobuf.Struct getAttributesOrDefault( + java.lang.String key, + /* nullable */ + com.google.protobuf.Struct defaultValue); + + /** + * + * + *
+   * Output only. Attributes of the Endpoint.
+   *
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/RuntimeReference`:
+   * {"uri": "//..."} - the URI of the underlying resource hosting the
+   * Endpoint, for example, the GKE Deployment.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.Struct getAttributesOrThrow(java.lang.String key); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/EndpointProto.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/EndpointProto.java new file mode 100644 index 000000000000..5e48d4c40ad8 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/EndpointProto.java @@ -0,0 +1,139 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/endpoint.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public final class EndpointProto extends com.google.protobuf.GeneratedFile { + private EndpointProto() {} + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "EndpointProto"); + } + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {} + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry); + } + + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_Endpoint_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_Endpoint_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_Endpoint_AttributesEntry_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_Endpoint_AttributesEntry_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + + static { + java.lang.String[] descriptorData = { + "\n" + + ",google/cloud/agentregistry/v1/endpoint" + + ".proto\022\035google.cloud.agentregistry.v1\032\037g" + + "oogle/api/field_behavior.proto\032\031google/a" + + "pi/resource.proto\032.google/cloud/agentreg" + + "istry/v1/properties.proto\032\034google/protob" + + "uf/struct.proto\032\037google/protobuf/timestamp.proto\"\270\004\n" + + "\010Endpoint\022\021\n" + + "\004name\030\001 \001(\tB\003\340A\010\022\030\n" + + "\013endpoint_id\030\010 \001(\tB\003\340A\003\022\031\n" + + "\014display_name\030\002 \001(\tB\003\340A\003\022\030\n" + + "\013description\030\003 \001(\tB\003\340A\003\022A\n\n" + + "interfaces\030\004" + + " \003(\0132(.google.cloud.agentregistry.v1.InterfaceB\003\340A\002\0224\n" + + "\013create_time\030\005 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n" + + "\013update_time\030\006" + + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022P\n\n" + + "attributes\030\007 \003(\01327.goo" + + "gle.cloud.agentregistry.v1.Endpoint.AttributesEntryB\003\340A\003\032J\n" + + "\017AttributesEntry\022\013\n" + + "\003key\030\001 \001(\t\022&\n" + + "\005value\030\002 \001(\0132\027.google.protobuf.Struct:\0028\001:}\352Az\n" + + "%agentregistry.googlea" + + "pis.com/Endpoint\022 + * Message for fetching available Bindings. + * + * + * Protobuf type {@code google.cloud.agentregistry.v1.FetchAvailableBindingsRequest} + */ +@com.google.protobuf.Generated +public final class FetchAvailableBindingsRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.FetchAvailableBindingsRequest) + FetchAvailableBindingsRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "FetchAvailableBindingsRequest"); + } + + // Use FetchAvailableBindingsRequest.newBuilder() to construct. + private FetchAvailableBindingsRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private FetchAvailableBindingsRequest() { + parent_ = ""; + pageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_FetchAvailableBindingsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_FetchAvailableBindingsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest.class, + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest.Builder.class); + } + + private int sourceCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object source_; + + public enum SourceCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + SOURCE_IDENTIFIER(2), + SOURCE_NOT_SET(0); + private final int value; + + private SourceCase(int value) { + this.value = value; + } + + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static SourceCase valueOf(int value) { + return forNumber(value); + } + + public static SourceCase forNumber(int value) { + switch (value) { + case 2: + return SOURCE_IDENTIFIER; + case 0: + return SOURCE_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public SourceCase getSourceCase() { + return SourceCase.forNumber(sourceCase_); + } + + private int targetCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object target_; + + public enum TargetCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + TARGET_IDENTIFIER(3), + TARGET_NOT_SET(0); + private final int value; + + private TargetCase(int value) { + this.value = value; + } + + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static TargetCase valueOf(int value) { + return forNumber(value); + } + + public static TargetCase forNumber(int value) { + switch (value) { + case 3: + return TARGET_IDENTIFIER; + case 0: + return TARGET_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public TargetCase getTargetCase() { + return TargetCase.forNumber(targetCase_); + } + + public static final int SOURCE_IDENTIFIER_FIELD_NUMBER = 2; + + /** + * + * + *
+   * The identifier of the source Agent.
+   * Format:
+   *
+   * * `urn:agent:{publisher}:{namespace}:{name}`
+   * 
+ * + * string source_identifier = 2; + * + * @return Whether the sourceIdentifier field is set. + */ + public boolean hasSourceIdentifier() { + return sourceCase_ == 2; + } + + /** + * + * + *
+   * The identifier of the source Agent.
+   * Format:
+   *
+   * * `urn:agent:{publisher}:{namespace}:{name}`
+   * 
+ * + * string source_identifier = 2; + * + * @return The sourceIdentifier. + */ + public java.lang.String getSourceIdentifier() { + java.lang.Object ref = ""; + if (sourceCase_ == 2) { + ref = source_; + } + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (sourceCase_ == 2) { + source_ = s; + } + return s; + } + } + + /** + * + * + *
+   * The identifier of the source Agent.
+   * Format:
+   *
+   * * `urn:agent:{publisher}:{namespace}:{name}`
+   * 
+ * + * string source_identifier = 2; + * + * @return The bytes for sourceIdentifier. + */ + public com.google.protobuf.ByteString getSourceIdentifierBytes() { + java.lang.Object ref = ""; + if (sourceCase_ == 2) { + ref = source_; + } + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (sourceCase_ == 2) { + source_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TARGET_IDENTIFIER_FIELD_NUMBER = 3; + + /** + * + * + *
+   * Optional. The identifier of the target Agent, MCP Server, or Endpoint.
+   * Format:
+   *
+   * * `urn:agent:{publisher}:{namespace}:{name}`
+   * * `urn:mcp:{publisher}:{namespace}:{name}`
+   * * `urn:endpoint:{publisher}:{namespace}:{name}`
+   * 
+ * + * string target_identifier = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the targetIdentifier field is set. + */ + public boolean hasTargetIdentifier() { + return targetCase_ == 3; + } + + /** + * + * + *
+   * Optional. The identifier of the target Agent, MCP Server, or Endpoint.
+   * Format:
+   *
+   * * `urn:agent:{publisher}:{namespace}:{name}`
+   * * `urn:mcp:{publisher}:{namespace}:{name}`
+   * * `urn:endpoint:{publisher}:{namespace}:{name}`
+   * 
+ * + * string target_identifier = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The targetIdentifier. + */ + public java.lang.String getTargetIdentifier() { + java.lang.Object ref = ""; + if (targetCase_ == 3) { + ref = target_; + } + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (targetCase_ == 3) { + target_ = s; + } + return s; + } + } + + /** + * + * + *
+   * Optional. The identifier of the target Agent, MCP Server, or Endpoint.
+   * Format:
+   *
+   * * `urn:agent:{publisher}:{namespace}:{name}`
+   * * `urn:mcp:{publisher}:{namespace}:{name}`
+   * * `urn:endpoint:{publisher}:{namespace}:{name}`
+   * 
+ * + * string target_identifier = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for targetIdentifier. + */ + public com.google.protobuf.ByteString getTargetIdentifierBytes() { + java.lang.Object ref = ""; + if (targetCase_ == 3) { + ref = target_; + } + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (targetCase_ == 3) { + target_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. The parent, in the format
+   * `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The parent, in the format
+   * `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PAGE_SIZE_FIELD_NUMBER = 4; + private int pageSize_ = 0; + + /** + * + * + *
+   * Optional. Requested page size. Server may return fewer items than
+   * requested. Page size is 500 if unspecified and is capped at `500` even if a
+   * larger value is given.
+   * 
+ * + * int32 page_size = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + public static final int PAGE_TOKEN_FIELD_NUMBER = 5; + + @SuppressWarnings("serial") + private volatile java.lang.Object pageToken_ = ""; + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + @java.lang.Override + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (sourceCase_ == 2) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, source_); + } + if (targetCase_ == 3) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, target_); + } + if (pageSize_ != 0) { + output.writeInt32(4, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, pageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (sourceCase_ == 2) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, source_); + } + if (targetCase_ == 3) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, target_); + } + if (pageSize_ != 0) { + size += com.google.protobuf.CodedOutputStream.computeInt32Size(4, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, pageToken_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest other = + (com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (getPageSize() != other.getPageSize()) return false; + if (!getPageToken().equals(other.getPageToken())) return false; + if (!getSourceCase().equals(other.getSourceCase())) return false; + switch (sourceCase_) { + case 2: + if (!getSourceIdentifier().equals(other.getSourceIdentifier())) return false; + break; + case 0: + default: + } + if (!getTargetCase().equals(other.getTargetCase())) return false; + switch (targetCase_) { + case 3: + if (!getTargetIdentifier().equals(other.getTargetIdentifier())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + PAGE_SIZE_FIELD_NUMBER; + hash = (53 * hash) + getPageSize(); + hash = (37 * hash) + PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getPageToken().hashCode(); + switch (sourceCase_) { + case 2: + hash = (37 * hash) + SOURCE_IDENTIFIER_FIELD_NUMBER; + hash = (53 * hash) + getSourceIdentifier().hashCode(); + break; + case 0: + default: + } + switch (targetCase_) { + case 3: + hash = (37 * hash) + TARGET_IDENTIFIER_FIELD_NUMBER; + hash = (53 * hash) + getTargetIdentifier().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for fetching available Bindings.
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.FetchAvailableBindingsRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.FetchAvailableBindingsRequest) + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_FetchAvailableBindingsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_FetchAvailableBindingsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest.class, + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + pageSize_ = 0; + pageToken_ = ""; + sourceCase_ = 0; + source_ = null; + targetCase_ = 0; + target_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_FetchAvailableBindingsRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest + getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest build() { + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest buildPartial() { + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest result = + new com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.parent_ = parent_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.pageSize_ = pageSize_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.pageToken_ = pageToken_; + } + } + + private void buildPartialOneofs( + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest result) { + result.sourceCase_ = sourceCase_; + result.source_ = this.source_; + result.targetCase_ = targetCase_; + result.target_ = this.target_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest) { + return mergeFrom((com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest other) { + if (other + == com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest.getDefaultInstance()) + return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (other.getPageSize() != 0) { + setPageSize(other.getPageSize()); + } + if (!other.getPageToken().isEmpty()) { + pageToken_ = other.pageToken_; + bitField0_ |= 0x00000010; + onChanged(); + } + switch (other.getSourceCase()) { + case SOURCE_IDENTIFIER: + { + sourceCase_ = 2; + source_ = other.source_; + onChanged(); + break; + } + case SOURCE_NOT_SET: + { + break; + } + } + switch (other.getTargetCase()) { + case TARGET_IDENTIFIER: + { + targetCase_ = 3; + target_ = other.target_; + onChanged(); + break; + } + case TARGET_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 10 + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + sourceCase_ = 2; + source_ = s; + break; + } // case 18 + case 26: + { + java.lang.String s = input.readStringRequireUtf8(); + targetCase_ = 3; + target_ = s; + break; + } // case 26 + case 32: + { + pageSize_ = input.readInt32(); + bitField0_ |= 0x00000008; + break; + } // case 32 + case 42: + { + pageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 42 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int sourceCase_ = 0; + private java.lang.Object source_; + + public SourceCase getSourceCase() { + return SourceCase.forNumber(sourceCase_); + } + + public Builder clearSource() { + sourceCase_ = 0; + source_ = null; + onChanged(); + return this; + } + + private int targetCase_ = 0; + private java.lang.Object target_; + + public TargetCase getTargetCase() { + return TargetCase.forNumber(targetCase_); + } + + public Builder clearTarget() { + targetCase_ = 0; + target_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + /** + * + * + *
+     * The identifier of the source Agent.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * 
+ * + * string source_identifier = 2; + * + * @return Whether the sourceIdentifier field is set. + */ + @java.lang.Override + public boolean hasSourceIdentifier() { + return sourceCase_ == 2; + } + + /** + * + * + *
+     * The identifier of the source Agent.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * 
+ * + * string source_identifier = 2; + * + * @return The sourceIdentifier. + */ + @java.lang.Override + public java.lang.String getSourceIdentifier() { + java.lang.Object ref = ""; + if (sourceCase_ == 2) { + ref = source_; + } + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (sourceCase_ == 2) { + source_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * The identifier of the source Agent.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * 
+ * + * string source_identifier = 2; + * + * @return The bytes for sourceIdentifier. + */ + @java.lang.Override + public com.google.protobuf.ByteString getSourceIdentifierBytes() { + java.lang.Object ref = ""; + if (sourceCase_ == 2) { + ref = source_; + } + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (sourceCase_ == 2) { + source_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * The identifier of the source Agent.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * 
+ * + * string source_identifier = 2; + * + * @param value The sourceIdentifier to set. + * @return This builder for chaining. + */ + public Builder setSourceIdentifier(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + sourceCase_ = 2; + source_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+     * The identifier of the source Agent.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * 
+ * + * string source_identifier = 2; + * + * @return This builder for chaining. + */ + public Builder clearSourceIdentifier() { + if (sourceCase_ == 2) { + sourceCase_ = 0; + source_ = null; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * The identifier of the source Agent.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * 
+ * + * string source_identifier = 2; + * + * @param value The bytes for sourceIdentifier to set. + * @return This builder for chaining. + */ + public Builder setSourceIdentifierBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + sourceCase_ = 2; + source_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The identifier of the target Agent, MCP Server, or Endpoint.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * * `urn:mcp:{publisher}:{namespace}:{name}`
+     * * `urn:endpoint:{publisher}:{namespace}:{name}`
+     * 
+ * + * string target_identifier = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the targetIdentifier field is set. + */ + @java.lang.Override + public boolean hasTargetIdentifier() { + return targetCase_ == 3; + } + + /** + * + * + *
+     * Optional. The identifier of the target Agent, MCP Server, or Endpoint.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * * `urn:mcp:{publisher}:{namespace}:{name}`
+     * * `urn:endpoint:{publisher}:{namespace}:{name}`
+     * 
+ * + * string target_identifier = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The targetIdentifier. + */ + @java.lang.Override + public java.lang.String getTargetIdentifier() { + java.lang.Object ref = ""; + if (targetCase_ == 3) { + ref = target_; + } + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + if (targetCase_ == 3) { + target_ = s; + } + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. The identifier of the target Agent, MCP Server, or Endpoint.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * * `urn:mcp:{publisher}:{namespace}:{name}`
+     * * `urn:endpoint:{publisher}:{namespace}:{name}`
+     * 
+ * + * string target_identifier = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for targetIdentifier. + */ + @java.lang.Override + public com.google.protobuf.ByteString getTargetIdentifierBytes() { + java.lang.Object ref = ""; + if (targetCase_ == 3) { + ref = target_; + } + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + if (targetCase_ == 3) { + target_ = b; + } + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. The identifier of the target Agent, MCP Server, or Endpoint.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * * `urn:mcp:{publisher}:{namespace}:{name}`
+     * * `urn:endpoint:{publisher}:{namespace}:{name}`
+     * 
+ * + * string target_identifier = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The targetIdentifier to set. + * @return This builder for chaining. + */ + public Builder setTargetIdentifier(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + targetCase_ = 3; + target_ = value; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The identifier of the target Agent, MCP Server, or Endpoint.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * * `urn:mcp:{publisher}:{namespace}:{name}`
+     * * `urn:endpoint:{publisher}:{namespace}:{name}`
+     * 
+ * + * string target_identifier = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearTargetIdentifier() { + if (targetCase_ == 3) { + targetCase_ = 0; + target_ = null; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Optional. The identifier of the target Agent, MCP Server, or Endpoint.
+     * Format:
+     *
+     * * `urn:agent:{publisher}:{namespace}:{name}`
+     * * `urn:mcp:{publisher}:{namespace}:{name}`
+     * * `urn:endpoint:{publisher}:{namespace}:{name}`
+     * 
+ * + * string target_identifier = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for targetIdentifier to set. + * @return This builder for chaining. + */ + public Builder setTargetIdentifierBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + targetCase_ = 3; + target_ = value; + onChanged(); + return this; + } + + private java.lang.Object parent_ = ""; + + /** + * + * + *
+     * Required. The parent, in the format
+     * `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The parent, in the format
+     * `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The parent, in the format
+     * `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The parent, in the format
+     * `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The parent, in the format
+     * `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private int pageSize_; + + /** + * + * + *
+     * Optional. Requested page size. Server may return fewer items than
+     * requested. Page size is 500 if unspecified and is capped at `500` even if a
+     * larger value is given.
+     * 
+ * + * int32 page_size = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + /** + * + * + *
+     * Optional. Requested page size. Server may return fewer items than
+     * requested. Page size is 500 if unspecified and is capped at `500` even if a
+     * larger value is given.
+     * 
+ * + * int32 page_size = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageSize to set. + * @return This builder for chaining. + */ + public Builder setPageSize(int value) { + + pageSize_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Requested page size. Server may return fewer items than
+     * requested. Page size is 500 if unspecified and is capped at `500` even if a
+     * larger value is given.
+     * 
+ * + * int32 page_size = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageSize() { + bitField0_ = (bitField0_ & ~0x00000008); + pageSize_ = 0; + onChanged(); + return this; + } + + private java.lang.Object pageToken_ = ""; + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + pageToken_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageToken() { + pageToken_ = getDefaultInstance().getPageToken(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + pageToken_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.FetchAvailableBindingsRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.FetchAvailableBindingsRequest) + private static final com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest(); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public FetchAvailableBindingsRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/FetchAvailableBindingsRequestOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/FetchAvailableBindingsRequestOrBuilder.java new file mode 100644 index 000000000000..1da6a0553ec4 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/FetchAvailableBindingsRequestOrBuilder.java @@ -0,0 +1,207 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface FetchAvailableBindingsRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.FetchAvailableBindingsRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The identifier of the source Agent.
+   * Format:
+   *
+   * * `urn:agent:{publisher}:{namespace}:{name}`
+   * 
+ * + * string source_identifier = 2; + * + * @return Whether the sourceIdentifier field is set. + */ + boolean hasSourceIdentifier(); + + /** + * + * + *
+   * The identifier of the source Agent.
+   * Format:
+   *
+   * * `urn:agent:{publisher}:{namespace}:{name}`
+   * 
+ * + * string source_identifier = 2; + * + * @return The sourceIdentifier. + */ + java.lang.String getSourceIdentifier(); + + /** + * + * + *
+   * The identifier of the source Agent.
+   * Format:
+   *
+   * * `urn:agent:{publisher}:{namespace}:{name}`
+   * 
+ * + * string source_identifier = 2; + * + * @return The bytes for sourceIdentifier. + */ + com.google.protobuf.ByteString getSourceIdentifierBytes(); + + /** + * + * + *
+   * Optional. The identifier of the target Agent, MCP Server, or Endpoint.
+   * Format:
+   *
+   * * `urn:agent:{publisher}:{namespace}:{name}`
+   * * `urn:mcp:{publisher}:{namespace}:{name}`
+   * * `urn:endpoint:{publisher}:{namespace}:{name}`
+   * 
+ * + * string target_identifier = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the targetIdentifier field is set. + */ + boolean hasTargetIdentifier(); + + /** + * + * + *
+   * Optional. The identifier of the target Agent, MCP Server, or Endpoint.
+   * Format:
+   *
+   * * `urn:agent:{publisher}:{namespace}:{name}`
+   * * `urn:mcp:{publisher}:{namespace}:{name}`
+   * * `urn:endpoint:{publisher}:{namespace}:{name}`
+   * 
+ * + * string target_identifier = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The targetIdentifier. + */ + java.lang.String getTargetIdentifier(); + + /** + * + * + *
+   * Optional. The identifier of the target Agent, MCP Server, or Endpoint.
+   * Format:
+   *
+   * * `urn:agent:{publisher}:{namespace}:{name}`
+   * * `urn:mcp:{publisher}:{namespace}:{name}`
+   * * `urn:endpoint:{publisher}:{namespace}:{name}`
+   * 
+ * + * string target_identifier = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for targetIdentifier. + */ + com.google.protobuf.ByteString getTargetIdentifierBytes(); + + /** + * + * + *
+   * Required. The parent, in the format
+   * `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. The parent, in the format
+   * `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Optional. Requested page size. Server may return fewer items than
+   * requested. Page size is 500 if unspecified and is capped at `500` even if a
+   * larger value is given.
+   * 
+ * + * int32 page_size = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + int getPageSize(); + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + java.lang.String getPageToken(); + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + com.google.protobuf.ByteString getPageTokenBytes(); + + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest.SourceCase getSourceCase(); + + com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest.TargetCase getTargetCase(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/FetchAvailableBindingsResponse.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/FetchAvailableBindingsResponse.java new file mode 100644 index 000000000000..3f9c8aa6eee1 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/FetchAvailableBindingsResponse.java @@ -0,0 +1,1119 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for response to fetching available Bindings.
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.FetchAvailableBindingsResponse} + */ +@com.google.protobuf.Generated +public final class FetchAvailableBindingsResponse extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.FetchAvailableBindingsResponse) + FetchAvailableBindingsResponseOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "FetchAvailableBindingsResponse"); + } + + // Use FetchAvailableBindingsResponse.newBuilder() to construct. + private FetchAvailableBindingsResponse(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private FetchAvailableBindingsResponse() { + bindings_ = java.util.Collections.emptyList(); + nextPageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_FetchAvailableBindingsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_FetchAvailableBindingsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse.class, + com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse.Builder.class); + } + + public static final int BINDINGS_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List bindings_; + + /** + * + * + *
+   * The list of Bindings.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + @java.lang.Override + public java.util.List getBindingsList() { + return bindings_; + } + + /** + * + * + *
+   * The list of Bindings.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + @java.lang.Override + public java.util.List + getBindingsOrBuilderList() { + return bindings_; + } + + /** + * + * + *
+   * The list of Bindings.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + @java.lang.Override + public int getBindingsCount() { + return bindings_.size(); + } + + /** + * + * + *
+   * The list of Bindings.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding getBindings(int index) { + return bindings_.get(index); + } + + /** + * + * + *
+   * The list of Bindings.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.BindingOrBuilder getBindingsOrBuilder(int index) { + return bindings_.get(index); + } + + public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + @java.lang.Override + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + for (int i = 0; i < bindings_.size(); i++) { + output.writeMessage(1, bindings_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, nextPageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < bindings_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, bindings_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, nextPageToken_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse other = + (com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse) obj; + + if (!getBindingsList().equals(other.getBindingsList())) return false; + if (!getNextPageToken().equals(other.getNextPageToken())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getBindingsCount() > 0) { + hash = (37 * hash) + BINDINGS_FIELD_NUMBER; + hash = (53 * hash) + getBindingsList().hashCode(); + } + hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getNextPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for response to fetching available Bindings.
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.FetchAvailableBindingsResponse} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.FetchAvailableBindingsResponse) + com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_FetchAvailableBindingsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_FetchAvailableBindingsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse.class, + com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (bindingsBuilder_ == null) { + bindings_ = java.util.Collections.emptyList(); + } else { + bindings_ = null; + bindingsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + nextPageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_FetchAvailableBindingsResponse_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse + getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse build() { + com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse buildPartial() { + com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse result = + new com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse result) { + if (bindingsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + bindings_ = java.util.Collections.unmodifiableList(bindings_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.bindings_ = bindings_; + } else { + result.bindings_ = bindingsBuilder_.build(); + } + } + + private void buildPartial0( + com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.nextPageToken_ = nextPageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse) { + return mergeFrom((com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse other) { + if (other + == com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse.getDefaultInstance()) + return this; + if (bindingsBuilder_ == null) { + if (!other.bindings_.isEmpty()) { + if (bindings_.isEmpty()) { + bindings_ = other.bindings_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureBindingsIsMutable(); + bindings_.addAll(other.bindings_); + } + onChanged(); + } + } else { + if (!other.bindings_.isEmpty()) { + if (bindingsBuilder_.isEmpty()) { + bindingsBuilder_.dispose(); + bindingsBuilder_ = null; + bindings_ = other.bindings_; + bitField0_ = (bitField0_ & ~0x00000001); + bindingsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetBindingsFieldBuilder() + : null; + } else { + bindingsBuilder_.addAllMessages(other.bindings_); + } + } + } + if (!other.getNextPageToken().isEmpty()) { + nextPageToken_ = other.nextPageToken_; + bitField0_ |= 0x00000002; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + com.google.cloud.agentregistry.v1.Binding m = + input.readMessage( + com.google.cloud.agentregistry.v1.Binding.parser(), extensionRegistry); + if (bindingsBuilder_ == null) { + ensureBindingsIsMutable(); + bindings_.add(m); + } else { + bindingsBuilder_.addMessage(m); + } + break; + } // case 10 + case 18: + { + nextPageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.util.List bindings_ = + java.util.Collections.emptyList(); + + private void ensureBindingsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + bindings_ = new java.util.ArrayList(bindings_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Binding, + com.google.cloud.agentregistry.v1.Binding.Builder, + com.google.cloud.agentregistry.v1.BindingOrBuilder> + bindingsBuilder_; + + /** + * + * + *
+     * The list of Bindings.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public java.util.List getBindingsList() { + if (bindingsBuilder_ == null) { + return java.util.Collections.unmodifiableList(bindings_); + } else { + return bindingsBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * The list of Bindings.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public int getBindingsCount() { + if (bindingsBuilder_ == null) { + return bindings_.size(); + } else { + return bindingsBuilder_.getCount(); + } + } + + /** + * + * + *
+     * The list of Bindings.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public com.google.cloud.agentregistry.v1.Binding getBindings(int index) { + if (bindingsBuilder_ == null) { + return bindings_.get(index); + } else { + return bindingsBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * The list of Bindings.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public Builder setBindings(int index, com.google.cloud.agentregistry.v1.Binding value) { + if (bindingsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureBindingsIsMutable(); + bindings_.set(index, value); + onChanged(); + } else { + bindingsBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of Bindings.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public Builder setBindings( + int index, com.google.cloud.agentregistry.v1.Binding.Builder builderForValue) { + if (bindingsBuilder_ == null) { + ensureBindingsIsMutable(); + bindings_.set(index, builderForValue.build()); + onChanged(); + } else { + bindingsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of Bindings.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public Builder addBindings(com.google.cloud.agentregistry.v1.Binding value) { + if (bindingsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureBindingsIsMutable(); + bindings_.add(value); + onChanged(); + } else { + bindingsBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * The list of Bindings.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public Builder addBindings(int index, com.google.cloud.agentregistry.v1.Binding value) { + if (bindingsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureBindingsIsMutable(); + bindings_.add(index, value); + onChanged(); + } else { + bindingsBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of Bindings.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public Builder addBindings(com.google.cloud.agentregistry.v1.Binding.Builder builderForValue) { + if (bindingsBuilder_ == null) { + ensureBindingsIsMutable(); + bindings_.add(builderForValue.build()); + onChanged(); + } else { + bindingsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of Bindings.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public Builder addBindings( + int index, com.google.cloud.agentregistry.v1.Binding.Builder builderForValue) { + if (bindingsBuilder_ == null) { + ensureBindingsIsMutable(); + bindings_.add(index, builderForValue.build()); + onChanged(); + } else { + bindingsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of Bindings.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public Builder addAllBindings( + java.lang.Iterable values) { + if (bindingsBuilder_ == null) { + ensureBindingsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, bindings_); + onChanged(); + } else { + bindingsBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * The list of Bindings.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public Builder clearBindings() { + if (bindingsBuilder_ == null) { + bindings_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + bindingsBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * The list of Bindings.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public Builder removeBindings(int index) { + if (bindingsBuilder_ == null) { + ensureBindingsIsMutable(); + bindings_.remove(index); + onChanged(); + } else { + bindingsBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * The list of Bindings.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public com.google.cloud.agentregistry.v1.Binding.Builder getBindingsBuilder(int index) { + return internalGetBindingsFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * The list of Bindings.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public com.google.cloud.agentregistry.v1.BindingOrBuilder getBindingsOrBuilder(int index) { + if (bindingsBuilder_ == null) { + return bindings_.get(index); + } else { + return bindingsBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * The list of Bindings.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public java.util.List + getBindingsOrBuilderList() { + if (bindingsBuilder_ != null) { + return bindingsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(bindings_); + } + } + + /** + * + * + *
+     * The list of Bindings.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public com.google.cloud.agentregistry.v1.Binding.Builder addBindingsBuilder() { + return internalGetBindingsFieldBuilder() + .addBuilder(com.google.cloud.agentregistry.v1.Binding.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of Bindings.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public com.google.cloud.agentregistry.v1.Binding.Builder addBindingsBuilder(int index) { + return internalGetBindingsFieldBuilder() + .addBuilder(index, com.google.cloud.agentregistry.v1.Binding.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of Bindings.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public java.util.List + getBindingsBuilderList() { + return internalGetBindingsFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Binding, + com.google.cloud.agentregistry.v1.Binding.Builder, + com.google.cloud.agentregistry.v1.BindingOrBuilder> + internalGetBindingsFieldBuilder() { + if (bindingsBuilder_ == null) { + bindingsBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Binding, + com.google.cloud.agentregistry.v1.Binding.Builder, + com.google.cloud.agentregistry.v1.BindingOrBuilder>( + bindings_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); + bindings_ = null; + } + return bindingsBuilder_; + } + + private java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string next_page_token = 2; + * + * @return This builder for chaining. + */ + public Builder clearNextPageToken() { + nextPageToken_ = getDefaultInstance().getNextPageToken(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The bytes for nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.FetchAvailableBindingsResponse) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.FetchAvailableBindingsResponse) + private static final com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse(); + } + + public static com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public FetchAvailableBindingsResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/FetchAvailableBindingsResponseOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/FetchAvailableBindingsResponseOrBuilder.java new file mode 100644 index 000000000000..228be9d669f0 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/FetchAvailableBindingsResponseOrBuilder.java @@ -0,0 +1,110 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface FetchAvailableBindingsResponseOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.FetchAvailableBindingsResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The list of Bindings.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + java.util.List getBindingsList(); + + /** + * + * + *
+   * The list of Bindings.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + com.google.cloud.agentregistry.v1.Binding getBindings(int index); + + /** + * + * + *
+   * The list of Bindings.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + int getBindingsCount(); + + /** + * + * + *
+   * The list of Bindings.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + java.util.List + getBindingsOrBuilderList(); + + /** + * + * + *
+   * The list of Bindings.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + com.google.cloud.agentregistry.v1.BindingOrBuilder getBindingsOrBuilder(int index); + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + java.lang.String getNextPageToken(); + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + com.google.protobuf.ByteString getNextPageTokenBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetAgentRequest.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetAgentRequest.java new file mode 100644 index 000000000000..33ba85eb960a --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetAgentRequest.java @@ -0,0 +1,610 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for getting a Agent
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.GetAgentRequest} + */ +@com.google.protobuf.Generated +public final class GetAgentRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.GetAgentRequest) + GetAgentRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "GetAgentRequest"); + } + + // Use GetAgentRequest.newBuilder() to construct. + private GetAgentRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private GetAgentRequest() { + name_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetAgentRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetAgentRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.GetAgentRequest.class, + com.google.cloud.agentregistry.v1.GetAgentRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.GetAgentRequest)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.GetAgentRequest other = + (com.google.cloud.agentregistry.v1.GetAgentRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.GetAgentRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.GetAgentRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetAgentRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.GetAgentRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetAgentRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.GetAgentRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetAgentRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.GetAgentRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetAgentRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.GetAgentRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetAgentRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.GetAgentRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloud.agentregistry.v1.GetAgentRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for getting a Agent
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.GetAgentRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.GetAgentRequest) + com.google.cloud.agentregistry.v1.GetAgentRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetAgentRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetAgentRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.GetAgentRequest.class, + com.google.cloud.agentregistry.v1.GetAgentRequest.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.GetAgentRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetAgentRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.GetAgentRequest getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.GetAgentRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.GetAgentRequest build() { + com.google.cloud.agentregistry.v1.GetAgentRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.GetAgentRequest buildPartial() { + com.google.cloud.agentregistry.v1.GetAgentRequest result = + new com.google.cloud.agentregistry.v1.GetAgentRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.GetAgentRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.GetAgentRequest) { + return mergeFrom((com.google.cloud.agentregistry.v1.GetAgentRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.GetAgentRequest other) { + if (other == com.google.cloud.agentregistry.v1.GetAgentRequest.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.GetAgentRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.GetAgentRequest) + private static final com.google.cloud.agentregistry.v1.GetAgentRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.GetAgentRequest(); + } + + public static com.google.cloud.agentregistry.v1.GetAgentRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GetAgentRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.GetAgentRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetAgentRequestOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetAgentRequestOrBuilder.java new file mode 100644 index 000000000000..5e489e2735cd --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetAgentRequestOrBuilder.java @@ -0,0 +1,58 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface GetAgentRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.GetAgentRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetBindingRequest.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetBindingRequest.java new file mode 100644 index 000000000000..b64742009a91 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetBindingRequest.java @@ -0,0 +1,617 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for getting a Binding
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.GetBindingRequest} + */ +@com.google.protobuf.Generated +public final class GetBindingRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.GetBindingRequest) + GetBindingRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "GetBindingRequest"); + } + + // Use GetBindingRequest.newBuilder() to construct. + private GetBindingRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private GetBindingRequest() { + name_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetBindingRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetBindingRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.GetBindingRequest.class, + com.google.cloud.agentregistry.v1.GetBindingRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. The name of the Binding.
+   * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The name of the Binding.
+   * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.GetBindingRequest)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.GetBindingRequest other = + (com.google.cloud.agentregistry.v1.GetBindingRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.GetBindingRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.GetBindingRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetBindingRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.GetBindingRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetBindingRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.GetBindingRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetBindingRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.GetBindingRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetBindingRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.GetBindingRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetBindingRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.GetBindingRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloud.agentregistry.v1.GetBindingRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for getting a Binding
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.GetBindingRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.GetBindingRequest) + com.google.cloud.agentregistry.v1.GetBindingRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetBindingRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetBindingRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.GetBindingRequest.class, + com.google.cloud.agentregistry.v1.GetBindingRequest.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.GetBindingRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetBindingRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.GetBindingRequest getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.GetBindingRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.GetBindingRequest build() { + com.google.cloud.agentregistry.v1.GetBindingRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.GetBindingRequest buildPartial() { + com.google.cloud.agentregistry.v1.GetBindingRequest result = + new com.google.cloud.agentregistry.v1.GetBindingRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.GetBindingRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.GetBindingRequest) { + return mergeFrom((com.google.cloud.agentregistry.v1.GetBindingRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.GetBindingRequest other) { + if (other == com.google.cloud.agentregistry.v1.GetBindingRequest.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Required. The name of the Binding.
+     * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The name of the Binding.
+     * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The name of the Binding.
+     * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The name of the Binding.
+     * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The name of the Binding.
+     * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.GetBindingRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.GetBindingRequest) + private static final com.google.cloud.agentregistry.v1.GetBindingRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.GetBindingRequest(); + } + + public static com.google.cloud.agentregistry.v1.GetBindingRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GetBindingRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.GetBindingRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetBindingRequestOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetBindingRequestOrBuilder.java new file mode 100644 index 000000000000..3e01e8d35f23 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetBindingRequestOrBuilder.java @@ -0,0 +1,60 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface GetBindingRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.GetBindingRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The name of the Binding.
+   * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. The name of the Binding.
+   * Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetEndpointRequest.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetEndpointRequest.java new file mode 100644 index 000000000000..567a87c035a5 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetEndpointRequest.java @@ -0,0 +1,617 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for getting a Endpoint
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.GetEndpointRequest} + */ +@com.google.protobuf.Generated +public final class GetEndpointRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.GetEndpointRequest) + GetEndpointRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "GetEndpointRequest"); + } + + // Use GetEndpointRequest.newBuilder() to construct. + private GetEndpointRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private GetEndpointRequest() { + name_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetEndpointRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetEndpointRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.GetEndpointRequest.class, + com.google.cloud.agentregistry.v1.GetEndpointRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. The name of the endpoint to retrieve.
+   * Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The name of the endpoint to retrieve.
+   * Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.GetEndpointRequest)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.GetEndpointRequest other = + (com.google.cloud.agentregistry.v1.GetEndpointRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.GetEndpointRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.GetEndpointRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetEndpointRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.GetEndpointRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetEndpointRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.GetEndpointRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetEndpointRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.GetEndpointRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetEndpointRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.GetEndpointRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetEndpointRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.GetEndpointRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloud.agentregistry.v1.GetEndpointRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for getting a Endpoint
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.GetEndpointRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.GetEndpointRequest) + com.google.cloud.agentregistry.v1.GetEndpointRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetEndpointRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetEndpointRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.GetEndpointRequest.class, + com.google.cloud.agentregistry.v1.GetEndpointRequest.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.GetEndpointRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetEndpointRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.GetEndpointRequest getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.GetEndpointRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.GetEndpointRequest build() { + com.google.cloud.agentregistry.v1.GetEndpointRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.GetEndpointRequest buildPartial() { + com.google.cloud.agentregistry.v1.GetEndpointRequest result = + new com.google.cloud.agentregistry.v1.GetEndpointRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.GetEndpointRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.GetEndpointRequest) { + return mergeFrom((com.google.cloud.agentregistry.v1.GetEndpointRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.GetEndpointRequest other) { + if (other == com.google.cloud.agentregistry.v1.GetEndpointRequest.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Required. The name of the endpoint to retrieve.
+     * Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The name of the endpoint to retrieve.
+     * Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The name of the endpoint to retrieve.
+     * Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The name of the endpoint to retrieve.
+     * Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The name of the endpoint to retrieve.
+     * Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.GetEndpointRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.GetEndpointRequest) + private static final com.google.cloud.agentregistry.v1.GetEndpointRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.GetEndpointRequest(); + } + + public static com.google.cloud.agentregistry.v1.GetEndpointRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GetEndpointRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.GetEndpointRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetEndpointRequestOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetEndpointRequestOrBuilder.java new file mode 100644 index 000000000000..4df347449e0c --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetEndpointRequestOrBuilder.java @@ -0,0 +1,60 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface GetEndpointRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.GetEndpointRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The name of the endpoint to retrieve.
+   * Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. The name of the endpoint to retrieve.
+   * Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetMcpServerRequest.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetMcpServerRequest.java new file mode 100644 index 000000000000..c3ee405b4bdd --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetMcpServerRequest.java @@ -0,0 +1,611 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for getting a McpServer
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.GetMcpServerRequest} + */ +@com.google.protobuf.Generated +public final class GetMcpServerRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.GetMcpServerRequest) + GetMcpServerRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "GetMcpServerRequest"); + } + + // Use GetMcpServerRequest.newBuilder() to construct. + private GetMcpServerRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private GetMcpServerRequest() { + name_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetMcpServerRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetMcpServerRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.GetMcpServerRequest.class, + com.google.cloud.agentregistry.v1.GetMcpServerRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.GetMcpServerRequest)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.GetMcpServerRequest other = + (com.google.cloud.agentregistry.v1.GetMcpServerRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.GetMcpServerRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.GetMcpServerRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetMcpServerRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.GetMcpServerRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetMcpServerRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.GetMcpServerRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetMcpServerRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.GetMcpServerRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetMcpServerRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.GetMcpServerRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetMcpServerRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.GetMcpServerRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.GetMcpServerRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for getting a McpServer
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.GetMcpServerRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.GetMcpServerRequest) + com.google.cloud.agentregistry.v1.GetMcpServerRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetMcpServerRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetMcpServerRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.GetMcpServerRequest.class, + com.google.cloud.agentregistry.v1.GetMcpServerRequest.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.GetMcpServerRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetMcpServerRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.GetMcpServerRequest getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.GetMcpServerRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.GetMcpServerRequest build() { + com.google.cloud.agentregistry.v1.GetMcpServerRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.GetMcpServerRequest buildPartial() { + com.google.cloud.agentregistry.v1.GetMcpServerRequest result = + new com.google.cloud.agentregistry.v1.GetMcpServerRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.GetMcpServerRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.GetMcpServerRequest) { + return mergeFrom((com.google.cloud.agentregistry.v1.GetMcpServerRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.GetMcpServerRequest other) { + if (other == com.google.cloud.agentregistry.v1.GetMcpServerRequest.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Name of the resource
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.GetMcpServerRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.GetMcpServerRequest) + private static final com.google.cloud.agentregistry.v1.GetMcpServerRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.GetMcpServerRequest(); + } + + public static com.google.cloud.agentregistry.v1.GetMcpServerRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GetMcpServerRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.GetMcpServerRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetMcpServerRequestOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetMcpServerRequestOrBuilder.java new file mode 100644 index 000000000000..962313f08bef --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetMcpServerRequestOrBuilder.java @@ -0,0 +1,58 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface GetMcpServerRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.GetMcpServerRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. Name of the resource
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetServiceRequest.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetServiceRequest.java new file mode 100644 index 000000000000..725066fa19cf --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetServiceRequest.java @@ -0,0 +1,617 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for getting a Service
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.GetServiceRequest} + */ +@com.google.protobuf.Generated +public final class GetServiceRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.GetServiceRequest) + GetServiceRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "GetServiceRequest"); + } + + // Use GetServiceRequest.newBuilder() to construct. + private GetServiceRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private GetServiceRequest() { + name_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetServiceRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetServiceRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.GetServiceRequest.class, + com.google.cloud.agentregistry.v1.GetServiceRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Required. The name of the Service.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The name of the Service.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.GetServiceRequest)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.GetServiceRequest other = + (com.google.cloud.agentregistry.v1.GetServiceRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.GetServiceRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.GetServiceRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetServiceRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.GetServiceRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetServiceRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.GetServiceRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetServiceRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.GetServiceRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetServiceRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.GetServiceRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.GetServiceRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.GetServiceRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloud.agentregistry.v1.GetServiceRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for getting a Service
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.GetServiceRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.GetServiceRequest) + com.google.cloud.agentregistry.v1.GetServiceRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetServiceRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetServiceRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.GetServiceRequest.class, + com.google.cloud.agentregistry.v1.GetServiceRequest.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.GetServiceRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_GetServiceRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.GetServiceRequest getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.GetServiceRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.GetServiceRequest build() { + com.google.cloud.agentregistry.v1.GetServiceRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.GetServiceRequest buildPartial() { + com.google.cloud.agentregistry.v1.GetServiceRequest result = + new com.google.cloud.agentregistry.v1.GetServiceRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.GetServiceRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.GetServiceRequest) { + return mergeFrom((com.google.cloud.agentregistry.v1.GetServiceRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.GetServiceRequest other) { + if (other == com.google.cloud.agentregistry.v1.GetServiceRequest.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Required. The name of the Service.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The name of the Service.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The name of the Service.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The name of the Service.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The name of the Service.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.GetServiceRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.GetServiceRequest) + private static final com.google.cloud.agentregistry.v1.GetServiceRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.GetServiceRequest(); + } + + public static com.google.cloud.agentregistry.v1.GetServiceRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GetServiceRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.GetServiceRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetServiceRequestOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetServiceRequestOrBuilder.java new file mode 100644 index 000000000000..5ba13fc8d0b1 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/GetServiceRequestOrBuilder.java @@ -0,0 +1,60 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface GetServiceRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.GetServiceRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The name of the Service.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Required. The name of the Service.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/Interface.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/Interface.java new file mode 100644 index 000000000000..db956e5b36e4 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/Interface.java @@ -0,0 +1,967 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/properties.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Represents the connection details for an Agent or MCP Server.
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Interface} + */ +@com.google.protobuf.Generated +public final class Interface extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.Interface) + InterfaceOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Interface"); + } + + // Use Interface.newBuilder() to construct. + private Interface(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Interface() { + url_ = ""; + protocolBinding_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.PropertiesProto + .internal_static_google_cloud_agentregistry_v1_Interface_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.PropertiesProto + .internal_static_google_cloud_agentregistry_v1_Interface_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Interface.class, + com.google.cloud.agentregistry.v1.Interface.Builder.class); + } + + /** + * + * + *
+   * The protocol binding of the interface.
+   * 
+ * + * Protobuf enum {@code google.cloud.agentregistry.v1.Interface.ProtocolBinding} + */ + public enum ProtocolBinding implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+     * Unspecified transport protocol.
+     * 
+ * + * PROTOCOL_BINDING_UNSPECIFIED = 0; + */ + PROTOCOL_BINDING_UNSPECIFIED(0), + /** + * + * + *
+     * JSON-RPC specification.
+     * 
+ * + * JSONRPC = 1; + */ + JSONRPC(1), + /** + * + * + *
+     * gRPC specification.
+     * 
+ * + * GRPC = 2; + */ + GRPC(2), + /** + * + * + *
+     * HTTP+JSON specification.
+     * 
+ * + * HTTP_JSON = 3; + */ + HTTP_JSON(3), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ProtocolBinding"); + } + + /** + * + * + *
+     * Unspecified transport protocol.
+     * 
+ * + * PROTOCOL_BINDING_UNSPECIFIED = 0; + */ + public static final int PROTOCOL_BINDING_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+     * JSON-RPC specification.
+     * 
+ * + * JSONRPC = 1; + */ + public static final int JSONRPC_VALUE = 1; + + /** + * + * + *
+     * gRPC specification.
+     * 
+ * + * GRPC = 2; + */ + public static final int GRPC_VALUE = 2; + + /** + * + * + *
+     * HTTP+JSON specification.
+     * 
+ * + * HTTP_JSON = 3; + */ + public static final int HTTP_JSON_VALUE = 3; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static ProtocolBinding valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static ProtocolBinding forNumber(int value) { + switch (value) { + case 0: + return PROTOCOL_BINDING_UNSPECIFIED; + case 1: + return JSONRPC; + case 2: + return GRPC; + case 3: + return HTTP_JSON; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap + internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public ProtocolBinding findValueByNumber(int number) { + return ProtocolBinding.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.Interface.getDescriptor().getEnumTypes().get(0); + } + + private static final ProtocolBinding[] VALUES = values(); + + public static ProtocolBinding valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private ProtocolBinding(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.agentregistry.v1.Interface.ProtocolBinding) + } + + public static final int URL_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object url_ = ""; + + /** + * + * + *
+   * Required. The destination URL.
+   * 
+ * + * string url = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The url. + */ + @java.lang.Override + public java.lang.String getUrl() { + java.lang.Object ref = url_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + url_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The destination URL.
+   * 
+ * + * string url = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for url. + */ + @java.lang.Override + public com.google.protobuf.ByteString getUrlBytes() { + java.lang.Object ref = url_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + url_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PROTOCOL_BINDING_FIELD_NUMBER = 2; + private int protocolBinding_ = 0; + + /** + * + * + *
+   * Required. The protocol binding of the interface.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Interface.ProtocolBinding protocol_binding = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for protocolBinding. + */ + @java.lang.Override + public int getProtocolBindingValue() { + return protocolBinding_; + } + + /** + * + * + *
+   * Required. The protocol binding of the interface.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Interface.ProtocolBinding protocol_binding = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The protocolBinding. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Interface.ProtocolBinding getProtocolBinding() { + com.google.cloud.agentregistry.v1.Interface.ProtocolBinding result = + com.google.cloud.agentregistry.v1.Interface.ProtocolBinding.forNumber(protocolBinding_); + return result == null + ? com.google.cloud.agentregistry.v1.Interface.ProtocolBinding.UNRECOGNIZED + : result; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(url_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, url_); + } + if (protocolBinding_ + != com.google.cloud.agentregistry.v1.Interface.ProtocolBinding.PROTOCOL_BINDING_UNSPECIFIED + .getNumber()) { + output.writeEnum(2, protocolBinding_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(url_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, url_); + } + if (protocolBinding_ + != com.google.cloud.agentregistry.v1.Interface.ProtocolBinding.PROTOCOL_BINDING_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, protocolBinding_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.Interface)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.Interface other = + (com.google.cloud.agentregistry.v1.Interface) obj; + + if (!getUrl().equals(other.getUrl())) return false; + if (protocolBinding_ != other.protocolBinding_) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + URL_FIELD_NUMBER; + hash = (53 * hash) + getUrl().hashCode(); + hash = (37 * hash) + PROTOCOL_BINDING_FIELD_NUMBER; + hash = (53 * hash) + protocolBinding_; + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.Interface parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Interface parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Interface parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Interface parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Interface parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Interface parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Interface parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Interface parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Interface parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Interface parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Interface parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Interface parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloud.agentregistry.v1.Interface prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Represents the connection details for an Agent or MCP Server.
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Interface} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.Interface) + com.google.cloud.agentregistry.v1.InterfaceOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.PropertiesProto + .internal_static_google_cloud_agentregistry_v1_Interface_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.PropertiesProto + .internal_static_google_cloud_agentregistry_v1_Interface_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Interface.class, + com.google.cloud.agentregistry.v1.Interface.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.Interface.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + url_ = ""; + protocolBinding_ = 0; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.PropertiesProto + .internal_static_google_cloud_agentregistry_v1_Interface_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Interface getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.Interface.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Interface build() { + com.google.cloud.agentregistry.v1.Interface result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Interface buildPartial() { + com.google.cloud.agentregistry.v1.Interface result = + new com.google.cloud.agentregistry.v1.Interface(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.Interface result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.url_ = url_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.protocolBinding_ = protocolBinding_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.Interface) { + return mergeFrom((com.google.cloud.agentregistry.v1.Interface) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.Interface other) { + if (other == com.google.cloud.agentregistry.v1.Interface.getDefaultInstance()) return this; + if (!other.getUrl().isEmpty()) { + url_ = other.url_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.protocolBinding_ != 0) { + setProtocolBindingValue(other.getProtocolBindingValue()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + url_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + protocolBinding_ = input.readEnum(); + bitField0_ |= 0x00000002; + break; + } // case 16 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object url_ = ""; + + /** + * + * + *
+     * Required. The destination URL.
+     * 
+ * + * string url = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The url. + */ + public java.lang.String getUrl() { + java.lang.Object ref = url_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + url_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The destination URL.
+     * 
+ * + * string url = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for url. + */ + public com.google.protobuf.ByteString getUrlBytes() { + java.lang.Object ref = url_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + url_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The destination URL.
+     * 
+ * + * string url = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @param value The url to set. + * @return This builder for chaining. + */ + public Builder setUrl(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + url_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The destination URL.
+     * 
+ * + * string url = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @return This builder for chaining. + */ + public Builder clearUrl() { + url_ = getDefaultInstance().getUrl(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The destination URL.
+     * 
+ * + * string url = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @param value The bytes for url to set. + * @return This builder for chaining. + */ + public Builder setUrlBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + url_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private int protocolBinding_ = 0; + + /** + * + * + *
+     * Required. The protocol binding of the interface.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Interface.ProtocolBinding protocol_binding = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for protocolBinding. + */ + @java.lang.Override + public int getProtocolBindingValue() { + return protocolBinding_; + } + + /** + * + * + *
+     * Required. The protocol binding of the interface.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Interface.ProtocolBinding protocol_binding = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @param value The enum numeric value on the wire for protocolBinding to set. + * @return This builder for chaining. + */ + public Builder setProtocolBindingValue(int value) { + protocolBinding_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The protocol binding of the interface.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Interface.ProtocolBinding protocol_binding = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The protocolBinding. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Interface.ProtocolBinding getProtocolBinding() { + com.google.cloud.agentregistry.v1.Interface.ProtocolBinding result = + com.google.cloud.agentregistry.v1.Interface.ProtocolBinding.forNumber(protocolBinding_); + return result == null + ? com.google.cloud.agentregistry.v1.Interface.ProtocolBinding.UNRECOGNIZED + : result; + } + + /** + * + * + *
+     * Required. The protocol binding of the interface.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Interface.ProtocolBinding protocol_binding = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @param value The protocolBinding to set. + * @return This builder for chaining. + */ + public Builder setProtocolBinding( + com.google.cloud.agentregistry.v1.Interface.ProtocolBinding value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + protocolBinding_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The protocol binding of the interface.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Interface.ProtocolBinding protocol_binding = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return This builder for chaining. + */ + public Builder clearProtocolBinding() { + bitField0_ = (bitField0_ & ~0x00000002); + protocolBinding_ = 0; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.Interface) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.Interface) + private static final com.google.cloud.agentregistry.v1.Interface DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.Interface(); + } + + public static com.google.cloud.agentregistry.v1.Interface getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Interface parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Interface getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/InterfaceOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/InterfaceOrBuilder.java new file mode 100644 index 000000000000..a7cf6ef4165b --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/InterfaceOrBuilder.java @@ -0,0 +1,84 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/properties.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface InterfaceOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.Interface) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The destination URL.
+   * 
+ * + * string url = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The url. + */ + java.lang.String getUrl(); + + /** + * + * + *
+   * Required. The destination URL.
+   * 
+ * + * string url = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for url. + */ + com.google.protobuf.ByteString getUrlBytes(); + + /** + * + * + *
+   * Required. The protocol binding of the interface.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Interface.ProtocolBinding protocol_binding = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for protocolBinding. + */ + int getProtocolBindingValue(); + + /** + * + * + *
+   * Required. The protocol binding of the interface.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Interface.ProtocolBinding protocol_binding = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The protocolBinding. + */ + com.google.cloud.agentregistry.v1.Interface.ProtocolBinding getProtocolBinding(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListAgentsRequest.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListAgentsRequest.java new file mode 100644 index 000000000000..dbcc69063f86 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListAgentsRequest.java @@ -0,0 +1,1278 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for requesting list of Agents
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.ListAgentsRequest} + */ +@com.google.protobuf.Generated +public final class ListAgentsRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.ListAgentsRequest) + ListAgentsRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListAgentsRequest"); + } + + // Use ListAgentsRequest.newBuilder() to construct. + private ListAgentsRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListAgentsRequest() { + parent_ = ""; + pageToken_ = ""; + filter_ = ""; + orderBy_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListAgentsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListAgentsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.ListAgentsRequest.class, + com.google.cloud.agentregistry.v1.ListAgentsRequest.Builder.class); + } + + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. Parent value for ListAgentsRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. Parent value for ListAgentsRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PAGE_SIZE_FIELD_NUMBER = 2; + private int pageSize_ = 0; + + /** + * + * + *
+   * Optional. Requested page size. Server may return fewer items than
+   * requested. If unspecified, server will pick an appropriate default.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + public static final int PAGE_TOKEN_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object pageToken_ = ""; + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + @java.lang.Override + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int FILTER_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private volatile java.lang.Object filter_ = ""; + + /** + * + * + *
+   * Optional. Filtering results
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + @java.lang.Override + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + filter_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. Filtering results
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + @java.lang.Override + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ORDER_BY_FIELD_NUMBER = 5; + + @SuppressWarnings("serial") + private volatile java.lang.Object orderBy_ = ""; + + /** + * + * + *
+   * Optional. Hint for how to order the results
+   * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The orderBy. + */ + @java.lang.Override + public java.lang.String getOrderBy() { + java.lang.Object ref = orderBy_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + orderBy_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. Hint for how to order the results
+   * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for orderBy. + */ + @java.lang.Override + public com.google.protobuf.ByteString getOrderByBytes() { + java.lang.Object ref = orderBy_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + orderBy_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (pageSize_ != 0) { + output.writeInt32(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, pageToken_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(filter_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, filter_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(orderBy_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, orderBy_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (pageSize_ != 0) { + size += com.google.protobuf.CodedOutputStream.computeInt32Size(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, pageToken_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(filter_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, filter_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(orderBy_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, orderBy_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.ListAgentsRequest)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.ListAgentsRequest other = + (com.google.cloud.agentregistry.v1.ListAgentsRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (getPageSize() != other.getPageSize()) return false; + if (!getPageToken().equals(other.getPageToken())) return false; + if (!getFilter().equals(other.getFilter())) return false; + if (!getOrderBy().equals(other.getOrderBy())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + PAGE_SIZE_FIELD_NUMBER; + hash = (53 * hash) + getPageSize(); + hash = (37 * hash) + PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getPageToken().hashCode(); + hash = (37 * hash) + FILTER_FIELD_NUMBER; + hash = (53 * hash) + getFilter().hashCode(); + hash = (37 * hash) + ORDER_BY_FIELD_NUMBER; + hash = (53 * hash) + getOrderBy().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.ListAgentsRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloud.agentregistry.v1.ListAgentsRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for requesting list of Agents
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.ListAgentsRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.ListAgentsRequest) + com.google.cloud.agentregistry.v1.ListAgentsRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListAgentsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListAgentsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.ListAgentsRequest.class, + com.google.cloud.agentregistry.v1.ListAgentsRequest.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.ListAgentsRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + pageSize_ = 0; + pageToken_ = ""; + filter_ = ""; + orderBy_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListAgentsRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListAgentsRequest getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.ListAgentsRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListAgentsRequest build() { + com.google.cloud.agentregistry.v1.ListAgentsRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListAgentsRequest buildPartial() { + com.google.cloud.agentregistry.v1.ListAgentsRequest result = + new com.google.cloud.agentregistry.v1.ListAgentsRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.ListAgentsRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.pageSize_ = pageSize_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.pageToken_ = pageToken_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.filter_ = filter_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.orderBy_ = orderBy_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.ListAgentsRequest) { + return mergeFrom((com.google.cloud.agentregistry.v1.ListAgentsRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.ListAgentsRequest other) { + if (other == com.google.cloud.agentregistry.v1.ListAgentsRequest.getDefaultInstance()) + return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getPageSize() != 0) { + setPageSize(other.getPageSize()); + } + if (!other.getPageToken().isEmpty()) { + pageToken_ = other.pageToken_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getFilter().isEmpty()) { + filter_ = other.filter_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (!other.getOrderBy().isEmpty()) { + orderBy_ = other.orderBy_; + bitField0_ |= 0x00000010; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + pageSize_ = input.readInt32(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: + { + pageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: + { + filter_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + case 42: + { + orderBy_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 42 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object parent_ = ""; + + /** + * + * + *
+     * Required. Parent value for ListAgentsRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for ListAgentsRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for ListAgentsRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for ListAgentsRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for ListAgentsRequest
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private int pageSize_; + + /** + * + * + *
+     * Optional. Requested page size. Server may return fewer items than
+     * requested. If unspecified, server will pick an appropriate default.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + /** + * + * + *
+     * Optional. Requested page size. Server may return fewer items than
+     * requested. If unspecified, server will pick an appropriate default.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageSize to set. + * @return This builder for chaining. + */ + public Builder setPageSize(int value) { + + pageSize_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Requested page size. Server may return fewer items than
+     * requested. If unspecified, server will pick an appropriate default.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageSize() { + bitField0_ = (bitField0_ & ~0x00000002); + pageSize_ = 0; + onChanged(); + return this; + } + + private java.lang.Object pageToken_ = ""; + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageToken() { + pageToken_ = getDefaultInstance().getPageToken(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object filter_ = ""; + + /** + * + * + *
+     * Optional. Filtering results
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + filter_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. Filtering results
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. Filtering results
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The filter to set. + * @return This builder for chaining. + */ + public Builder setFilter(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + filter_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Filtering results
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearFilter() { + filter_ = getDefaultInstance().getFilter(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Filtering results
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for filter to set. + * @return This builder for chaining. + */ + public Builder setFilterBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + filter_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private java.lang.Object orderBy_ = ""; + + /** + * + * + *
+     * Optional. Hint for how to order the results
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The orderBy. + */ + public java.lang.String getOrderBy() { + java.lang.Object ref = orderBy_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + orderBy_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. Hint for how to order the results
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for orderBy. + */ + public com.google.protobuf.ByteString getOrderByBytes() { + java.lang.Object ref = orderBy_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + orderBy_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. Hint for how to order the results
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The orderBy to set. + * @return This builder for chaining. + */ + public Builder setOrderBy(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + orderBy_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Hint for how to order the results
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearOrderBy() { + orderBy_ = getDefaultInstance().getOrderBy(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Hint for how to order the results
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for orderBy to set. + * @return This builder for chaining. + */ + public Builder setOrderByBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + orderBy_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.ListAgentsRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.ListAgentsRequest) + private static final com.google.cloud.agentregistry.v1.ListAgentsRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.ListAgentsRequest(); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListAgentsRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListAgentsRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListAgentsRequestOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListAgentsRequestOrBuilder.java new file mode 100644 index 000000000000..dab569c6848c --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListAgentsRequestOrBuilder.java @@ -0,0 +1,150 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface ListAgentsRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.ListAgentsRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Parent value for ListAgentsRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. Parent value for ListAgentsRequest
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Optional. Requested page size. Server may return fewer items than
+   * requested. If unspecified, server will pick an appropriate default.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + int getPageSize(); + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + java.lang.String getPageToken(); + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + com.google.protobuf.ByteString getPageTokenBytes(); + + /** + * + * + *
+   * Optional. Filtering results
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + java.lang.String getFilter(); + + /** + * + * + *
+   * Optional. Filtering results
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + com.google.protobuf.ByteString getFilterBytes(); + + /** + * + * + *
+   * Optional. Hint for how to order the results
+   * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The orderBy. + */ + java.lang.String getOrderBy(); + + /** + * + * + *
+   * Optional. Hint for how to order the results
+   * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for orderBy. + */ + com.google.protobuf.ByteString getOrderByBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListAgentsResponse.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListAgentsResponse.java new file mode 100644 index 000000000000..7aaa52d073f0 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListAgentsResponse.java @@ -0,0 +1,1110 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for response to listing Agents
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.ListAgentsResponse} + */ +@com.google.protobuf.Generated +public final class ListAgentsResponse extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.ListAgentsResponse) + ListAgentsResponseOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListAgentsResponse"); + } + + // Use ListAgentsResponse.newBuilder() to construct. + private ListAgentsResponse(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListAgentsResponse() { + agents_ = java.util.Collections.emptyList(); + nextPageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListAgentsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListAgentsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.ListAgentsResponse.class, + com.google.cloud.agentregistry.v1.ListAgentsResponse.Builder.class); + } + + public static final int AGENTS_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List agents_; + + /** + * + * + *
+   * The list of Agents.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + @java.lang.Override + public java.util.List getAgentsList() { + return agents_; + } + + /** + * + * + *
+   * The list of Agents.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + @java.lang.Override + public java.util.List + getAgentsOrBuilderList() { + return agents_; + } + + /** + * + * + *
+   * The list of Agents.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + @java.lang.Override + public int getAgentsCount() { + return agents_.size(); + } + + /** + * + * + *
+   * The list of Agents.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent getAgents(int index) { + return agents_.get(index); + } + + /** + * + * + *
+   * The list of Agents.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.AgentOrBuilder getAgentsOrBuilder(int index) { + return agents_.get(index); + } + + public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + @java.lang.Override + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + for (int i = 0; i < agents_.size(); i++) { + output.writeMessage(1, agents_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, nextPageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < agents_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, agents_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, nextPageToken_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.ListAgentsResponse)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.ListAgentsResponse other = + (com.google.cloud.agentregistry.v1.ListAgentsResponse) obj; + + if (!getAgentsList().equals(other.getAgentsList())) return false; + if (!getNextPageToken().equals(other.getNextPageToken())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getAgentsCount() > 0) { + hash = (37 * hash) + AGENTS_FIELD_NUMBER; + hash = (53 * hash) + getAgentsList().hashCode(); + } + hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getNextPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.ListAgentsResponse parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsResponse parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsResponse parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsResponse parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsResponse parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsResponse parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsResponse parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsResponse parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloud.agentregistry.v1.ListAgentsResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for response to listing Agents
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.ListAgentsResponse} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.ListAgentsResponse) + com.google.cloud.agentregistry.v1.ListAgentsResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListAgentsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListAgentsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.ListAgentsResponse.class, + com.google.cloud.agentregistry.v1.ListAgentsResponse.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.ListAgentsResponse.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (agentsBuilder_ == null) { + agents_ = java.util.Collections.emptyList(); + } else { + agents_ = null; + agentsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + nextPageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListAgentsResponse_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListAgentsResponse getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.ListAgentsResponse.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListAgentsResponse build() { + com.google.cloud.agentregistry.v1.ListAgentsResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListAgentsResponse buildPartial() { + com.google.cloud.agentregistry.v1.ListAgentsResponse result = + new com.google.cloud.agentregistry.v1.ListAgentsResponse(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.agentregistry.v1.ListAgentsResponse result) { + if (agentsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + agents_ = java.util.Collections.unmodifiableList(agents_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.agents_ = agents_; + } else { + result.agents_ = agentsBuilder_.build(); + } + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.ListAgentsResponse result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.nextPageToken_ = nextPageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.ListAgentsResponse) { + return mergeFrom((com.google.cloud.agentregistry.v1.ListAgentsResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.ListAgentsResponse other) { + if (other == com.google.cloud.agentregistry.v1.ListAgentsResponse.getDefaultInstance()) + return this; + if (agentsBuilder_ == null) { + if (!other.agents_.isEmpty()) { + if (agents_.isEmpty()) { + agents_ = other.agents_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureAgentsIsMutable(); + agents_.addAll(other.agents_); + } + onChanged(); + } + } else { + if (!other.agents_.isEmpty()) { + if (agentsBuilder_.isEmpty()) { + agentsBuilder_.dispose(); + agentsBuilder_ = null; + agents_ = other.agents_; + bitField0_ = (bitField0_ & ~0x00000001); + agentsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetAgentsFieldBuilder() + : null; + } else { + agentsBuilder_.addAllMessages(other.agents_); + } + } + } + if (!other.getNextPageToken().isEmpty()) { + nextPageToken_ = other.nextPageToken_; + bitField0_ |= 0x00000002; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + com.google.cloud.agentregistry.v1.Agent m = + input.readMessage( + com.google.cloud.agentregistry.v1.Agent.parser(), extensionRegistry); + if (agentsBuilder_ == null) { + ensureAgentsIsMutable(); + agents_.add(m); + } else { + agentsBuilder_.addMessage(m); + } + break; + } // case 10 + case 18: + { + nextPageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.util.List agents_ = + java.util.Collections.emptyList(); + + private void ensureAgentsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + agents_ = new java.util.ArrayList(agents_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Agent, + com.google.cloud.agentregistry.v1.Agent.Builder, + com.google.cloud.agentregistry.v1.AgentOrBuilder> + agentsBuilder_; + + /** + * + * + *
+     * The list of Agents.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public java.util.List getAgentsList() { + if (agentsBuilder_ == null) { + return java.util.Collections.unmodifiableList(agents_); + } else { + return agentsBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * The list of Agents.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public int getAgentsCount() { + if (agentsBuilder_ == null) { + return agents_.size(); + } else { + return agentsBuilder_.getCount(); + } + } + + /** + * + * + *
+     * The list of Agents.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public com.google.cloud.agentregistry.v1.Agent getAgents(int index) { + if (agentsBuilder_ == null) { + return agents_.get(index); + } else { + return agentsBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * The list of Agents.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public Builder setAgents(int index, com.google.cloud.agentregistry.v1.Agent value) { + if (agentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAgentsIsMutable(); + agents_.set(index, value); + onChanged(); + } else { + agentsBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of Agents.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public Builder setAgents( + int index, com.google.cloud.agentregistry.v1.Agent.Builder builderForValue) { + if (agentsBuilder_ == null) { + ensureAgentsIsMutable(); + agents_.set(index, builderForValue.build()); + onChanged(); + } else { + agentsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of Agents.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public Builder addAgents(com.google.cloud.agentregistry.v1.Agent value) { + if (agentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAgentsIsMutable(); + agents_.add(value); + onChanged(); + } else { + agentsBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * The list of Agents.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public Builder addAgents(int index, com.google.cloud.agentregistry.v1.Agent value) { + if (agentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAgentsIsMutable(); + agents_.add(index, value); + onChanged(); + } else { + agentsBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of Agents.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public Builder addAgents(com.google.cloud.agentregistry.v1.Agent.Builder builderForValue) { + if (agentsBuilder_ == null) { + ensureAgentsIsMutable(); + agents_.add(builderForValue.build()); + onChanged(); + } else { + agentsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of Agents.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public Builder addAgents( + int index, com.google.cloud.agentregistry.v1.Agent.Builder builderForValue) { + if (agentsBuilder_ == null) { + ensureAgentsIsMutable(); + agents_.add(index, builderForValue.build()); + onChanged(); + } else { + agentsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of Agents.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public Builder addAllAgents( + java.lang.Iterable values) { + if (agentsBuilder_ == null) { + ensureAgentsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, agents_); + onChanged(); + } else { + agentsBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * The list of Agents.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public Builder clearAgents() { + if (agentsBuilder_ == null) { + agents_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + agentsBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * The list of Agents.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public Builder removeAgents(int index) { + if (agentsBuilder_ == null) { + ensureAgentsIsMutable(); + agents_.remove(index); + onChanged(); + } else { + agentsBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * The list of Agents.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public com.google.cloud.agentregistry.v1.Agent.Builder getAgentsBuilder(int index) { + return internalGetAgentsFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * The list of Agents.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public com.google.cloud.agentregistry.v1.AgentOrBuilder getAgentsOrBuilder(int index) { + if (agentsBuilder_ == null) { + return agents_.get(index); + } else { + return agentsBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * The list of Agents.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public java.util.List + getAgentsOrBuilderList() { + if (agentsBuilder_ != null) { + return agentsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(agents_); + } + } + + /** + * + * + *
+     * The list of Agents.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public com.google.cloud.agentregistry.v1.Agent.Builder addAgentsBuilder() { + return internalGetAgentsFieldBuilder() + .addBuilder(com.google.cloud.agentregistry.v1.Agent.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of Agents.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public com.google.cloud.agentregistry.v1.Agent.Builder addAgentsBuilder(int index) { + return internalGetAgentsFieldBuilder() + .addBuilder(index, com.google.cloud.agentregistry.v1.Agent.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of Agents.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public java.util.List getAgentsBuilderList() { + return internalGetAgentsFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Agent, + com.google.cloud.agentregistry.v1.Agent.Builder, + com.google.cloud.agentregistry.v1.AgentOrBuilder> + internalGetAgentsFieldBuilder() { + if (agentsBuilder_ == null) { + agentsBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Agent, + com.google.cloud.agentregistry.v1.Agent.Builder, + com.google.cloud.agentregistry.v1.AgentOrBuilder>( + agents_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); + agents_ = null; + } + return agentsBuilder_; + } + + private java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string next_page_token = 2; + * + * @return This builder for chaining. + */ + public Builder clearNextPageToken() { + nextPageToken_ = getDefaultInstance().getNextPageToken(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The bytes for nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.ListAgentsResponse) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.ListAgentsResponse) + private static final com.google.cloud.agentregistry.v1.ListAgentsResponse DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.ListAgentsResponse(); + } + + public static com.google.cloud.agentregistry.v1.ListAgentsResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListAgentsResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListAgentsResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListAgentsResponseOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListAgentsResponseOrBuilder.java new file mode 100644 index 000000000000..465d495c7339 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListAgentsResponseOrBuilder.java @@ -0,0 +1,110 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface ListAgentsResponseOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.ListAgentsResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The list of Agents.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + java.util.List getAgentsList(); + + /** + * + * + *
+   * The list of Agents.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + com.google.cloud.agentregistry.v1.Agent getAgents(int index); + + /** + * + * + *
+   * The list of Agents.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + int getAgentsCount(); + + /** + * + * + *
+   * The list of Agents.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + java.util.List + getAgentsOrBuilderList(); + + /** + * + * + *
+   * The list of Agents.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + com.google.cloud.agentregistry.v1.AgentOrBuilder getAgentsOrBuilder(int index); + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + java.lang.String getNextPageToken(); + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + com.google.protobuf.ByteString getNextPageTokenBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListBindingsRequest.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListBindingsRequest.java new file mode 100644 index 000000000000..62172f25912f --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListBindingsRequest.java @@ -0,0 +1,1297 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for requesting a list of Bindings.
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.ListBindingsRequest} + */ +@com.google.protobuf.Generated +public final class ListBindingsRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.ListBindingsRequest) + ListBindingsRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListBindingsRequest"); + } + + // Use ListBindingsRequest.newBuilder() to construct. + private ListBindingsRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListBindingsRequest() { + parent_ = ""; + pageToken_ = ""; + filter_ = ""; + orderBy_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListBindingsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListBindingsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.ListBindingsRequest.class, + com.google.cloud.agentregistry.v1.ListBindingsRequest.Builder.class); + } + + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. The project and location to list bindings in.
+   * Expected format: `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The project and location to list bindings in.
+   * Expected format: `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PAGE_SIZE_FIELD_NUMBER = 2; + private int pageSize_ = 0; + + /** + * + * + *
+   * Optional. Requested page size. Server may return fewer items than
+   * requested. Page size is 500 if unspecified and is capped at `500` even if a
+   * larger value is given.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + public static final int PAGE_TOKEN_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object pageToken_ = ""; + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + @java.lang.Override + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int FILTER_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private volatile java.lang.Object filter_ = ""; + + /** + * + * + *
+   * Optional. A query string used to filter the list of bindings returned.
+   * The filter expression must follow AIP-160 syntax.
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + @java.lang.Override + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + filter_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. A query string used to filter the list of bindings returned.
+   * The filter expression must follow AIP-160 syntax.
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + @java.lang.Override + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ORDER_BY_FIELD_NUMBER = 5; + + @SuppressWarnings("serial") + private volatile java.lang.Object orderBy_ = ""; + + /** + * + * + *
+   * Optional. Hint for how to order the results
+   * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The orderBy. + */ + @java.lang.Override + public java.lang.String getOrderBy() { + java.lang.Object ref = orderBy_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + orderBy_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. Hint for how to order the results
+   * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for orderBy. + */ + @java.lang.Override + public com.google.protobuf.ByteString getOrderByBytes() { + java.lang.Object ref = orderBy_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + orderBy_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (pageSize_ != 0) { + output.writeInt32(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, pageToken_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(filter_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, filter_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(orderBy_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, orderBy_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (pageSize_ != 0) { + size += com.google.protobuf.CodedOutputStream.computeInt32Size(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, pageToken_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(filter_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, filter_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(orderBy_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, orderBy_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.ListBindingsRequest)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.ListBindingsRequest other = + (com.google.cloud.agentregistry.v1.ListBindingsRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (getPageSize() != other.getPageSize()) return false; + if (!getPageToken().equals(other.getPageToken())) return false; + if (!getFilter().equals(other.getFilter())) return false; + if (!getOrderBy().equals(other.getOrderBy())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + PAGE_SIZE_FIELD_NUMBER; + hash = (53 * hash) + getPageSize(); + hash = (37 * hash) + PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getPageToken().hashCode(); + hash = (37 * hash) + FILTER_FIELD_NUMBER; + hash = (53 * hash) + getFilter().hashCode(); + hash = (37 * hash) + ORDER_BY_FIELD_NUMBER; + hash = (53 * hash) + getOrderBy().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.ListBindingsRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.ListBindingsRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for requesting a list of Bindings.
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.ListBindingsRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.ListBindingsRequest) + com.google.cloud.agentregistry.v1.ListBindingsRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListBindingsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListBindingsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.ListBindingsRequest.class, + com.google.cloud.agentregistry.v1.ListBindingsRequest.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.ListBindingsRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + pageSize_ = 0; + pageToken_ = ""; + filter_ = ""; + orderBy_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListBindingsRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListBindingsRequest getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.ListBindingsRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListBindingsRequest build() { + com.google.cloud.agentregistry.v1.ListBindingsRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListBindingsRequest buildPartial() { + com.google.cloud.agentregistry.v1.ListBindingsRequest result = + new com.google.cloud.agentregistry.v1.ListBindingsRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.ListBindingsRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.pageSize_ = pageSize_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.pageToken_ = pageToken_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.filter_ = filter_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.orderBy_ = orderBy_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.ListBindingsRequest) { + return mergeFrom((com.google.cloud.agentregistry.v1.ListBindingsRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.ListBindingsRequest other) { + if (other == com.google.cloud.agentregistry.v1.ListBindingsRequest.getDefaultInstance()) + return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getPageSize() != 0) { + setPageSize(other.getPageSize()); + } + if (!other.getPageToken().isEmpty()) { + pageToken_ = other.pageToken_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getFilter().isEmpty()) { + filter_ = other.filter_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (!other.getOrderBy().isEmpty()) { + orderBy_ = other.orderBy_; + bitField0_ |= 0x00000010; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + pageSize_ = input.readInt32(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: + { + pageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: + { + filter_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + case 42: + { + orderBy_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 42 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object parent_ = ""; + + /** + * + * + *
+     * Required. The project and location to list bindings in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The project and location to list bindings in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The project and location to list bindings in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The project and location to list bindings in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The project and location to list bindings in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private int pageSize_; + + /** + * + * + *
+     * Optional. Requested page size. Server may return fewer items than
+     * requested. Page size is 500 if unspecified and is capped at `500` even if a
+     * larger value is given.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + /** + * + * + *
+     * Optional. Requested page size. Server may return fewer items than
+     * requested. Page size is 500 if unspecified and is capped at `500` even if a
+     * larger value is given.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageSize to set. + * @return This builder for chaining. + */ + public Builder setPageSize(int value) { + + pageSize_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Requested page size. Server may return fewer items than
+     * requested. Page size is 500 if unspecified and is capped at `500` even if a
+     * larger value is given.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageSize() { + bitField0_ = (bitField0_ & ~0x00000002); + pageSize_ = 0; + onChanged(); + return this; + } + + private java.lang.Object pageToken_ = ""; + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageToken() { + pageToken_ = getDefaultInstance().getPageToken(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object filter_ = ""; + + /** + * + * + *
+     * Optional. A query string used to filter the list of bindings returned.
+     * The filter expression must follow AIP-160 syntax.
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + filter_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. A query string used to filter the list of bindings returned.
+     * The filter expression must follow AIP-160 syntax.
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. A query string used to filter the list of bindings returned.
+     * The filter expression must follow AIP-160 syntax.
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The filter to set. + * @return This builder for chaining. + */ + public Builder setFilter(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + filter_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A query string used to filter the list of bindings returned.
+     * The filter expression must follow AIP-160 syntax.
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearFilter() { + filter_ = getDefaultInstance().getFilter(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A query string used to filter the list of bindings returned.
+     * The filter expression must follow AIP-160 syntax.
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for filter to set. + * @return This builder for chaining. + */ + public Builder setFilterBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + filter_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private java.lang.Object orderBy_ = ""; + + /** + * + * + *
+     * Optional. Hint for how to order the results
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The orderBy. + */ + public java.lang.String getOrderBy() { + java.lang.Object ref = orderBy_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + orderBy_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. Hint for how to order the results
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for orderBy. + */ + public com.google.protobuf.ByteString getOrderByBytes() { + java.lang.Object ref = orderBy_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + orderBy_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. Hint for how to order the results
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The orderBy to set. + * @return This builder for chaining. + */ + public Builder setOrderBy(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + orderBy_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Hint for how to order the results
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearOrderBy() { + orderBy_ = getDefaultInstance().getOrderBy(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Hint for how to order the results
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for orderBy to set. + * @return This builder for chaining. + */ + public Builder setOrderByBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + orderBy_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.ListBindingsRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.ListBindingsRequest) + private static final com.google.cloud.agentregistry.v1.ListBindingsRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.ListBindingsRequest(); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListBindingsRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListBindingsRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListBindingsRequestOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListBindingsRequestOrBuilder.java new file mode 100644 index 000000000000..1ea27fa0c4ec --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListBindingsRequestOrBuilder.java @@ -0,0 +1,155 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface ListBindingsRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.ListBindingsRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The project and location to list bindings in.
+   * Expected format: `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. The project and location to list bindings in.
+   * Expected format: `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Optional. Requested page size. Server may return fewer items than
+   * requested. Page size is 500 if unspecified and is capped at `500` even if a
+   * larger value is given.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + int getPageSize(); + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + java.lang.String getPageToken(); + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + com.google.protobuf.ByteString getPageTokenBytes(); + + /** + * + * + *
+   * Optional. A query string used to filter the list of bindings returned.
+   * The filter expression must follow AIP-160 syntax.
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + java.lang.String getFilter(); + + /** + * + * + *
+   * Optional. A query string used to filter the list of bindings returned.
+   * The filter expression must follow AIP-160 syntax.
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + com.google.protobuf.ByteString getFilterBytes(); + + /** + * + * + *
+   * Optional. Hint for how to order the results
+   * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The orderBy. + */ + java.lang.String getOrderBy(); + + /** + * + * + *
+   * Optional. Hint for how to order the results
+   * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for orderBy. + */ + com.google.protobuf.ByteString getOrderByBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListBindingsResponse.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListBindingsResponse.java new file mode 100644 index 000000000000..62b8bc4f6f61 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListBindingsResponse.java @@ -0,0 +1,1172 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for response to listing Bindings
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.ListBindingsResponse} + */ +@com.google.protobuf.Generated +public final class ListBindingsResponse extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.ListBindingsResponse) + ListBindingsResponseOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListBindingsResponse"); + } + + // Use ListBindingsResponse.newBuilder() to construct. + private ListBindingsResponse(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListBindingsResponse() { + bindings_ = java.util.Collections.emptyList(); + nextPageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListBindingsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListBindingsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.ListBindingsResponse.class, + com.google.cloud.agentregistry.v1.ListBindingsResponse.Builder.class); + } + + public static final int BINDINGS_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List bindings_; + + /** + * + * + *
+   * The list of Binding resources matching the parent and filter criteria in
+   * the request. Each Binding resource follows the format:
+   * `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + @java.lang.Override + public java.util.List getBindingsList() { + return bindings_; + } + + /** + * + * + *
+   * The list of Binding resources matching the parent and filter criteria in
+   * the request. Each Binding resource follows the format:
+   * `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + @java.lang.Override + public java.util.List + getBindingsOrBuilderList() { + return bindings_; + } + + /** + * + * + *
+   * The list of Binding resources matching the parent and filter criteria in
+   * the request. Each Binding resource follows the format:
+   * `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + @java.lang.Override + public int getBindingsCount() { + return bindings_.size(); + } + + /** + * + * + *
+   * The list of Binding resources matching the parent and filter criteria in
+   * the request. Each Binding resource follows the format:
+   * `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding getBindings(int index) { + return bindings_.get(index); + } + + /** + * + * + *
+   * The list of Binding resources matching the parent and filter criteria in
+   * the request. Each Binding resource follows the format:
+   * `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.BindingOrBuilder getBindingsOrBuilder(int index) { + return bindings_.get(index); + } + + public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * Used in
+   * [page_token][google.cloud.agentregistry.v1main.ListBindingsRequest.page_token].
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + @java.lang.Override + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * Used in
+   * [page_token][google.cloud.agentregistry.v1main.ListBindingsRequest.page_token].
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + for (int i = 0; i < bindings_.size(); i++) { + output.writeMessage(1, bindings_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, nextPageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < bindings_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, bindings_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, nextPageToken_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.ListBindingsResponse)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.ListBindingsResponse other = + (com.google.cloud.agentregistry.v1.ListBindingsResponse) obj; + + if (!getBindingsList().equals(other.getBindingsList())) return false; + if (!getNextPageToken().equals(other.getNextPageToken())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getBindingsCount() > 0) { + hash = (37 * hash) + BINDINGS_FIELD_NUMBER; + hash = (53 * hash) + getBindingsList().hashCode(); + } + hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getNextPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.ListBindingsResponse parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsResponse parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsResponse parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsResponse parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsResponse parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsResponse parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsResponse parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsResponse parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.ListBindingsResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for response to listing Bindings
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.ListBindingsResponse} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.ListBindingsResponse) + com.google.cloud.agentregistry.v1.ListBindingsResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListBindingsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListBindingsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.ListBindingsResponse.class, + com.google.cloud.agentregistry.v1.ListBindingsResponse.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.ListBindingsResponse.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (bindingsBuilder_ == null) { + bindings_ = java.util.Collections.emptyList(); + } else { + bindings_ = null; + bindingsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + nextPageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListBindingsResponse_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListBindingsResponse getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.ListBindingsResponse.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListBindingsResponse build() { + com.google.cloud.agentregistry.v1.ListBindingsResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListBindingsResponse buildPartial() { + com.google.cloud.agentregistry.v1.ListBindingsResponse result = + new com.google.cloud.agentregistry.v1.ListBindingsResponse(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.agentregistry.v1.ListBindingsResponse result) { + if (bindingsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + bindings_ = java.util.Collections.unmodifiableList(bindings_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.bindings_ = bindings_; + } else { + result.bindings_ = bindingsBuilder_.build(); + } + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.ListBindingsResponse result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.nextPageToken_ = nextPageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.ListBindingsResponse) { + return mergeFrom((com.google.cloud.agentregistry.v1.ListBindingsResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.ListBindingsResponse other) { + if (other == com.google.cloud.agentregistry.v1.ListBindingsResponse.getDefaultInstance()) + return this; + if (bindingsBuilder_ == null) { + if (!other.bindings_.isEmpty()) { + if (bindings_.isEmpty()) { + bindings_ = other.bindings_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureBindingsIsMutable(); + bindings_.addAll(other.bindings_); + } + onChanged(); + } + } else { + if (!other.bindings_.isEmpty()) { + if (bindingsBuilder_.isEmpty()) { + bindingsBuilder_.dispose(); + bindingsBuilder_ = null; + bindings_ = other.bindings_; + bitField0_ = (bitField0_ & ~0x00000001); + bindingsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetBindingsFieldBuilder() + : null; + } else { + bindingsBuilder_.addAllMessages(other.bindings_); + } + } + } + if (!other.getNextPageToken().isEmpty()) { + nextPageToken_ = other.nextPageToken_; + bitField0_ |= 0x00000002; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + com.google.cloud.agentregistry.v1.Binding m = + input.readMessage( + com.google.cloud.agentregistry.v1.Binding.parser(), extensionRegistry); + if (bindingsBuilder_ == null) { + ensureBindingsIsMutable(); + bindings_.add(m); + } else { + bindingsBuilder_.addMessage(m); + } + break; + } // case 10 + case 18: + { + nextPageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.util.List bindings_ = + java.util.Collections.emptyList(); + + private void ensureBindingsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + bindings_ = new java.util.ArrayList(bindings_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Binding, + com.google.cloud.agentregistry.v1.Binding.Builder, + com.google.cloud.agentregistry.v1.BindingOrBuilder> + bindingsBuilder_; + + /** + * + * + *
+     * The list of Binding resources matching the parent and filter criteria in
+     * the request. Each Binding resource follows the format:
+     * `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public java.util.List getBindingsList() { + if (bindingsBuilder_ == null) { + return java.util.Collections.unmodifiableList(bindings_); + } else { + return bindingsBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * The list of Binding resources matching the parent and filter criteria in
+     * the request. Each Binding resource follows the format:
+     * `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public int getBindingsCount() { + if (bindingsBuilder_ == null) { + return bindings_.size(); + } else { + return bindingsBuilder_.getCount(); + } + } + + /** + * + * + *
+     * The list of Binding resources matching the parent and filter criteria in
+     * the request. Each Binding resource follows the format:
+     * `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public com.google.cloud.agentregistry.v1.Binding getBindings(int index) { + if (bindingsBuilder_ == null) { + return bindings_.get(index); + } else { + return bindingsBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * The list of Binding resources matching the parent and filter criteria in
+     * the request. Each Binding resource follows the format:
+     * `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public Builder setBindings(int index, com.google.cloud.agentregistry.v1.Binding value) { + if (bindingsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureBindingsIsMutable(); + bindings_.set(index, value); + onChanged(); + } else { + bindingsBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of Binding resources matching the parent and filter criteria in
+     * the request. Each Binding resource follows the format:
+     * `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public Builder setBindings( + int index, com.google.cloud.agentregistry.v1.Binding.Builder builderForValue) { + if (bindingsBuilder_ == null) { + ensureBindingsIsMutable(); + bindings_.set(index, builderForValue.build()); + onChanged(); + } else { + bindingsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of Binding resources matching the parent and filter criteria in
+     * the request. Each Binding resource follows the format:
+     * `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public Builder addBindings(com.google.cloud.agentregistry.v1.Binding value) { + if (bindingsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureBindingsIsMutable(); + bindings_.add(value); + onChanged(); + } else { + bindingsBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * The list of Binding resources matching the parent and filter criteria in
+     * the request. Each Binding resource follows the format:
+     * `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public Builder addBindings(int index, com.google.cloud.agentregistry.v1.Binding value) { + if (bindingsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureBindingsIsMutable(); + bindings_.add(index, value); + onChanged(); + } else { + bindingsBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of Binding resources matching the parent and filter criteria in
+     * the request. Each Binding resource follows the format:
+     * `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public Builder addBindings(com.google.cloud.agentregistry.v1.Binding.Builder builderForValue) { + if (bindingsBuilder_ == null) { + ensureBindingsIsMutable(); + bindings_.add(builderForValue.build()); + onChanged(); + } else { + bindingsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of Binding resources matching the parent and filter criteria in
+     * the request. Each Binding resource follows the format:
+     * `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public Builder addBindings( + int index, com.google.cloud.agentregistry.v1.Binding.Builder builderForValue) { + if (bindingsBuilder_ == null) { + ensureBindingsIsMutable(); + bindings_.add(index, builderForValue.build()); + onChanged(); + } else { + bindingsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of Binding resources matching the parent and filter criteria in
+     * the request. Each Binding resource follows the format:
+     * `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public Builder addAllBindings( + java.lang.Iterable values) { + if (bindingsBuilder_ == null) { + ensureBindingsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, bindings_); + onChanged(); + } else { + bindingsBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * The list of Binding resources matching the parent and filter criteria in
+     * the request. Each Binding resource follows the format:
+     * `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public Builder clearBindings() { + if (bindingsBuilder_ == null) { + bindings_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + bindingsBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * The list of Binding resources matching the parent and filter criteria in
+     * the request. Each Binding resource follows the format:
+     * `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public Builder removeBindings(int index) { + if (bindingsBuilder_ == null) { + ensureBindingsIsMutable(); + bindings_.remove(index); + onChanged(); + } else { + bindingsBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * The list of Binding resources matching the parent and filter criteria in
+     * the request. Each Binding resource follows the format:
+     * `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public com.google.cloud.agentregistry.v1.Binding.Builder getBindingsBuilder(int index) { + return internalGetBindingsFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * The list of Binding resources matching the parent and filter criteria in
+     * the request. Each Binding resource follows the format:
+     * `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public com.google.cloud.agentregistry.v1.BindingOrBuilder getBindingsOrBuilder(int index) { + if (bindingsBuilder_ == null) { + return bindings_.get(index); + } else { + return bindingsBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * The list of Binding resources matching the parent and filter criteria in
+     * the request. Each Binding resource follows the format:
+     * `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public java.util.List + getBindingsOrBuilderList() { + if (bindingsBuilder_ != null) { + return bindingsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(bindings_); + } + } + + /** + * + * + *
+     * The list of Binding resources matching the parent and filter criteria in
+     * the request. Each Binding resource follows the format:
+     * `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public com.google.cloud.agentregistry.v1.Binding.Builder addBindingsBuilder() { + return internalGetBindingsFieldBuilder() + .addBuilder(com.google.cloud.agentregistry.v1.Binding.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of Binding resources matching the parent and filter criteria in
+     * the request. Each Binding resource follows the format:
+     * `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public com.google.cloud.agentregistry.v1.Binding.Builder addBindingsBuilder(int index) { + return internalGetBindingsFieldBuilder() + .addBuilder(index, com.google.cloud.agentregistry.v1.Binding.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of Binding resources matching the parent and filter criteria in
+     * the request. Each Binding resource follows the format:
+     * `projects/{project}/locations/{location}/bindings/{binding}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + public java.util.List + getBindingsBuilderList() { + return internalGetBindingsFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Binding, + com.google.cloud.agentregistry.v1.Binding.Builder, + com.google.cloud.agentregistry.v1.BindingOrBuilder> + internalGetBindingsFieldBuilder() { + if (bindingsBuilder_ == null) { + bindingsBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Binding, + com.google.cloud.agentregistry.v1.Binding.Builder, + com.google.cloud.agentregistry.v1.BindingOrBuilder>( + bindings_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); + bindings_ = null; + } + return bindingsBuilder_; + } + + private java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * Used in
+     * [page_token][google.cloud.agentregistry.v1main.ListBindingsRequest.page_token].
+     * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * Used in
+     * [page_token][google.cloud.agentregistry.v1main.ListBindingsRequest.page_token].
+     * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * Used in
+     * [page_token][google.cloud.agentregistry.v1main.ListBindingsRequest.page_token].
+     * 
+ * + * string next_page_token = 2; + * + * @param value The nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * Used in
+     * [page_token][google.cloud.agentregistry.v1main.ListBindingsRequest.page_token].
+     * 
+ * + * string next_page_token = 2; + * + * @return This builder for chaining. + */ + public Builder clearNextPageToken() { + nextPageToken_ = getDefaultInstance().getNextPageToken(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * Used in
+     * [page_token][google.cloud.agentregistry.v1main.ListBindingsRequest.page_token].
+     * 
+ * + * string next_page_token = 2; + * + * @param value The bytes for nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.ListBindingsResponse) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.ListBindingsResponse) + private static final com.google.cloud.agentregistry.v1.ListBindingsResponse DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.ListBindingsResponse(); + } + + public static com.google.cloud.agentregistry.v1.ListBindingsResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListBindingsResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListBindingsResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListBindingsResponseOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListBindingsResponseOrBuilder.java new file mode 100644 index 000000000000..946f9ecf4be5 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListBindingsResponseOrBuilder.java @@ -0,0 +1,124 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface ListBindingsResponseOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.ListBindingsResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The list of Binding resources matching the parent and filter criteria in
+   * the request. Each Binding resource follows the format:
+   * `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + java.util.List getBindingsList(); + + /** + * + * + *
+   * The list of Binding resources matching the parent and filter criteria in
+   * the request. Each Binding resource follows the format:
+   * `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + com.google.cloud.agentregistry.v1.Binding getBindings(int index); + + /** + * + * + *
+   * The list of Binding resources matching the parent and filter criteria in
+   * the request. Each Binding resource follows the format:
+   * `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + int getBindingsCount(); + + /** + * + * + *
+   * The list of Binding resources matching the parent and filter criteria in
+   * the request. Each Binding resource follows the format:
+   * `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + java.util.List + getBindingsOrBuilderList(); + + /** + * + * + *
+   * The list of Binding resources matching the parent and filter criteria in
+   * the request. Each Binding resource follows the format:
+   * `projects/{project}/locations/{location}/bindings/{binding}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Binding bindings = 1; + */ + com.google.cloud.agentregistry.v1.BindingOrBuilder getBindingsOrBuilder(int index); + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * Used in
+   * [page_token][google.cloud.agentregistry.v1main.ListBindingsRequest.page_token].
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + java.lang.String getNextPageToken(); + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * Used in
+   * [page_token][google.cloud.agentregistry.v1main.ListBindingsRequest.page_token].
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + com.google.protobuf.ByteString getNextPageTokenBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListEndpointsRequest.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListEndpointsRequest.java new file mode 100644 index 000000000000..3c9e53b5ae3d --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListEndpointsRequest.java @@ -0,0 +1,1181 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for requesting list of Endpoints
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.ListEndpointsRequest} + */ +@com.google.protobuf.Generated +public final class ListEndpointsRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.ListEndpointsRequest) + ListEndpointsRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListEndpointsRequest"); + } + + // Use ListEndpointsRequest.newBuilder() to construct. + private ListEndpointsRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListEndpointsRequest() { + parent_ = ""; + pageToken_ = ""; + filter_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListEndpointsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListEndpointsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.ListEndpointsRequest.class, + com.google.cloud.agentregistry.v1.ListEndpointsRequest.Builder.class); + } + + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. The project and location to list endpoints in.
+   * Expected format: `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The project and location to list endpoints in.
+   * Expected format: `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PAGE_SIZE_FIELD_NUMBER = 2; + private int pageSize_ = 0; + + /** + * + * + *
+   * Optional. Requested page size. Server may return fewer items than
+   * requested. If unspecified, server will pick an appropriate default.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + public static final int PAGE_TOKEN_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object pageToken_ = ""; + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + @java.lang.Override + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int FILTER_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private volatile java.lang.Object filter_ = ""; + + /** + * + * + *
+   * Optional. A query string used to filter the list of endpoints returned.
+   * The filter expression must follow AIP-160 syntax.
+   *
+   * Filtering is supported on the `name`, `display_name`, `description`,
+   * `version`, and `interfaces` fields.
+   *
+   * Some examples:
+   *
+   * * `name = "projects/p1/locations/l1/endpoints/e1"`
+   * * `display_name = "my-endpoint"`
+   * * `description = "my-endpoint-description"`
+   * * `version = "v1"`
+   * * `interfaces.transport = "HTTP_JSON"`
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + @java.lang.Override + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + filter_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. A query string used to filter the list of endpoints returned.
+   * The filter expression must follow AIP-160 syntax.
+   *
+   * Filtering is supported on the `name`, `display_name`, `description`,
+   * `version`, and `interfaces` fields.
+   *
+   * Some examples:
+   *
+   * * `name = "projects/p1/locations/l1/endpoints/e1"`
+   * * `display_name = "my-endpoint"`
+   * * `description = "my-endpoint-description"`
+   * * `version = "v1"`
+   * * `interfaces.transport = "HTTP_JSON"`
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + @java.lang.Override + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (pageSize_ != 0) { + output.writeInt32(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, pageToken_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(filter_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, filter_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (pageSize_ != 0) { + size += com.google.protobuf.CodedOutputStream.computeInt32Size(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, pageToken_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(filter_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, filter_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.ListEndpointsRequest)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.ListEndpointsRequest other = + (com.google.cloud.agentregistry.v1.ListEndpointsRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (getPageSize() != other.getPageSize()) return false; + if (!getPageToken().equals(other.getPageToken())) return false; + if (!getFilter().equals(other.getFilter())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + PAGE_SIZE_FIELD_NUMBER; + hash = (53 * hash) + getPageSize(); + hash = (37 * hash) + PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getPageToken().hashCode(); + hash = (37 * hash) + FILTER_FIELD_NUMBER; + hash = (53 * hash) + getFilter().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.ListEndpointsRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for requesting list of Endpoints
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.ListEndpointsRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.ListEndpointsRequest) + com.google.cloud.agentregistry.v1.ListEndpointsRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListEndpointsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListEndpointsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.ListEndpointsRequest.class, + com.google.cloud.agentregistry.v1.ListEndpointsRequest.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.ListEndpointsRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + pageSize_ = 0; + pageToken_ = ""; + filter_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListEndpointsRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListEndpointsRequest getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.ListEndpointsRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListEndpointsRequest build() { + com.google.cloud.agentregistry.v1.ListEndpointsRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListEndpointsRequest buildPartial() { + com.google.cloud.agentregistry.v1.ListEndpointsRequest result = + new com.google.cloud.agentregistry.v1.ListEndpointsRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.ListEndpointsRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.pageSize_ = pageSize_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.pageToken_ = pageToken_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.filter_ = filter_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.ListEndpointsRequest) { + return mergeFrom((com.google.cloud.agentregistry.v1.ListEndpointsRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.ListEndpointsRequest other) { + if (other == com.google.cloud.agentregistry.v1.ListEndpointsRequest.getDefaultInstance()) + return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getPageSize() != 0) { + setPageSize(other.getPageSize()); + } + if (!other.getPageToken().isEmpty()) { + pageToken_ = other.pageToken_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getFilter().isEmpty()) { + filter_ = other.filter_; + bitField0_ |= 0x00000008; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + pageSize_ = input.readInt32(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: + { + pageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: + { + filter_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object parent_ = ""; + + /** + * + * + *
+     * Required. The project and location to list endpoints in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The project and location to list endpoints in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The project and location to list endpoints in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The project and location to list endpoints in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The project and location to list endpoints in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private int pageSize_; + + /** + * + * + *
+     * Optional. Requested page size. Server may return fewer items than
+     * requested. If unspecified, server will pick an appropriate default.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + /** + * + * + *
+     * Optional. Requested page size. Server may return fewer items than
+     * requested. If unspecified, server will pick an appropriate default.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageSize to set. + * @return This builder for chaining. + */ + public Builder setPageSize(int value) { + + pageSize_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Requested page size. Server may return fewer items than
+     * requested. If unspecified, server will pick an appropriate default.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageSize() { + bitField0_ = (bitField0_ & ~0x00000002); + pageSize_ = 0; + onChanged(); + return this; + } + + private java.lang.Object pageToken_ = ""; + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageToken() { + pageToken_ = getDefaultInstance().getPageToken(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object filter_ = ""; + + /** + * + * + *
+     * Optional. A query string used to filter the list of endpoints returned.
+     * The filter expression must follow AIP-160 syntax.
+     *
+     * Filtering is supported on the `name`, `display_name`, `description`,
+     * `version`, and `interfaces` fields.
+     *
+     * Some examples:
+     *
+     * * `name = "projects/p1/locations/l1/endpoints/e1"`
+     * * `display_name = "my-endpoint"`
+     * * `description = "my-endpoint-description"`
+     * * `version = "v1"`
+     * * `interfaces.transport = "HTTP_JSON"`
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + filter_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. A query string used to filter the list of endpoints returned.
+     * The filter expression must follow AIP-160 syntax.
+     *
+     * Filtering is supported on the `name`, `display_name`, `description`,
+     * `version`, and `interfaces` fields.
+     *
+     * Some examples:
+     *
+     * * `name = "projects/p1/locations/l1/endpoints/e1"`
+     * * `display_name = "my-endpoint"`
+     * * `description = "my-endpoint-description"`
+     * * `version = "v1"`
+     * * `interfaces.transport = "HTTP_JSON"`
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. A query string used to filter the list of endpoints returned.
+     * The filter expression must follow AIP-160 syntax.
+     *
+     * Filtering is supported on the `name`, `display_name`, `description`,
+     * `version`, and `interfaces` fields.
+     *
+     * Some examples:
+     *
+     * * `name = "projects/p1/locations/l1/endpoints/e1"`
+     * * `display_name = "my-endpoint"`
+     * * `description = "my-endpoint-description"`
+     * * `version = "v1"`
+     * * `interfaces.transport = "HTTP_JSON"`
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The filter to set. + * @return This builder for chaining. + */ + public Builder setFilter(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + filter_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A query string used to filter the list of endpoints returned.
+     * The filter expression must follow AIP-160 syntax.
+     *
+     * Filtering is supported on the `name`, `display_name`, `description`,
+     * `version`, and `interfaces` fields.
+     *
+     * Some examples:
+     *
+     * * `name = "projects/p1/locations/l1/endpoints/e1"`
+     * * `display_name = "my-endpoint"`
+     * * `description = "my-endpoint-description"`
+     * * `version = "v1"`
+     * * `interfaces.transport = "HTTP_JSON"`
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearFilter() { + filter_ = getDefaultInstance().getFilter(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A query string used to filter the list of endpoints returned.
+     * The filter expression must follow AIP-160 syntax.
+     *
+     * Filtering is supported on the `name`, `display_name`, `description`,
+     * `version`, and `interfaces` fields.
+     *
+     * Some examples:
+     *
+     * * `name = "projects/p1/locations/l1/endpoints/e1"`
+     * * `display_name = "my-endpoint"`
+     * * `description = "my-endpoint-description"`
+     * * `version = "v1"`
+     * * `interfaces.transport = "HTTP_JSON"`
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for filter to set. + * @return This builder for chaining. + */ + public Builder setFilterBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + filter_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.ListEndpointsRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.ListEndpointsRequest) + private static final com.google.cloud.agentregistry.v1.ListEndpointsRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.ListEndpointsRequest(); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListEndpointsRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListEndpointsRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListEndpointsRequestOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListEndpointsRequestOrBuilder.java new file mode 100644 index 000000000000..8fb3a2cf58f5 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListEndpointsRequestOrBuilder.java @@ -0,0 +1,150 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface ListEndpointsRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.ListEndpointsRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The project and location to list endpoints in.
+   * Expected format: `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. The project and location to list endpoints in.
+   * Expected format: `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Optional. Requested page size. Server may return fewer items than
+   * requested. If unspecified, server will pick an appropriate default.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + int getPageSize(); + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + java.lang.String getPageToken(); + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + com.google.protobuf.ByteString getPageTokenBytes(); + + /** + * + * + *
+   * Optional. A query string used to filter the list of endpoints returned.
+   * The filter expression must follow AIP-160 syntax.
+   *
+   * Filtering is supported on the `name`, `display_name`, `description`,
+   * `version`, and `interfaces` fields.
+   *
+   * Some examples:
+   *
+   * * `name = "projects/p1/locations/l1/endpoints/e1"`
+   * * `display_name = "my-endpoint"`
+   * * `description = "my-endpoint-description"`
+   * * `version = "v1"`
+   * * `interfaces.transport = "HTTP_JSON"`
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + java.lang.String getFilter(); + + /** + * + * + *
+   * Optional. A query string used to filter the list of endpoints returned.
+   * The filter expression must follow AIP-160 syntax.
+   *
+   * Filtering is supported on the `name`, `display_name`, `description`,
+   * `version`, and `interfaces` fields.
+   *
+   * Some examples:
+   *
+   * * `name = "projects/p1/locations/l1/endpoints/e1"`
+   * * `display_name = "my-endpoint"`
+   * * `description = "my-endpoint-description"`
+   * * `version = "v1"`
+   * * `interfaces.transport = "HTTP_JSON"`
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + com.google.protobuf.ByteString getFilterBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListEndpointsResponse.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListEndpointsResponse.java new file mode 100644 index 000000000000..b5042e191fd6 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListEndpointsResponse.java @@ -0,0 +1,1174 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for response to listing Endpoints
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.ListEndpointsResponse} + */ +@com.google.protobuf.Generated +public final class ListEndpointsResponse extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.ListEndpointsResponse) + ListEndpointsResponseOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListEndpointsResponse"); + } + + // Use ListEndpointsResponse.newBuilder() to construct. + private ListEndpointsResponse(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListEndpointsResponse() { + endpoints_ = java.util.Collections.emptyList(); + nextPageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListEndpointsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListEndpointsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.ListEndpointsResponse.class, + com.google.cloud.agentregistry.v1.ListEndpointsResponse.Builder.class); + } + + public static final int ENDPOINTS_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List endpoints_; + + /** + * + * + *
+   * The list of Endpoint resources matching the parent and filter criteria in
+   * the request. Each Endpoint resource follows the format:
+   * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + @java.lang.Override + public java.util.List getEndpointsList() { + return endpoints_; + } + + /** + * + * + *
+   * The list of Endpoint resources matching the parent and filter criteria in
+   * the request. Each Endpoint resource follows the format:
+   * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + @java.lang.Override + public java.util.List + getEndpointsOrBuilderList() { + return endpoints_; + } + + /** + * + * + *
+   * The list of Endpoint resources matching the parent and filter criteria in
+   * the request. Each Endpoint resource follows the format:
+   * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + @java.lang.Override + public int getEndpointsCount() { + return endpoints_.size(); + } + + /** + * + * + *
+   * The list of Endpoint resources matching the parent and filter criteria in
+   * the request. Each Endpoint resource follows the format:
+   * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Endpoint getEndpoints(int index) { + return endpoints_.get(index); + } + + /** + * + * + *
+   * The list of Endpoint resources matching the parent and filter criteria in
+   * the request. Each Endpoint resource follows the format:
+   * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.EndpointOrBuilder getEndpointsOrBuilder(int index) { + return endpoints_.get(index); + } + + public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * Used in
+   * [page_token][google.cloud.agentregistry.v1main.ListEndpointsRequest.page_token].
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + @java.lang.Override + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * Used in
+   * [page_token][google.cloud.agentregistry.v1main.ListEndpointsRequest.page_token].
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + for (int i = 0; i < endpoints_.size(); i++) { + output.writeMessage(1, endpoints_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, nextPageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < endpoints_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, endpoints_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, nextPageToken_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.ListEndpointsResponse)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.ListEndpointsResponse other = + (com.google.cloud.agentregistry.v1.ListEndpointsResponse) obj; + + if (!getEndpointsList().equals(other.getEndpointsList())) return false; + if (!getNextPageToken().equals(other.getNextPageToken())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getEndpointsCount() > 0) { + hash = (37 * hash) + ENDPOINTS_FIELD_NUMBER; + hash = (53 * hash) + getEndpointsList().hashCode(); + } + hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getNextPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsResponse parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsResponse parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsResponse parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsResponse parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsResponse parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsResponse parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsResponse parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsResponse parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.ListEndpointsResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for response to listing Endpoints
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.ListEndpointsResponse} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.ListEndpointsResponse) + com.google.cloud.agentregistry.v1.ListEndpointsResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListEndpointsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListEndpointsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.ListEndpointsResponse.class, + com.google.cloud.agentregistry.v1.ListEndpointsResponse.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.ListEndpointsResponse.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (endpointsBuilder_ == null) { + endpoints_ = java.util.Collections.emptyList(); + } else { + endpoints_ = null; + endpointsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + nextPageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListEndpointsResponse_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListEndpointsResponse getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.ListEndpointsResponse.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListEndpointsResponse build() { + com.google.cloud.agentregistry.v1.ListEndpointsResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListEndpointsResponse buildPartial() { + com.google.cloud.agentregistry.v1.ListEndpointsResponse result = + new com.google.cloud.agentregistry.v1.ListEndpointsResponse(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.agentregistry.v1.ListEndpointsResponse result) { + if (endpointsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + endpoints_ = java.util.Collections.unmodifiableList(endpoints_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.endpoints_ = endpoints_; + } else { + result.endpoints_ = endpointsBuilder_.build(); + } + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.ListEndpointsResponse result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.nextPageToken_ = nextPageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.ListEndpointsResponse) { + return mergeFrom((com.google.cloud.agentregistry.v1.ListEndpointsResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.ListEndpointsResponse other) { + if (other == com.google.cloud.agentregistry.v1.ListEndpointsResponse.getDefaultInstance()) + return this; + if (endpointsBuilder_ == null) { + if (!other.endpoints_.isEmpty()) { + if (endpoints_.isEmpty()) { + endpoints_ = other.endpoints_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureEndpointsIsMutable(); + endpoints_.addAll(other.endpoints_); + } + onChanged(); + } + } else { + if (!other.endpoints_.isEmpty()) { + if (endpointsBuilder_.isEmpty()) { + endpointsBuilder_.dispose(); + endpointsBuilder_ = null; + endpoints_ = other.endpoints_; + bitField0_ = (bitField0_ & ~0x00000001); + endpointsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetEndpointsFieldBuilder() + : null; + } else { + endpointsBuilder_.addAllMessages(other.endpoints_); + } + } + } + if (!other.getNextPageToken().isEmpty()) { + nextPageToken_ = other.nextPageToken_; + bitField0_ |= 0x00000002; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + com.google.cloud.agentregistry.v1.Endpoint m = + input.readMessage( + com.google.cloud.agentregistry.v1.Endpoint.parser(), extensionRegistry); + if (endpointsBuilder_ == null) { + ensureEndpointsIsMutable(); + endpoints_.add(m); + } else { + endpointsBuilder_.addMessage(m); + } + break; + } // case 10 + case 18: + { + nextPageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.util.List endpoints_ = + java.util.Collections.emptyList(); + + private void ensureEndpointsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + endpoints_ = + new java.util.ArrayList(endpoints_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Endpoint, + com.google.cloud.agentregistry.v1.Endpoint.Builder, + com.google.cloud.agentregistry.v1.EndpointOrBuilder> + endpointsBuilder_; + + /** + * + * + *
+     * The list of Endpoint resources matching the parent and filter criteria in
+     * the request. Each Endpoint resource follows the format:
+     * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + public java.util.List getEndpointsList() { + if (endpointsBuilder_ == null) { + return java.util.Collections.unmodifiableList(endpoints_); + } else { + return endpointsBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * The list of Endpoint resources matching the parent and filter criteria in
+     * the request. Each Endpoint resource follows the format:
+     * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + public int getEndpointsCount() { + if (endpointsBuilder_ == null) { + return endpoints_.size(); + } else { + return endpointsBuilder_.getCount(); + } + } + + /** + * + * + *
+     * The list of Endpoint resources matching the parent and filter criteria in
+     * the request. Each Endpoint resource follows the format:
+     * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + public com.google.cloud.agentregistry.v1.Endpoint getEndpoints(int index) { + if (endpointsBuilder_ == null) { + return endpoints_.get(index); + } else { + return endpointsBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * The list of Endpoint resources matching the parent and filter criteria in
+     * the request. Each Endpoint resource follows the format:
+     * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + public Builder setEndpoints(int index, com.google.cloud.agentregistry.v1.Endpoint value) { + if (endpointsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureEndpointsIsMutable(); + endpoints_.set(index, value); + onChanged(); + } else { + endpointsBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of Endpoint resources matching the parent and filter criteria in
+     * the request. Each Endpoint resource follows the format:
+     * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + public Builder setEndpoints( + int index, com.google.cloud.agentregistry.v1.Endpoint.Builder builderForValue) { + if (endpointsBuilder_ == null) { + ensureEndpointsIsMutable(); + endpoints_.set(index, builderForValue.build()); + onChanged(); + } else { + endpointsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of Endpoint resources matching the parent and filter criteria in
+     * the request. Each Endpoint resource follows the format:
+     * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + public Builder addEndpoints(com.google.cloud.agentregistry.v1.Endpoint value) { + if (endpointsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureEndpointsIsMutable(); + endpoints_.add(value); + onChanged(); + } else { + endpointsBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * The list of Endpoint resources matching the parent and filter criteria in
+     * the request. Each Endpoint resource follows the format:
+     * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + public Builder addEndpoints(int index, com.google.cloud.agentregistry.v1.Endpoint value) { + if (endpointsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureEndpointsIsMutable(); + endpoints_.add(index, value); + onChanged(); + } else { + endpointsBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of Endpoint resources matching the parent and filter criteria in
+     * the request. Each Endpoint resource follows the format:
+     * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + public Builder addEndpoints( + com.google.cloud.agentregistry.v1.Endpoint.Builder builderForValue) { + if (endpointsBuilder_ == null) { + ensureEndpointsIsMutable(); + endpoints_.add(builderForValue.build()); + onChanged(); + } else { + endpointsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of Endpoint resources matching the parent and filter criteria in
+     * the request. Each Endpoint resource follows the format:
+     * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + public Builder addEndpoints( + int index, com.google.cloud.agentregistry.v1.Endpoint.Builder builderForValue) { + if (endpointsBuilder_ == null) { + ensureEndpointsIsMutable(); + endpoints_.add(index, builderForValue.build()); + onChanged(); + } else { + endpointsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of Endpoint resources matching the parent and filter criteria in
+     * the request. Each Endpoint resource follows the format:
+     * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + public Builder addAllEndpoints( + java.lang.Iterable values) { + if (endpointsBuilder_ == null) { + ensureEndpointsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, endpoints_); + onChanged(); + } else { + endpointsBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * The list of Endpoint resources matching the parent and filter criteria in
+     * the request. Each Endpoint resource follows the format:
+     * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + public Builder clearEndpoints() { + if (endpointsBuilder_ == null) { + endpoints_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + endpointsBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * The list of Endpoint resources matching the parent and filter criteria in
+     * the request. Each Endpoint resource follows the format:
+     * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + public Builder removeEndpoints(int index) { + if (endpointsBuilder_ == null) { + ensureEndpointsIsMutable(); + endpoints_.remove(index); + onChanged(); + } else { + endpointsBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * The list of Endpoint resources matching the parent and filter criteria in
+     * the request. Each Endpoint resource follows the format:
+     * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + public com.google.cloud.agentregistry.v1.Endpoint.Builder getEndpointsBuilder(int index) { + return internalGetEndpointsFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * The list of Endpoint resources matching the parent and filter criteria in
+     * the request. Each Endpoint resource follows the format:
+     * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + public com.google.cloud.agentregistry.v1.EndpointOrBuilder getEndpointsOrBuilder(int index) { + if (endpointsBuilder_ == null) { + return endpoints_.get(index); + } else { + return endpointsBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * The list of Endpoint resources matching the parent and filter criteria in
+     * the request. Each Endpoint resource follows the format:
+     * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + public java.util.List + getEndpointsOrBuilderList() { + if (endpointsBuilder_ != null) { + return endpointsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(endpoints_); + } + } + + /** + * + * + *
+     * The list of Endpoint resources matching the parent and filter criteria in
+     * the request. Each Endpoint resource follows the format:
+     * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + public com.google.cloud.agentregistry.v1.Endpoint.Builder addEndpointsBuilder() { + return internalGetEndpointsFieldBuilder() + .addBuilder(com.google.cloud.agentregistry.v1.Endpoint.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of Endpoint resources matching the parent and filter criteria in
+     * the request. Each Endpoint resource follows the format:
+     * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + public com.google.cloud.agentregistry.v1.Endpoint.Builder addEndpointsBuilder(int index) { + return internalGetEndpointsFieldBuilder() + .addBuilder(index, com.google.cloud.agentregistry.v1.Endpoint.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of Endpoint resources matching the parent and filter criteria in
+     * the request. Each Endpoint resource follows the format:
+     * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + public java.util.List + getEndpointsBuilderList() { + return internalGetEndpointsFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Endpoint, + com.google.cloud.agentregistry.v1.Endpoint.Builder, + com.google.cloud.agentregistry.v1.EndpointOrBuilder> + internalGetEndpointsFieldBuilder() { + if (endpointsBuilder_ == null) { + endpointsBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Endpoint, + com.google.cloud.agentregistry.v1.Endpoint.Builder, + com.google.cloud.agentregistry.v1.EndpointOrBuilder>( + endpoints_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); + endpoints_ = null; + } + return endpointsBuilder_; + } + + private java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * Used in
+     * [page_token][google.cloud.agentregistry.v1main.ListEndpointsRequest.page_token].
+     * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * Used in
+     * [page_token][google.cloud.agentregistry.v1main.ListEndpointsRequest.page_token].
+     * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * Used in
+     * [page_token][google.cloud.agentregistry.v1main.ListEndpointsRequest.page_token].
+     * 
+ * + * string next_page_token = 2; + * + * @param value The nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * Used in
+     * [page_token][google.cloud.agentregistry.v1main.ListEndpointsRequest.page_token].
+     * 
+ * + * string next_page_token = 2; + * + * @return This builder for chaining. + */ + public Builder clearNextPageToken() { + nextPageToken_ = getDefaultInstance().getNextPageToken(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * Used in
+     * [page_token][google.cloud.agentregistry.v1main.ListEndpointsRequest.page_token].
+     * 
+ * + * string next_page_token = 2; + * + * @param value The bytes for nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.ListEndpointsResponse) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.ListEndpointsResponse) + private static final com.google.cloud.agentregistry.v1.ListEndpointsResponse DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.ListEndpointsResponse(); + } + + public static com.google.cloud.agentregistry.v1.ListEndpointsResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListEndpointsResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListEndpointsResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListEndpointsResponseOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListEndpointsResponseOrBuilder.java new file mode 100644 index 000000000000..c4c1fb82eb4e --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListEndpointsResponseOrBuilder.java @@ -0,0 +1,124 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface ListEndpointsResponseOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.ListEndpointsResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The list of Endpoint resources matching the parent and filter criteria in
+   * the request. Each Endpoint resource follows the format:
+   * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + java.util.List getEndpointsList(); + + /** + * + * + *
+   * The list of Endpoint resources matching the parent and filter criteria in
+   * the request. Each Endpoint resource follows the format:
+   * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + com.google.cloud.agentregistry.v1.Endpoint getEndpoints(int index); + + /** + * + * + *
+   * The list of Endpoint resources matching the parent and filter criteria in
+   * the request. Each Endpoint resource follows the format:
+   * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + int getEndpointsCount(); + + /** + * + * + *
+   * The list of Endpoint resources matching the parent and filter criteria in
+   * the request. Each Endpoint resource follows the format:
+   * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + java.util.List + getEndpointsOrBuilderList(); + + /** + * + * + *
+   * The list of Endpoint resources matching the parent and filter criteria in
+   * the request. Each Endpoint resource follows the format:
+   * `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Endpoint endpoints = 1; + */ + com.google.cloud.agentregistry.v1.EndpointOrBuilder getEndpointsOrBuilder(int index); + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * Used in
+   * [page_token][google.cloud.agentregistry.v1main.ListEndpointsRequest.page_token].
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + java.lang.String getNextPageToken(); + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * Used in
+   * [page_token][google.cloud.agentregistry.v1main.ListEndpointsRequest.page_token].
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + com.google.protobuf.ByteString getNextPageTokenBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListMcpServersRequest.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListMcpServersRequest.java new file mode 100644 index 000000000000..ad2987c51f58 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListMcpServersRequest.java @@ -0,0 +1,1286 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for requesting list of McpServers
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.ListMcpServersRequest} + */ +@com.google.protobuf.Generated +public final class ListMcpServersRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.ListMcpServersRequest) + ListMcpServersRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListMcpServersRequest"); + } + + // Use ListMcpServersRequest.newBuilder() to construct. + private ListMcpServersRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListMcpServersRequest() { + parent_ = ""; + pageToken_ = ""; + filter_ = ""; + orderBy_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListMcpServersRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListMcpServersRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.ListMcpServersRequest.class, + com.google.cloud.agentregistry.v1.ListMcpServersRequest.Builder.class); + } + + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. Parent value for ListMcpServersRequest. Format:
+   * `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. Parent value for ListMcpServersRequest. Format:
+   * `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PAGE_SIZE_FIELD_NUMBER = 2; + private int pageSize_ = 0; + + /** + * + * + *
+   * Optional. Requested page size. Server may return fewer items than
+   * requested. If unspecified, server will pick an appropriate default.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + public static final int PAGE_TOKEN_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object pageToken_ = ""; + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + @java.lang.Override + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int FILTER_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private volatile java.lang.Object filter_ = ""; + + /** + * + * + *
+   * Optional. Filtering results
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + @java.lang.Override + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + filter_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. Filtering results
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + @java.lang.Override + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ORDER_BY_FIELD_NUMBER = 5; + + @SuppressWarnings("serial") + private volatile java.lang.Object orderBy_ = ""; + + /** + * + * + *
+   * Optional. Hint for how to order the results
+   * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The orderBy. + */ + @java.lang.Override + public java.lang.String getOrderBy() { + java.lang.Object ref = orderBy_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + orderBy_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. Hint for how to order the results
+   * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for orderBy. + */ + @java.lang.Override + public com.google.protobuf.ByteString getOrderByBytes() { + java.lang.Object ref = orderBy_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + orderBy_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (pageSize_ != 0) { + output.writeInt32(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, pageToken_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(filter_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, filter_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(orderBy_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, orderBy_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (pageSize_ != 0) { + size += com.google.protobuf.CodedOutputStream.computeInt32Size(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, pageToken_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(filter_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, filter_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(orderBy_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, orderBy_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.ListMcpServersRequest)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.ListMcpServersRequest other = + (com.google.cloud.agentregistry.v1.ListMcpServersRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (getPageSize() != other.getPageSize()) return false; + if (!getPageToken().equals(other.getPageToken())) return false; + if (!getFilter().equals(other.getFilter())) return false; + if (!getOrderBy().equals(other.getOrderBy())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + PAGE_SIZE_FIELD_NUMBER; + hash = (53 * hash) + getPageSize(); + hash = (37 * hash) + PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getPageToken().hashCode(); + hash = (37 * hash) + FILTER_FIELD_NUMBER; + hash = (53 * hash) + getFilter().hashCode(); + hash = (37 * hash) + ORDER_BY_FIELD_NUMBER; + hash = (53 * hash) + getOrderBy().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.ListMcpServersRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for requesting list of McpServers
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.ListMcpServersRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.ListMcpServersRequest) + com.google.cloud.agentregistry.v1.ListMcpServersRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListMcpServersRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListMcpServersRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.ListMcpServersRequest.class, + com.google.cloud.agentregistry.v1.ListMcpServersRequest.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.ListMcpServersRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + pageSize_ = 0; + pageToken_ = ""; + filter_ = ""; + orderBy_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListMcpServersRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListMcpServersRequest getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.ListMcpServersRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListMcpServersRequest build() { + com.google.cloud.agentregistry.v1.ListMcpServersRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListMcpServersRequest buildPartial() { + com.google.cloud.agentregistry.v1.ListMcpServersRequest result = + new com.google.cloud.agentregistry.v1.ListMcpServersRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.ListMcpServersRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.pageSize_ = pageSize_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.pageToken_ = pageToken_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.filter_ = filter_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.orderBy_ = orderBy_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.ListMcpServersRequest) { + return mergeFrom((com.google.cloud.agentregistry.v1.ListMcpServersRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.ListMcpServersRequest other) { + if (other == com.google.cloud.agentregistry.v1.ListMcpServersRequest.getDefaultInstance()) + return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getPageSize() != 0) { + setPageSize(other.getPageSize()); + } + if (!other.getPageToken().isEmpty()) { + pageToken_ = other.pageToken_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getFilter().isEmpty()) { + filter_ = other.filter_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (!other.getOrderBy().isEmpty()) { + orderBy_ = other.orderBy_; + bitField0_ |= 0x00000010; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + pageSize_ = input.readInt32(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: + { + pageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: + { + filter_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + case 42: + { + orderBy_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 42 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object parent_ = ""; + + /** + * + * + *
+     * Required. Parent value for ListMcpServersRequest. Format:
+     * `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for ListMcpServersRequest. Format:
+     * `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for ListMcpServersRequest. Format:
+     * `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for ListMcpServersRequest. Format:
+     * `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for ListMcpServersRequest. Format:
+     * `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private int pageSize_; + + /** + * + * + *
+     * Optional. Requested page size. Server may return fewer items than
+     * requested. If unspecified, server will pick an appropriate default.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + /** + * + * + *
+     * Optional. Requested page size. Server may return fewer items than
+     * requested. If unspecified, server will pick an appropriate default.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageSize to set. + * @return This builder for chaining. + */ + public Builder setPageSize(int value) { + + pageSize_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Requested page size. Server may return fewer items than
+     * requested. If unspecified, server will pick an appropriate default.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageSize() { + bitField0_ = (bitField0_ & ~0x00000002); + pageSize_ = 0; + onChanged(); + return this; + } + + private java.lang.Object pageToken_ = ""; + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageToken() { + pageToken_ = getDefaultInstance().getPageToken(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object filter_ = ""; + + /** + * + * + *
+     * Optional. Filtering results
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + filter_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. Filtering results
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. Filtering results
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The filter to set. + * @return This builder for chaining. + */ + public Builder setFilter(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + filter_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Filtering results
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearFilter() { + filter_ = getDefaultInstance().getFilter(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Filtering results
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for filter to set. + * @return This builder for chaining. + */ + public Builder setFilterBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + filter_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private java.lang.Object orderBy_ = ""; + + /** + * + * + *
+     * Optional. Hint for how to order the results
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The orderBy. + */ + public java.lang.String getOrderBy() { + java.lang.Object ref = orderBy_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + orderBy_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. Hint for how to order the results
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for orderBy. + */ + public com.google.protobuf.ByteString getOrderByBytes() { + java.lang.Object ref = orderBy_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + orderBy_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. Hint for how to order the results
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The orderBy to set. + * @return This builder for chaining. + */ + public Builder setOrderBy(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + orderBy_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Hint for how to order the results
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearOrderBy() { + orderBy_ = getDefaultInstance().getOrderBy(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Hint for how to order the results
+     * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for orderBy to set. + * @return This builder for chaining. + */ + public Builder setOrderByBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + orderBy_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.ListMcpServersRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.ListMcpServersRequest) + private static final com.google.cloud.agentregistry.v1.ListMcpServersRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.ListMcpServersRequest(); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListMcpServersRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListMcpServersRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListMcpServersRequestOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListMcpServersRequestOrBuilder.java new file mode 100644 index 000000000000..fcfc678930ad --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListMcpServersRequestOrBuilder.java @@ -0,0 +1,152 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface ListMcpServersRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.ListMcpServersRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Parent value for ListMcpServersRequest. Format:
+   * `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. Parent value for ListMcpServersRequest. Format:
+   * `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Optional. Requested page size. Server may return fewer items than
+   * requested. If unspecified, server will pick an appropriate default.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + int getPageSize(); + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + java.lang.String getPageToken(); + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + com.google.protobuf.ByteString getPageTokenBytes(); + + /** + * + * + *
+   * Optional. Filtering results
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + java.lang.String getFilter(); + + /** + * + * + *
+   * Optional. Filtering results
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + com.google.protobuf.ByteString getFilterBytes(); + + /** + * + * + *
+   * Optional. Hint for how to order the results
+   * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The orderBy. + */ + java.lang.String getOrderBy(); + + /** + * + * + *
+   * Optional. Hint for how to order the results
+   * 
+ * + * string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for orderBy. + */ + com.google.protobuf.ByteString getOrderByBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListMcpServersResponse.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListMcpServersResponse.java new file mode 100644 index 000000000000..28c0f87a75f7 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListMcpServersResponse.java @@ -0,0 +1,1114 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for response to listing McpServers
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.ListMcpServersResponse} + */ +@com.google.protobuf.Generated +public final class ListMcpServersResponse extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.ListMcpServersResponse) + ListMcpServersResponseOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListMcpServersResponse"); + } + + // Use ListMcpServersResponse.newBuilder() to construct. + private ListMcpServersResponse(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListMcpServersResponse() { + mcpServers_ = java.util.Collections.emptyList(); + nextPageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListMcpServersResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListMcpServersResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.ListMcpServersResponse.class, + com.google.cloud.agentregistry.v1.ListMcpServersResponse.Builder.class); + } + + public static final int MCP_SERVERS_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List mcpServers_; + + /** + * + * + *
+   * The list of McpServers.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + @java.lang.Override + public java.util.List getMcpServersList() { + return mcpServers_; + } + + /** + * + * + *
+   * The list of McpServers.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + @java.lang.Override + public java.util.List + getMcpServersOrBuilderList() { + return mcpServers_; + } + + /** + * + * + *
+   * The list of McpServers.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + @java.lang.Override + public int getMcpServersCount() { + return mcpServers_.size(); + } + + /** + * + * + *
+   * The list of McpServers.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.McpServer getMcpServers(int index) { + return mcpServers_.get(index); + } + + /** + * + * + *
+   * The list of McpServers.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.McpServerOrBuilder getMcpServersOrBuilder(int index) { + return mcpServers_.get(index); + } + + public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + @java.lang.Override + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + for (int i = 0; i < mcpServers_.size(); i++) { + output.writeMessage(1, mcpServers_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, nextPageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < mcpServers_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, mcpServers_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, nextPageToken_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.ListMcpServersResponse)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.ListMcpServersResponse other = + (com.google.cloud.agentregistry.v1.ListMcpServersResponse) obj; + + if (!getMcpServersList().equals(other.getMcpServersList())) return false; + if (!getNextPageToken().equals(other.getNextPageToken())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getMcpServersCount() > 0) { + hash = (37 * hash) + MCP_SERVERS_FIELD_NUMBER; + hash = (53 * hash) + getMcpServersList().hashCode(); + } + hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getNextPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersResponse parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersResponse parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersResponse parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersResponse parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersResponse parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersResponse parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersResponse parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersResponse parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.ListMcpServersResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for response to listing McpServers
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.ListMcpServersResponse} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.ListMcpServersResponse) + com.google.cloud.agentregistry.v1.ListMcpServersResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListMcpServersResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListMcpServersResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.ListMcpServersResponse.class, + com.google.cloud.agentregistry.v1.ListMcpServersResponse.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.ListMcpServersResponse.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (mcpServersBuilder_ == null) { + mcpServers_ = java.util.Collections.emptyList(); + } else { + mcpServers_ = null; + mcpServersBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + nextPageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListMcpServersResponse_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListMcpServersResponse getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.ListMcpServersResponse.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListMcpServersResponse build() { + com.google.cloud.agentregistry.v1.ListMcpServersResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListMcpServersResponse buildPartial() { + com.google.cloud.agentregistry.v1.ListMcpServersResponse result = + new com.google.cloud.agentregistry.v1.ListMcpServersResponse(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.agentregistry.v1.ListMcpServersResponse result) { + if (mcpServersBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + mcpServers_ = java.util.Collections.unmodifiableList(mcpServers_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.mcpServers_ = mcpServers_; + } else { + result.mcpServers_ = mcpServersBuilder_.build(); + } + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.ListMcpServersResponse result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.nextPageToken_ = nextPageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.ListMcpServersResponse) { + return mergeFrom((com.google.cloud.agentregistry.v1.ListMcpServersResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.ListMcpServersResponse other) { + if (other == com.google.cloud.agentregistry.v1.ListMcpServersResponse.getDefaultInstance()) + return this; + if (mcpServersBuilder_ == null) { + if (!other.mcpServers_.isEmpty()) { + if (mcpServers_.isEmpty()) { + mcpServers_ = other.mcpServers_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureMcpServersIsMutable(); + mcpServers_.addAll(other.mcpServers_); + } + onChanged(); + } + } else { + if (!other.mcpServers_.isEmpty()) { + if (mcpServersBuilder_.isEmpty()) { + mcpServersBuilder_.dispose(); + mcpServersBuilder_ = null; + mcpServers_ = other.mcpServers_; + bitField0_ = (bitField0_ & ~0x00000001); + mcpServersBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetMcpServersFieldBuilder() + : null; + } else { + mcpServersBuilder_.addAllMessages(other.mcpServers_); + } + } + } + if (!other.getNextPageToken().isEmpty()) { + nextPageToken_ = other.nextPageToken_; + bitField0_ |= 0x00000002; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + com.google.cloud.agentregistry.v1.McpServer m = + input.readMessage( + com.google.cloud.agentregistry.v1.McpServer.parser(), extensionRegistry); + if (mcpServersBuilder_ == null) { + ensureMcpServersIsMutable(); + mcpServers_.add(m); + } else { + mcpServersBuilder_.addMessage(m); + } + break; + } // case 10 + case 18: + { + nextPageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.util.List mcpServers_ = + java.util.Collections.emptyList(); + + private void ensureMcpServersIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + mcpServers_ = + new java.util.ArrayList(mcpServers_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.McpServer, + com.google.cloud.agentregistry.v1.McpServer.Builder, + com.google.cloud.agentregistry.v1.McpServerOrBuilder> + mcpServersBuilder_; + + /** + * + * + *
+     * The list of McpServers.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public java.util.List getMcpServersList() { + if (mcpServersBuilder_ == null) { + return java.util.Collections.unmodifiableList(mcpServers_); + } else { + return mcpServersBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * The list of McpServers.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public int getMcpServersCount() { + if (mcpServersBuilder_ == null) { + return mcpServers_.size(); + } else { + return mcpServersBuilder_.getCount(); + } + } + + /** + * + * + *
+     * The list of McpServers.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public com.google.cloud.agentregistry.v1.McpServer getMcpServers(int index) { + if (mcpServersBuilder_ == null) { + return mcpServers_.get(index); + } else { + return mcpServersBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * The list of McpServers.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public Builder setMcpServers(int index, com.google.cloud.agentregistry.v1.McpServer value) { + if (mcpServersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureMcpServersIsMutable(); + mcpServers_.set(index, value); + onChanged(); + } else { + mcpServersBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of McpServers.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public Builder setMcpServers( + int index, com.google.cloud.agentregistry.v1.McpServer.Builder builderForValue) { + if (mcpServersBuilder_ == null) { + ensureMcpServersIsMutable(); + mcpServers_.set(index, builderForValue.build()); + onChanged(); + } else { + mcpServersBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of McpServers.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public Builder addMcpServers(com.google.cloud.agentregistry.v1.McpServer value) { + if (mcpServersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureMcpServersIsMutable(); + mcpServers_.add(value); + onChanged(); + } else { + mcpServersBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * The list of McpServers.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public Builder addMcpServers(int index, com.google.cloud.agentregistry.v1.McpServer value) { + if (mcpServersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureMcpServersIsMutable(); + mcpServers_.add(index, value); + onChanged(); + } else { + mcpServersBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of McpServers.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public Builder addMcpServers( + com.google.cloud.agentregistry.v1.McpServer.Builder builderForValue) { + if (mcpServersBuilder_ == null) { + ensureMcpServersIsMutable(); + mcpServers_.add(builderForValue.build()); + onChanged(); + } else { + mcpServersBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of McpServers.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public Builder addMcpServers( + int index, com.google.cloud.agentregistry.v1.McpServer.Builder builderForValue) { + if (mcpServersBuilder_ == null) { + ensureMcpServersIsMutable(); + mcpServers_.add(index, builderForValue.build()); + onChanged(); + } else { + mcpServersBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of McpServers.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public Builder addAllMcpServers( + java.lang.Iterable values) { + if (mcpServersBuilder_ == null) { + ensureMcpServersIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, mcpServers_); + onChanged(); + } else { + mcpServersBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * The list of McpServers.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public Builder clearMcpServers() { + if (mcpServersBuilder_ == null) { + mcpServers_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + mcpServersBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * The list of McpServers.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public Builder removeMcpServers(int index) { + if (mcpServersBuilder_ == null) { + ensureMcpServersIsMutable(); + mcpServers_.remove(index); + onChanged(); + } else { + mcpServersBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * The list of McpServers.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public com.google.cloud.agentregistry.v1.McpServer.Builder getMcpServersBuilder(int index) { + return internalGetMcpServersFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * The list of McpServers.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public com.google.cloud.agentregistry.v1.McpServerOrBuilder getMcpServersOrBuilder(int index) { + if (mcpServersBuilder_ == null) { + return mcpServers_.get(index); + } else { + return mcpServersBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * The list of McpServers.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public java.util.List + getMcpServersOrBuilderList() { + if (mcpServersBuilder_ != null) { + return mcpServersBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(mcpServers_); + } + } + + /** + * + * + *
+     * The list of McpServers.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public com.google.cloud.agentregistry.v1.McpServer.Builder addMcpServersBuilder() { + return internalGetMcpServersFieldBuilder() + .addBuilder(com.google.cloud.agentregistry.v1.McpServer.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of McpServers.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public com.google.cloud.agentregistry.v1.McpServer.Builder addMcpServersBuilder(int index) { + return internalGetMcpServersFieldBuilder() + .addBuilder(index, com.google.cloud.agentregistry.v1.McpServer.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of McpServers.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public java.util.List + getMcpServersBuilderList() { + return internalGetMcpServersFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.McpServer, + com.google.cloud.agentregistry.v1.McpServer.Builder, + com.google.cloud.agentregistry.v1.McpServerOrBuilder> + internalGetMcpServersFieldBuilder() { + if (mcpServersBuilder_ == null) { + mcpServersBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.McpServer, + com.google.cloud.agentregistry.v1.McpServer.Builder, + com.google.cloud.agentregistry.v1.McpServerOrBuilder>( + mcpServers_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); + mcpServers_ = null; + } + return mcpServersBuilder_; + } + + private java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string next_page_token = 2; + * + * @return This builder for chaining. + */ + public Builder clearNextPageToken() { + nextPageToken_ = getDefaultInstance().getNextPageToken(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The bytes for nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.ListMcpServersResponse) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.ListMcpServersResponse) + private static final com.google.cloud.agentregistry.v1.ListMcpServersResponse DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.ListMcpServersResponse(); + } + + public static com.google.cloud.agentregistry.v1.ListMcpServersResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListMcpServersResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListMcpServersResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListMcpServersResponseOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListMcpServersResponseOrBuilder.java new file mode 100644 index 000000000000..5afac75094c0 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListMcpServersResponseOrBuilder.java @@ -0,0 +1,110 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface ListMcpServersResponseOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.ListMcpServersResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The list of McpServers.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + java.util.List getMcpServersList(); + + /** + * + * + *
+   * The list of McpServers.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + com.google.cloud.agentregistry.v1.McpServer getMcpServers(int index); + + /** + * + * + *
+   * The list of McpServers.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + int getMcpServersCount(); + + /** + * + * + *
+   * The list of McpServers.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + java.util.List + getMcpServersOrBuilderList(); + + /** + * + * + *
+   * The list of McpServers.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + com.google.cloud.agentregistry.v1.McpServerOrBuilder getMcpServersOrBuilder(int index); + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + java.lang.String getNextPageToken(); + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + com.google.protobuf.ByteString getNextPageTokenBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListServicesRequest.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListServicesRequest.java new file mode 100644 index 000000000000..61e644b1f2f0 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListServicesRequest.java @@ -0,0 +1,1174 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for requesting list of Services
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.ListServicesRequest} + */ +@com.google.protobuf.Generated +public final class ListServicesRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.ListServicesRequest) + ListServicesRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListServicesRequest"); + } + + // Use ListServicesRequest.newBuilder() to construct. + private ListServicesRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListServicesRequest() { + parent_ = ""; + pageToken_ = ""; + filter_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListServicesRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListServicesRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.ListServicesRequest.class, + com.google.cloud.agentregistry.v1.ListServicesRequest.Builder.class); + } + + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. The project and location to list services in.
+   * Expected format: `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. The project and location to list services in.
+   * Expected format: `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PAGE_SIZE_FIELD_NUMBER = 2; + private int pageSize_ = 0; + + /** + * + * + *
+   * Optional. Requested page size. Server may return fewer items than
+   * requested. If unspecified, server will pick an appropriate default.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + public static final int PAGE_TOKEN_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object pageToken_ = ""; + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + @java.lang.Override + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int FILTER_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private volatile java.lang.Object filter_ = ""; + + /** + * + * + *
+   * Optional. A query string used to filter the list of services returned.
+   * The filter expression must follow AIP-160 syntax.
+   *
+   * Filtering is supported on the `name`, `display_name`, `description`,
+   * and `labels` fields.
+   *
+   * Some examples:
+   *
+   * * `name = "projects/p1/locations/l1/services/s1"`
+   * * `display_name = "my-service"`
+   * * `description : "myservice description"`
+   * * `labels.env = "prod"`
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + @java.lang.Override + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + filter_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. A query string used to filter the list of services returned.
+   * The filter expression must follow AIP-160 syntax.
+   *
+   * Filtering is supported on the `name`, `display_name`, `description`,
+   * and `labels` fields.
+   *
+   * Some examples:
+   *
+   * * `name = "projects/p1/locations/l1/services/s1"`
+   * * `display_name = "my-service"`
+   * * `description : "myservice description"`
+   * * `labels.env = "prod"`
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + @java.lang.Override + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (pageSize_ != 0) { + output.writeInt32(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, pageToken_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(filter_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, filter_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (pageSize_ != 0) { + size += com.google.protobuf.CodedOutputStream.computeInt32Size(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, pageToken_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(filter_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, filter_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.ListServicesRequest)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.ListServicesRequest other = + (com.google.cloud.agentregistry.v1.ListServicesRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (getPageSize() != other.getPageSize()) return false; + if (!getPageToken().equals(other.getPageToken())) return false; + if (!getFilter().equals(other.getFilter())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + PAGE_SIZE_FIELD_NUMBER; + hash = (53 * hash) + getPageSize(); + hash = (37 * hash) + PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getPageToken().hashCode(); + hash = (37 * hash) + FILTER_FIELD_NUMBER; + hash = (53 * hash) + getFilter().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.ListServicesRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListServicesRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListServicesRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListServicesRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListServicesRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListServicesRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListServicesRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListServicesRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListServicesRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListServicesRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListServicesRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListServicesRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.ListServicesRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for requesting list of Services
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.ListServicesRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.ListServicesRequest) + com.google.cloud.agentregistry.v1.ListServicesRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListServicesRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListServicesRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.ListServicesRequest.class, + com.google.cloud.agentregistry.v1.ListServicesRequest.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.ListServicesRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + pageSize_ = 0; + pageToken_ = ""; + filter_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListServicesRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListServicesRequest getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.ListServicesRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListServicesRequest build() { + com.google.cloud.agentregistry.v1.ListServicesRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListServicesRequest buildPartial() { + com.google.cloud.agentregistry.v1.ListServicesRequest result = + new com.google.cloud.agentregistry.v1.ListServicesRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.ListServicesRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.pageSize_ = pageSize_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.pageToken_ = pageToken_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.filter_ = filter_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.ListServicesRequest) { + return mergeFrom((com.google.cloud.agentregistry.v1.ListServicesRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.ListServicesRequest other) { + if (other == com.google.cloud.agentregistry.v1.ListServicesRequest.getDefaultInstance()) + return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getPageSize() != 0) { + setPageSize(other.getPageSize()); + } + if (!other.getPageToken().isEmpty()) { + pageToken_ = other.pageToken_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getFilter().isEmpty()) { + filter_ = other.filter_; + bitField0_ |= 0x00000008; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + pageSize_ = input.readInt32(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 26: + { + pageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: + { + filter_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object parent_ = ""; + + /** + * + * + *
+     * Required. The project and location to list services in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. The project and location to list services in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. The project and location to list services in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The project and location to list services in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The project and location to list services in.
+     * Expected format: `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private int pageSize_; + + /** + * + * + *
+     * Optional. Requested page size. Server may return fewer items than
+     * requested. If unspecified, server will pick an appropriate default.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + /** + * + * + *
+     * Optional. Requested page size. Server may return fewer items than
+     * requested. If unspecified, server will pick an appropriate default.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageSize to set. + * @return This builder for chaining. + */ + public Builder setPageSize(int value) { + + pageSize_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Requested page size. Server may return fewer items than
+     * requested. If unspecified, server will pick an appropriate default.
+     * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageSize() { + bitField0_ = (bitField0_ & ~0x00000002); + pageSize_ = 0; + onChanged(); + return this; + } + + private java.lang.Object pageToken_ = ""; + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageToken() { + pageToken_ = getDefaultInstance().getPageToken(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A token identifying a page of results the server should return.
+     * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + pageToken_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object filter_ = ""; + + /** + * + * + *
+     * Optional. A query string used to filter the list of services returned.
+     * The filter expression must follow AIP-160 syntax.
+     *
+     * Filtering is supported on the `name`, `display_name`, `description`,
+     * and `labels` fields.
+     *
+     * Some examples:
+     *
+     * * `name = "projects/p1/locations/l1/services/s1"`
+     * * `display_name = "my-service"`
+     * * `description : "myservice description"`
+     * * `labels.env = "prod"`
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + filter_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. A query string used to filter the list of services returned.
+     * The filter expression must follow AIP-160 syntax.
+     *
+     * Filtering is supported on the `name`, `display_name`, `description`,
+     * and `labels` fields.
+     *
+     * Some examples:
+     *
+     * * `name = "projects/p1/locations/l1/services/s1"`
+     * * `display_name = "my-service"`
+     * * `description : "myservice description"`
+     * * `labels.env = "prod"`
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. A query string used to filter the list of services returned.
+     * The filter expression must follow AIP-160 syntax.
+     *
+     * Filtering is supported on the `name`, `display_name`, `description`,
+     * and `labels` fields.
+     *
+     * Some examples:
+     *
+     * * `name = "projects/p1/locations/l1/services/s1"`
+     * * `display_name = "my-service"`
+     * * `description : "myservice description"`
+     * * `labels.env = "prod"`
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The filter to set. + * @return This builder for chaining. + */ + public Builder setFilter(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + filter_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A query string used to filter the list of services returned.
+     * The filter expression must follow AIP-160 syntax.
+     *
+     * Filtering is supported on the `name`, `display_name`, `description`,
+     * and `labels` fields.
+     *
+     * Some examples:
+     *
+     * * `name = "projects/p1/locations/l1/services/s1"`
+     * * `display_name = "my-service"`
+     * * `description : "myservice description"`
+     * * `labels.env = "prod"`
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearFilter() { + filter_ = getDefaultInstance().getFilter(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. A query string used to filter the list of services returned.
+     * The filter expression must follow AIP-160 syntax.
+     *
+     * Filtering is supported on the `name`, `display_name`, `description`,
+     * and `labels` fields.
+     *
+     * Some examples:
+     *
+     * * `name = "projects/p1/locations/l1/services/s1"`
+     * * `display_name = "my-service"`
+     * * `description : "myservice description"`
+     * * `labels.env = "prod"`
+     * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for filter to set. + * @return This builder for chaining. + */ + public Builder setFilterBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + filter_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.ListServicesRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.ListServicesRequest) + private static final com.google.cloud.agentregistry.v1.ListServicesRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.ListServicesRequest(); + } + + public static com.google.cloud.agentregistry.v1.ListServicesRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListServicesRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListServicesRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListServicesRequestOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListServicesRequestOrBuilder.java new file mode 100644 index 000000000000..293526d8c731 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListServicesRequestOrBuilder.java @@ -0,0 +1,148 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface ListServicesRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.ListServicesRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The project and location to list services in.
+   * Expected format: `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. The project and location to list services in.
+   * Expected format: `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Optional. Requested page size. Server may return fewer items than
+   * requested. If unspecified, server will pick an appropriate default.
+   * 
+ * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + int getPageSize(); + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + java.lang.String getPageToken(); + + /** + * + * + *
+   * Optional. A token identifying a page of results the server should return.
+   * 
+ * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + com.google.protobuf.ByteString getPageTokenBytes(); + + /** + * + * + *
+   * Optional. A query string used to filter the list of services returned.
+   * The filter expression must follow AIP-160 syntax.
+   *
+   * Filtering is supported on the `name`, `display_name`, `description`,
+   * and `labels` fields.
+   *
+   * Some examples:
+   *
+   * * `name = "projects/p1/locations/l1/services/s1"`
+   * * `display_name = "my-service"`
+   * * `description : "myservice description"`
+   * * `labels.env = "prod"`
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + java.lang.String getFilter(); + + /** + * + * + *
+   * Optional. A query string used to filter the list of services returned.
+   * The filter expression must follow AIP-160 syntax.
+   *
+   * Filtering is supported on the `name`, `display_name`, `description`,
+   * and `labels` fields.
+   *
+   * Some examples:
+   *
+   * * `name = "projects/p1/locations/l1/services/s1"`
+   * * `display_name = "my-service"`
+   * * `description : "myservice description"`
+   * * `labels.env = "prod"`
+   * 
+ * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + com.google.protobuf.ByteString getFilterBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListServicesResponse.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListServicesResponse.java new file mode 100644 index 000000000000..02253a84eeb9 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListServicesResponse.java @@ -0,0 +1,1172 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for response to listing Services
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.ListServicesResponse} + */ +@com.google.protobuf.Generated +public final class ListServicesResponse extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.ListServicesResponse) + ListServicesResponseOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ListServicesResponse"); + } + + // Use ListServicesResponse.newBuilder() to construct. + private ListServicesResponse(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private ListServicesResponse() { + services_ = java.util.Collections.emptyList(); + nextPageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListServicesResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListServicesResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.ListServicesResponse.class, + com.google.cloud.agentregistry.v1.ListServicesResponse.Builder.class); + } + + public static final int SERVICES_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List services_; + + /** + * + * + *
+   * The list of Service resources matching the parent and filter criteria in
+   * the request. Each Service resource follows the format:
+   * `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + @java.lang.Override + public java.util.List getServicesList() { + return services_; + } + + /** + * + * + *
+   * The list of Service resources matching the parent and filter criteria in
+   * the request. Each Service resource follows the format:
+   * `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + @java.lang.Override + public java.util.List + getServicesOrBuilderList() { + return services_; + } + + /** + * + * + *
+   * The list of Service resources matching the parent and filter criteria in
+   * the request. Each Service resource follows the format:
+   * `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + @java.lang.Override + public int getServicesCount() { + return services_.size(); + } + + /** + * + * + *
+   * The list of Service resources matching the parent and filter criteria in
+   * the request. Each Service resource follows the format:
+   * `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service getServices(int index) { + return services_.get(index); + } + + /** + * + * + *
+   * The list of Service resources matching the parent and filter criteria in
+   * the request. Each Service resource follows the format:
+   * `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.ServiceOrBuilder getServicesOrBuilder(int index) { + return services_.get(index); + } + + public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * Used in
+   * [page_token][google.cloud.agentregistry.v1main.ListServicesRequest.page_token].
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + @java.lang.Override + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * Used in
+   * [page_token][google.cloud.agentregistry.v1main.ListServicesRequest.page_token].
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + for (int i = 0; i < services_.size(); i++) { + output.writeMessage(1, services_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, nextPageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < services_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, services_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, nextPageToken_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.ListServicesResponse)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.ListServicesResponse other = + (com.google.cloud.agentregistry.v1.ListServicesResponse) obj; + + if (!getServicesList().equals(other.getServicesList())) return false; + if (!getNextPageToken().equals(other.getNextPageToken())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getServicesCount() > 0) { + hash = (37 * hash) + SERVICES_FIELD_NUMBER; + hash = (53 * hash) + getServicesList().hashCode(); + } + hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getNextPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.ListServicesResponse parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListServicesResponse parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListServicesResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListServicesResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListServicesResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.ListServicesResponse parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListServicesResponse parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListServicesResponse parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListServicesResponse parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListServicesResponse parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.ListServicesResponse parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.ListServicesResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.ListServicesResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for response to listing Services
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.ListServicesResponse} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.ListServicesResponse) + com.google.cloud.agentregistry.v1.ListServicesResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListServicesResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListServicesResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.ListServicesResponse.class, + com.google.cloud.agentregistry.v1.ListServicesResponse.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.ListServicesResponse.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (servicesBuilder_ == null) { + services_ = java.util.Collections.emptyList(); + } else { + services_ = null; + servicesBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + nextPageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_ListServicesResponse_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListServicesResponse getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.ListServicesResponse.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListServicesResponse build() { + com.google.cloud.agentregistry.v1.ListServicesResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListServicesResponse buildPartial() { + com.google.cloud.agentregistry.v1.ListServicesResponse result = + new com.google.cloud.agentregistry.v1.ListServicesResponse(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.agentregistry.v1.ListServicesResponse result) { + if (servicesBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + services_ = java.util.Collections.unmodifiableList(services_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.services_ = services_; + } else { + result.services_ = servicesBuilder_.build(); + } + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.ListServicesResponse result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.nextPageToken_ = nextPageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.ListServicesResponse) { + return mergeFrom((com.google.cloud.agentregistry.v1.ListServicesResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.ListServicesResponse other) { + if (other == com.google.cloud.agentregistry.v1.ListServicesResponse.getDefaultInstance()) + return this; + if (servicesBuilder_ == null) { + if (!other.services_.isEmpty()) { + if (services_.isEmpty()) { + services_ = other.services_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureServicesIsMutable(); + services_.addAll(other.services_); + } + onChanged(); + } + } else { + if (!other.services_.isEmpty()) { + if (servicesBuilder_.isEmpty()) { + servicesBuilder_.dispose(); + servicesBuilder_ = null; + services_ = other.services_; + bitField0_ = (bitField0_ & ~0x00000001); + servicesBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetServicesFieldBuilder() + : null; + } else { + servicesBuilder_.addAllMessages(other.services_); + } + } + } + if (!other.getNextPageToken().isEmpty()) { + nextPageToken_ = other.nextPageToken_; + bitField0_ |= 0x00000002; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + com.google.cloud.agentregistry.v1.Service m = + input.readMessage( + com.google.cloud.agentregistry.v1.Service.parser(), extensionRegistry); + if (servicesBuilder_ == null) { + ensureServicesIsMutable(); + services_.add(m); + } else { + servicesBuilder_.addMessage(m); + } + break; + } // case 10 + case 18: + { + nextPageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.util.List services_ = + java.util.Collections.emptyList(); + + private void ensureServicesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + services_ = new java.util.ArrayList(services_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Service, + com.google.cloud.agentregistry.v1.Service.Builder, + com.google.cloud.agentregistry.v1.ServiceOrBuilder> + servicesBuilder_; + + /** + * + * + *
+     * The list of Service resources matching the parent and filter criteria in
+     * the request. Each Service resource follows the format:
+     * `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + public java.util.List getServicesList() { + if (servicesBuilder_ == null) { + return java.util.Collections.unmodifiableList(services_); + } else { + return servicesBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * The list of Service resources matching the parent and filter criteria in
+     * the request. Each Service resource follows the format:
+     * `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + public int getServicesCount() { + if (servicesBuilder_ == null) { + return services_.size(); + } else { + return servicesBuilder_.getCount(); + } + } + + /** + * + * + *
+     * The list of Service resources matching the parent and filter criteria in
+     * the request. Each Service resource follows the format:
+     * `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + public com.google.cloud.agentregistry.v1.Service getServices(int index) { + if (servicesBuilder_ == null) { + return services_.get(index); + } else { + return servicesBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * The list of Service resources matching the parent and filter criteria in
+     * the request. Each Service resource follows the format:
+     * `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + public Builder setServices(int index, com.google.cloud.agentregistry.v1.Service value) { + if (servicesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureServicesIsMutable(); + services_.set(index, value); + onChanged(); + } else { + servicesBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of Service resources matching the parent and filter criteria in
+     * the request. Each Service resource follows the format:
+     * `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + public Builder setServices( + int index, com.google.cloud.agentregistry.v1.Service.Builder builderForValue) { + if (servicesBuilder_ == null) { + ensureServicesIsMutable(); + services_.set(index, builderForValue.build()); + onChanged(); + } else { + servicesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of Service resources matching the parent and filter criteria in
+     * the request. Each Service resource follows the format:
+     * `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + public Builder addServices(com.google.cloud.agentregistry.v1.Service value) { + if (servicesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureServicesIsMutable(); + services_.add(value); + onChanged(); + } else { + servicesBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * The list of Service resources matching the parent and filter criteria in
+     * the request. Each Service resource follows the format:
+     * `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + public Builder addServices(int index, com.google.cloud.agentregistry.v1.Service value) { + if (servicesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureServicesIsMutable(); + services_.add(index, value); + onChanged(); + } else { + servicesBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * The list of Service resources matching the parent and filter criteria in
+     * the request. Each Service resource follows the format:
+     * `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + public Builder addServices(com.google.cloud.agentregistry.v1.Service.Builder builderForValue) { + if (servicesBuilder_ == null) { + ensureServicesIsMutable(); + services_.add(builderForValue.build()); + onChanged(); + } else { + servicesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of Service resources matching the parent and filter criteria in
+     * the request. Each Service resource follows the format:
+     * `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + public Builder addServices( + int index, com.google.cloud.agentregistry.v1.Service.Builder builderForValue) { + if (servicesBuilder_ == null) { + ensureServicesIsMutable(); + services_.add(index, builderForValue.build()); + onChanged(); + } else { + servicesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * The list of Service resources matching the parent and filter criteria in
+     * the request. Each Service resource follows the format:
+     * `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + public Builder addAllServices( + java.lang.Iterable values) { + if (servicesBuilder_ == null) { + ensureServicesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, services_); + onChanged(); + } else { + servicesBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * The list of Service resources matching the parent and filter criteria in
+     * the request. Each Service resource follows the format:
+     * `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + public Builder clearServices() { + if (servicesBuilder_ == null) { + services_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + servicesBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * The list of Service resources matching the parent and filter criteria in
+     * the request. Each Service resource follows the format:
+     * `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + public Builder removeServices(int index) { + if (servicesBuilder_ == null) { + ensureServicesIsMutable(); + services_.remove(index); + onChanged(); + } else { + servicesBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * The list of Service resources matching the parent and filter criteria in
+     * the request. Each Service resource follows the format:
+     * `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + public com.google.cloud.agentregistry.v1.Service.Builder getServicesBuilder(int index) { + return internalGetServicesFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * The list of Service resources matching the parent and filter criteria in
+     * the request. Each Service resource follows the format:
+     * `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + public com.google.cloud.agentregistry.v1.ServiceOrBuilder getServicesOrBuilder(int index) { + if (servicesBuilder_ == null) { + return services_.get(index); + } else { + return servicesBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * The list of Service resources matching the parent and filter criteria in
+     * the request. Each Service resource follows the format:
+     * `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + public java.util.List + getServicesOrBuilderList() { + if (servicesBuilder_ != null) { + return servicesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(services_); + } + } + + /** + * + * + *
+     * The list of Service resources matching the parent and filter criteria in
+     * the request. Each Service resource follows the format:
+     * `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + public com.google.cloud.agentregistry.v1.Service.Builder addServicesBuilder() { + return internalGetServicesFieldBuilder() + .addBuilder(com.google.cloud.agentregistry.v1.Service.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of Service resources matching the parent and filter criteria in
+     * the request. Each Service resource follows the format:
+     * `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + public com.google.cloud.agentregistry.v1.Service.Builder addServicesBuilder(int index) { + return internalGetServicesFieldBuilder() + .addBuilder(index, com.google.cloud.agentregistry.v1.Service.getDefaultInstance()); + } + + /** + * + * + *
+     * The list of Service resources matching the parent and filter criteria in
+     * the request. Each Service resource follows the format:
+     * `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + public java.util.List + getServicesBuilderList() { + return internalGetServicesFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Service, + com.google.cloud.agentregistry.v1.Service.Builder, + com.google.cloud.agentregistry.v1.ServiceOrBuilder> + internalGetServicesFieldBuilder() { + if (servicesBuilder_ == null) { + servicesBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Service, + com.google.cloud.agentregistry.v1.Service.Builder, + com.google.cloud.agentregistry.v1.ServiceOrBuilder>( + services_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); + services_ = null; + } + return servicesBuilder_; + } + + private java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * Used in
+     * [page_token][google.cloud.agentregistry.v1main.ListServicesRequest.page_token].
+     * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * Used in
+     * [page_token][google.cloud.agentregistry.v1main.ListServicesRequest.page_token].
+     * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * Used in
+     * [page_token][google.cloud.agentregistry.v1main.ListServicesRequest.page_token].
+     * 
+ * + * string next_page_token = 2; + * + * @param value The nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * Used in
+     * [page_token][google.cloud.agentregistry.v1main.ListServicesRequest.page_token].
+     * 
+ * + * string next_page_token = 2; + * + * @return This builder for chaining. + */ + public Builder clearNextPageToken() { + nextPageToken_ = getDefaultInstance().getNextPageToken(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * A token identifying a page of results the server should return.
+     * Used in
+     * [page_token][google.cloud.agentregistry.v1main.ListServicesRequest.page_token].
+     * 
+ * + * string next_page_token = 2; + * + * @param value The bytes for nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.ListServicesResponse) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.ListServicesResponse) + private static final com.google.cloud.agentregistry.v1.ListServicesResponse DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.ListServicesResponse(); + } + + public static com.google.cloud.agentregistry.v1.ListServicesResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListServicesResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.ListServicesResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListServicesResponseOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListServicesResponseOrBuilder.java new file mode 100644 index 000000000000..5afe8c22c8a9 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ListServicesResponseOrBuilder.java @@ -0,0 +1,124 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface ListServicesResponseOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.ListServicesResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The list of Service resources matching the parent and filter criteria in
+   * the request. Each Service resource follows the format:
+   * `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + java.util.List getServicesList(); + + /** + * + * + *
+   * The list of Service resources matching the parent and filter criteria in
+   * the request. Each Service resource follows the format:
+   * `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + com.google.cloud.agentregistry.v1.Service getServices(int index); + + /** + * + * + *
+   * The list of Service resources matching the parent and filter criteria in
+   * the request. Each Service resource follows the format:
+   * `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + int getServicesCount(); + + /** + * + * + *
+   * The list of Service resources matching the parent and filter criteria in
+   * the request. Each Service resource follows the format:
+   * `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + java.util.List + getServicesOrBuilderList(); + + /** + * + * + *
+   * The list of Service resources matching the parent and filter criteria in
+   * the request. Each Service resource follows the format:
+   * `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Service services = 1; + */ + com.google.cloud.agentregistry.v1.ServiceOrBuilder getServicesOrBuilder(int index); + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * Used in
+   * [page_token][google.cloud.agentregistry.v1main.ListServicesRequest.page_token].
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + java.lang.String getNextPageToken(); + + /** + * + * + *
+   * A token identifying a page of results the server should return.
+   * Used in
+   * [page_token][google.cloud.agentregistry.v1main.ListServicesRequest.page_token].
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + com.google.protobuf.ByteString getNextPageTokenBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/LocationName.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/LocationName.java new file mode 100644 index 000000000000..e57dd2193634 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/LocationName.java @@ -0,0 +1,192 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1; + +import com.google.api.pathtemplate.PathTemplate; +import com.google.api.resourcenames.ResourceName; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@Generated("by gapic-generator-java") +public class LocationName implements ResourceName { + private static final PathTemplate PROJECT_LOCATION = + PathTemplate.createWithoutUrlEncoding("projects/{project}/locations/{location}"); + private volatile Map fieldValuesMap; + private final String project; + private final String location; + + @Deprecated + protected LocationName() { + project = null; + location = null; + } + + private LocationName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + } + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static LocationName of(String project, String location) { + return newBuilder().setProject(project).setLocation(location).build(); + } + + public static String format(String project, String location) { + return newBuilder().setProject(project).setLocation(location).build().toString(); + } + + public static LocationName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + Map matchMap = + PROJECT_LOCATION.validatedMatch( + formattedString, "LocationName.parse: formattedString not in valid format"); + return of(matchMap.get("project"), matchMap.get("location")); + } + + public static List parseList(List formattedStrings) { + List list = new ArrayList<>(formattedStrings.size()); + for (String formattedString : formattedStrings) { + list.add(parse(formattedString)); + } + return list; + } + + public static List toStringList(List values) { + List list = new ArrayList<>(values.size()); + for (LocationName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return PROJECT_LOCATION.matches(formattedString); + } + + @Override + public Map getFieldValuesMap() { + if (fieldValuesMap == null) { + synchronized (this) { + if (fieldValuesMap == null) { + ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + fieldValuesMap = fieldMapBuilder.build(); + } + } + } + return fieldValuesMap; + } + + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return PROJECT_LOCATION.instantiate("project", project, "location", location); + } + + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + if (o != null && getClass() == o.getClass()) { + LocationName that = ((LocationName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location); + } + return false; + } + + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + return h; + } + + /** Builder for projects/{project}/locations/{location}. */ + public static class Builder { + private String project; + private String location; + + protected Builder() {} + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public Builder setProject(String project) { + this.project = project; + return this; + } + + public Builder setLocation(String location) { + this.location = location; + return this; + } + + private Builder(LocationName locationName) { + this.project = locationName.project; + this.location = locationName.location; + } + + public LocationName build() { + return new LocationName(this); + } + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/McpServer.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/McpServer.java new file mode 100644 index 000000000000..89bc6699b268 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/McpServer.java @@ -0,0 +1,5725 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/mcp_server.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Represents an MCP (Model Context Protocol) Server.
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.McpServer} + */ +@com.google.protobuf.Generated +public final class McpServer extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.McpServer) + McpServerOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "McpServer"); + } + + // Use McpServer.newBuilder() to construct. + private McpServer(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private McpServer() { + name_ = ""; + mcpServerId_ = ""; + displayName_ = ""; + description_ = ""; + interfaces_ = java.util.Collections.emptyList(); + tools_ = java.util.Collections.emptyList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.McpServerProto + .internal_static_google_cloud_agentregistry_v1_McpServer_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection( + int number) { + switch (number) { + case 8: + return internalGetAttributes(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.McpServerProto + .internal_static_google_cloud_agentregistry_v1_McpServer_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.McpServer.class, + com.google.cloud.agentregistry.v1.McpServer.Builder.class); + } + + public interface ToolOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.McpServer.Tool) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * Output only. Human-readable name of the tool.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+     * Output only. Human-readable name of the tool.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+     * Output only. Description of what the tool does.
+     * 
+ * + * string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The description. + */ + java.lang.String getDescription(); + + /** + * + * + *
+     * Output only. Description of what the tool does.
+     * 
+ * + * string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for description. + */ + com.google.protobuf.ByteString getDescriptionBytes(); + + /** + * + * + *
+     * Output only. Annotations associated with the tool.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.McpServer.Tool.Annotations annotations = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the annotations field is set. + */ + boolean hasAnnotations(); + + /** + * + * + *
+     * Output only. Annotations associated with the tool.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.McpServer.Tool.Annotations annotations = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The annotations. + */ + com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations getAnnotations(); + + /** + * + * + *
+     * Output only. Annotations associated with the tool.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.McpServer.Tool.Annotations annotations = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.agentregistry.v1.McpServer.Tool.AnnotationsOrBuilder getAnnotationsOrBuilder(); + } + + /** + * + * + *
+   * Represents a single tool provided by an MCP Server.
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.McpServer.Tool} + */ + public static final class Tool extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.McpServer.Tool) + ToolOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Tool"); + } + + // Use Tool.newBuilder() to construct. + private Tool(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Tool() { + name_ = ""; + description_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.McpServerProto + .internal_static_google_cloud_agentregistry_v1_McpServer_Tool_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.McpServerProto + .internal_static_google_cloud_agentregistry_v1_McpServer_Tool_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.McpServer.Tool.class, + com.google.cloud.agentregistry.v1.McpServer.Tool.Builder.class); + } + + public interface AnnotationsOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.McpServer.Tool.Annotations) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+       * Output only. A human-readable title for the tool.
+       * 
+ * + * string title = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The title. + */ + java.lang.String getTitle(); + + /** + * + * + *
+       * Output only. A human-readable title for the tool.
+       * 
+ * + * string title = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for title. + */ + com.google.protobuf.ByteString getTitleBytes(); + + /** + * + * + *
+       * Output only. If true, the tool may perform destructive updates to its
+       * environment. If false, the tool performs only additive updates. NOTE:
+       * This property is meaningful only when `read_only_hint == false`
+       * Default: true
+       * 
+ * + * bool destructive_hint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The destructiveHint. + */ + boolean getDestructiveHint(); + + /** + * + * + *
+       * Output only. If true, calling the tool repeatedly with the same
+       * arguments will have no additional effect on its environment. NOTE: This
+       * property is meaningful only when `read_only_hint == false` Default:
+       * false
+       * 
+ * + * bool idempotent_hint = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The idempotentHint. + */ + boolean getIdempotentHint(); + + /** + * + * + *
+       * Output only. If true, this tool may interact with an "open world" of
+       * external entities. If false, the tool's domain of interaction is
+       * closed. For example, the world of a web search tool is open, whereas
+       * that of a memory tool is not. Default: true
+       * 
+ * + * bool open_world_hint = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The openWorldHint. + */ + boolean getOpenWorldHint(); + + /** + * + * + *
+       * Output only. If true, the tool does not modify its environment.
+       * Default: false
+       * 
+ * + * bool read_only_hint = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The readOnlyHint. + */ + boolean getReadOnlyHint(); + } + + /** + * + * + *
+     * Annotations describing the characteristics and behavior of a tool or
+     * operation.
+     * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.McpServer.Tool.Annotations} + */ + public static final class Annotations extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.McpServer.Tool.Annotations) + AnnotationsOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Annotations"); + } + + // Use Annotations.newBuilder() to construct. + private Annotations(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Annotations() { + title_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.McpServerProto + .internal_static_google_cloud_agentregistry_v1_McpServer_Tool_Annotations_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.McpServerProto + .internal_static_google_cloud_agentregistry_v1_McpServer_Tool_Annotations_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations.class, + com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations.Builder.class); + } + + public static final int TITLE_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object title_ = ""; + + /** + * + * + *
+       * Output only. A human-readable title for the tool.
+       * 
+ * + * string title = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The title. + */ + @java.lang.Override + public java.lang.String getTitle() { + java.lang.Object ref = title_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + title_ = s; + return s; + } + } + + /** + * + * + *
+       * Output only. A human-readable title for the tool.
+       * 
+ * + * string title = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for title. + */ + @java.lang.Override + public com.google.protobuf.ByteString getTitleBytes() { + java.lang.Object ref = title_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + title_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DESTRUCTIVE_HINT_FIELD_NUMBER = 2; + private boolean destructiveHint_ = false; + + /** + * + * + *
+       * Output only. If true, the tool may perform destructive updates to its
+       * environment. If false, the tool performs only additive updates. NOTE:
+       * This property is meaningful only when `read_only_hint == false`
+       * Default: true
+       * 
+ * + * bool destructive_hint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The destructiveHint. + */ + @java.lang.Override + public boolean getDestructiveHint() { + return destructiveHint_; + } + + public static final int IDEMPOTENT_HINT_FIELD_NUMBER = 3; + private boolean idempotentHint_ = false; + + /** + * + * + *
+       * Output only. If true, calling the tool repeatedly with the same
+       * arguments will have no additional effect on its environment. NOTE: This
+       * property is meaningful only when `read_only_hint == false` Default:
+       * false
+       * 
+ * + * bool idempotent_hint = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The idempotentHint. + */ + @java.lang.Override + public boolean getIdempotentHint() { + return idempotentHint_; + } + + public static final int OPEN_WORLD_HINT_FIELD_NUMBER = 4; + private boolean openWorldHint_ = false; + + /** + * + * + *
+       * Output only. If true, this tool may interact with an "open world" of
+       * external entities. If false, the tool's domain of interaction is
+       * closed. For example, the world of a web search tool is open, whereas
+       * that of a memory tool is not. Default: true
+       * 
+ * + * bool open_world_hint = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The openWorldHint. + */ + @java.lang.Override + public boolean getOpenWorldHint() { + return openWorldHint_; + } + + public static final int READ_ONLY_HINT_FIELD_NUMBER = 5; + private boolean readOnlyHint_ = false; + + /** + * + * + *
+       * Output only. If true, the tool does not modify its environment.
+       * Default: false
+       * 
+ * + * bool read_only_hint = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The readOnlyHint. + */ + @java.lang.Override + public boolean getReadOnlyHint() { + return readOnlyHint_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(title_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, title_); + } + if (destructiveHint_ != false) { + output.writeBool(2, destructiveHint_); + } + if (idempotentHint_ != false) { + output.writeBool(3, idempotentHint_); + } + if (openWorldHint_ != false) { + output.writeBool(4, openWorldHint_); + } + if (readOnlyHint_ != false) { + output.writeBool(5, readOnlyHint_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(title_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, title_); + } + if (destructiveHint_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(2, destructiveHint_); + } + if (idempotentHint_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(3, idempotentHint_); + } + if (openWorldHint_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(4, openWorldHint_); + } + if (readOnlyHint_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(5, readOnlyHint_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations other = + (com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations) obj; + + if (!getTitle().equals(other.getTitle())) return false; + if (getDestructiveHint() != other.getDestructiveHint()) return false; + if (getIdempotentHint() != other.getIdempotentHint()) return false; + if (getOpenWorldHint() != other.getOpenWorldHint()) return false; + if (getReadOnlyHint() != other.getReadOnlyHint()) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + TITLE_FIELD_NUMBER; + hash = (53 * hash) + getTitle().hashCode(); + hash = (37 * hash) + DESTRUCTIVE_HINT_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getDestructiveHint()); + hash = (37 * hash) + IDEMPOTENT_HINT_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIdempotentHint()); + hash = (37 * hash) + OPEN_WORLD_HINT_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getOpenWorldHint()); + hash = (37 * hash) + READ_ONLY_HINT_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getReadOnlyHint()); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+       * Annotations describing the characteristics and behavior of a tool or
+       * operation.
+       * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.McpServer.Tool.Annotations} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.McpServer.Tool.Annotations) + com.google.cloud.agentregistry.v1.McpServer.Tool.AnnotationsOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.McpServerProto + .internal_static_google_cloud_agentregistry_v1_McpServer_Tool_Annotations_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.McpServerProto + .internal_static_google_cloud_agentregistry_v1_McpServer_Tool_Annotations_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations.class, + com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + title_ = ""; + destructiveHint_ = false; + idempotentHint_ = false; + openWorldHint_ = false; + readOnlyHint_ = false; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.McpServerProto + .internal_static_google_cloud_agentregistry_v1_McpServer_Tool_Annotations_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations + getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations build() { + com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations buildPartial() { + com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations result = + new com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.title_ = title_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.destructiveHint_ = destructiveHint_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.idempotentHint_ = idempotentHint_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.openWorldHint_ = openWorldHint_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.readOnlyHint_ = readOnlyHint_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations) { + return mergeFrom((com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations other) { + if (other + == com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations.getDefaultInstance()) + return this; + if (!other.getTitle().isEmpty()) { + title_ = other.title_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.getDestructiveHint() != false) { + setDestructiveHint(other.getDestructiveHint()); + } + if (other.getIdempotentHint() != false) { + setIdempotentHint(other.getIdempotentHint()); + } + if (other.getOpenWorldHint() != false) { + setOpenWorldHint(other.getOpenWorldHint()); + } + if (other.getReadOnlyHint() != false) { + setReadOnlyHint(other.getReadOnlyHint()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + title_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 16: + { + destructiveHint_ = input.readBool(); + bitField0_ |= 0x00000002; + break; + } // case 16 + case 24: + { + idempotentHint_ = input.readBool(); + bitField0_ |= 0x00000004; + break; + } // case 24 + case 32: + { + openWorldHint_ = input.readBool(); + bitField0_ |= 0x00000008; + break; + } // case 32 + case 40: + { + readOnlyHint_ = input.readBool(); + bitField0_ |= 0x00000010; + break; + } // case 40 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object title_ = ""; + + /** + * + * + *
+         * Output only. A human-readable title for the tool.
+         * 
+ * + * string title = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The title. + */ + public java.lang.String getTitle() { + java.lang.Object ref = title_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + title_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+         * Output only. A human-readable title for the tool.
+         * 
+ * + * string title = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for title. + */ + public com.google.protobuf.ByteString getTitleBytes() { + java.lang.Object ref = title_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + title_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+         * Output only. A human-readable title for the tool.
+         * 
+ * + * string title = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The title to set. + * @return This builder for chaining. + */ + public Builder setTitle(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + title_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. A human-readable title for the tool.
+         * 
+ * + * string title = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearTitle() { + title_ = getDefaultInstance().getTitle(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. A human-readable title for the tool.
+         * 
+ * + * string title = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for title to set. + * @return This builder for chaining. + */ + public Builder setTitleBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + title_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private boolean destructiveHint_; + + /** + * + * + *
+         * Output only. If true, the tool may perform destructive updates to its
+         * environment. If false, the tool performs only additive updates. NOTE:
+         * This property is meaningful only when `read_only_hint == false`
+         * Default: true
+         * 
+ * + * bool destructive_hint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The destructiveHint. + */ + @java.lang.Override + public boolean getDestructiveHint() { + return destructiveHint_; + } + + /** + * + * + *
+         * Output only. If true, the tool may perform destructive updates to its
+         * environment. If false, the tool performs only additive updates. NOTE:
+         * This property is meaningful only when `read_only_hint == false`
+         * Default: true
+         * 
+ * + * bool destructive_hint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The destructiveHint to set. + * @return This builder for chaining. + */ + public Builder setDestructiveHint(boolean value) { + + destructiveHint_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. If true, the tool may perform destructive updates to its
+         * environment. If false, the tool performs only additive updates. NOTE:
+         * This property is meaningful only when `read_only_hint == false`
+         * Default: true
+         * 
+ * + * bool destructive_hint = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearDestructiveHint() { + bitField0_ = (bitField0_ & ~0x00000002); + destructiveHint_ = false; + onChanged(); + return this; + } + + private boolean idempotentHint_; + + /** + * + * + *
+         * Output only. If true, calling the tool repeatedly with the same
+         * arguments will have no additional effect on its environment. NOTE: This
+         * property is meaningful only when `read_only_hint == false` Default:
+         * false
+         * 
+ * + * bool idempotent_hint = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The idempotentHint. + */ + @java.lang.Override + public boolean getIdempotentHint() { + return idempotentHint_; + } + + /** + * + * + *
+         * Output only. If true, calling the tool repeatedly with the same
+         * arguments will have no additional effect on its environment. NOTE: This
+         * property is meaningful only when `read_only_hint == false` Default:
+         * false
+         * 
+ * + * bool idempotent_hint = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The idempotentHint to set. + * @return This builder for chaining. + */ + public Builder setIdempotentHint(boolean value) { + + idempotentHint_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. If true, calling the tool repeatedly with the same
+         * arguments will have no additional effect on its environment. NOTE: This
+         * property is meaningful only when `read_only_hint == false` Default:
+         * false
+         * 
+ * + * bool idempotent_hint = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearIdempotentHint() { + bitField0_ = (bitField0_ & ~0x00000004); + idempotentHint_ = false; + onChanged(); + return this; + } + + private boolean openWorldHint_; + + /** + * + * + *
+         * Output only. If true, this tool may interact with an "open world" of
+         * external entities. If false, the tool's domain of interaction is
+         * closed. For example, the world of a web search tool is open, whereas
+         * that of a memory tool is not. Default: true
+         * 
+ * + * bool open_world_hint = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The openWorldHint. + */ + @java.lang.Override + public boolean getOpenWorldHint() { + return openWorldHint_; + } + + /** + * + * + *
+         * Output only. If true, this tool may interact with an "open world" of
+         * external entities. If false, the tool's domain of interaction is
+         * closed. For example, the world of a web search tool is open, whereas
+         * that of a memory tool is not. Default: true
+         * 
+ * + * bool open_world_hint = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The openWorldHint to set. + * @return This builder for chaining. + */ + public Builder setOpenWorldHint(boolean value) { + + openWorldHint_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. If true, this tool may interact with an "open world" of
+         * external entities. If false, the tool's domain of interaction is
+         * closed. For example, the world of a web search tool is open, whereas
+         * that of a memory tool is not. Default: true
+         * 
+ * + * bool open_world_hint = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearOpenWorldHint() { + bitField0_ = (bitField0_ & ~0x00000008); + openWorldHint_ = false; + onChanged(); + return this; + } + + private boolean readOnlyHint_; + + /** + * + * + *
+         * Output only. If true, the tool does not modify its environment.
+         * Default: false
+         * 
+ * + * bool read_only_hint = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The readOnlyHint. + */ + @java.lang.Override + public boolean getReadOnlyHint() { + return readOnlyHint_; + } + + /** + * + * + *
+         * Output only. If true, the tool does not modify its environment.
+         * Default: false
+         * 
+ * + * bool read_only_hint = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The readOnlyHint to set. + * @return This builder for chaining. + */ + public Builder setReadOnlyHint(boolean value) { + + readOnlyHint_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+         * Output only. If true, the tool does not modify its environment.
+         * Default: false
+         * 
+ * + * bool read_only_hint = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearReadOnlyHint() { + bitField0_ = (bitField0_ & ~0x00000010); + readOnlyHint_ = false; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.McpServer.Tool.Annotations) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.McpServer.Tool.Annotations) + private static final com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations(); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Annotations parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int bitField0_; + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+     * Output only. Human-readable name of the tool.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * + * + *
+     * Output only. Human-readable name of the tool.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DESCRIPTION_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object description_ = ""; + + /** + * + * + *
+     * Output only. Description of what the tool does.
+     * 
+ * + * string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The description. + */ + @java.lang.Override + public java.lang.String getDescription() { + java.lang.Object ref = description_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + description_ = s; + return s; + } + } + + /** + * + * + *
+     * Output only. Description of what the tool does.
+     * 
+ * + * string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for description. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int ANNOTATIONS_FIELD_NUMBER = 3; + private com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations annotations_; + + /** + * + * + *
+     * Output only. Annotations associated with the tool.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.McpServer.Tool.Annotations annotations = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the annotations field is set. + */ + @java.lang.Override + public boolean hasAnnotations() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Output only. Annotations associated with the tool.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.McpServer.Tool.Annotations annotations = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The annotations. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations getAnnotations() { + return annotations_ == null + ? com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations.getDefaultInstance() + : annotations_; + } + + /** + * + * + *
+     * Output only. Annotations associated with the tool.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.McpServer.Tool.Annotations annotations = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.McpServer.Tool.AnnotationsOrBuilder + getAnnotationsOrBuilder() { + return annotations_ == null + ? com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations.getDefaultInstance() + : annotations_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(description_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, description_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(3, getAnnotations()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(description_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, description_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getAnnotations()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.McpServer.Tool)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.McpServer.Tool other = + (com.google.cloud.agentregistry.v1.McpServer.Tool) obj; + + if (!getName().equals(other.getName())) return false; + if (!getDescription().equals(other.getDescription())) return false; + if (hasAnnotations() != other.hasAnnotations()) return false; + if (hasAnnotations()) { + if (!getAnnotations().equals(other.getAnnotations())) return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER; + hash = (53 * hash) + getDescription().hashCode(); + if (hasAnnotations()) { + hash = (37 * hash) + ANNOTATIONS_FIELD_NUMBER; + hash = (53 * hash) + getAnnotations().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloud.agentregistry.v1.McpServer.Tool prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+     * Represents a single tool provided by an MCP Server.
+     * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.McpServer.Tool} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.McpServer.Tool) + com.google.cloud.agentregistry.v1.McpServer.ToolOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.McpServerProto + .internal_static_google_cloud_agentregistry_v1_McpServer_Tool_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.McpServerProto + .internal_static_google_cloud_agentregistry_v1_McpServer_Tool_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.McpServer.Tool.class, + com.google.cloud.agentregistry.v1.McpServer.Tool.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.McpServer.Tool.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetAnnotationsFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + description_ = ""; + annotations_ = null; + if (annotationsBuilder_ != null) { + annotationsBuilder_.dispose(); + annotationsBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.McpServerProto + .internal_static_google_cloud_agentregistry_v1_McpServer_Tool_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.McpServer.Tool getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.McpServer.Tool.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.McpServer.Tool build() { + com.google.cloud.agentregistry.v1.McpServer.Tool result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.McpServer.Tool buildPartial() { + com.google.cloud.agentregistry.v1.McpServer.Tool result = + new com.google.cloud.agentregistry.v1.McpServer.Tool(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.McpServer.Tool result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.description_ = description_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000004) != 0)) { + result.annotations_ = + annotationsBuilder_ == null ? annotations_ : annotationsBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.McpServer.Tool) { + return mergeFrom((com.google.cloud.agentregistry.v1.McpServer.Tool) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.McpServer.Tool other) { + if (other == com.google.cloud.agentregistry.v1.McpServer.Tool.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getDescription().isEmpty()) { + description_ = other.description_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.hasAnnotations()) { + mergeAnnotations(other.getAnnotations()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + description_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + input.readMessage( + internalGetAnnotationsFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000004; + break; + } // case 26 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object name_ = ""; + + /** + * + * + *
+       * Output only. Human-readable name of the tool.
+       * 
+ * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Output only. Human-readable name of the tool.
+       * 
+ * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Output only. Human-readable name of the tool.
+       * 
+ * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Human-readable name of the tool.
+       * 
+ * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Human-readable name of the tool.
+       * 
+ * + * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object description_ = ""; + + /** + * + * + *
+       * Output only. Description of what the tool does.
+       * 
+ * + * string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The description. + */ + public java.lang.String getDescription() { + java.lang.Object ref = description_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + description_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+       * Output only. Description of what the tool does.
+       * 
+ * + * string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for description. + */ + public com.google.protobuf.ByteString getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+       * Output only. Description of what the tool does.
+       * 
+ * + * string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The description to set. + * @return This builder for chaining. + */ + public Builder setDescription(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + description_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Description of what the tool does.
+       * 
+ * + * string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearDescription() { + description_ = getDefaultInstance().getDescription(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Description of what the tool does.
+       * 
+ * + * string description = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for description to set. + * @return This builder for chaining. + */ + public Builder setDescriptionBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + description_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations annotations_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations, + com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations.Builder, + com.google.cloud.agentregistry.v1.McpServer.Tool.AnnotationsOrBuilder> + annotationsBuilder_; + + /** + * + * + *
+       * Output only. Annotations associated with the tool.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.McpServer.Tool.Annotations annotations = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the annotations field is set. + */ + public boolean hasAnnotations() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+       * Output only. Annotations associated with the tool.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.McpServer.Tool.Annotations annotations = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The annotations. + */ + public com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations getAnnotations() { + if (annotationsBuilder_ == null) { + return annotations_ == null + ? com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations.getDefaultInstance() + : annotations_; + } else { + return annotationsBuilder_.getMessage(); + } + } + + /** + * + * + *
+       * Output only. Annotations associated with the tool.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.McpServer.Tool.Annotations annotations = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setAnnotations( + com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations value) { + if (annotationsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + annotations_ = value; + } else { + annotationsBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Annotations associated with the tool.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.McpServer.Tool.Annotations annotations = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setAnnotations( + com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations.Builder builderForValue) { + if (annotationsBuilder_ == null) { + annotations_ = builderForValue.build(); + } else { + annotationsBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Annotations associated with the tool.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.McpServer.Tool.Annotations annotations = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeAnnotations( + com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations value) { + if (annotationsBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) + && annotations_ != null + && annotations_ + != com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations + .getDefaultInstance()) { + getAnnotationsBuilder().mergeFrom(value); + } else { + annotations_ = value; + } + } else { + annotationsBuilder_.mergeFrom(value); + } + if (annotations_ != null) { + bitField0_ |= 0x00000004; + onChanged(); + } + return this; + } + + /** + * + * + *
+       * Output only. Annotations associated with the tool.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.McpServer.Tool.Annotations annotations = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearAnnotations() { + bitField0_ = (bitField0_ & ~0x00000004); + annotations_ = null; + if (annotationsBuilder_ != null) { + annotationsBuilder_.dispose(); + annotationsBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+       * Output only. Annotations associated with the tool.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.McpServer.Tool.Annotations annotations = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations.Builder + getAnnotationsBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return internalGetAnnotationsFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Output only. Annotations associated with the tool.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.McpServer.Tool.Annotations annotations = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.McpServer.Tool.AnnotationsOrBuilder + getAnnotationsOrBuilder() { + if (annotationsBuilder_ != null) { + return annotationsBuilder_.getMessageOrBuilder(); + } else { + return annotations_ == null + ? com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations.getDefaultInstance() + : annotations_; + } + } + + /** + * + * + *
+       * Output only. Annotations associated with the tool.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.McpServer.Tool.Annotations annotations = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations, + com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations.Builder, + com.google.cloud.agentregistry.v1.McpServer.Tool.AnnotationsOrBuilder> + internalGetAnnotationsFieldBuilder() { + if (annotationsBuilder_ == null) { + annotationsBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations, + com.google.cloud.agentregistry.v1.McpServer.Tool.Annotations.Builder, + com.google.cloud.agentregistry.v1.McpServer.Tool.AnnotationsOrBuilder>( + getAnnotations(), getParentForChildren(), isClean()); + annotations_ = null; + } + return annotationsBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.McpServer.Tool) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.McpServer.Tool) + private static final com.google.cloud.agentregistry.v1.McpServer.Tool DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.McpServer.Tool(); + } + + public static com.google.cloud.agentregistry.v1.McpServer.Tool getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Tool parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.McpServer.Tool getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int bitField0_; + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Identifier. The resource name of the MCP Server.
+   * Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Identifier. The resource name of the MCP Server.
+   * Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int MCP_SERVER_ID_FIELD_NUMBER = 9; + + @SuppressWarnings("serial") + private volatile java.lang.Object mcpServerId_ = ""; + + /** + * + * + *
+   * Output only. A stable, globally unique identifier for MCP Servers.
+   * 
+ * + * string mcp_server_id = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The mcpServerId. + */ + @java.lang.Override + public java.lang.String getMcpServerId() { + java.lang.Object ref = mcpServerId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + mcpServerId_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. A stable, globally unique identifier for MCP Servers.
+   * 
+ * + * string mcp_server_id = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for mcpServerId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getMcpServerIdBytes() { + java.lang.Object ref = mcpServerId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + mcpServerId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DISPLAY_NAME_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object displayName_ = ""; + + /** + * + * + *
+   * Output only. The display name of the MCP Server.
+   * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The displayName. + */ + @java.lang.Override + public java.lang.String getDisplayName() { + java.lang.Object ref = displayName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + displayName_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. The display name of the MCP Server.
+   * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for displayName. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDisplayNameBytes() { + java.lang.Object ref = displayName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + displayName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DESCRIPTION_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object description_ = ""; + + /** + * + * + *
+   * Output only. The description of the MCP Server.
+   * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The description. + */ + @java.lang.Override + public java.lang.String getDescription() { + java.lang.Object ref = description_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + description_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. The description of the MCP Server.
+   * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for description. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int INTERFACES_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private java.util.List interfaces_; + + /** + * + * + *
+   * Output only. The connection details for the MCP Server.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.List getInterfacesList() { + return interfaces_; + } + + /** + * + * + *
+   * Output only. The connection details for the MCP Server.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.List + getInterfacesOrBuilderList() { + return interfaces_; + } + + /** + * + * + *
+   * Output only. The connection details for the MCP Server.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public int getInterfacesCount() { + return interfaces_.size(); + } + + /** + * + * + *
+   * Output only. The connection details for the MCP Server.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Interface getInterfaces(int index) { + return interfaces_.get(index); + } + + /** + * + * + *
+   * Output only. The connection details for the MCP Server.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.InterfaceOrBuilder getInterfacesOrBuilder(int index) { + return interfaces_.get(index); + } + + public static final int TOOLS_FIELD_NUMBER = 5; + + @SuppressWarnings("serial") + private java.util.List tools_; + + /** + * + * + *
+   * Output only. Tools provided by the MCP Server.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.List getToolsList() { + return tools_; + } + + /** + * + * + *
+   * Output only. Tools provided by the MCP Server.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.List + getToolsOrBuilderList() { + return tools_; + } + + /** + * + * + *
+   * Output only. Tools provided by the MCP Server.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public int getToolsCount() { + return tools_.size(); + } + + /** + * + * + *
+   * Output only. Tools provided by the MCP Server.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.McpServer.Tool getTools(int index) { + return tools_.get(index); + } + + /** + * + * + *
+   * Output only. Tools provided by the MCP Server.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.McpServer.ToolOrBuilder getToolsOrBuilder(int index) { + return tools_.get(index); + } + + public static final int CREATE_TIME_FIELD_NUMBER = 6; + private com.google.protobuf.Timestamp createTime_; + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + @java.lang.Override + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCreateTime() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + public static final int UPDATE_TIME_FIELD_NUMBER = 7; + private com.google.protobuf.Timestamp updateTime_; + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + @java.lang.Override + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getUpdateTime() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + public static final int ATTRIBUTES_FIELD_NUMBER = 8; + + private static final class AttributesDefaultEntryHolder { + static final com.google.protobuf.MapEntry + defaultEntry = + com.google.protobuf.MapEntry + .newDefaultInstance( + com.google.cloud.agentregistry.v1.McpServerProto + .internal_static_google_cloud_agentregistry_v1_McpServer_AttributesEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.MESSAGE, + com.google.protobuf.Struct.getDefaultInstance()); + } + + @SuppressWarnings("serial") + private com.google.protobuf.MapField attributes_; + + private com.google.protobuf.MapField + internalGetAttributes() { + if (attributes_ == null) { + return com.google.protobuf.MapField.emptyMapField(AttributesDefaultEntryHolder.defaultEntry); + } + return attributes_; + } + + public int getAttributesCount() { + return internalGetAttributes().getMap().size(); + } + + /** + * + * + *
+   * Output only. Attributes of the MCP Server.
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+   * "principal://..."} - the runtime identity associated with the MCP Server.
+   * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+   * - the URI of the underlying resource hosting the MCP Server, for
+   * example, the GKE Deployment.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public boolean containsAttributes(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + return internalGetAttributes().getMap().containsKey(key); + } + + /** Use {@link #getAttributesMap()} instead. */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getAttributes() { + return getAttributesMap(); + } + + /** + * + * + *
+   * Output only. Attributes of the MCP Server.
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+   * "principal://..."} - the runtime identity associated with the MCP Server.
+   * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+   * - the URI of the underlying resource hosting the MCP Server, for
+   * example, the GKE Deployment.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.Map getAttributesMap() { + return internalGetAttributes().getMap(); + } + + /** + * + * + *
+   * Output only. Attributes of the MCP Server.
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+   * "principal://..."} - the runtime identity associated with the MCP Server.
+   * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+   * - the URI of the underlying resource hosting the MCP Server, for
+   * example, the GKE Deployment.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public /* nullable */ com.google.protobuf.Struct getAttributesOrDefault( + java.lang.String key, + /* nullable */ + com.google.protobuf.Struct defaultValue) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = + internalGetAttributes().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + + /** + * + * + *
+   * Output only. Attributes of the MCP Server.
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+   * "principal://..."} - the runtime identity associated with the MCP Server.
+   * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+   * - the URI of the underlying resource hosting the MCP Server, for
+   * example, the GKE Deployment.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.Struct getAttributesOrThrow(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = + internalGetAttributes().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, displayName_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(description_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, description_); + } + for (int i = 0; i < interfaces_.size(); i++) { + output.writeMessage(4, interfaces_.get(i)); + } + for (int i = 0; i < tools_.size(); i++) { + output.writeMessage(5, tools_.get(i)); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(6, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(7, getUpdateTime()); + } + com.google.protobuf.GeneratedMessage.serializeStringMapTo( + output, internalGetAttributes(), AttributesDefaultEntryHolder.defaultEntry, 8); + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(mcpServerId_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 9, mcpServerId_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, displayName_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(description_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, description_); + } + for (int i = 0; i < interfaces_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, interfaces_.get(i)); + } + for (int i = 0; i < tools_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, tools_.get(i)); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, getUpdateTime()); + } + for (java.util.Map.Entry entry : + internalGetAttributes().getMap().entrySet()) { + com.google.protobuf.MapEntry attributes__ = + AttributesDefaultEntryHolder.defaultEntry + .newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, attributes__); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(mcpServerId_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(9, mcpServerId_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.McpServer)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.McpServer other = + (com.google.cloud.agentregistry.v1.McpServer) obj; + + if (!getName().equals(other.getName())) return false; + if (!getMcpServerId().equals(other.getMcpServerId())) return false; + if (!getDisplayName().equals(other.getDisplayName())) return false; + if (!getDescription().equals(other.getDescription())) return false; + if (!getInterfacesList().equals(other.getInterfacesList())) return false; + if (!getToolsList().equals(other.getToolsList())) return false; + if (hasCreateTime() != other.hasCreateTime()) return false; + if (hasCreateTime()) { + if (!getCreateTime().equals(other.getCreateTime())) return false; + } + if (hasUpdateTime() != other.hasUpdateTime()) return false; + if (hasUpdateTime()) { + if (!getUpdateTime().equals(other.getUpdateTime())) return false; + } + if (!internalGetAttributes().equals(other.internalGetAttributes())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + MCP_SERVER_ID_FIELD_NUMBER; + hash = (53 * hash) + getMcpServerId().hashCode(); + hash = (37 * hash) + DISPLAY_NAME_FIELD_NUMBER; + hash = (53 * hash) + getDisplayName().hashCode(); + hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER; + hash = (53 * hash) + getDescription().hashCode(); + if (getInterfacesCount() > 0) { + hash = (37 * hash) + INTERFACES_FIELD_NUMBER; + hash = (53 * hash) + getInterfacesList().hashCode(); + } + if (getToolsCount() > 0) { + hash = (37 * hash) + TOOLS_FIELD_NUMBER; + hash = (53 * hash) + getToolsList().hashCode(); + } + if (hasCreateTime()) { + hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCreateTime().hashCode(); + } + if (hasUpdateTime()) { + hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getUpdateTime().hashCode(); + } + if (!internalGetAttributes().getMap().isEmpty()) { + hash = (37 * hash) + ATTRIBUTES_FIELD_NUMBER; + hash = (53 * hash) + internalGetAttributes().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.McpServer parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.McpServer parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.McpServer parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.McpServer parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.McpServer parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.McpServer parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.McpServer parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.McpServer parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.McpServer parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.McpServer parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.McpServer parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.McpServer parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloud.agentregistry.v1.McpServer prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Represents an MCP (Model Context Protocol) Server.
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.McpServer} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.McpServer) + com.google.cloud.agentregistry.v1.McpServerOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.McpServerProto + .internal_static_google_cloud_agentregistry_v1_McpServer_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection( + int number) { + switch (number) { + case 8: + return internalGetAttributes(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapFieldReflectionAccessor internalGetMutableMapFieldReflection( + int number) { + switch (number) { + case 8: + return internalGetMutableAttributes(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.McpServerProto + .internal_static_google_cloud_agentregistry_v1_McpServer_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.McpServer.class, + com.google.cloud.agentregistry.v1.McpServer.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.McpServer.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetInterfacesFieldBuilder(); + internalGetToolsFieldBuilder(); + internalGetCreateTimeFieldBuilder(); + internalGetUpdateTimeFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + mcpServerId_ = ""; + displayName_ = ""; + description_ = ""; + if (interfacesBuilder_ == null) { + interfaces_ = java.util.Collections.emptyList(); + } else { + interfaces_ = null; + interfacesBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000010); + if (toolsBuilder_ == null) { + tools_ = java.util.Collections.emptyList(); + } else { + tools_ = null; + toolsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000020); + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + internalGetMutableAttributes().clear(); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.McpServerProto + .internal_static_google_cloud_agentregistry_v1_McpServer_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.McpServer getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.McpServer.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.McpServer build() { + com.google.cloud.agentregistry.v1.McpServer result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.McpServer buildPartial() { + com.google.cloud.agentregistry.v1.McpServer result = + new com.google.cloud.agentregistry.v1.McpServer(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(com.google.cloud.agentregistry.v1.McpServer result) { + if (interfacesBuilder_ == null) { + if (((bitField0_ & 0x00000010) != 0)) { + interfaces_ = java.util.Collections.unmodifiableList(interfaces_); + bitField0_ = (bitField0_ & ~0x00000010); + } + result.interfaces_ = interfaces_; + } else { + result.interfaces_ = interfacesBuilder_.build(); + } + if (toolsBuilder_ == null) { + if (((bitField0_ & 0x00000020) != 0)) { + tools_ = java.util.Collections.unmodifiableList(tools_); + bitField0_ = (bitField0_ & ~0x00000020); + } + result.tools_ = tools_; + } else { + result.tools_ = toolsBuilder_.build(); + } + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.McpServer result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.mcpServerId_ = mcpServerId_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.displayName_ = displayName_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.description_ = description_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000040) != 0)) { + result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000080) != 0)) { + result.updateTime_ = updateTimeBuilder_ == null ? updateTime_ : updateTimeBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000100) != 0)) { + result.attributes_ = + internalGetAttributes().build(AttributesDefaultEntryHolder.defaultEntry); + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.McpServer) { + return mergeFrom((com.google.cloud.agentregistry.v1.McpServer) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.McpServer other) { + if (other == com.google.cloud.agentregistry.v1.McpServer.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getMcpServerId().isEmpty()) { + mcpServerId_ = other.mcpServerId_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getDisplayName().isEmpty()) { + displayName_ = other.displayName_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getDescription().isEmpty()) { + description_ = other.description_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (interfacesBuilder_ == null) { + if (!other.interfaces_.isEmpty()) { + if (interfaces_.isEmpty()) { + interfaces_ = other.interfaces_; + bitField0_ = (bitField0_ & ~0x00000010); + } else { + ensureInterfacesIsMutable(); + interfaces_.addAll(other.interfaces_); + } + onChanged(); + } + } else { + if (!other.interfaces_.isEmpty()) { + if (interfacesBuilder_.isEmpty()) { + interfacesBuilder_.dispose(); + interfacesBuilder_ = null; + interfaces_ = other.interfaces_; + bitField0_ = (bitField0_ & ~0x00000010); + interfacesBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetInterfacesFieldBuilder() + : null; + } else { + interfacesBuilder_.addAllMessages(other.interfaces_); + } + } + } + if (toolsBuilder_ == null) { + if (!other.tools_.isEmpty()) { + if (tools_.isEmpty()) { + tools_ = other.tools_; + bitField0_ = (bitField0_ & ~0x00000020); + } else { + ensureToolsIsMutable(); + tools_.addAll(other.tools_); + } + onChanged(); + } + } else { + if (!other.tools_.isEmpty()) { + if (toolsBuilder_.isEmpty()) { + toolsBuilder_.dispose(); + toolsBuilder_ = null; + tools_ = other.tools_; + bitField0_ = (bitField0_ & ~0x00000020); + toolsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetToolsFieldBuilder() + : null; + } else { + toolsBuilder_.addAllMessages(other.tools_); + } + } + } + if (other.hasCreateTime()) { + mergeCreateTime(other.getCreateTime()); + } + if (other.hasUpdateTime()) { + mergeUpdateTime(other.getUpdateTime()); + } + internalGetMutableAttributes().mergeFrom(other.internalGetAttributes()); + bitField0_ |= 0x00000100; + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + displayName_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 18 + case 26: + { + description_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 26 + case 34: + { + com.google.cloud.agentregistry.v1.Interface m = + input.readMessage( + com.google.cloud.agentregistry.v1.Interface.parser(), extensionRegistry); + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + interfaces_.add(m); + } else { + interfacesBuilder_.addMessage(m); + } + break; + } // case 34 + case 42: + { + com.google.cloud.agentregistry.v1.McpServer.Tool m = + input.readMessage( + com.google.cloud.agentregistry.v1.McpServer.Tool.parser(), + extensionRegistry); + if (toolsBuilder_ == null) { + ensureToolsIsMutable(); + tools_.add(m); + } else { + toolsBuilder_.addMessage(m); + } + break; + } // case 42 + case 50: + { + input.readMessage( + internalGetCreateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000040; + break; + } // case 50 + case 58: + { + input.readMessage( + internalGetUpdateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000080; + break; + } // case 58 + case 66: + { + com.google.protobuf.MapEntry + attributes__ = + input.readMessage( + AttributesDefaultEntryHolder.defaultEntry.getParserForType(), + extensionRegistry); + internalGetMutableAttributes() + .ensureBuilderMap() + .put(attributes__.getKey(), attributes__.getValue()); + bitField0_ |= 0x00000100; + break; + } // case 66 + case 74: + { + mcpServerId_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 74 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Identifier. The resource name of the MCP Server.
+     * Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Identifier. The resource name of the MCP Server.
+     * Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Identifier. The resource name of the MCP Server.
+     * Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. The resource name of the MCP Server.
+     * Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. The resource name of the MCP Server.
+     * Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object mcpServerId_ = ""; + + /** + * + * + *
+     * Output only. A stable, globally unique identifier for MCP Servers.
+     * 
+ * + * string mcp_server_id = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The mcpServerId. + */ + public java.lang.String getMcpServerId() { + java.lang.Object ref = mcpServerId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + mcpServerId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. A stable, globally unique identifier for MCP Servers.
+     * 
+ * + * string mcp_server_id = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for mcpServerId. + */ + public com.google.protobuf.ByteString getMcpServerIdBytes() { + java.lang.Object ref = mcpServerId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + mcpServerId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. A stable, globally unique identifier for MCP Servers.
+     * 
+ * + * string mcp_server_id = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The mcpServerId to set. + * @return This builder for chaining. + */ + public Builder setMcpServerId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + mcpServerId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. A stable, globally unique identifier for MCP Servers.
+     * 
+ * + * string mcp_server_id = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearMcpServerId() { + mcpServerId_ = getDefaultInstance().getMcpServerId(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. A stable, globally unique identifier for MCP Servers.
+     * 
+ * + * string mcp_server_id = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for mcpServerId to set. + * @return This builder for chaining. + */ + public Builder setMcpServerIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + mcpServerId_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object displayName_ = ""; + + /** + * + * + *
+     * Output only. The display name of the MCP Server.
+     * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The displayName. + */ + public java.lang.String getDisplayName() { + java.lang.Object ref = displayName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + displayName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. The display name of the MCP Server.
+     * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for displayName. + */ + public com.google.protobuf.ByteString getDisplayNameBytes() { + java.lang.Object ref = displayName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + displayName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. The display name of the MCP Server.
+     * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The displayName to set. + * @return This builder for chaining. + */ + public Builder setDisplayName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + displayName_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The display name of the MCP Server.
+     * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearDisplayName() { + displayName_ = getDefaultInstance().getDisplayName(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The display name of the MCP Server.
+     * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for displayName to set. + * @return This builder for chaining. + */ + public Builder setDisplayNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + displayName_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object description_ = ""; + + /** + * + * + *
+     * Output only. The description of the MCP Server.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The description. + */ + public java.lang.String getDescription() { + java.lang.Object ref = description_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + description_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. The description of the MCP Server.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for description. + */ + public com.google.protobuf.ByteString getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. The description of the MCP Server.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The description to set. + * @return This builder for chaining. + */ + public Builder setDescription(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + description_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The description of the MCP Server.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearDescription() { + description_ = getDefaultInstance().getDescription(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The description of the MCP Server.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for description to set. + * @return This builder for chaining. + */ + public Builder setDescriptionBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + description_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private java.util.List interfaces_ = + java.util.Collections.emptyList(); + + private void ensureInterfacesIsMutable() { + if (!((bitField0_ & 0x00000010) != 0)) { + interfaces_ = + new java.util.ArrayList(interfaces_); + bitField0_ |= 0x00000010; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Interface, + com.google.cloud.agentregistry.v1.Interface.Builder, + com.google.cloud.agentregistry.v1.InterfaceOrBuilder> + interfacesBuilder_; + + /** + * + * + *
+     * Output only. The connection details for the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List getInterfacesList() { + if (interfacesBuilder_ == null) { + return java.util.Collections.unmodifiableList(interfaces_); + } else { + return interfacesBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * Output only. The connection details for the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public int getInterfacesCount() { + if (interfacesBuilder_ == null) { + return interfaces_.size(); + } else { + return interfacesBuilder_.getCount(); + } + } + + /** + * + * + *
+     * Output only. The connection details for the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.Interface getInterfaces(int index) { + if (interfacesBuilder_ == null) { + return interfaces_.get(index); + } else { + return interfacesBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * Output only. The connection details for the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setInterfaces(int index, com.google.cloud.agentregistry.v1.Interface value) { + if (interfacesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureInterfacesIsMutable(); + interfaces_.set(index, value); + onChanged(); + } else { + interfacesBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * Output only. The connection details for the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setInterfaces( + int index, com.google.cloud.agentregistry.v1.Interface.Builder builderForValue) { + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + interfaces_.set(index, builderForValue.build()); + onChanged(); + } else { + interfacesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Output only. The connection details for the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addInterfaces(com.google.cloud.agentregistry.v1.Interface value) { + if (interfacesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureInterfacesIsMutable(); + interfaces_.add(value); + onChanged(); + } else { + interfacesBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * Output only. The connection details for the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addInterfaces(int index, com.google.cloud.agentregistry.v1.Interface value) { + if (interfacesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureInterfacesIsMutable(); + interfaces_.add(index, value); + onChanged(); + } else { + interfacesBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * Output only. The connection details for the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addInterfaces( + com.google.cloud.agentregistry.v1.Interface.Builder builderForValue) { + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + interfaces_.add(builderForValue.build()); + onChanged(); + } else { + interfacesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Output only. The connection details for the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addInterfaces( + int index, com.google.cloud.agentregistry.v1.Interface.Builder builderForValue) { + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + interfaces_.add(index, builderForValue.build()); + onChanged(); + } else { + interfacesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Output only. The connection details for the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addAllInterfaces( + java.lang.Iterable values) { + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, interfaces_); + onChanged(); + } else { + interfacesBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * Output only. The connection details for the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearInterfaces() { + if (interfacesBuilder_ == null) { + interfaces_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + } else { + interfacesBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * Output only. The connection details for the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder removeInterfaces(int index) { + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + interfaces_.remove(index); + onChanged(); + } else { + interfacesBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * Output only. The connection details for the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.Interface.Builder getInterfacesBuilder(int index) { + return internalGetInterfacesFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * Output only. The connection details for the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.InterfaceOrBuilder getInterfacesOrBuilder(int index) { + if (interfacesBuilder_ == null) { + return interfaces_.get(index); + } else { + return interfacesBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * Output only. The connection details for the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List + getInterfacesOrBuilderList() { + if (interfacesBuilder_ != null) { + return interfacesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(interfaces_); + } + } + + /** + * + * + *
+     * Output only. The connection details for the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.Interface.Builder addInterfacesBuilder() { + return internalGetInterfacesFieldBuilder() + .addBuilder(com.google.cloud.agentregistry.v1.Interface.getDefaultInstance()); + } + + /** + * + * + *
+     * Output only. The connection details for the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.Interface.Builder addInterfacesBuilder(int index) { + return internalGetInterfacesFieldBuilder() + .addBuilder(index, com.google.cloud.agentregistry.v1.Interface.getDefaultInstance()); + } + + /** + * + * + *
+     * Output only. The connection details for the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List + getInterfacesBuilderList() { + return internalGetInterfacesFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Interface, + com.google.cloud.agentregistry.v1.Interface.Builder, + com.google.cloud.agentregistry.v1.InterfaceOrBuilder> + internalGetInterfacesFieldBuilder() { + if (interfacesBuilder_ == null) { + interfacesBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Interface, + com.google.cloud.agentregistry.v1.Interface.Builder, + com.google.cloud.agentregistry.v1.InterfaceOrBuilder>( + interfaces_, ((bitField0_ & 0x00000010) != 0), getParentForChildren(), isClean()); + interfaces_ = null; + } + return interfacesBuilder_; + } + + private java.util.List tools_ = + java.util.Collections.emptyList(); + + private void ensureToolsIsMutable() { + if (!((bitField0_ & 0x00000020) != 0)) { + tools_ = new java.util.ArrayList(tools_); + bitField0_ |= 0x00000020; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.McpServer.Tool, + com.google.cloud.agentregistry.v1.McpServer.Tool.Builder, + com.google.cloud.agentregistry.v1.McpServer.ToolOrBuilder> + toolsBuilder_; + + /** + * + * + *
+     * Output only. Tools provided by the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List getToolsList() { + if (toolsBuilder_ == null) { + return java.util.Collections.unmodifiableList(tools_); + } else { + return toolsBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * Output only. Tools provided by the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public int getToolsCount() { + if (toolsBuilder_ == null) { + return tools_.size(); + } else { + return toolsBuilder_.getCount(); + } + } + + /** + * + * + *
+     * Output only. Tools provided by the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.McpServer.Tool getTools(int index) { + if (toolsBuilder_ == null) { + return tools_.get(index); + } else { + return toolsBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * Output only. Tools provided by the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setTools(int index, com.google.cloud.agentregistry.v1.McpServer.Tool value) { + if (toolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureToolsIsMutable(); + tools_.set(index, value); + onChanged(); + } else { + toolsBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * Output only. Tools provided by the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setTools( + int index, com.google.cloud.agentregistry.v1.McpServer.Tool.Builder builderForValue) { + if (toolsBuilder_ == null) { + ensureToolsIsMutable(); + tools_.set(index, builderForValue.build()); + onChanged(); + } else { + toolsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Output only. Tools provided by the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addTools(com.google.cloud.agentregistry.v1.McpServer.Tool value) { + if (toolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureToolsIsMutable(); + tools_.add(value); + onChanged(); + } else { + toolsBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * Output only. Tools provided by the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addTools(int index, com.google.cloud.agentregistry.v1.McpServer.Tool value) { + if (toolsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureToolsIsMutable(); + tools_.add(index, value); + onChanged(); + } else { + toolsBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * Output only. Tools provided by the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addTools( + com.google.cloud.agentregistry.v1.McpServer.Tool.Builder builderForValue) { + if (toolsBuilder_ == null) { + ensureToolsIsMutable(); + tools_.add(builderForValue.build()); + onChanged(); + } else { + toolsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Output only. Tools provided by the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addTools( + int index, com.google.cloud.agentregistry.v1.McpServer.Tool.Builder builderForValue) { + if (toolsBuilder_ == null) { + ensureToolsIsMutable(); + tools_.add(index, builderForValue.build()); + onChanged(); + } else { + toolsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Output only. Tools provided by the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder addAllTools( + java.lang.Iterable values) { + if (toolsBuilder_ == null) { + ensureToolsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, tools_); + onChanged(); + } else { + toolsBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * Output only. Tools provided by the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearTools() { + if (toolsBuilder_ == null) { + tools_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000020); + onChanged(); + } else { + toolsBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * Output only. Tools provided by the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder removeTools(int index) { + if (toolsBuilder_ == null) { + ensureToolsIsMutable(); + tools_.remove(index); + onChanged(); + } else { + toolsBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * Output only. Tools provided by the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.McpServer.Tool.Builder getToolsBuilder(int index) { + return internalGetToolsFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * Output only. Tools provided by the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.McpServer.ToolOrBuilder getToolsOrBuilder(int index) { + if (toolsBuilder_ == null) { + return tools_.get(index); + } else { + return toolsBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * Output only. Tools provided by the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List + getToolsOrBuilderList() { + if (toolsBuilder_ != null) { + return toolsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(tools_); + } + } + + /** + * + * + *
+     * Output only. Tools provided by the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.McpServer.Tool.Builder addToolsBuilder() { + return internalGetToolsFieldBuilder() + .addBuilder(com.google.cloud.agentregistry.v1.McpServer.Tool.getDefaultInstance()); + } + + /** + * + * + *
+     * Output only. Tools provided by the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloud.agentregistry.v1.McpServer.Tool.Builder addToolsBuilder(int index) { + return internalGetToolsFieldBuilder() + .addBuilder(index, com.google.cloud.agentregistry.v1.McpServer.Tool.getDefaultInstance()); + } + + /** + * + * + *
+     * Output only. Tools provided by the MCP Server.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public java.util.List + getToolsBuilderList() { + return internalGetToolsFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.McpServer.Tool, + com.google.cloud.agentregistry.v1.McpServer.Tool.Builder, + com.google.cloud.agentregistry.v1.McpServer.ToolOrBuilder> + internalGetToolsFieldBuilder() { + if (toolsBuilder_ == null) { + toolsBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.McpServer.Tool, + com.google.cloud.agentregistry.v1.McpServer.Tool.Builder, + com.google.cloud.agentregistry.v1.McpServer.ToolOrBuilder>( + tools_, ((bitField0_ & 0x00000020) != 0), getParentForChildren(), isClean()); + tools_ = null; + } + return toolsBuilder_; + } + + private com.google.protobuf.Timestamp createTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + createTimeBuilder_; + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000040) != 0); + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + public com.google.protobuf.Timestamp getCreateTime() { + if (createTimeBuilder_ == null) { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } else { + return createTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + createTime_ = value; + } else { + createTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (createTimeBuilder_ == null) { + createTime_ = builderForValue.build(); + } else { + createTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (((bitField0_ & 0x00000040) != 0) + && createTime_ != null + && createTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getCreateTimeBuilder().mergeFrom(value); + } else { + createTime_ = value; + } + } else { + createTimeBuilder_.mergeFrom(value); + } + if (createTime_ != null) { + bitField0_ |= 0x00000040; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCreateTime() { + bitField0_ = (bitField0_ & ~0x00000040); + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() { + bitField0_ |= 0x00000040; + onChanged(); + return internalGetCreateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + if (createTimeBuilder_ != null) { + return createTimeBuilder_.getMessageOrBuilder(); + } else { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetCreateTimeFieldBuilder() { + if (createTimeBuilder_ == null) { + createTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCreateTime(), getParentForChildren(), isClean()); + createTime_ = null; + } + return createTimeBuilder_; + } + + private com.google.protobuf.Timestamp updateTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + updateTimeBuilder_; + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000080) != 0); + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + public com.google.protobuf.Timestamp getUpdateTime() { + if (updateTimeBuilder_ == null) { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } else { + return updateTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateTime_ = value; + } else { + updateTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000080; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (updateTimeBuilder_ == null) { + updateTime_ = builderForValue.build(); + } else { + updateTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000080; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (((bitField0_ & 0x00000080) != 0) + && updateTime_ != null + && updateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getUpdateTimeBuilder().mergeFrom(value); + } else { + updateTime_ = value; + } + } else { + updateTimeBuilder_.mergeFrom(value); + } + if (updateTime_ != null) { + bitField0_ |= 0x00000080; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearUpdateTime() { + bitField0_ = (bitField0_ & ~0x00000080); + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getUpdateTimeBuilder() { + bitField0_ |= 0x00000080; + onChanged(); + return internalGetUpdateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + if (updateTimeBuilder_ != null) { + return updateTimeBuilder_.getMessageOrBuilder(); + } else { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetUpdateTimeFieldBuilder() { + if (updateTimeBuilder_ == null) { + updateTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getUpdateTime(), getParentForChildren(), isClean()); + updateTime_ = null; + } + return updateTimeBuilder_; + } + + private static final class AttributesConverter + implements com.google.protobuf.MapFieldBuilder.Converter< + java.lang.String, com.google.protobuf.StructOrBuilder, com.google.protobuf.Struct> { + @java.lang.Override + public com.google.protobuf.Struct build(com.google.protobuf.StructOrBuilder val) { + if (val instanceof com.google.protobuf.Struct) { + return (com.google.protobuf.Struct) val; + } + return ((com.google.protobuf.Struct.Builder) val).build(); + } + + @java.lang.Override + public com.google.protobuf.MapEntry + defaultEntry() { + return AttributesDefaultEntryHolder.defaultEntry; + } + } + ; + + private static final AttributesConverter attributesConverter = new AttributesConverter(); + + private com.google.protobuf.MapFieldBuilder< + java.lang.String, + com.google.protobuf.StructOrBuilder, + com.google.protobuf.Struct, + com.google.protobuf.Struct.Builder> + attributes_; + + private com.google.protobuf.MapFieldBuilder< + java.lang.String, + com.google.protobuf.StructOrBuilder, + com.google.protobuf.Struct, + com.google.protobuf.Struct.Builder> + internalGetAttributes() { + if (attributes_ == null) { + return new com.google.protobuf.MapFieldBuilder<>(attributesConverter); + } + return attributes_; + } + + private com.google.protobuf.MapFieldBuilder< + java.lang.String, + com.google.protobuf.StructOrBuilder, + com.google.protobuf.Struct, + com.google.protobuf.Struct.Builder> + internalGetMutableAttributes() { + if (attributes_ == null) { + attributes_ = new com.google.protobuf.MapFieldBuilder<>(attributesConverter); + } + bitField0_ |= 0x00000100; + onChanged(); + return attributes_; + } + + public int getAttributesCount() { + return internalGetAttributes().ensureBuilderMap().size(); + } + + /** + * + * + *
+     * Output only. Attributes of the MCP Server.
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+     * "principal://..."} - the runtime identity associated with the MCP Server.
+     * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+     * - the URI of the underlying resource hosting the MCP Server, for
+     * example, the GKE Deployment.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public boolean containsAttributes(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + return internalGetAttributes().ensureBuilderMap().containsKey(key); + } + + /** Use {@link #getAttributesMap()} instead. */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getAttributes() { + return getAttributesMap(); + } + + /** + * + * + *
+     * Output only. Attributes of the MCP Server.
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+     * "principal://..."} - the runtime identity associated with the MCP Server.
+     * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+     * - the URI of the underlying resource hosting the MCP Server, for
+     * example, the GKE Deployment.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public java.util.Map getAttributesMap() { + return internalGetAttributes().getImmutableMap(); + } + + /** + * + * + *
+     * Output only. Attributes of the MCP Server.
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+     * "principal://..."} - the runtime identity associated with the MCP Server.
+     * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+     * - the URI of the underlying resource hosting the MCP Server, for
+     * example, the GKE Deployment.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public /* nullable */ com.google.protobuf.Struct getAttributesOrDefault( + java.lang.String key, + /* nullable */ + com.google.protobuf.Struct defaultValue) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = + internalGetMutableAttributes().ensureBuilderMap(); + return map.containsKey(key) ? attributesConverter.build(map.get(key)) : defaultValue; + } + + /** + * + * + *
+     * Output only. Attributes of the MCP Server.
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+     * "principal://..."} - the runtime identity associated with the MCP Server.
+     * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+     * - the URI of the underlying resource hosting the MCP Server, for
+     * example, the GKE Deployment.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.Struct getAttributesOrThrow(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = + internalGetMutableAttributes().ensureBuilderMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return attributesConverter.build(map.get(key)); + } + + public Builder clearAttributes() { + bitField0_ = (bitField0_ & ~0x00000100); + internalGetMutableAttributes().clear(); + return this; + } + + /** + * + * + *
+     * Output only. Attributes of the MCP Server.
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+     * "principal://..."} - the runtime identity associated with the MCP Server.
+     * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+     * - the URI of the underlying resource hosting the MCP Server, for
+     * example, the GKE Deployment.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder removeAttributes(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + internalGetMutableAttributes().ensureBuilderMap().remove(key); + return this; + } + + /** Use alternate mutation accessors instead. */ + @java.lang.Deprecated + public java.util.Map getMutableAttributes() { + bitField0_ |= 0x00000100; + return internalGetMutableAttributes().ensureMessageMap(); + } + + /** + * + * + *
+     * Output only. Attributes of the MCP Server.
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+     * "principal://..."} - the runtime identity associated with the MCP Server.
+     * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+     * - the URI of the underlying resource hosting the MCP Server, for
+     * example, the GKE Deployment.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder putAttributes(java.lang.String key, com.google.protobuf.Struct value) { + if (key == null) { + throw new NullPointerException("map key"); + } + if (value == null) { + throw new NullPointerException("map value"); + } + internalGetMutableAttributes().ensureBuilderMap().put(key, value); + bitField0_ |= 0x00000100; + return this; + } + + /** + * + * + *
+     * Output only. Attributes of the MCP Server.
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+     * "principal://..."} - the runtime identity associated with the MCP Server.
+     * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+     * - the URI of the underlying resource hosting the MCP Server, for
+     * example, the GKE Deployment.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder putAllAttributes( + java.util.Map values) { + for (java.util.Map.Entry e : + values.entrySet()) { + if (e.getKey() == null || e.getValue() == null) { + throw new NullPointerException(); + } + } + internalGetMutableAttributes().ensureBuilderMap().putAll(values); + bitField0_ |= 0x00000100; + return this; + } + + /** + * + * + *
+     * Output only. Attributes of the MCP Server.
+     * Valid values:
+     *
+     * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+     * "principal://..."} - the runtime identity associated with the MCP Server.
+     * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+     * - the URI of the underlying resource hosting the MCP Server, for
+     * example, the GKE Deployment.
+     * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Struct.Builder putAttributesBuilderIfAbsent(java.lang.String key) { + java.util.Map builderMap = + internalGetMutableAttributes().ensureBuilderMap(); + com.google.protobuf.StructOrBuilder entry = builderMap.get(key); + if (entry == null) { + entry = com.google.protobuf.Struct.newBuilder(); + builderMap.put(key, entry); + } + if (entry instanceof com.google.protobuf.Struct) { + entry = ((com.google.protobuf.Struct) entry).toBuilder(); + builderMap.put(key, entry); + } + return (com.google.protobuf.Struct.Builder) entry; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.McpServer) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.McpServer) + private static final com.google.cloud.agentregistry.v1.McpServer DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.McpServer(); + } + + public static com.google.cloud.agentregistry.v1.McpServer getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public McpServer parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.McpServer getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/McpServerName.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/McpServerName.java new file mode 100644 index 000000000000..c87bcc17a927 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/McpServerName.java @@ -0,0 +1,223 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1; + +import com.google.api.pathtemplate.PathTemplate; +import com.google.api.resourcenames.ResourceName; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@Generated("by gapic-generator-java") +public class McpServerName implements ResourceName { + private static final PathTemplate PROJECT_LOCATION_MCP_SERVER = + PathTemplate.createWithoutUrlEncoding( + "projects/{project}/locations/{location}/mcpServers/{mcp_server}"); + private volatile Map fieldValuesMap; + private final String project; + private final String location; + private final String mcpServer; + + @Deprecated + protected McpServerName() { + project = null; + location = null; + mcpServer = null; + } + + private McpServerName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + mcpServer = Preconditions.checkNotNull(builder.getMcpServer()); + } + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getMcpServer() { + return mcpServer; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static McpServerName of(String project, String location, String mcpServer) { + return newBuilder().setProject(project).setLocation(location).setMcpServer(mcpServer).build(); + } + + public static String format(String project, String location, String mcpServer) { + return newBuilder() + .setProject(project) + .setLocation(location) + .setMcpServer(mcpServer) + .build() + .toString(); + } + + public static McpServerName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + Map matchMap = + PROJECT_LOCATION_MCP_SERVER.validatedMatch( + formattedString, "McpServerName.parse: formattedString not in valid format"); + return of(matchMap.get("project"), matchMap.get("location"), matchMap.get("mcp_server")); + } + + public static List parseList(List formattedStrings) { + List list = new ArrayList<>(formattedStrings.size()); + for (String formattedString : formattedStrings) { + list.add(parse(formattedString)); + } + return list; + } + + public static List toStringList(List values) { + List list = new ArrayList<>(values.size()); + for (McpServerName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return PROJECT_LOCATION_MCP_SERVER.matches(formattedString); + } + + @Override + public Map getFieldValuesMap() { + if (fieldValuesMap == null) { + synchronized (this) { + if (fieldValuesMap == null) { + ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + if (mcpServer != null) { + fieldMapBuilder.put("mcp_server", mcpServer); + } + fieldValuesMap = fieldMapBuilder.build(); + } + } + } + return fieldValuesMap; + } + + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return PROJECT_LOCATION_MCP_SERVER.instantiate( + "project", project, "location", location, "mcp_server", mcpServer); + } + + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + if (o != null && getClass() == o.getClass()) { + McpServerName that = ((McpServerName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location) + && Objects.equals(this.mcpServer, that.mcpServer); + } + return false; + } + + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + h *= 1000003; + h ^= Objects.hashCode(mcpServer); + return h; + } + + /** Builder for projects/{project}/locations/{location}/mcpServers/{mcp_server}. */ + public static class Builder { + private String project; + private String location; + private String mcpServer; + + protected Builder() {} + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getMcpServer() { + return mcpServer; + } + + public Builder setProject(String project) { + this.project = project; + return this; + } + + public Builder setLocation(String location) { + this.location = location; + return this; + } + + public Builder setMcpServer(String mcpServer) { + this.mcpServer = mcpServer; + return this; + } + + private Builder(McpServerName mcpServerName) { + this.project = mcpServerName.project; + this.location = mcpServerName.location; + this.mcpServer = mcpServerName.mcpServer; + } + + public McpServerName build() { + return new McpServerName(this); + } + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/McpServerOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/McpServerOrBuilder.java new file mode 100644 index 000000000000..96d1e33dfde1 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/McpServerOrBuilder.java @@ -0,0 +1,454 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/mcp_server.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface McpServerOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.McpServer) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Identifier. The resource name of the MCP Server.
+   * Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Identifier. The resource name of the MCP Server.
+   * Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Output only. A stable, globally unique identifier for MCP Servers.
+   * 
+ * + * string mcp_server_id = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The mcpServerId. + */ + java.lang.String getMcpServerId(); + + /** + * + * + *
+   * Output only. A stable, globally unique identifier for MCP Servers.
+   * 
+ * + * string mcp_server_id = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for mcpServerId. + */ + com.google.protobuf.ByteString getMcpServerIdBytes(); + + /** + * + * + *
+   * Output only. The display name of the MCP Server.
+   * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The displayName. + */ + java.lang.String getDisplayName(); + + /** + * + * + *
+   * Output only. The display name of the MCP Server.
+   * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for displayName. + */ + com.google.protobuf.ByteString getDisplayNameBytes(); + + /** + * + * + *
+   * Output only. The description of the MCP Server.
+   * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The description. + */ + java.lang.String getDescription(); + + /** + * + * + *
+   * Output only. The description of the MCP Server.
+   * 
+ * + * string description = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for description. + */ + com.google.protobuf.ByteString getDescriptionBytes(); + + /** + * + * + *
+   * Output only. The connection details for the MCP Server.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + java.util.List getInterfacesList(); + + /** + * + * + *
+   * Output only. The connection details for the MCP Server.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.agentregistry.v1.Interface getInterfaces(int index); + + /** + * + * + *
+   * Output only. The connection details for the MCP Server.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + int getInterfacesCount(); + + /** + * + * + *
+   * Output only. The connection details for the MCP Server.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + java.util.List + getInterfacesOrBuilderList(); + + /** + * + * + *
+   * Output only. The connection details for the MCP Server.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.agentregistry.v1.InterfaceOrBuilder getInterfacesOrBuilder(int index); + + /** + * + * + *
+   * Output only. Tools provided by the MCP Server.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + java.util.List getToolsList(); + + /** + * + * + *
+   * Output only. Tools provided by the MCP Server.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.agentregistry.v1.McpServer.Tool getTools(int index); + + /** + * + * + *
+   * Output only. Tools provided by the MCP Server.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + int getToolsCount(); + + /** + * + * + *
+   * Output only. Tools provided by the MCP Server.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + java.util.List + getToolsOrBuilderList(); + + /** + * + * + *
+   * Output only. Tools provided by the MCP Server.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.McpServer.Tool tools = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloud.agentregistry.v1.McpServer.ToolOrBuilder getToolsOrBuilder(int index); + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + boolean hasCreateTime(); + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + com.google.protobuf.Timestamp getCreateTime(); + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + boolean hasUpdateTime(); + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + com.google.protobuf.Timestamp getUpdateTime(); + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. Attributes of the MCP Server.
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+   * "principal://..."} - the runtime identity associated with the MCP Server.
+   * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+   * - the URI of the underlying resource hosting the MCP Server, for
+   * example, the GKE Deployment.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + int getAttributesCount(); + + /** + * + * + *
+   * Output only. Attributes of the MCP Server.
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+   * "principal://..."} - the runtime identity associated with the MCP Server.
+   * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+   * - the URI of the underlying resource hosting the MCP Server, for
+   * example, the GKE Deployment.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + boolean containsAttributes(java.lang.String key); + + /** Use {@link #getAttributesMap()} instead. */ + @java.lang.Deprecated + java.util.Map getAttributes(); + + /** + * + * + *
+   * Output only. Attributes of the MCP Server.
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+   * "principal://..."} - the runtime identity associated with the MCP Server.
+   * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+   * - the URI of the underlying resource hosting the MCP Server, for
+   * example, the GKE Deployment.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + java.util.Map getAttributesMap(); + + /** + * + * + *
+   * Output only. Attributes of the MCP Server.
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+   * "principal://..."} - the runtime identity associated with the MCP Server.
+   * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+   * - the URI of the underlying resource hosting the MCP Server, for
+   * example, the GKE Deployment.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + /* nullable */ + com.google.protobuf.Struct getAttributesOrDefault( + java.lang.String key, + /* nullable */ + com.google.protobuf.Struct defaultValue); + + /** + * + * + *
+   * Output only. Attributes of the MCP Server.
+   * Valid values:
+   *
+   * * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal":
+   * "principal://..."} - the runtime identity associated with the MCP Server.
+   * * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."}
+   * - the URI of the underlying resource hosting the MCP Server, for
+   * example, the GKE Deployment.
+   * 
+ * + * + * map<string, .google.protobuf.Struct> attributes = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.Struct getAttributesOrThrow(java.lang.String key); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/McpServerProto.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/McpServerProto.java new file mode 100644 index 000000000000..0e33ceaa2e3e --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/McpServerProto.java @@ -0,0 +1,177 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/mcp_server.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public final class McpServerProto extends com.google.protobuf.GeneratedFile { + private McpServerProto() {} + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "McpServerProto"); + } + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {} + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry); + } + + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_McpServer_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_McpServer_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_McpServer_Tool_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_McpServer_Tool_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_McpServer_Tool_Annotations_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_McpServer_Tool_Annotations_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_McpServer_AttributesEntry_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_McpServer_AttributesEntry_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + + static { + java.lang.String[] descriptorData = { + "\n" + + ".google/cloud/agentregistry/v1/mcp_serv" + + "er.proto\022\035google.cloud.agentregistry.v1\032" + + "\037google/api/field_behavior.proto\032\031google" + + "/api/resource.proto\032.google/cloud/agentr" + + "egistry/v1/properties.proto\032\034google/prot" + + "obuf/struct.proto\032\037google/protobuf/timestamp.proto\"\256\007\n" + + "\tMcpServer\022\021\n" + + "\004name\030\001 \001(\tB\003\340A\010\022\032\n\r" + + "mcp_server_id\030\t \001(\tB\003\340A\003\022\031\n" + + "\014display_name\030\002 \001(\tB\003\340A\003\022\030\n" + + "\013description\030\003 \001(\tB\003\340A\003\022A\n\n" + + "interfaces\030\004" + + " \003(\0132(.google.cloud.agentregistry.v1.InterfaceB\003\340A\003\022A\n" + + "\005tools\030\005" + + " \003(\0132-.google.cloud.agentregistry.v1.McpServer.ToolB\003\340A\003\0224\n" + + "\013create_time\030\006 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n" + + "\013update_time\030\007" + + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022Q\n\n" + + "attributes\030\010 \003(\01328.google.clou" + + "d.agentregistry.v1.McpServer.AttributesEntryB\003\340A\003\032\244\002\n" + + "\004Tool\022\021\n" + + "\004name\030\001 \001(\tB\003\340A\003\022\030\n" + + "\013description\030\002 \001(\tB\003\340A\003\022S\n" + + "\013annotations\030\003" + + " \001(\01329.google.cloud.agentregistry.v1.McpServer.Tool.AnnotationsB\003\340A\003\032\231\001\n" + + "\013Annotations\022\022\n" + + "\005title\030\001 \001(\tB\003\340A\003\022\035\n" + + "\020destructive_hint\030\002 \001(\010B\003\340A\003\022\034\n" + + "\017idempotent_hint\030\003 \001(\010B\003\340A\003\022\034\n" + + "\017open_world_hint\030\004 \001(\010B\003\340A\003\022\033\n" + + "\016read_only_hint\030\005 \001(\010B\003\340A\003\032J\n" + + "\017AttributesEntry\022\013\n" + + "\003key\030\001 \001(\t\022&\n" + + "\005value\030\002" + + " \001(\0132\027.google.protobuf.Struct:\0028\001:\204\001\352A\200\001\n" + + "&agentregistry.googleapis.com/McpServer\022?projects/{p" + + "roject}/locations/{location}/mcpServers/{mcp_server}*\n" + + "mcpServers2\tmcpServerB\341\001\n" + + "!com.google.cloud.agentregistry.v1B\016McpSe" + + "rverProtoP\001ZGcloud.google.com/go/agentregistry/apiv1/agentregistrypb;agentregist" + + "rypb\252\002\035Google.Cloud.AgentRegistry.V1\312\002\035Google\\Cloud\\AgentRegistry\\V1\352\002" + + " Google::Cloud::AgentRegistry::V1b\006proto3" + }; + descriptor = + com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( + descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + com.google.api.FieldBehaviorProto.getDescriptor(), + com.google.api.ResourceProto.getDescriptor(), + com.google.cloud.agentregistry.v1.PropertiesProto.getDescriptor(), + com.google.protobuf.StructProto.getDescriptor(), + com.google.protobuf.TimestampProto.getDescriptor(), + }); + internal_static_google_cloud_agentregistry_v1_McpServer_descriptor = + getDescriptor().getMessageType(0); + internal_static_google_cloud_agentregistry_v1_McpServer_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_McpServer_descriptor, + new java.lang.String[] { + "Name", + "McpServerId", + "DisplayName", + "Description", + "Interfaces", + "Tools", + "CreateTime", + "UpdateTime", + "Attributes", + }); + internal_static_google_cloud_agentregistry_v1_McpServer_Tool_descriptor = + internal_static_google_cloud_agentregistry_v1_McpServer_descriptor.getNestedType(0); + internal_static_google_cloud_agentregistry_v1_McpServer_Tool_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_McpServer_Tool_descriptor, + new java.lang.String[] { + "Name", "Description", "Annotations", + }); + internal_static_google_cloud_agentregistry_v1_McpServer_Tool_Annotations_descriptor = + internal_static_google_cloud_agentregistry_v1_McpServer_Tool_descriptor.getNestedType(0); + internal_static_google_cloud_agentregistry_v1_McpServer_Tool_Annotations_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_McpServer_Tool_Annotations_descriptor, + new java.lang.String[] { + "Title", "DestructiveHint", "IdempotentHint", "OpenWorldHint", "ReadOnlyHint", + }); + internal_static_google_cloud_agentregistry_v1_McpServer_AttributesEntry_descriptor = + internal_static_google_cloud_agentregistry_v1_McpServer_descriptor.getNestedType(1); + internal_static_google_cloud_agentregistry_v1_McpServer_AttributesEntry_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_McpServer_AttributesEntry_descriptor, + new java.lang.String[] { + "Key", "Value", + }); + descriptor.resolveAllFeaturesImmutable(); + com.google.api.FieldBehaviorProto.getDescriptor(); + com.google.api.ResourceProto.getDescriptor(); + com.google.cloud.agentregistry.v1.PropertiesProto.getDescriptor(); + com.google.protobuf.StructProto.getDescriptor(); + com.google.protobuf.TimestampProto.getDescriptor(); + com.google.protobuf.ExtensionRegistry registry = + com.google.protobuf.ExtensionRegistry.newInstance(); + registry.add(com.google.api.FieldBehaviorProto.fieldBehavior); + registry.add(com.google.api.ResourceProto.resource); + com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( + descriptor, registry); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/OperationMetadata.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/OperationMetadata.java new file mode 100644 index 000000000000..2e5b41f69382 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/OperationMetadata.java @@ -0,0 +1,1873 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Represents the metadata of the long-running operation.
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.OperationMetadata} + */ +@com.google.protobuf.Generated +public final class OperationMetadata extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.OperationMetadata) + OperationMetadataOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "OperationMetadata"); + } + + // Use OperationMetadata.newBuilder() to construct. + private OperationMetadata(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private OperationMetadata() { + target_ = ""; + verb_ = ""; + statusMessage_ = ""; + apiVersion_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_OperationMetadata_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_OperationMetadata_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.OperationMetadata.class, + com.google.cloud.agentregistry.v1.OperationMetadata.Builder.class); + } + + private int bitField0_; + public static final int CREATE_TIME_FIELD_NUMBER = 1; + private com.google.protobuf.Timestamp createTime_; + + /** + * + * + *
+   * Output only. The time the operation was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + @java.lang.Override + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Output only. The time the operation was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCreateTime() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + /** + * + * + *
+   * Output only. The time the operation was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + public static final int END_TIME_FIELD_NUMBER = 2; + private com.google.protobuf.Timestamp endTime_; + + /** + * + * + *
+   * Output only. The time the operation finished running.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the endTime field is set. + */ + @java.lang.Override + public boolean hasEndTime() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Output only. The time the operation finished running.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The endTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getEndTime() { + return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_; + } + + /** + * + * + *
+   * Output only. The time the operation finished running.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder() { + return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_; + } + + public static final int TARGET_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object target_ = ""; + + /** + * + * + *
+   * Output only. Server-defined resource path for the target of the operation.
+   * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The target. + */ + @java.lang.Override + public java.lang.String getTarget() { + java.lang.Object ref = target_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + target_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. Server-defined resource path for the target of the operation.
+   * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for target. + */ + @java.lang.Override + public com.google.protobuf.ByteString getTargetBytes() { + java.lang.Object ref = target_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + target_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int VERB_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private volatile java.lang.Object verb_ = ""; + + /** + * + * + *
+   * Output only. Name of the verb executed by the operation.
+   * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The verb. + */ + @java.lang.Override + public java.lang.String getVerb() { + java.lang.Object ref = verb_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + verb_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. Name of the verb executed by the operation.
+   * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for verb. + */ + @java.lang.Override + public com.google.protobuf.ByteString getVerbBytes() { + java.lang.Object ref = verb_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + verb_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int STATUS_MESSAGE_FIELD_NUMBER = 5; + + @SuppressWarnings("serial") + private volatile java.lang.Object statusMessage_ = ""; + + /** + * + * + *
+   * Output only. Human-readable status of the operation, if any.
+   * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The statusMessage. + */ + @java.lang.Override + public java.lang.String getStatusMessage() { + java.lang.Object ref = statusMessage_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + statusMessage_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. Human-readable status of the operation, if any.
+   * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for statusMessage. + */ + @java.lang.Override + public com.google.protobuf.ByteString getStatusMessageBytes() { + java.lang.Object ref = statusMessage_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + statusMessage_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int REQUESTED_CANCELLATION_FIELD_NUMBER = 6; + private boolean requestedCancellation_ = false; + + /** + * + * + *
+   * Output only. Identifies whether the user has requested cancellation
+   * of the operation. Operations that have been cancelled successfully
+   * have
+   * [google.longrunning.Operation.error][google.longrunning.Operation.error]
+   * value with a [google.rpc.Status.code][google.rpc.Status.code] of `1`,
+   * corresponding to `Code.CANCELLED`.
+   * 
+ * + * bool requested_cancellation = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The requestedCancellation. + */ + @java.lang.Override + public boolean getRequestedCancellation() { + return requestedCancellation_; + } + + public static final int API_VERSION_FIELD_NUMBER = 7; + + @SuppressWarnings("serial") + private volatile java.lang.Object apiVersion_ = ""; + + /** + * + * + *
+   * Output only. API version used to start the operation.
+   * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The apiVersion. + */ + @java.lang.Override + public java.lang.String getApiVersion() { + java.lang.Object ref = apiVersion_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + apiVersion_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. API version used to start the operation.
+   * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for apiVersion. + */ + @java.lang.Override + public com.google.protobuf.ByteString getApiVersionBytes() { + java.lang.Object ref = apiVersion_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + apiVersion_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(2, getEndTime()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(target_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, target_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(verb_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 4, verb_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(statusMessage_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 5, statusMessage_); + } + if (requestedCancellation_ != false) { + output.writeBool(6, requestedCancellation_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(apiVersion_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 7, apiVersion_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getEndTime()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(target_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, target_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(verb_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(4, verb_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(statusMessage_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(5, statusMessage_); + } + if (requestedCancellation_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(6, requestedCancellation_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(apiVersion_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(7, apiVersion_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.OperationMetadata)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.OperationMetadata other = + (com.google.cloud.agentregistry.v1.OperationMetadata) obj; + + if (hasCreateTime() != other.hasCreateTime()) return false; + if (hasCreateTime()) { + if (!getCreateTime().equals(other.getCreateTime())) return false; + } + if (hasEndTime() != other.hasEndTime()) return false; + if (hasEndTime()) { + if (!getEndTime().equals(other.getEndTime())) return false; + } + if (!getTarget().equals(other.getTarget())) return false; + if (!getVerb().equals(other.getVerb())) return false; + if (!getStatusMessage().equals(other.getStatusMessage())) return false; + if (getRequestedCancellation() != other.getRequestedCancellation()) return false; + if (!getApiVersion().equals(other.getApiVersion())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasCreateTime()) { + hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCreateTime().hashCode(); + } + if (hasEndTime()) { + hash = (37 * hash) + END_TIME_FIELD_NUMBER; + hash = (53 * hash) + getEndTime().hashCode(); + } + hash = (37 * hash) + TARGET_FIELD_NUMBER; + hash = (53 * hash) + getTarget().hashCode(); + hash = (37 * hash) + VERB_FIELD_NUMBER; + hash = (53 * hash) + getVerb().hashCode(); + hash = (37 * hash) + STATUS_MESSAGE_FIELD_NUMBER; + hash = (53 * hash) + getStatusMessage().hashCode(); + hash = (37 * hash) + REQUESTED_CANCELLATION_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getRequestedCancellation()); + hash = (37 * hash) + API_VERSION_FIELD_NUMBER; + hash = (53 * hash) + getApiVersion().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.OperationMetadata parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.OperationMetadata parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.OperationMetadata parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.OperationMetadata parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.OperationMetadata parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.OperationMetadata parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.OperationMetadata parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.OperationMetadata parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.OperationMetadata parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.OperationMetadata parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.OperationMetadata parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.OperationMetadata parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloud.agentregistry.v1.OperationMetadata prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Represents the metadata of the long-running operation.
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.OperationMetadata} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.OperationMetadata) + com.google.cloud.agentregistry.v1.OperationMetadataOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_OperationMetadata_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_OperationMetadata_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.OperationMetadata.class, + com.google.cloud.agentregistry.v1.OperationMetadata.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.OperationMetadata.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetCreateTimeFieldBuilder(); + internalGetEndTimeFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + endTime_ = null; + if (endTimeBuilder_ != null) { + endTimeBuilder_.dispose(); + endTimeBuilder_ = null; + } + target_ = ""; + verb_ = ""; + statusMessage_ = ""; + requestedCancellation_ = false; + apiVersion_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_OperationMetadata_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.OperationMetadata getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.OperationMetadata.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.OperationMetadata build() { + com.google.cloud.agentregistry.v1.OperationMetadata result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.OperationMetadata buildPartial() { + com.google.cloud.agentregistry.v1.OperationMetadata result = + new com.google.cloud.agentregistry.v1.OperationMetadata(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.OperationMetadata result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.endTime_ = endTimeBuilder_ == null ? endTime_ : endTimeBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.target_ = target_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.verb_ = verb_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.statusMessage_ = statusMessage_; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.requestedCancellation_ = requestedCancellation_; + } + if (((from_bitField0_ & 0x00000040) != 0)) { + result.apiVersion_ = apiVersion_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.OperationMetadata) { + return mergeFrom((com.google.cloud.agentregistry.v1.OperationMetadata) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.OperationMetadata other) { + if (other == com.google.cloud.agentregistry.v1.OperationMetadata.getDefaultInstance()) + return this; + if (other.hasCreateTime()) { + mergeCreateTime(other.getCreateTime()); + } + if (other.hasEndTime()) { + mergeEndTime(other.getEndTime()); + } + if (!other.getTarget().isEmpty()) { + target_ = other.target_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getVerb().isEmpty()) { + verb_ = other.verb_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (!other.getStatusMessage().isEmpty()) { + statusMessage_ = other.statusMessage_; + bitField0_ |= 0x00000010; + onChanged(); + } + if (other.getRequestedCancellation() != false) { + setRequestedCancellation(other.getRequestedCancellation()); + } + if (!other.getApiVersion().isEmpty()) { + apiVersion_ = other.apiVersion_; + bitField0_ |= 0x00000040; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetCreateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + input.readMessage(internalGetEndTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + target_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: + { + verb_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 34 + case 42: + { + statusMessage_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 42 + case 48: + { + requestedCancellation_ = input.readBool(); + bitField0_ |= 0x00000020; + break; + } // case 48 + case 58: + { + apiVersion_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000040; + break; + } // case 58 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private com.google.protobuf.Timestamp createTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + createTimeBuilder_; + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + public com.google.protobuf.Timestamp getCreateTime() { + if (createTimeBuilder_ == null) { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } else { + return createTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + createTime_ = value; + } else { + createTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (createTimeBuilder_ == null) { + createTime_ = builderForValue.build(); + } else { + createTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && createTime_ != null + && createTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getCreateTimeBuilder().mergeFrom(value); + } else { + createTime_ = value; + } + } else { + createTimeBuilder_.mergeFrom(value); + } + if (createTime_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCreateTime() { + bitField0_ = (bitField0_ & ~0x00000001); + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetCreateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + if (createTimeBuilder_ != null) { + return createTimeBuilder_.getMessageOrBuilder(); + } else { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } + } + + /** + * + * + *
+     * Output only. The time the operation was created.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetCreateTimeFieldBuilder() { + if (createTimeBuilder_ == null) { + createTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCreateTime(), getParentForChildren(), isClean()); + createTime_ = null; + } + return createTimeBuilder_; + } + + private com.google.protobuf.Timestamp endTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + endTimeBuilder_; + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the endTime field is set. + */ + public boolean hasEndTime() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The endTime. + */ + public com.google.protobuf.Timestamp getEndTime() { + if (endTimeBuilder_ == null) { + return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_; + } else { + return endTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setEndTime(com.google.protobuf.Timestamp value) { + if (endTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + endTime_ = value; + } else { + endTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setEndTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (endTimeBuilder_ == null) { + endTime_ = builderForValue.build(); + } else { + endTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeEndTime(com.google.protobuf.Timestamp value) { + if (endTimeBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && endTime_ != null + && endTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getEndTimeBuilder().mergeFrom(value); + } else { + endTime_ = value; + } + } else { + endTimeBuilder_.mergeFrom(value); + } + if (endTime_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearEndTime() { + bitField0_ = (bitField0_ & ~0x00000002); + endTime_ = null; + if (endTimeBuilder_ != null) { + endTimeBuilder_.dispose(); + endTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getEndTimeBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetEndTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder() { + if (endTimeBuilder_ != null) { + return endTimeBuilder_.getMessageOrBuilder(); + } else { + return endTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : endTime_; + } + } + + /** + * + * + *
+     * Output only. The time the operation finished running.
+     * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetEndTimeFieldBuilder() { + if (endTimeBuilder_ == null) { + endTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getEndTime(), getParentForChildren(), isClean()); + endTime_ = null; + } + return endTimeBuilder_; + } + + private java.lang.Object target_ = ""; + + /** + * + * + *
+     * Output only. Server-defined resource path for the target of the operation.
+     * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The target. + */ + public java.lang.String getTarget() { + java.lang.Object ref = target_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + target_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. Server-defined resource path for the target of the operation.
+     * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for target. + */ + public com.google.protobuf.ByteString getTargetBytes() { + java.lang.Object ref = target_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + target_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. Server-defined resource path for the target of the operation.
+     * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The target to set. + * @return This builder for chaining. + */ + public Builder setTarget(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + target_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Server-defined resource path for the target of the operation.
+     * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearTarget() { + target_ = getDefaultInstance().getTarget(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Server-defined resource path for the target of the operation.
+     * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for target to set. + * @return This builder for chaining. + */ + public Builder setTargetBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + target_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object verb_ = ""; + + /** + * + * + *
+     * Output only. Name of the verb executed by the operation.
+     * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The verb. + */ + public java.lang.String getVerb() { + java.lang.Object ref = verb_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + verb_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. Name of the verb executed by the operation.
+     * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for verb. + */ + public com.google.protobuf.ByteString getVerbBytes() { + java.lang.Object ref = verb_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + verb_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. Name of the verb executed by the operation.
+     * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The verb to set. + * @return This builder for chaining. + */ + public Builder setVerb(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + verb_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Name of the verb executed by the operation.
+     * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearVerb() { + verb_ = getDefaultInstance().getVerb(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Name of the verb executed by the operation.
+     * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for verb to set. + * @return This builder for chaining. + */ + public Builder setVerbBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + verb_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private java.lang.Object statusMessage_ = ""; + + /** + * + * + *
+     * Output only. Human-readable status of the operation, if any.
+     * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The statusMessage. + */ + public java.lang.String getStatusMessage() { + java.lang.Object ref = statusMessage_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + statusMessage_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. Human-readable status of the operation, if any.
+     * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for statusMessage. + */ + public com.google.protobuf.ByteString getStatusMessageBytes() { + java.lang.Object ref = statusMessage_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + statusMessage_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. Human-readable status of the operation, if any.
+     * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The statusMessage to set. + * @return This builder for chaining. + */ + public Builder setStatusMessage(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + statusMessage_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Human-readable status of the operation, if any.
+     * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearStatusMessage() { + statusMessage_ = getDefaultInstance().getStatusMessage(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Human-readable status of the operation, if any.
+     * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for statusMessage to set. + * @return This builder for chaining. + */ + public Builder setStatusMessageBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + statusMessage_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + private boolean requestedCancellation_; + + /** + * + * + *
+     * Output only. Identifies whether the user has requested cancellation
+     * of the operation. Operations that have been cancelled successfully
+     * have
+     * [google.longrunning.Operation.error][google.longrunning.Operation.error]
+     * value with a [google.rpc.Status.code][google.rpc.Status.code] of `1`,
+     * corresponding to `Code.CANCELLED`.
+     * 
+ * + * bool requested_cancellation = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The requestedCancellation. + */ + @java.lang.Override + public boolean getRequestedCancellation() { + return requestedCancellation_; + } + + /** + * + * + *
+     * Output only. Identifies whether the user has requested cancellation
+     * of the operation. Operations that have been cancelled successfully
+     * have
+     * [google.longrunning.Operation.error][google.longrunning.Operation.error]
+     * value with a [google.rpc.Status.code][google.rpc.Status.code] of `1`,
+     * corresponding to `Code.CANCELLED`.
+     * 
+ * + * bool requested_cancellation = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The requestedCancellation to set. + * @return This builder for chaining. + */ + public Builder setRequestedCancellation(boolean value) { + + requestedCancellation_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Identifies whether the user has requested cancellation
+     * of the operation. Operations that have been cancelled successfully
+     * have
+     * [google.longrunning.Operation.error][google.longrunning.Operation.error]
+     * value with a [google.rpc.Status.code][google.rpc.Status.code] of `1`,
+     * corresponding to `Code.CANCELLED`.
+     * 
+ * + * bool requested_cancellation = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearRequestedCancellation() { + bitField0_ = (bitField0_ & ~0x00000020); + requestedCancellation_ = false; + onChanged(); + return this; + } + + private java.lang.Object apiVersion_ = ""; + + /** + * + * + *
+     * Output only. API version used to start the operation.
+     * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The apiVersion. + */ + public java.lang.String getApiVersion() { + java.lang.Object ref = apiVersion_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + apiVersion_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. API version used to start the operation.
+     * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for apiVersion. + */ + public com.google.protobuf.ByteString getApiVersionBytes() { + java.lang.Object ref = apiVersion_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + apiVersion_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. API version used to start the operation.
+     * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The apiVersion to set. + * @return This builder for chaining. + */ + public Builder setApiVersion(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + apiVersion_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. API version used to start the operation.
+     * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearApiVersion() { + apiVersion_ = getDefaultInstance().getApiVersion(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. API version used to start the operation.
+     * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for apiVersion to set. + * @return This builder for chaining. + */ + public Builder setApiVersionBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + apiVersion_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.OperationMetadata) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.OperationMetadata) + private static final com.google.cloud.agentregistry.v1.OperationMetadata DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.OperationMetadata(); + } + + public static com.google.cloud.agentregistry.v1.OperationMetadata getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public OperationMetadata parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.OperationMetadata getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/OperationMetadataOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/OperationMetadataOrBuilder.java new file mode 100644 index 000000000000..ddb429d03ea8 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/OperationMetadataOrBuilder.java @@ -0,0 +1,230 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface OperationMetadataOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.OperationMetadata) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Output only. The time the operation was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + boolean hasCreateTime(); + + /** + * + * + *
+   * Output only. The time the operation was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + com.google.protobuf.Timestamp getCreateTime(); + + /** + * + * + *
+   * Output only. The time the operation was created.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. The time the operation finished running.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the endTime field is set. + */ + boolean hasEndTime(); + + /** + * + * + *
+   * Output only. The time the operation finished running.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The endTime. + */ + com.google.protobuf.Timestamp getEndTime(); + + /** + * + * + *
+   * Output only. The time the operation finished running.
+   * 
+ * + * .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder(); + + /** + * + * + *
+   * Output only. Server-defined resource path for the target of the operation.
+   * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The target. + */ + java.lang.String getTarget(); + + /** + * + * + *
+   * Output only. Server-defined resource path for the target of the operation.
+   * 
+ * + * string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for target. + */ + com.google.protobuf.ByteString getTargetBytes(); + + /** + * + * + *
+   * Output only. Name of the verb executed by the operation.
+   * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The verb. + */ + java.lang.String getVerb(); + + /** + * + * + *
+   * Output only. Name of the verb executed by the operation.
+   * 
+ * + * string verb = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for verb. + */ + com.google.protobuf.ByteString getVerbBytes(); + + /** + * + * + *
+   * Output only. Human-readable status of the operation, if any.
+   * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The statusMessage. + */ + java.lang.String getStatusMessage(); + + /** + * + * + *
+   * Output only. Human-readable status of the operation, if any.
+   * 
+ * + * string status_message = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for statusMessage. + */ + com.google.protobuf.ByteString getStatusMessageBytes(); + + /** + * + * + *
+   * Output only. Identifies whether the user has requested cancellation
+   * of the operation. Operations that have been cancelled successfully
+   * have
+   * [google.longrunning.Operation.error][google.longrunning.Operation.error]
+   * value with a [google.rpc.Status.code][google.rpc.Status.code] of `1`,
+   * corresponding to `Code.CANCELLED`.
+   * 
+ * + * bool requested_cancellation = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The requestedCancellation. + */ + boolean getRequestedCancellation(); + + /** + * + * + *
+   * Output only. API version used to start the operation.
+   * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The apiVersion. + */ + java.lang.String getApiVersion(); + + /** + * + * + *
+   * Output only. API version used to start the operation.
+   * 
+ * + * string api_version = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for apiVersion. + */ + com.google.protobuf.ByteString getApiVersionBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/PropertiesProto.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/PropertiesProto.java new file mode 100644 index 000000000000..ee4fb48b0b2d --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/PropertiesProto.java @@ -0,0 +1,96 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/properties.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public final class PropertiesProto extends com.google.protobuf.GeneratedFile { + private PropertiesProto() {} + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "PropertiesProto"); + } + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {} + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry); + } + + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_Interface_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_Interface_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + + static { + java.lang.String[] descriptorData = { + "\n.google/cloud/agentregistry/v1/properti" + + "es.proto\022\035google.cloud.agentregistry.v1\032" + + "\037google/api/field_behavior.proto\"\321\001\n\tInt" + + "erface\022\020\n\003url\030\001 \001(\tB\003\340A\002\022W\n\020protocol_bin" + + "ding\030\002 \001(\01628.google.cloud.agentregistry." + + "v1.Interface.ProtocolBindingB\003\340A\002\"Y\n\017Pro" + + "tocolBinding\022 \n\034PROTOCOL_BINDING_UNSPECI" + + "FIED\020\000\022\013\n\007JSONRPC\020\001\022\010\n\004GRPC\020\002\022\r\n\tHTTP_JS" + + "ON\020\003B\342\001\n!com.google.cloud.agentregistry." + + "v1B\017PropertiesProtoP\001ZGcloud.google.com/" + + "go/agentregistry/apiv1/agentregistrypb;a" + + "gentregistrypb\252\002\035Google.Cloud.AgentRegis" + + "try.V1\312\002\035Google\\Cloud\\AgentRegistry\\V1\352\002" + + " Google::Cloud::AgentRegistry::V1b\006proto" + + "3" + }; + descriptor = + com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( + descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + com.google.api.FieldBehaviorProto.getDescriptor(), + }); + internal_static_google_cloud_agentregistry_v1_Interface_descriptor = + getDescriptor().getMessageType(0); + internal_static_google_cloud_agentregistry_v1_Interface_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_Interface_descriptor, + new java.lang.String[] { + "Url", "ProtocolBinding", + }); + descriptor.resolveAllFeaturesImmutable(); + com.google.api.FieldBehaviorProto.getDescriptor(); + com.google.protobuf.ExtensionRegistry registry = + com.google.protobuf.ExtensionRegistry.newInstance(); + registry.add(com.google.api.FieldBehaviorProto.fieldBehavior); + com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( + descriptor, registry); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchAgentsRequest.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchAgentsRequest.java new file mode 100644 index 000000000000..52f136cba295 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchAgentsRequest.java @@ -0,0 +1,1382 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for searching Agents
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.SearchAgentsRequest} + */ +@com.google.protobuf.Generated +public final class SearchAgentsRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.SearchAgentsRequest) + SearchAgentsRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "SearchAgentsRequest"); + } + + // Use SearchAgentsRequest.newBuilder() to construct. + private SearchAgentsRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private SearchAgentsRequest() { + parent_ = ""; + searchString_ = ""; + pageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_SearchAgentsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_SearchAgentsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.SearchAgentsRequest.class, + com.google.cloud.agentregistry.v1.SearchAgentsRequest.Builder.class); + } + + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. Parent value for SearchAgentsRequest. Format:
+   * `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. Parent value for SearchAgentsRequest. Format:
+   * `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SEARCH_STRING_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object searchString_ = ""; + + /** + * + * + *
+   * Optional. Search criteria used to select the Agents to return. If no search
+   * criteria is specified then all accessible Agents will be returned.
+   *
+   * Search expressions can be used to restrict results based upon searchable
+   * fields, where the operators can be used along with the suffix wildcard
+   * symbol `*`. See
+   * [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools)
+   * for more details.
+   *
+   * Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`.
+   *
+   * Searchable fields:
+   *
+   * | Field              | `=` | `:` | `*` | Keyword Search |
+   * |--------------------|-----|-----|-----|----------------|
+   * | agentId            | Yes | Yes | Yes | Included       |
+   * | name               | No  | Yes | Yes | Included       |
+   * | displayName        | No  | Yes | Yes | Included       |
+   * | description        | No  | Yes | No  | Included       |
+   * | skills             | No  | Yes | No  | Included       |
+   * | skills.id          | No  | Yes | No  | Included       |
+   * | skills.name        | No  | Yes | No  | Included       |
+   * | skills.description | No  | Yes | No  | Included       |
+   * | skills.tags        | No  | Yes | No  | Included       |
+   * | skills.examples    | No  | Yes | No  | Included       |
+   *
+   * Examples:
+   *
+   * * `agentId="urn:agent:projects-123:projects:123:locations:us-central1:reasoningEngines:1234"`
+   * to find the agent with the specified agent ID.
+   * * `name:important` to find agents whose name contains `important` as a
+   * word.
+   * * `displayName:works*` to find agents whose display name contains words
+   * that start with `works`.
+   * * `skills.tags:test` to find agents whose skills tags contain `test`.
+   * * `planner OR booking` to find agents whose metadata contains the words
+   * `planner` or `booking`.
+   * 
+ * + * string search_string = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The searchString. + */ + @java.lang.Override + public java.lang.String getSearchString() { + java.lang.Object ref = searchString_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + searchString_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. Search criteria used to select the Agents to return. If no search
+   * criteria is specified then all accessible Agents will be returned.
+   *
+   * Search expressions can be used to restrict results based upon searchable
+   * fields, where the operators can be used along with the suffix wildcard
+   * symbol `*`. See
+   * [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools)
+   * for more details.
+   *
+   * Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`.
+   *
+   * Searchable fields:
+   *
+   * | Field              | `=` | `:` | `*` | Keyword Search |
+   * |--------------------|-----|-----|-----|----------------|
+   * | agentId            | Yes | Yes | Yes | Included       |
+   * | name               | No  | Yes | Yes | Included       |
+   * | displayName        | No  | Yes | Yes | Included       |
+   * | description        | No  | Yes | No  | Included       |
+   * | skills             | No  | Yes | No  | Included       |
+   * | skills.id          | No  | Yes | No  | Included       |
+   * | skills.name        | No  | Yes | No  | Included       |
+   * | skills.description | No  | Yes | No  | Included       |
+   * | skills.tags        | No  | Yes | No  | Included       |
+   * | skills.examples    | No  | Yes | No  | Included       |
+   *
+   * Examples:
+   *
+   * * `agentId="urn:agent:projects-123:projects:123:locations:us-central1:reasoningEngines:1234"`
+   * to find the agent with the specified agent ID.
+   * * `name:important` to find agents whose name contains `important` as a
+   * word.
+   * * `displayName:works*` to find agents whose display name contains words
+   * that start with `works`.
+   * * `skills.tags:test` to find agents whose skills tags contain `test`.
+   * * `planner OR booking` to find agents whose metadata contains the words
+   * `planner` or `booking`.
+   * 
+ * + * string search_string = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for searchString. + */ + @java.lang.Override + public com.google.protobuf.ByteString getSearchStringBytes() { + java.lang.Object ref = searchString_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + searchString_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PAGE_SIZE_FIELD_NUMBER = 6; + private int pageSize_ = 0; + + /** + * + * + *
+   * Optional. The maximum number of search results to return per page. The page
+   * size is capped at `100`, even if a larger value is specified. A negative
+   * value will result in an `INVALID_ARGUMENT` error. If unspecified or set to
+   * `0`, a default value of `20` will be used. The server may return fewer
+   * results than requested.
+   * 
+ * + * int32 page_size = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + public static final int PAGE_TOKEN_FIELD_NUMBER = 7; + + @SuppressWarnings("serial") + private volatile java.lang.Object pageToken_ = ""; + + /** + * + * + *
+   * Optional. If present, retrieve the next batch of results from the preceding
+   * call to this method. `page_token` must 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.
+   * 
+ * + * string page_token = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + @java.lang.Override + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. If present, retrieve the next batch of results from the preceding
+   * call to this method. `page_token` must 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.
+   * 
+ * + * string page_token = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(searchString_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, searchString_); + } + if (pageSize_ != 0) { + output.writeInt32(6, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 7, pageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(searchString_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, searchString_); + } + if (pageSize_ != 0) { + size += com.google.protobuf.CodedOutputStream.computeInt32Size(6, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(7, pageToken_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.SearchAgentsRequest)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.SearchAgentsRequest other = + (com.google.cloud.agentregistry.v1.SearchAgentsRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (!getSearchString().equals(other.getSearchString())) return false; + if (getPageSize() != other.getPageSize()) return false; + if (!getPageToken().equals(other.getPageToken())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + SEARCH_STRING_FIELD_NUMBER; + hash = (53 * hash) + getSearchString().hashCode(); + hash = (37 * hash) + PAGE_SIZE_FIELD_NUMBER; + hash = (53 * hash) + getPageSize(); + hash = (37 * hash) + PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.SearchAgentsRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for searching Agents
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.SearchAgentsRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.SearchAgentsRequest) + com.google.cloud.agentregistry.v1.SearchAgentsRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_SearchAgentsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_SearchAgentsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.SearchAgentsRequest.class, + com.google.cloud.agentregistry.v1.SearchAgentsRequest.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.SearchAgentsRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + searchString_ = ""; + pageSize_ = 0; + pageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_SearchAgentsRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.SearchAgentsRequest getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.SearchAgentsRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.SearchAgentsRequest build() { + com.google.cloud.agentregistry.v1.SearchAgentsRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.SearchAgentsRequest buildPartial() { + com.google.cloud.agentregistry.v1.SearchAgentsRequest result = + new com.google.cloud.agentregistry.v1.SearchAgentsRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.SearchAgentsRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.searchString_ = searchString_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.pageSize_ = pageSize_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.pageToken_ = pageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.SearchAgentsRequest) { + return mergeFrom((com.google.cloud.agentregistry.v1.SearchAgentsRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.SearchAgentsRequest other) { + if (other == com.google.cloud.agentregistry.v1.SearchAgentsRequest.getDefaultInstance()) + return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getSearchString().isEmpty()) { + searchString_ = other.searchString_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.getPageSize() != 0) { + setPageSize(other.getPageSize()); + } + if (!other.getPageToken().isEmpty()) { + pageToken_ = other.pageToken_; + bitField0_ |= 0x00000008; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 26: + { + searchString_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 26 + case 48: + { + pageSize_ = input.readInt32(); + bitField0_ |= 0x00000004; + break; + } // case 48 + case 58: + { + pageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 58 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object parent_ = ""; + + /** + * + * + *
+     * Required. Parent value for SearchAgentsRequest. Format:
+     * `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for SearchAgentsRequest. Format:
+     * `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for SearchAgentsRequest. Format:
+     * `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for SearchAgentsRequest. Format:
+     * `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for SearchAgentsRequest. Format:
+     * `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object searchString_ = ""; + + /** + * + * + *
+     * Optional. Search criteria used to select the Agents to return. If no search
+     * criteria is specified then all accessible Agents will be returned.
+     *
+     * Search expressions can be used to restrict results based upon searchable
+     * fields, where the operators can be used along with the suffix wildcard
+     * symbol `*`. See
+     * [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools)
+     * for more details.
+     *
+     * Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`.
+     *
+     * Searchable fields:
+     *
+     * | Field              | `=` | `:` | `*` | Keyword Search |
+     * |--------------------|-----|-----|-----|----------------|
+     * | agentId            | Yes | Yes | Yes | Included       |
+     * | name               | No  | Yes | Yes | Included       |
+     * | displayName        | No  | Yes | Yes | Included       |
+     * | description        | No  | Yes | No  | Included       |
+     * | skills             | No  | Yes | No  | Included       |
+     * | skills.id          | No  | Yes | No  | Included       |
+     * | skills.name        | No  | Yes | No  | Included       |
+     * | skills.description | No  | Yes | No  | Included       |
+     * | skills.tags        | No  | Yes | No  | Included       |
+     * | skills.examples    | No  | Yes | No  | Included       |
+     *
+     * Examples:
+     *
+     * * `agentId="urn:agent:projects-123:projects:123:locations:us-central1:reasoningEngines:1234"`
+     * to find the agent with the specified agent ID.
+     * * `name:important` to find agents whose name contains `important` as a
+     * word.
+     * * `displayName:works*` to find agents whose display name contains words
+     * that start with `works`.
+     * * `skills.tags:test` to find agents whose skills tags contain `test`.
+     * * `planner OR booking` to find agents whose metadata contains the words
+     * `planner` or `booking`.
+     * 
+ * + * string search_string = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The searchString. + */ + public java.lang.String getSearchString() { + java.lang.Object ref = searchString_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + searchString_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. Search criteria used to select the Agents to return. If no search
+     * criteria is specified then all accessible Agents will be returned.
+     *
+     * Search expressions can be used to restrict results based upon searchable
+     * fields, where the operators can be used along with the suffix wildcard
+     * symbol `*`. See
+     * [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools)
+     * for more details.
+     *
+     * Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`.
+     *
+     * Searchable fields:
+     *
+     * | Field              | `=` | `:` | `*` | Keyword Search |
+     * |--------------------|-----|-----|-----|----------------|
+     * | agentId            | Yes | Yes | Yes | Included       |
+     * | name               | No  | Yes | Yes | Included       |
+     * | displayName        | No  | Yes | Yes | Included       |
+     * | description        | No  | Yes | No  | Included       |
+     * | skills             | No  | Yes | No  | Included       |
+     * | skills.id          | No  | Yes | No  | Included       |
+     * | skills.name        | No  | Yes | No  | Included       |
+     * | skills.description | No  | Yes | No  | Included       |
+     * | skills.tags        | No  | Yes | No  | Included       |
+     * | skills.examples    | No  | Yes | No  | Included       |
+     *
+     * Examples:
+     *
+     * * `agentId="urn:agent:projects-123:projects:123:locations:us-central1:reasoningEngines:1234"`
+     * to find the agent with the specified agent ID.
+     * * `name:important` to find agents whose name contains `important` as a
+     * word.
+     * * `displayName:works*` to find agents whose display name contains words
+     * that start with `works`.
+     * * `skills.tags:test` to find agents whose skills tags contain `test`.
+     * * `planner OR booking` to find agents whose metadata contains the words
+     * `planner` or `booking`.
+     * 
+ * + * string search_string = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for searchString. + */ + public com.google.protobuf.ByteString getSearchStringBytes() { + java.lang.Object ref = searchString_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + searchString_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. Search criteria used to select the Agents to return. If no search
+     * criteria is specified then all accessible Agents will be returned.
+     *
+     * Search expressions can be used to restrict results based upon searchable
+     * fields, where the operators can be used along with the suffix wildcard
+     * symbol `*`. See
+     * [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools)
+     * for more details.
+     *
+     * Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`.
+     *
+     * Searchable fields:
+     *
+     * | Field              | `=` | `:` | `*` | Keyword Search |
+     * |--------------------|-----|-----|-----|----------------|
+     * | agentId            | Yes | Yes | Yes | Included       |
+     * | name               | No  | Yes | Yes | Included       |
+     * | displayName        | No  | Yes | Yes | Included       |
+     * | description        | No  | Yes | No  | Included       |
+     * | skills             | No  | Yes | No  | Included       |
+     * | skills.id          | No  | Yes | No  | Included       |
+     * | skills.name        | No  | Yes | No  | Included       |
+     * | skills.description | No  | Yes | No  | Included       |
+     * | skills.tags        | No  | Yes | No  | Included       |
+     * | skills.examples    | No  | Yes | No  | Included       |
+     *
+     * Examples:
+     *
+     * * `agentId="urn:agent:projects-123:projects:123:locations:us-central1:reasoningEngines:1234"`
+     * to find the agent with the specified agent ID.
+     * * `name:important` to find agents whose name contains `important` as a
+     * word.
+     * * `displayName:works*` to find agents whose display name contains words
+     * that start with `works`.
+     * * `skills.tags:test` to find agents whose skills tags contain `test`.
+     * * `planner OR booking` to find agents whose metadata contains the words
+     * `planner` or `booking`.
+     * 
+ * + * string search_string = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The searchString to set. + * @return This builder for chaining. + */ + public Builder setSearchString(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + searchString_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Search criteria used to select the Agents to return. If no search
+     * criteria is specified then all accessible Agents will be returned.
+     *
+     * Search expressions can be used to restrict results based upon searchable
+     * fields, where the operators can be used along with the suffix wildcard
+     * symbol `*`. See
+     * [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools)
+     * for more details.
+     *
+     * Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`.
+     *
+     * Searchable fields:
+     *
+     * | Field              | `=` | `:` | `*` | Keyword Search |
+     * |--------------------|-----|-----|-----|----------------|
+     * | agentId            | Yes | Yes | Yes | Included       |
+     * | name               | No  | Yes | Yes | Included       |
+     * | displayName        | No  | Yes | Yes | Included       |
+     * | description        | No  | Yes | No  | Included       |
+     * | skills             | No  | Yes | No  | Included       |
+     * | skills.id          | No  | Yes | No  | Included       |
+     * | skills.name        | No  | Yes | No  | Included       |
+     * | skills.description | No  | Yes | No  | Included       |
+     * | skills.tags        | No  | Yes | No  | Included       |
+     * | skills.examples    | No  | Yes | No  | Included       |
+     *
+     * Examples:
+     *
+     * * `agentId="urn:agent:projects-123:projects:123:locations:us-central1:reasoningEngines:1234"`
+     * to find the agent with the specified agent ID.
+     * * `name:important` to find agents whose name contains `important` as a
+     * word.
+     * * `displayName:works*` to find agents whose display name contains words
+     * that start with `works`.
+     * * `skills.tags:test` to find agents whose skills tags contain `test`.
+     * * `planner OR booking` to find agents whose metadata contains the words
+     * `planner` or `booking`.
+     * 
+ * + * string search_string = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearSearchString() { + searchString_ = getDefaultInstance().getSearchString(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Search criteria used to select the Agents to return. If no search
+     * criteria is specified then all accessible Agents will be returned.
+     *
+     * Search expressions can be used to restrict results based upon searchable
+     * fields, where the operators can be used along with the suffix wildcard
+     * symbol `*`. See
+     * [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools)
+     * for more details.
+     *
+     * Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`.
+     *
+     * Searchable fields:
+     *
+     * | Field              | `=` | `:` | `*` | Keyword Search |
+     * |--------------------|-----|-----|-----|----------------|
+     * | agentId            | Yes | Yes | Yes | Included       |
+     * | name               | No  | Yes | Yes | Included       |
+     * | displayName        | No  | Yes | Yes | Included       |
+     * | description        | No  | Yes | No  | Included       |
+     * | skills             | No  | Yes | No  | Included       |
+     * | skills.id          | No  | Yes | No  | Included       |
+     * | skills.name        | No  | Yes | No  | Included       |
+     * | skills.description | No  | Yes | No  | Included       |
+     * | skills.tags        | No  | Yes | No  | Included       |
+     * | skills.examples    | No  | Yes | No  | Included       |
+     *
+     * Examples:
+     *
+     * * `agentId="urn:agent:projects-123:projects:123:locations:us-central1:reasoningEngines:1234"`
+     * to find the agent with the specified agent ID.
+     * * `name:important` to find agents whose name contains `important` as a
+     * word.
+     * * `displayName:works*` to find agents whose display name contains words
+     * that start with `works`.
+     * * `skills.tags:test` to find agents whose skills tags contain `test`.
+     * * `planner OR booking` to find agents whose metadata contains the words
+     * `planner` or `booking`.
+     * 
+ * + * string search_string = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for searchString to set. + * @return This builder for chaining. + */ + public Builder setSearchStringBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + searchString_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private int pageSize_; + + /** + * + * + *
+     * Optional. The maximum number of search results to return per page. The page
+     * size is capped at `100`, even if a larger value is specified. A negative
+     * value will result in an `INVALID_ARGUMENT` error. If unspecified or set to
+     * `0`, a default value of `20` will be used. The server may return fewer
+     * results than requested.
+     * 
+ * + * int32 page_size = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + /** + * + * + *
+     * Optional. The maximum number of search results to return per page. The page
+     * size is capped at `100`, even if a larger value is specified. A negative
+     * value will result in an `INVALID_ARGUMENT` error. If unspecified or set to
+     * `0`, a default value of `20` will be used. The server may return fewer
+     * results than requested.
+     * 
+ * + * int32 page_size = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageSize to set. + * @return This builder for chaining. + */ + public Builder setPageSize(int value) { + + pageSize_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The maximum number of search results to return per page. The page
+     * size is capped at `100`, even if a larger value is specified. A negative
+     * value will result in an `INVALID_ARGUMENT` error. If unspecified or set to
+     * `0`, a default value of `20` will be used. The server may return fewer
+     * results than requested.
+     * 
+ * + * int32 page_size = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageSize() { + bitField0_ = (bitField0_ & ~0x00000004); + pageSize_ = 0; + onChanged(); + return this; + } + + private java.lang.Object pageToken_ = ""; + + /** + * + * + *
+     * Optional. If present, retrieve the next batch of results from the preceding
+     * call to this method. `page_token` must 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.
+     * 
+ * + * string page_token = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. If present, retrieve the next batch of results from the preceding
+     * call to this method. `page_token` must 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.
+     * 
+ * + * string page_token = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. If present, retrieve the next batch of results from the preceding
+     * call to this method. `page_token` must 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.
+     * 
+ * + * string page_token = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + pageToken_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. If present, retrieve the next batch of results from the preceding
+     * call to this method. `page_token` must 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.
+     * 
+ * + * string page_token = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageToken() { + pageToken_ = getDefaultInstance().getPageToken(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. If present, retrieve the next batch of results from the preceding
+     * call to this method. `page_token` must 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.
+     * 
+ * + * string page_token = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + pageToken_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.SearchAgentsRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.SearchAgentsRequest) + private static final com.google.cloud.agentregistry.v1.SearchAgentsRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.SearchAgentsRequest(); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SearchAgentsRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.SearchAgentsRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchAgentsRequestOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchAgentsRequestOrBuilder.java new file mode 100644 index 000000000000..042180f6f1f1 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchAgentsRequestOrBuilder.java @@ -0,0 +1,207 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface SearchAgentsRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.SearchAgentsRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Parent value for SearchAgentsRequest. Format:
+   * `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. Parent value for SearchAgentsRequest. Format:
+   * `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Optional. Search criteria used to select the Agents to return. If no search
+   * criteria is specified then all accessible Agents will be returned.
+   *
+   * Search expressions can be used to restrict results based upon searchable
+   * fields, where the operators can be used along with the suffix wildcard
+   * symbol `*`. See
+   * [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools)
+   * for more details.
+   *
+   * Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`.
+   *
+   * Searchable fields:
+   *
+   * | Field              | `=` | `:` | `*` | Keyword Search |
+   * |--------------------|-----|-----|-----|----------------|
+   * | agentId            | Yes | Yes | Yes | Included       |
+   * | name               | No  | Yes | Yes | Included       |
+   * | displayName        | No  | Yes | Yes | Included       |
+   * | description        | No  | Yes | No  | Included       |
+   * | skills             | No  | Yes | No  | Included       |
+   * | skills.id          | No  | Yes | No  | Included       |
+   * | skills.name        | No  | Yes | No  | Included       |
+   * | skills.description | No  | Yes | No  | Included       |
+   * | skills.tags        | No  | Yes | No  | Included       |
+   * | skills.examples    | No  | Yes | No  | Included       |
+   *
+   * Examples:
+   *
+   * * `agentId="urn:agent:projects-123:projects:123:locations:us-central1:reasoningEngines:1234"`
+   * to find the agent with the specified agent ID.
+   * * `name:important` to find agents whose name contains `important` as a
+   * word.
+   * * `displayName:works*` to find agents whose display name contains words
+   * that start with `works`.
+   * * `skills.tags:test` to find agents whose skills tags contain `test`.
+   * * `planner OR booking` to find agents whose metadata contains the words
+   * `planner` or `booking`.
+   * 
+ * + * string search_string = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The searchString. + */ + java.lang.String getSearchString(); + + /** + * + * + *
+   * Optional. Search criteria used to select the Agents to return. If no search
+   * criteria is specified then all accessible Agents will be returned.
+   *
+   * Search expressions can be used to restrict results based upon searchable
+   * fields, where the operators can be used along with the suffix wildcard
+   * symbol `*`. See
+   * [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools)
+   * for more details.
+   *
+   * Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`.
+   *
+   * Searchable fields:
+   *
+   * | Field              | `=` | `:` | `*` | Keyword Search |
+   * |--------------------|-----|-----|-----|----------------|
+   * | agentId            | Yes | Yes | Yes | Included       |
+   * | name               | No  | Yes | Yes | Included       |
+   * | displayName        | No  | Yes | Yes | Included       |
+   * | description        | No  | Yes | No  | Included       |
+   * | skills             | No  | Yes | No  | Included       |
+   * | skills.id          | No  | Yes | No  | Included       |
+   * | skills.name        | No  | Yes | No  | Included       |
+   * | skills.description | No  | Yes | No  | Included       |
+   * | skills.tags        | No  | Yes | No  | Included       |
+   * | skills.examples    | No  | Yes | No  | Included       |
+   *
+   * Examples:
+   *
+   * * `agentId="urn:agent:projects-123:projects:123:locations:us-central1:reasoningEngines:1234"`
+   * to find the agent with the specified agent ID.
+   * * `name:important` to find agents whose name contains `important` as a
+   * word.
+   * * `displayName:works*` to find agents whose display name contains words
+   * that start with `works`.
+   * * `skills.tags:test` to find agents whose skills tags contain `test`.
+   * * `planner OR booking` to find agents whose metadata contains the words
+   * `planner` or `booking`.
+   * 
+ * + * string search_string = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for searchString. + */ + com.google.protobuf.ByteString getSearchStringBytes(); + + /** + * + * + *
+   * Optional. The maximum number of search results to return per page. The page
+   * size is capped at `100`, even if a larger value is specified. A negative
+   * value will result in an `INVALID_ARGUMENT` error. If unspecified or set to
+   * `0`, a default value of `20` will be used. The server may return fewer
+   * results than requested.
+   * 
+ * + * int32 page_size = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + int getPageSize(); + + /** + * + * + *
+   * Optional. If present, retrieve the next batch of results from the preceding
+   * call to this method. `page_token` must 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.
+   * 
+ * + * string page_token = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + java.lang.String getPageToken(); + + /** + * + * + *
+   * Optional. If present, retrieve the next batch of results from the preceding
+   * call to this method. `page_token` must 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.
+   * 
+ * + * string page_token = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + com.google.protobuf.ByteString getPageTokenBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchAgentsResponse.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchAgentsResponse.java new file mode 100644 index 000000000000..490c5d321d10 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchAgentsResponse.java @@ -0,0 +1,1125 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for response to searching Agents
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.SearchAgentsResponse} + */ +@com.google.protobuf.Generated +public final class SearchAgentsResponse extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.SearchAgentsResponse) + SearchAgentsResponseOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "SearchAgentsResponse"); + } + + // Use SearchAgentsResponse.newBuilder() to construct. + private SearchAgentsResponse(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private SearchAgentsResponse() { + agents_ = java.util.Collections.emptyList(); + nextPageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_SearchAgentsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_SearchAgentsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.SearchAgentsResponse.class, + com.google.cloud.agentregistry.v1.SearchAgentsResponse.Builder.class); + } + + public static final int AGENTS_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List agents_; + + /** + * + * + *
+   * A list of Agents that match the `search_string`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + @java.lang.Override + public java.util.List getAgentsList() { + return agents_; + } + + /** + * + * + *
+   * A list of Agents that match the `search_string`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + @java.lang.Override + public java.util.List + getAgentsOrBuilderList() { + return agents_; + } + + /** + * + * + *
+   * A list of Agents that match the `search_string`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + @java.lang.Override + public int getAgentsCount() { + return agents_.size(); + } + + /** + * + * + *
+   * A list of Agents that match the `search_string`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Agent getAgents(int index) { + return agents_.get(index); + } + + /** + * + * + *
+   * A list of Agents that match the `search_string`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.AgentOrBuilder getAgentsOrBuilder(int index) { + return agents_.get(index); + } + + public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+   * If there are more results than those appearing in this response, then
+   * `next_page_token` is included. To get the next set of results, call this
+   * method again using the value of `next_page_token` as `page_token`.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + @java.lang.Override + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * If there are more results than those appearing in this response, then
+   * `next_page_token` is included. To get the next set of results, call this
+   * method again using the value of `next_page_token` as `page_token`.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + for (int i = 0; i < agents_.size(); i++) { + output.writeMessage(1, agents_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, nextPageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < agents_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, agents_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, nextPageToken_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.SearchAgentsResponse)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.SearchAgentsResponse other = + (com.google.cloud.agentregistry.v1.SearchAgentsResponse) obj; + + if (!getAgentsList().equals(other.getAgentsList())) return false; + if (!getNextPageToken().equals(other.getNextPageToken())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getAgentsCount() > 0) { + hash = (37 * hash) + AGENTS_FIELD_NUMBER; + hash = (53 * hash) + getAgentsList().hashCode(); + } + hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getNextPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsResponse parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsResponse parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsResponse parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsResponse parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsResponse parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsResponse parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsResponse parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsResponse parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.SearchAgentsResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for response to searching Agents
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.SearchAgentsResponse} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.SearchAgentsResponse) + com.google.cloud.agentregistry.v1.SearchAgentsResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_SearchAgentsResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_SearchAgentsResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.SearchAgentsResponse.class, + com.google.cloud.agentregistry.v1.SearchAgentsResponse.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.SearchAgentsResponse.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (agentsBuilder_ == null) { + agents_ = java.util.Collections.emptyList(); + } else { + agents_ = null; + agentsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + nextPageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_SearchAgentsResponse_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.SearchAgentsResponse getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.SearchAgentsResponse.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.SearchAgentsResponse build() { + com.google.cloud.agentregistry.v1.SearchAgentsResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.SearchAgentsResponse buildPartial() { + com.google.cloud.agentregistry.v1.SearchAgentsResponse result = + new com.google.cloud.agentregistry.v1.SearchAgentsResponse(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.agentregistry.v1.SearchAgentsResponse result) { + if (agentsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + agents_ = java.util.Collections.unmodifiableList(agents_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.agents_ = agents_; + } else { + result.agents_ = agentsBuilder_.build(); + } + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.SearchAgentsResponse result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.nextPageToken_ = nextPageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.SearchAgentsResponse) { + return mergeFrom((com.google.cloud.agentregistry.v1.SearchAgentsResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.SearchAgentsResponse other) { + if (other == com.google.cloud.agentregistry.v1.SearchAgentsResponse.getDefaultInstance()) + return this; + if (agentsBuilder_ == null) { + if (!other.agents_.isEmpty()) { + if (agents_.isEmpty()) { + agents_ = other.agents_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureAgentsIsMutable(); + agents_.addAll(other.agents_); + } + onChanged(); + } + } else { + if (!other.agents_.isEmpty()) { + if (agentsBuilder_.isEmpty()) { + agentsBuilder_.dispose(); + agentsBuilder_ = null; + agents_ = other.agents_; + bitField0_ = (bitField0_ & ~0x00000001); + agentsBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetAgentsFieldBuilder() + : null; + } else { + agentsBuilder_.addAllMessages(other.agents_); + } + } + } + if (!other.getNextPageToken().isEmpty()) { + nextPageToken_ = other.nextPageToken_; + bitField0_ |= 0x00000002; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + com.google.cloud.agentregistry.v1.Agent m = + input.readMessage( + com.google.cloud.agentregistry.v1.Agent.parser(), extensionRegistry); + if (agentsBuilder_ == null) { + ensureAgentsIsMutable(); + agents_.add(m); + } else { + agentsBuilder_.addMessage(m); + } + break; + } // case 10 + case 18: + { + nextPageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.util.List agents_ = + java.util.Collections.emptyList(); + + private void ensureAgentsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + agents_ = new java.util.ArrayList(agents_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Agent, + com.google.cloud.agentregistry.v1.Agent.Builder, + com.google.cloud.agentregistry.v1.AgentOrBuilder> + agentsBuilder_; + + /** + * + * + *
+     * A list of Agents that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public java.util.List getAgentsList() { + if (agentsBuilder_ == null) { + return java.util.Collections.unmodifiableList(agents_); + } else { + return agentsBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * A list of Agents that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public int getAgentsCount() { + if (agentsBuilder_ == null) { + return agents_.size(); + } else { + return agentsBuilder_.getCount(); + } + } + + /** + * + * + *
+     * A list of Agents that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public com.google.cloud.agentregistry.v1.Agent getAgents(int index) { + if (agentsBuilder_ == null) { + return agents_.get(index); + } else { + return agentsBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * A list of Agents that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public Builder setAgents(int index, com.google.cloud.agentregistry.v1.Agent value) { + if (agentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAgentsIsMutable(); + agents_.set(index, value); + onChanged(); + } else { + agentsBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * A list of Agents that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public Builder setAgents( + int index, com.google.cloud.agentregistry.v1.Agent.Builder builderForValue) { + if (agentsBuilder_ == null) { + ensureAgentsIsMutable(); + agents_.set(index, builderForValue.build()); + onChanged(); + } else { + agentsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * A list of Agents that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public Builder addAgents(com.google.cloud.agentregistry.v1.Agent value) { + if (agentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAgentsIsMutable(); + agents_.add(value); + onChanged(); + } else { + agentsBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * A list of Agents that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public Builder addAgents(int index, com.google.cloud.agentregistry.v1.Agent value) { + if (agentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureAgentsIsMutable(); + agents_.add(index, value); + onChanged(); + } else { + agentsBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * A list of Agents that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public Builder addAgents(com.google.cloud.agentregistry.v1.Agent.Builder builderForValue) { + if (agentsBuilder_ == null) { + ensureAgentsIsMutable(); + agents_.add(builderForValue.build()); + onChanged(); + } else { + agentsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * A list of Agents that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public Builder addAgents( + int index, com.google.cloud.agentregistry.v1.Agent.Builder builderForValue) { + if (agentsBuilder_ == null) { + ensureAgentsIsMutable(); + agents_.add(index, builderForValue.build()); + onChanged(); + } else { + agentsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * A list of Agents that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public Builder addAllAgents( + java.lang.Iterable values) { + if (agentsBuilder_ == null) { + ensureAgentsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, agents_); + onChanged(); + } else { + agentsBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * A list of Agents that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public Builder clearAgents() { + if (agentsBuilder_ == null) { + agents_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + agentsBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * A list of Agents that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public Builder removeAgents(int index) { + if (agentsBuilder_ == null) { + ensureAgentsIsMutable(); + agents_.remove(index); + onChanged(); + } else { + agentsBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * A list of Agents that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public com.google.cloud.agentregistry.v1.Agent.Builder getAgentsBuilder(int index) { + return internalGetAgentsFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * A list of Agents that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public com.google.cloud.agentregistry.v1.AgentOrBuilder getAgentsOrBuilder(int index) { + if (agentsBuilder_ == null) { + return agents_.get(index); + } else { + return agentsBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * A list of Agents that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public java.util.List + getAgentsOrBuilderList() { + if (agentsBuilder_ != null) { + return agentsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(agents_); + } + } + + /** + * + * + *
+     * A list of Agents that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public com.google.cloud.agentregistry.v1.Agent.Builder addAgentsBuilder() { + return internalGetAgentsFieldBuilder() + .addBuilder(com.google.cloud.agentregistry.v1.Agent.getDefaultInstance()); + } + + /** + * + * + *
+     * A list of Agents that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public com.google.cloud.agentregistry.v1.Agent.Builder addAgentsBuilder(int index) { + return internalGetAgentsFieldBuilder() + .addBuilder(index, com.google.cloud.agentregistry.v1.Agent.getDefaultInstance()); + } + + /** + * + * + *
+     * A list of Agents that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + public java.util.List getAgentsBuilderList() { + return internalGetAgentsFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Agent, + com.google.cloud.agentregistry.v1.Agent.Builder, + com.google.cloud.agentregistry.v1.AgentOrBuilder> + internalGetAgentsFieldBuilder() { + if (agentsBuilder_ == null) { + agentsBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Agent, + com.google.cloud.agentregistry.v1.Agent.Builder, + com.google.cloud.agentregistry.v1.AgentOrBuilder>( + agents_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); + agents_ = null; + } + return agentsBuilder_; + } + + private java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+     * If there are more results than those appearing in this response, then
+     * `next_page_token` is included. To get the next set of results, call this
+     * method again using the value of `next_page_token` as `page_token`.
+     * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * If there are more results than those appearing in this response, then
+     * `next_page_token` is included. To get the next set of results, call this
+     * method again using the value of `next_page_token` as `page_token`.
+     * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * If there are more results than those appearing in this response, then
+     * `next_page_token` is included. To get the next set of results, call this
+     * method again using the value of `next_page_token` as `page_token`.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * If there are more results than those appearing in this response, then
+     * `next_page_token` is included. To get the next set of results, call this
+     * method again using the value of `next_page_token` as `page_token`.
+     * 
+ * + * string next_page_token = 2; + * + * @return This builder for chaining. + */ + public Builder clearNextPageToken() { + nextPageToken_ = getDefaultInstance().getNextPageToken(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * If there are more results than those appearing in this response, then
+     * `next_page_token` is included. To get the next set of results, call this
+     * method again using the value of `next_page_token` as `page_token`.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The bytes for nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.SearchAgentsResponse) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.SearchAgentsResponse) + private static final com.google.cloud.agentregistry.v1.SearchAgentsResponse DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.SearchAgentsResponse(); + } + + public static com.google.cloud.agentregistry.v1.SearchAgentsResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SearchAgentsResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.SearchAgentsResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchAgentsResponseOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchAgentsResponseOrBuilder.java new file mode 100644 index 000000000000..2028357860f1 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchAgentsResponseOrBuilder.java @@ -0,0 +1,114 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface SearchAgentsResponseOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.SearchAgentsResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * A list of Agents that match the `search_string`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + java.util.List getAgentsList(); + + /** + * + * + *
+   * A list of Agents that match the `search_string`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + com.google.cloud.agentregistry.v1.Agent getAgents(int index); + + /** + * + * + *
+   * A list of Agents that match the `search_string`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + int getAgentsCount(); + + /** + * + * + *
+   * A list of Agents that match the `search_string`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + java.util.List + getAgentsOrBuilderList(); + + /** + * + * + *
+   * A list of Agents that match the `search_string`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.Agent agents = 1; + */ + com.google.cloud.agentregistry.v1.AgentOrBuilder getAgentsOrBuilder(int index); + + /** + * + * + *
+   * If there are more results than those appearing in this response, then
+   * `next_page_token` is included. To get the next set of results, call this
+   * method again using the value of `next_page_token` as `page_token`.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + java.lang.String getNextPageToken(); + + /** + * + * + *
+   * If there are more results than those appearing in this response, then
+   * `next_page_token` is included. To get the next set of results, call this
+   * method again using the value of `next_page_token` as `page_token`.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + com.google.protobuf.ByteString getNextPageTokenBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchMcpServersRequest.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchMcpServersRequest.java new file mode 100644 index 000000000000..872a89048d43 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchMcpServersRequest.java @@ -0,0 +1,1361 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for searching MCP Servers
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.SearchMcpServersRequest} + */ +@com.google.protobuf.Generated +public final class SearchMcpServersRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.SearchMcpServersRequest) + SearchMcpServersRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "SearchMcpServersRequest"); + } + + // Use SearchMcpServersRequest.newBuilder() to construct. + private SearchMcpServersRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private SearchMcpServersRequest() { + parent_ = ""; + searchString_ = ""; + pageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_SearchMcpServersRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_SearchMcpServersRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.SearchMcpServersRequest.class, + com.google.cloud.agentregistry.v1.SearchMcpServersRequest.Builder.class); + } + + public static final int PARENT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object parent_ = ""; + + /** + * + * + *
+   * Required. Parent value for SearchMcpServersRequest. Format:
+   * `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } + } + + /** + * + * + *
+   * Required. Parent value for SearchMcpServersRequest. Format:
+   * `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SEARCH_STRING_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object searchString_ = ""; + + /** + * + * + *
+   * Optional. Search criteria used to select the MCP Servers to return. If no
+   * search criteria is specified then all accessible MCP Servers will be
+   * returned.
+   *
+   * Search expressions can be used to restrict results based upon searchable
+   * fields, where the operators can be used along with the suffix wildcard
+   * symbol `*`. See
+   * [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools)
+   * for more details.
+   *
+   * Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`.
+   *
+   * Searchable fields:
+   *
+   * | Field              | `=` | `:` | `*` | Keyword Search |
+   * |--------------------|-----|-----|-----|----------------|
+   * | mcpServerId        | Yes | Yes | Yes | Included       |
+   * | name               | No  | Yes | Yes | Included       |
+   * | displayName        | No  | Yes | Yes | Included       |
+   *
+   * Examples:
+   *
+   * * `mcpServerId="urn:mcp:projects-123:projects:123:locations:us-central1:agentregistry:services:service-id"`
+   * to find the MCP Server with the specified MCP Server ID.
+   * * `name:important` to find MCP Servers whose name contains `important` as a
+   * word.
+   * * `displayName:works*` to find MCP Servers whose display name contains
+   * words that start with `works`.
+   * * `planner OR booking` to find MCP Servers whose metadata contains the
+   * words `planner` or `booking`.
+   * * `mcpServerId:service-id AND (displayName:planner OR
+   * displayName:booking)` to find MCP Servers whose MCP Server ID contains
+   * `service-id` and whose display name contains `planner` or
+   * `booking`.
+   * 
+ * + * string search_string = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The searchString. + */ + @java.lang.Override + public java.lang.String getSearchString() { + java.lang.Object ref = searchString_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + searchString_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. Search criteria used to select the MCP Servers to return. If no
+   * search criteria is specified then all accessible MCP Servers will be
+   * returned.
+   *
+   * Search expressions can be used to restrict results based upon searchable
+   * fields, where the operators can be used along with the suffix wildcard
+   * symbol `*`. See
+   * [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools)
+   * for more details.
+   *
+   * Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`.
+   *
+   * Searchable fields:
+   *
+   * | Field              | `=` | `:` | `*` | Keyword Search |
+   * |--------------------|-----|-----|-----|----------------|
+   * | mcpServerId        | Yes | Yes | Yes | Included       |
+   * | name               | No  | Yes | Yes | Included       |
+   * | displayName        | No  | Yes | Yes | Included       |
+   *
+   * Examples:
+   *
+   * * `mcpServerId="urn:mcp:projects-123:projects:123:locations:us-central1:agentregistry:services:service-id"`
+   * to find the MCP Server with the specified MCP Server ID.
+   * * `name:important` to find MCP Servers whose name contains `important` as a
+   * word.
+   * * `displayName:works*` to find MCP Servers whose display name contains
+   * words that start with `works`.
+   * * `planner OR booking` to find MCP Servers whose metadata contains the
+   * words `planner` or `booking`.
+   * * `mcpServerId:service-id AND (displayName:planner OR
+   * displayName:booking)` to find MCP Servers whose MCP Server ID contains
+   * `service-id` and whose display name contains `planner` or
+   * `booking`.
+   * 
+ * + * string search_string = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for searchString. + */ + @java.lang.Override + public com.google.protobuf.ByteString getSearchStringBytes() { + java.lang.Object ref = searchString_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + searchString_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PAGE_SIZE_FIELD_NUMBER = 6; + private int pageSize_ = 0; + + /** + * + * + *
+   * Optional. The maximum number of search results to return per page. The page
+   * size is capped at `100`, even if a larger value is specified. A negative
+   * value will result in an `INVALID_ARGUMENT` error. If unspecified or set to
+   * `0`, a default value of `20` will be used. The server may return fewer
+   * results than requested.
+   * 
+ * + * int32 page_size = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + public static final int PAGE_TOKEN_FIELD_NUMBER = 7; + + @SuppressWarnings("serial") + private volatile java.lang.Object pageToken_ = ""; + + /** + * + * + *
+   * Optional. If present, retrieve the next batch of results from the preceding
+   * call to this method. `page_token` must 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.
+   * 
+ * + * string page_token = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + @java.lang.Override + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. If present, retrieve the next batch of results from the preceding
+   * call to this method. `page_token` must 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.
+   * 
+ * + * string page_token = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, parent_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(searchString_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, searchString_); + } + if (pageSize_ != 0) { + output.writeInt32(6, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 7, pageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, parent_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(searchString_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, searchString_); + } + if (pageSize_ != 0) { + size += com.google.protobuf.CodedOutputStream.computeInt32Size(6, pageSize_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(pageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(7, pageToken_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.SearchMcpServersRequest)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.SearchMcpServersRequest other = + (com.google.cloud.agentregistry.v1.SearchMcpServersRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (!getSearchString().equals(other.getSearchString())) return false; + if (getPageSize() != other.getPageSize()) return false; + if (!getPageToken().equals(other.getPageToken())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + SEARCH_STRING_FIELD_NUMBER; + hash = (53 * hash) + getSearchString().hashCode(); + hash = (37 * hash) + PAGE_SIZE_FIELD_NUMBER; + hash = (53 * hash) + getPageSize(); + hash = (37 * hash) + PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.SearchMcpServersRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for searching MCP Servers
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.SearchMcpServersRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.SearchMcpServersRequest) + com.google.cloud.agentregistry.v1.SearchMcpServersRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_SearchMcpServersRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_SearchMcpServersRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.SearchMcpServersRequest.class, + com.google.cloud.agentregistry.v1.SearchMcpServersRequest.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.SearchMcpServersRequest.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + parent_ = ""; + searchString_ = ""; + pageSize_ = 0; + pageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_SearchMcpServersRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.SearchMcpServersRequest getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.SearchMcpServersRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.SearchMcpServersRequest build() { + com.google.cloud.agentregistry.v1.SearchMcpServersRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.SearchMcpServersRequest buildPartial() { + com.google.cloud.agentregistry.v1.SearchMcpServersRequest result = + new com.google.cloud.agentregistry.v1.SearchMcpServersRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.SearchMcpServersRequest result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.parent_ = parent_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.searchString_ = searchString_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.pageSize_ = pageSize_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.pageToken_ = pageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.SearchMcpServersRequest) { + return mergeFrom((com.google.cloud.agentregistry.v1.SearchMcpServersRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.SearchMcpServersRequest other) { + if (other == com.google.cloud.agentregistry.v1.SearchMcpServersRequest.getDefaultInstance()) + return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getSearchString().isEmpty()) { + searchString_ = other.searchString_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (other.getPageSize() != 0) { + setPageSize(other.getPageSize()); + } + if (!other.getPageToken().isEmpty()) { + pageToken_ = other.pageToken_; + bitField0_ |= 0x00000008; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + parent_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 26: + { + searchString_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 26 + case 48: + { + pageSize_ = input.readInt32(); + bitField0_ |= 0x00000004; + break; + } // case 48 + case 58: + { + pageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 58 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object parent_ = ""; + + /** + * + * + *
+     * Required. Parent value for SearchMcpServersRequest. Format:
+     * `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for SearchMcpServersRequest. Format:
+     * `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Required. Parent value for SearchMcpServersRequest. Format:
+     * `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for SearchMcpServersRequest. Format:
+     * `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + parent_ = getDefaultInstance().getParent(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. Parent value for SearchMcpServersRequest. Format:
+     * `projects/{project}/locations/{location}`.
+     * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + parent_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object searchString_ = ""; + + /** + * + * + *
+     * Optional. Search criteria used to select the MCP Servers to return. If no
+     * search criteria is specified then all accessible MCP Servers will be
+     * returned.
+     *
+     * Search expressions can be used to restrict results based upon searchable
+     * fields, where the operators can be used along with the suffix wildcard
+     * symbol `*`. See
+     * [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools)
+     * for more details.
+     *
+     * Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`.
+     *
+     * Searchable fields:
+     *
+     * | Field              | `=` | `:` | `*` | Keyword Search |
+     * |--------------------|-----|-----|-----|----------------|
+     * | mcpServerId        | Yes | Yes | Yes | Included       |
+     * | name               | No  | Yes | Yes | Included       |
+     * | displayName        | No  | Yes | Yes | Included       |
+     *
+     * Examples:
+     *
+     * * `mcpServerId="urn:mcp:projects-123:projects:123:locations:us-central1:agentregistry:services:service-id"`
+     * to find the MCP Server with the specified MCP Server ID.
+     * * `name:important` to find MCP Servers whose name contains `important` as a
+     * word.
+     * * `displayName:works*` to find MCP Servers whose display name contains
+     * words that start with `works`.
+     * * `planner OR booking` to find MCP Servers whose metadata contains the
+     * words `planner` or `booking`.
+     * * `mcpServerId:service-id AND (displayName:planner OR
+     * displayName:booking)` to find MCP Servers whose MCP Server ID contains
+     * `service-id` and whose display name contains `planner` or
+     * `booking`.
+     * 
+ * + * string search_string = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The searchString. + */ + public java.lang.String getSearchString() { + java.lang.Object ref = searchString_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + searchString_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. Search criteria used to select the MCP Servers to return. If no
+     * search criteria is specified then all accessible MCP Servers will be
+     * returned.
+     *
+     * Search expressions can be used to restrict results based upon searchable
+     * fields, where the operators can be used along with the suffix wildcard
+     * symbol `*`. See
+     * [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools)
+     * for more details.
+     *
+     * Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`.
+     *
+     * Searchable fields:
+     *
+     * | Field              | `=` | `:` | `*` | Keyword Search |
+     * |--------------------|-----|-----|-----|----------------|
+     * | mcpServerId        | Yes | Yes | Yes | Included       |
+     * | name               | No  | Yes | Yes | Included       |
+     * | displayName        | No  | Yes | Yes | Included       |
+     *
+     * Examples:
+     *
+     * * `mcpServerId="urn:mcp:projects-123:projects:123:locations:us-central1:agentregistry:services:service-id"`
+     * to find the MCP Server with the specified MCP Server ID.
+     * * `name:important` to find MCP Servers whose name contains `important` as a
+     * word.
+     * * `displayName:works*` to find MCP Servers whose display name contains
+     * words that start with `works`.
+     * * `planner OR booking` to find MCP Servers whose metadata contains the
+     * words `planner` or `booking`.
+     * * `mcpServerId:service-id AND (displayName:planner OR
+     * displayName:booking)` to find MCP Servers whose MCP Server ID contains
+     * `service-id` and whose display name contains `planner` or
+     * `booking`.
+     * 
+ * + * string search_string = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for searchString. + */ + public com.google.protobuf.ByteString getSearchStringBytes() { + java.lang.Object ref = searchString_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + searchString_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. Search criteria used to select the MCP Servers to return. If no
+     * search criteria is specified then all accessible MCP Servers will be
+     * returned.
+     *
+     * Search expressions can be used to restrict results based upon searchable
+     * fields, where the operators can be used along with the suffix wildcard
+     * symbol `*`. See
+     * [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools)
+     * for more details.
+     *
+     * Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`.
+     *
+     * Searchable fields:
+     *
+     * | Field              | `=` | `:` | `*` | Keyword Search |
+     * |--------------------|-----|-----|-----|----------------|
+     * | mcpServerId        | Yes | Yes | Yes | Included       |
+     * | name               | No  | Yes | Yes | Included       |
+     * | displayName        | No  | Yes | Yes | Included       |
+     *
+     * Examples:
+     *
+     * * `mcpServerId="urn:mcp:projects-123:projects:123:locations:us-central1:agentregistry:services:service-id"`
+     * to find the MCP Server with the specified MCP Server ID.
+     * * `name:important` to find MCP Servers whose name contains `important` as a
+     * word.
+     * * `displayName:works*` to find MCP Servers whose display name contains
+     * words that start with `works`.
+     * * `planner OR booking` to find MCP Servers whose metadata contains the
+     * words `planner` or `booking`.
+     * * `mcpServerId:service-id AND (displayName:planner OR
+     * displayName:booking)` to find MCP Servers whose MCP Server ID contains
+     * `service-id` and whose display name contains `planner` or
+     * `booking`.
+     * 
+ * + * string search_string = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The searchString to set. + * @return This builder for chaining. + */ + public Builder setSearchString(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + searchString_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Search criteria used to select the MCP Servers to return. If no
+     * search criteria is specified then all accessible MCP Servers will be
+     * returned.
+     *
+     * Search expressions can be used to restrict results based upon searchable
+     * fields, where the operators can be used along with the suffix wildcard
+     * symbol `*`. See
+     * [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools)
+     * for more details.
+     *
+     * Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`.
+     *
+     * Searchable fields:
+     *
+     * | Field              | `=` | `:` | `*` | Keyword Search |
+     * |--------------------|-----|-----|-----|----------------|
+     * | mcpServerId        | Yes | Yes | Yes | Included       |
+     * | name               | No  | Yes | Yes | Included       |
+     * | displayName        | No  | Yes | Yes | Included       |
+     *
+     * Examples:
+     *
+     * * `mcpServerId="urn:mcp:projects-123:projects:123:locations:us-central1:agentregistry:services:service-id"`
+     * to find the MCP Server with the specified MCP Server ID.
+     * * `name:important` to find MCP Servers whose name contains `important` as a
+     * word.
+     * * `displayName:works*` to find MCP Servers whose display name contains
+     * words that start with `works`.
+     * * `planner OR booking` to find MCP Servers whose metadata contains the
+     * words `planner` or `booking`.
+     * * `mcpServerId:service-id AND (displayName:planner OR
+     * displayName:booking)` to find MCP Servers whose MCP Server ID contains
+     * `service-id` and whose display name contains `planner` or
+     * `booking`.
+     * 
+ * + * string search_string = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearSearchString() { + searchString_ = getDefaultInstance().getSearchString(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Search criteria used to select the MCP Servers to return. If no
+     * search criteria is specified then all accessible MCP Servers will be
+     * returned.
+     *
+     * Search expressions can be used to restrict results based upon searchable
+     * fields, where the operators can be used along with the suffix wildcard
+     * symbol `*`. See
+     * [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools)
+     * for more details.
+     *
+     * Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`.
+     *
+     * Searchable fields:
+     *
+     * | Field              | `=` | `:` | `*` | Keyword Search |
+     * |--------------------|-----|-----|-----|----------------|
+     * | mcpServerId        | Yes | Yes | Yes | Included       |
+     * | name               | No  | Yes | Yes | Included       |
+     * | displayName        | No  | Yes | Yes | Included       |
+     *
+     * Examples:
+     *
+     * * `mcpServerId="urn:mcp:projects-123:projects:123:locations:us-central1:agentregistry:services:service-id"`
+     * to find the MCP Server with the specified MCP Server ID.
+     * * `name:important` to find MCP Servers whose name contains `important` as a
+     * word.
+     * * `displayName:works*` to find MCP Servers whose display name contains
+     * words that start with `works`.
+     * * `planner OR booking` to find MCP Servers whose metadata contains the
+     * words `planner` or `booking`.
+     * * `mcpServerId:service-id AND (displayName:planner OR
+     * displayName:booking)` to find MCP Servers whose MCP Server ID contains
+     * `service-id` and whose display name contains `planner` or
+     * `booking`.
+     * 
+ * + * string search_string = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for searchString to set. + * @return This builder for chaining. + */ + public Builder setSearchStringBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + searchString_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private int pageSize_; + + /** + * + * + *
+     * Optional. The maximum number of search results to return per page. The page
+     * size is capped at `100`, even if a larger value is specified. A negative
+     * value will result in an `INVALID_ARGUMENT` error. If unspecified or set to
+     * `0`, a default value of `20` will be used. The server may return fewer
+     * results than requested.
+     * 
+ * + * int32 page_size = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + /** + * + * + *
+     * Optional. The maximum number of search results to return per page. The page
+     * size is capped at `100`, even if a larger value is specified. A negative
+     * value will result in an `INVALID_ARGUMENT` error. If unspecified or set to
+     * `0`, a default value of `20` will be used. The server may return fewer
+     * results than requested.
+     * 
+ * + * int32 page_size = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageSize to set. + * @return This builder for chaining. + */ + public Builder setPageSize(int value) { + + pageSize_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The maximum number of search results to return per page. The page
+     * size is capped at `100`, even if a larger value is specified. A negative
+     * value will result in an `INVALID_ARGUMENT` error. If unspecified or set to
+     * `0`, a default value of `20` will be used. The server may return fewer
+     * results than requested.
+     * 
+ * + * int32 page_size = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageSize() { + bitField0_ = (bitField0_ & ~0x00000004); + pageSize_ = 0; + onChanged(); + return this; + } + + private java.lang.Object pageToken_ = ""; + + /** + * + * + *
+     * Optional. If present, retrieve the next batch of results from the preceding
+     * call to this method. `page_token` must 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.
+     * 
+ * + * string page_token = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. If present, retrieve the next batch of results from the preceding
+     * call to this method. `page_token` must 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.
+     * 
+ * + * string page_token = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. If present, retrieve the next batch of results from the preceding
+     * call to this method. `page_token` must 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.
+     * 
+ * + * string page_token = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + pageToken_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. If present, retrieve the next batch of results from the preceding
+     * call to this method. `page_token` must 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.
+     * 
+ * + * string page_token = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageToken() { + pageToken_ = getDefaultInstance().getPageToken(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. If present, retrieve the next batch of results from the preceding
+     * call to this method. `page_token` must 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.
+     * 
+ * + * string page_token = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + pageToken_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.SearchMcpServersRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.SearchMcpServersRequest) + private static final com.google.cloud.agentregistry.v1.SearchMcpServersRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.SearchMcpServersRequest(); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SearchMcpServersRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.SearchMcpServersRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchMcpServersRequestOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchMcpServersRequestOrBuilder.java new file mode 100644 index 000000000000..1b9b28ada89d --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchMcpServersRequestOrBuilder.java @@ -0,0 +1,201 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface SearchMcpServersRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.SearchMcpServersRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Parent value for SearchMcpServersRequest. Format:
+   * `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + + /** + * + * + *
+   * Required. Parent value for SearchMcpServersRequest. Format:
+   * `projects/{project}/locations/{location}`.
+   * 
+ * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * Optional. Search criteria used to select the MCP Servers to return. If no
+   * search criteria is specified then all accessible MCP Servers will be
+   * returned.
+   *
+   * Search expressions can be used to restrict results based upon searchable
+   * fields, where the operators can be used along with the suffix wildcard
+   * symbol `*`. See
+   * [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools)
+   * for more details.
+   *
+   * Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`.
+   *
+   * Searchable fields:
+   *
+   * | Field              | `=` | `:` | `*` | Keyword Search |
+   * |--------------------|-----|-----|-----|----------------|
+   * | mcpServerId        | Yes | Yes | Yes | Included       |
+   * | name               | No  | Yes | Yes | Included       |
+   * | displayName        | No  | Yes | Yes | Included       |
+   *
+   * Examples:
+   *
+   * * `mcpServerId="urn:mcp:projects-123:projects:123:locations:us-central1:agentregistry:services:service-id"`
+   * to find the MCP Server with the specified MCP Server ID.
+   * * `name:important` to find MCP Servers whose name contains `important` as a
+   * word.
+   * * `displayName:works*` to find MCP Servers whose display name contains
+   * words that start with `works`.
+   * * `planner OR booking` to find MCP Servers whose metadata contains the
+   * words `planner` or `booking`.
+   * * `mcpServerId:service-id AND (displayName:planner OR
+   * displayName:booking)` to find MCP Servers whose MCP Server ID contains
+   * `service-id` and whose display name contains `planner` or
+   * `booking`.
+   * 
+ * + * string search_string = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The searchString. + */ + java.lang.String getSearchString(); + + /** + * + * + *
+   * Optional. Search criteria used to select the MCP Servers to return. If no
+   * search criteria is specified then all accessible MCP Servers will be
+   * returned.
+   *
+   * Search expressions can be used to restrict results based upon searchable
+   * fields, where the operators can be used along with the suffix wildcard
+   * symbol `*`. See
+   * [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools)
+   * for more details.
+   *
+   * Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`.
+   *
+   * Searchable fields:
+   *
+   * | Field              | `=` | `:` | `*` | Keyword Search |
+   * |--------------------|-----|-----|-----|----------------|
+   * | mcpServerId        | Yes | Yes | Yes | Included       |
+   * | name               | No  | Yes | Yes | Included       |
+   * | displayName        | No  | Yes | Yes | Included       |
+   *
+   * Examples:
+   *
+   * * `mcpServerId="urn:mcp:projects-123:projects:123:locations:us-central1:agentregistry:services:service-id"`
+   * to find the MCP Server with the specified MCP Server ID.
+   * * `name:important` to find MCP Servers whose name contains `important` as a
+   * word.
+   * * `displayName:works*` to find MCP Servers whose display name contains
+   * words that start with `works`.
+   * * `planner OR booking` to find MCP Servers whose metadata contains the
+   * words `planner` or `booking`.
+   * * `mcpServerId:service-id AND (displayName:planner OR
+   * displayName:booking)` to find MCP Servers whose MCP Server ID contains
+   * `service-id` and whose display name contains `planner` or
+   * `booking`.
+   * 
+ * + * string search_string = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for searchString. + */ + com.google.protobuf.ByteString getSearchStringBytes(); + + /** + * + * + *
+   * Optional. The maximum number of search results to return per page. The page
+   * size is capped at `100`, even if a larger value is specified. A negative
+   * value will result in an `INVALID_ARGUMENT` error. If unspecified or set to
+   * `0`, a default value of `20` will be used. The server may return fewer
+   * results than requested.
+   * 
+ * + * int32 page_size = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + int getPageSize(); + + /** + * + * + *
+   * Optional. If present, retrieve the next batch of results from the preceding
+   * call to this method. `page_token` must 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.
+   * 
+ * + * string page_token = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + java.lang.String getPageToken(); + + /** + * + * + *
+   * Optional. If present, retrieve the next batch of results from the preceding
+   * call to this method. `page_token` must 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.
+   * 
+ * + * string page_token = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + com.google.protobuf.ByteString getPageTokenBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchMcpServersResponse.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchMcpServersResponse.java new file mode 100644 index 000000000000..afa794bfbf76 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchMcpServersResponse.java @@ -0,0 +1,1128 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for response to searching MCP Servers
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.SearchMcpServersResponse} + */ +@com.google.protobuf.Generated +public final class SearchMcpServersResponse extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.SearchMcpServersResponse) + SearchMcpServersResponseOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "SearchMcpServersResponse"); + } + + // Use SearchMcpServersResponse.newBuilder() to construct. + private SearchMcpServersResponse(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private SearchMcpServersResponse() { + mcpServers_ = java.util.Collections.emptyList(); + nextPageToken_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_SearchMcpServersResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_SearchMcpServersResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.SearchMcpServersResponse.class, + com.google.cloud.agentregistry.v1.SearchMcpServersResponse.Builder.class); + } + + public static final int MCP_SERVERS_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List mcpServers_; + + /** + * + * + *
+   * A list of McpServers that match the `search_string`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + @java.lang.Override + public java.util.List getMcpServersList() { + return mcpServers_; + } + + /** + * + * + *
+   * A list of McpServers that match the `search_string`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + @java.lang.Override + public java.util.List + getMcpServersOrBuilderList() { + return mcpServers_; + } + + /** + * + * + *
+   * A list of McpServers that match the `search_string`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + @java.lang.Override + public int getMcpServersCount() { + return mcpServers_.size(); + } + + /** + * + * + *
+   * A list of McpServers that match the `search_string`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.McpServer getMcpServers(int index) { + return mcpServers_.get(index); + } + + /** + * + * + *
+   * A list of McpServers that match the `search_string`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.McpServerOrBuilder getMcpServersOrBuilder(int index) { + return mcpServers_.get(index); + } + + public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+   * If there are more results than those appearing in this response, then
+   * `next_page_token` is included. To get the next set of results, call this
+   * method again using the value of `next_page_token` as `page_token`.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + @java.lang.Override + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } + } + + /** + * + * + *
+   * If there are more results than those appearing in this response, then
+   * `next_page_token` is included. To get the next set of results, call this
+   * method again using the value of `next_page_token` as `page_token`.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + for (int i = 0; i < mcpServers_.size(); i++) { + output.writeMessage(1, mcpServers_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, nextPageToken_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < mcpServers_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, mcpServers_.get(i)); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(nextPageToken_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, nextPageToken_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.SearchMcpServersResponse)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.SearchMcpServersResponse other = + (com.google.cloud.agentregistry.v1.SearchMcpServersResponse) obj; + + if (!getMcpServersList().equals(other.getMcpServersList())) return false; + if (!getNextPageToken().equals(other.getNextPageToken())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getMcpServersCount() > 0) { + hash = (37 * hash) + MCP_SERVERS_FIELD_NUMBER; + hash = (53 * hash) + getMcpServersList().hashCode(); + } + hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getNextPageToken().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersResponse parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersResponse parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersResponse parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersResponse parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersResponse parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersResponse parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersResponse parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersResponse parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.SearchMcpServersResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for response to searching MCP Servers
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.SearchMcpServersResponse} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.SearchMcpServersResponse) + com.google.cloud.agentregistry.v1.SearchMcpServersResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_SearchMcpServersResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_SearchMcpServersResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.SearchMcpServersResponse.class, + com.google.cloud.agentregistry.v1.SearchMcpServersResponse.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.SearchMcpServersResponse.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (mcpServersBuilder_ == null) { + mcpServers_ = java.util.Collections.emptyList(); + } else { + mcpServers_ = null; + mcpServersBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + nextPageToken_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_SearchMcpServersResponse_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.SearchMcpServersResponse getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.SearchMcpServersResponse.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.SearchMcpServersResponse build() { + com.google.cloud.agentregistry.v1.SearchMcpServersResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.SearchMcpServersResponse buildPartial() { + com.google.cloud.agentregistry.v1.SearchMcpServersResponse result = + new com.google.cloud.agentregistry.v1.SearchMcpServersResponse(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields( + com.google.cloud.agentregistry.v1.SearchMcpServersResponse result) { + if (mcpServersBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + mcpServers_ = java.util.Collections.unmodifiableList(mcpServers_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.mcpServers_ = mcpServers_; + } else { + result.mcpServers_ = mcpServersBuilder_.build(); + } + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.SearchMcpServersResponse result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.nextPageToken_ = nextPageToken_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.SearchMcpServersResponse) { + return mergeFrom((com.google.cloud.agentregistry.v1.SearchMcpServersResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.SearchMcpServersResponse other) { + if (other == com.google.cloud.agentregistry.v1.SearchMcpServersResponse.getDefaultInstance()) + return this; + if (mcpServersBuilder_ == null) { + if (!other.mcpServers_.isEmpty()) { + if (mcpServers_.isEmpty()) { + mcpServers_ = other.mcpServers_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureMcpServersIsMutable(); + mcpServers_.addAll(other.mcpServers_); + } + onChanged(); + } + } else { + if (!other.mcpServers_.isEmpty()) { + if (mcpServersBuilder_.isEmpty()) { + mcpServersBuilder_.dispose(); + mcpServersBuilder_ = null; + mcpServers_ = other.mcpServers_; + bitField0_ = (bitField0_ & ~0x00000001); + mcpServersBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetMcpServersFieldBuilder() + : null; + } else { + mcpServersBuilder_.addAllMessages(other.mcpServers_); + } + } + } + if (!other.getNextPageToken().isEmpty()) { + nextPageToken_ = other.nextPageToken_; + bitField0_ |= 0x00000002; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + com.google.cloud.agentregistry.v1.McpServer m = + input.readMessage( + com.google.cloud.agentregistry.v1.McpServer.parser(), extensionRegistry); + if (mcpServersBuilder_ == null) { + ensureMcpServersIsMutable(); + mcpServers_.add(m); + } else { + mcpServersBuilder_.addMessage(m); + } + break; + } // case 10 + case 18: + { + nextPageToken_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.util.List mcpServers_ = + java.util.Collections.emptyList(); + + private void ensureMcpServersIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + mcpServers_ = + new java.util.ArrayList(mcpServers_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.McpServer, + com.google.cloud.agentregistry.v1.McpServer.Builder, + com.google.cloud.agentregistry.v1.McpServerOrBuilder> + mcpServersBuilder_; + + /** + * + * + *
+     * A list of McpServers that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public java.util.List getMcpServersList() { + if (mcpServersBuilder_ == null) { + return java.util.Collections.unmodifiableList(mcpServers_); + } else { + return mcpServersBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * A list of McpServers that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public int getMcpServersCount() { + if (mcpServersBuilder_ == null) { + return mcpServers_.size(); + } else { + return mcpServersBuilder_.getCount(); + } + } + + /** + * + * + *
+     * A list of McpServers that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public com.google.cloud.agentregistry.v1.McpServer getMcpServers(int index) { + if (mcpServersBuilder_ == null) { + return mcpServers_.get(index); + } else { + return mcpServersBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * A list of McpServers that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public Builder setMcpServers(int index, com.google.cloud.agentregistry.v1.McpServer value) { + if (mcpServersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureMcpServersIsMutable(); + mcpServers_.set(index, value); + onChanged(); + } else { + mcpServersBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * A list of McpServers that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public Builder setMcpServers( + int index, com.google.cloud.agentregistry.v1.McpServer.Builder builderForValue) { + if (mcpServersBuilder_ == null) { + ensureMcpServersIsMutable(); + mcpServers_.set(index, builderForValue.build()); + onChanged(); + } else { + mcpServersBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * A list of McpServers that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public Builder addMcpServers(com.google.cloud.agentregistry.v1.McpServer value) { + if (mcpServersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureMcpServersIsMutable(); + mcpServers_.add(value); + onChanged(); + } else { + mcpServersBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * A list of McpServers that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public Builder addMcpServers(int index, com.google.cloud.agentregistry.v1.McpServer value) { + if (mcpServersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureMcpServersIsMutable(); + mcpServers_.add(index, value); + onChanged(); + } else { + mcpServersBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * A list of McpServers that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public Builder addMcpServers( + com.google.cloud.agentregistry.v1.McpServer.Builder builderForValue) { + if (mcpServersBuilder_ == null) { + ensureMcpServersIsMutable(); + mcpServers_.add(builderForValue.build()); + onChanged(); + } else { + mcpServersBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * A list of McpServers that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public Builder addMcpServers( + int index, com.google.cloud.agentregistry.v1.McpServer.Builder builderForValue) { + if (mcpServersBuilder_ == null) { + ensureMcpServersIsMutable(); + mcpServers_.add(index, builderForValue.build()); + onChanged(); + } else { + mcpServersBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * A list of McpServers that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public Builder addAllMcpServers( + java.lang.Iterable values) { + if (mcpServersBuilder_ == null) { + ensureMcpServersIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, mcpServers_); + onChanged(); + } else { + mcpServersBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * A list of McpServers that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public Builder clearMcpServers() { + if (mcpServersBuilder_ == null) { + mcpServers_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + mcpServersBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * A list of McpServers that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public Builder removeMcpServers(int index) { + if (mcpServersBuilder_ == null) { + ensureMcpServersIsMutable(); + mcpServers_.remove(index); + onChanged(); + } else { + mcpServersBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * A list of McpServers that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public com.google.cloud.agentregistry.v1.McpServer.Builder getMcpServersBuilder(int index) { + return internalGetMcpServersFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * A list of McpServers that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public com.google.cloud.agentregistry.v1.McpServerOrBuilder getMcpServersOrBuilder(int index) { + if (mcpServersBuilder_ == null) { + return mcpServers_.get(index); + } else { + return mcpServersBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * A list of McpServers that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public java.util.List + getMcpServersOrBuilderList() { + if (mcpServersBuilder_ != null) { + return mcpServersBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(mcpServers_); + } + } + + /** + * + * + *
+     * A list of McpServers that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public com.google.cloud.agentregistry.v1.McpServer.Builder addMcpServersBuilder() { + return internalGetMcpServersFieldBuilder() + .addBuilder(com.google.cloud.agentregistry.v1.McpServer.getDefaultInstance()); + } + + /** + * + * + *
+     * A list of McpServers that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public com.google.cloud.agentregistry.v1.McpServer.Builder addMcpServersBuilder(int index) { + return internalGetMcpServersFieldBuilder() + .addBuilder(index, com.google.cloud.agentregistry.v1.McpServer.getDefaultInstance()); + } + + /** + * + * + *
+     * A list of McpServers that match the `search_string`.
+     * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + public java.util.List + getMcpServersBuilderList() { + return internalGetMcpServersFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.McpServer, + com.google.cloud.agentregistry.v1.McpServer.Builder, + com.google.cloud.agentregistry.v1.McpServerOrBuilder> + internalGetMcpServersFieldBuilder() { + if (mcpServersBuilder_ == null) { + mcpServersBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.McpServer, + com.google.cloud.agentregistry.v1.McpServer.Builder, + com.google.cloud.agentregistry.v1.McpServerOrBuilder>( + mcpServers_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); + mcpServers_ = null; + } + return mcpServersBuilder_; + } + + private java.lang.Object nextPageToken_ = ""; + + /** + * + * + *
+     * If there are more results than those appearing in this response, then
+     * `next_page_token` is included. To get the next set of results, call this
+     * method again using the value of `next_page_token` as `page_token`.
+     * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * If there are more results than those appearing in this response, then
+     * `next_page_token` is included. To get the next set of results, call this
+     * method again using the value of `next_page_token` as `page_token`.
+     * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * If there are more results than those appearing in this response, then
+     * `next_page_token` is included. To get the next set of results, call this
+     * method again using the value of `next_page_token` as `page_token`.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * If there are more results than those appearing in this response, then
+     * `next_page_token` is included. To get the next set of results, call this
+     * method again using the value of `next_page_token` as `page_token`.
+     * 
+ * + * string next_page_token = 2; + * + * @return This builder for chaining. + */ + public Builder clearNextPageToken() { + nextPageToken_ = getDefaultInstance().getNextPageToken(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * + * + *
+     * If there are more results than those appearing in this response, then
+     * `next_page_token` is included. To get the next set of results, call this
+     * method again using the value of `next_page_token` as `page_token`.
+     * 
+ * + * string next_page_token = 2; + * + * @param value The bytes for nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + nextPageToken_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.SearchMcpServersResponse) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.SearchMcpServersResponse) + private static final com.google.cloud.agentregistry.v1.SearchMcpServersResponse DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.SearchMcpServersResponse(); + } + + public static com.google.cloud.agentregistry.v1.SearchMcpServersResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SearchMcpServersResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.SearchMcpServersResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchMcpServersResponseOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchMcpServersResponseOrBuilder.java new file mode 100644 index 000000000000..ad4c125ca2f1 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/SearchMcpServersResponseOrBuilder.java @@ -0,0 +1,114 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface SearchMcpServersResponseOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.SearchMcpServersResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * A list of McpServers that match the `search_string`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + java.util.List getMcpServersList(); + + /** + * + * + *
+   * A list of McpServers that match the `search_string`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + com.google.cloud.agentregistry.v1.McpServer getMcpServers(int index); + + /** + * + * + *
+   * A list of McpServers that match the `search_string`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + int getMcpServersCount(); + + /** + * + * + *
+   * A list of McpServers that match the `search_string`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + java.util.List + getMcpServersOrBuilderList(); + + /** + * + * + *
+   * A list of McpServers that match the `search_string`.
+   * 
+ * + * repeated .google.cloud.agentregistry.v1.McpServer mcp_servers = 1; + */ + com.google.cloud.agentregistry.v1.McpServerOrBuilder getMcpServersOrBuilder(int index); + + /** + * + * + *
+   * If there are more results than those appearing in this response, then
+   * `next_page_token` is included. To get the next set of results, call this
+   * method again using the value of `next_page_token` as `page_token`.
+   * 
+ * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + java.lang.String getNextPageToken(); + + /** + * + * + *
+   * If there are more results than those appearing in this response, then
+   * `next_page_token` is included. To get the next set of results, call this
+   * method again using the value of `next_page_token` as `page_token`.
+   * 
+ * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + com.google.protobuf.ByteString getNextPageTokenBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/Service.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/Service.java new file mode 100644 index 000000000000..1f1c5a062eaf --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/Service.java @@ -0,0 +1,6841 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Represents a user-defined Service.
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Service} + */ +@com.google.protobuf.Generated +public final class Service extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.Service) + ServiceOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Service"); + } + + // Use Service.newBuilder() to construct. + private Service(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private Service() { + name_ = ""; + displayName_ = ""; + description_ = ""; + interfaces_ = java.util.Collections.emptyList(); + registryResource_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.ServiceProto + .internal_static_google_cloud_agentregistry_v1_Service_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.ServiceProto + .internal_static_google_cloud_agentregistry_v1_Service_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Service.class, + com.google.cloud.agentregistry.v1.Service.Builder.class); + } + + public interface AgentSpecOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.Service.AgentSpec) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * Required. The type of the agent spec content.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for type. + */ + int getTypeValue(); + + /** + * + * + *
+     * Required. The type of the agent spec content.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The type. + */ + com.google.cloud.agentregistry.v1.Service.AgentSpec.Type getType(); + + /** + * + * + *
+     * Optional. The content of the Agent spec in the JSON format.
+     * This payload is validated against the schema for the specified type.
+     * The content size is limited to `10KB`.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the content field is set. + */ + boolean hasContent(); + + /** + * + * + *
+     * Optional. The content of the Agent spec in the JSON format.
+     * This payload is validated against the schema for the specified type.
+     * The content size is limited to `10KB`.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The content. + */ + com.google.protobuf.Struct getContent(); + + /** + * + * + *
+     * Optional. The content of the Agent spec in the JSON format.
+     * This payload is validated against the schema for the specified type.
+     * The content size is limited to `10KB`.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + com.google.protobuf.StructOrBuilder getContentOrBuilder(); + } + + /** + * + * + *
+   * The spec of the agent.
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Service.AgentSpec} + */ + public static final class AgentSpec extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.Service.AgentSpec) + AgentSpecOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "AgentSpec"); + } + + // Use AgentSpec.newBuilder() to construct. + private AgentSpec(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private AgentSpec() { + type_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.ServiceProto + .internal_static_google_cloud_agentregistry_v1_Service_AgentSpec_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.ServiceProto + .internal_static_google_cloud_agentregistry_v1_Service_AgentSpec_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Service.AgentSpec.class, + com.google.cloud.agentregistry.v1.Service.AgentSpec.Builder.class); + } + + /** + * + * + *
+     * The type of the agent spec.
+     * 
+ * + * Protobuf enum {@code google.cloud.agentregistry.v1.Service.AgentSpec.Type} + */ + public enum Type implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+       * Unspecified type.
+       * 
+ * + * TYPE_UNSPECIFIED = 0; + */ + TYPE_UNSPECIFIED(0), + /** + * + * + *
+       * There is no spec for the Agent. The `content` field must be empty.
+       * 
+ * + * NO_SPEC = 1; + */ + NO_SPEC(1), + /** + * + * + *
+       * The content is an A2A Agent Card following the A2A specification.
+       * The `interfaces` field must be empty.
+       * 
+ * + * A2A_AGENT_CARD = 2; + */ + A2A_AGENT_CARD(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Type"); + } + + /** + * + * + *
+       * Unspecified type.
+       * 
+ * + * TYPE_UNSPECIFIED = 0; + */ + public static final int TYPE_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+       * There is no spec for the Agent. The `content` field must be empty.
+       * 
+ * + * NO_SPEC = 1; + */ + public static final int NO_SPEC_VALUE = 1; + + /** + * + * + *
+       * The content is an A2A Agent Card following the A2A specification.
+       * The `interfaces` field must be empty.
+       * 
+ * + * A2A_AGENT_CARD = 2; + */ + public static final int A2A_AGENT_CARD_VALUE = 2; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static Type valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static Type forNumber(int value) { + switch (value) { + case 0: + return TYPE_UNSPECIFIED; + case 1: + return NO_SPEC; + case 2: + return A2A_AGENT_CARD; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Type findValueByNumber(int number) { + return Type.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.Service.AgentSpec.getDescriptor() + .getEnumTypes() + .get(0); + } + + private static final Type[] VALUES = values(); + + public static Type valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private Type(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.agentregistry.v1.Service.AgentSpec.Type) + } + + private int bitField0_; + public static final int TYPE_FIELD_NUMBER = 1; + private int type_ = 0; + + /** + * + * + *
+     * Required. The type of the agent spec content.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for type. + */ + @java.lang.Override + public int getTypeValue() { + return type_; + } + + /** + * + * + *
+     * Required. The type of the agent spec content.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The type. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.AgentSpec.Type getType() { + com.google.cloud.agentregistry.v1.Service.AgentSpec.Type result = + com.google.cloud.agentregistry.v1.Service.AgentSpec.Type.forNumber(type_); + return result == null + ? com.google.cloud.agentregistry.v1.Service.AgentSpec.Type.UNRECOGNIZED + : result; + } + + public static final int CONTENT_FIELD_NUMBER = 2; + private com.google.protobuf.Struct content_; + + /** + * + * + *
+     * Optional. The content of the Agent spec in the JSON format.
+     * This payload is validated against the schema for the specified type.
+     * The content size is limited to `10KB`.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the content field is set. + */ + @java.lang.Override + public boolean hasContent() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Optional. The content of the Agent spec in the JSON format.
+     * This payload is validated against the schema for the specified type.
+     * The content size is limited to `10KB`.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The content. + */ + @java.lang.Override + public com.google.protobuf.Struct getContent() { + return content_ == null ? com.google.protobuf.Struct.getDefaultInstance() : content_; + } + + /** + * + * + *
+     * Optional. The content of the Agent spec in the JSON format.
+     * This payload is validated against the schema for the specified type.
+     * The content size is limited to `10KB`.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + @java.lang.Override + public com.google.protobuf.StructOrBuilder getContentOrBuilder() { + return content_ == null ? com.google.protobuf.Struct.getDefaultInstance() : content_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (type_ + != com.google.cloud.agentregistry.v1.Service.AgentSpec.Type.TYPE_UNSPECIFIED + .getNumber()) { + output.writeEnum(1, type_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getContent()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (type_ + != com.google.cloud.agentregistry.v1.Service.AgentSpec.Type.TYPE_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(1, type_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getContent()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.Service.AgentSpec)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.Service.AgentSpec other = + (com.google.cloud.agentregistry.v1.Service.AgentSpec) obj; + + if (type_ != other.type_) return false; + if (hasContent() != other.hasContent()) return false; + if (hasContent()) { + if (!getContent().equals(other.getContent())) return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + TYPE_FIELD_NUMBER; + hash = (53 * hash) + type_; + if (hasContent()) { + hash = (37 * hash) + CONTENT_FIELD_NUMBER; + hash = (53 * hash) + getContent().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.Service.AgentSpec parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Service.AgentSpec parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Service.AgentSpec parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Service.AgentSpec parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Service.AgentSpec parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Service.AgentSpec parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Service.AgentSpec parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Service.AgentSpec parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Service.AgentSpec parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Service.AgentSpec parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Service.AgentSpec parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Service.AgentSpec parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.Service.AgentSpec prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+     * The spec of the agent.
+     * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Service.AgentSpec} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.Service.AgentSpec) + com.google.cloud.agentregistry.v1.Service.AgentSpecOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.ServiceProto + .internal_static_google_cloud_agentregistry_v1_Service_AgentSpec_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.ServiceProto + .internal_static_google_cloud_agentregistry_v1_Service_AgentSpec_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Service.AgentSpec.class, + com.google.cloud.agentregistry.v1.Service.AgentSpec.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.Service.AgentSpec.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetContentFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + type_ = 0; + content_ = null; + if (contentBuilder_ != null) { + contentBuilder_.dispose(); + contentBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.ServiceProto + .internal_static_google_cloud_agentregistry_v1_Service_AgentSpec_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.AgentSpec getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.Service.AgentSpec.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.AgentSpec build() { + com.google.cloud.agentregistry.v1.Service.AgentSpec result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.AgentSpec buildPartial() { + com.google.cloud.agentregistry.v1.Service.AgentSpec result = + new com.google.cloud.agentregistry.v1.Service.AgentSpec(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.Service.AgentSpec result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.type_ = type_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.content_ = contentBuilder_ == null ? content_ : contentBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.Service.AgentSpec) { + return mergeFrom((com.google.cloud.agentregistry.v1.Service.AgentSpec) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.Service.AgentSpec other) { + if (other == com.google.cloud.agentregistry.v1.Service.AgentSpec.getDefaultInstance()) + return this; + if (other.type_ != 0) { + setTypeValue(other.getTypeValue()); + } + if (other.hasContent()) { + mergeContent(other.getContent()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: + { + type_ = input.readEnum(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 18: + { + input.readMessage( + internalGetContentFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private int type_ = 0; + + /** + * + * + *
+       * Required. The type of the agent spec content.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for type. + */ + @java.lang.Override + public int getTypeValue() { + return type_; + } + + /** + * + * + *
+       * Required. The type of the agent spec content.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @param value The enum numeric value on the wire for type to set. + * @return This builder for chaining. + */ + public Builder setTypeValue(int value) { + type_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+       * Required. The type of the agent spec content.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The type. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.AgentSpec.Type getType() { + com.google.cloud.agentregistry.v1.Service.AgentSpec.Type result = + com.google.cloud.agentregistry.v1.Service.AgentSpec.Type.forNumber(type_); + return result == null + ? com.google.cloud.agentregistry.v1.Service.AgentSpec.Type.UNRECOGNIZED + : result; + } + + /** + * + * + *
+       * Required. The type of the agent spec content.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @param value The type to set. + * @return This builder for chaining. + */ + public Builder setType(com.google.cloud.agentregistry.v1.Service.AgentSpec.Type value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + type_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+       * Required. The type of the agent spec content.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return This builder for chaining. + */ + public Builder clearType() { + bitField0_ = (bitField0_ & ~0x00000001); + type_ = 0; + onChanged(); + return this; + } + + private com.google.protobuf.Struct content_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Struct, + com.google.protobuf.Struct.Builder, + com.google.protobuf.StructOrBuilder> + contentBuilder_; + + /** + * + * + *
+       * Optional. The content of the Agent spec in the JSON format.
+       * This payload is validated against the schema for the specified type.
+       * The content size is limited to `10KB`.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the content field is set. + */ + public boolean hasContent() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+       * Optional. The content of the Agent spec in the JSON format.
+       * This payload is validated against the schema for the specified type.
+       * The content size is limited to `10KB`.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The content. + */ + public com.google.protobuf.Struct getContent() { + if (contentBuilder_ == null) { + return content_ == null ? com.google.protobuf.Struct.getDefaultInstance() : content_; + } else { + return contentBuilder_.getMessage(); + } + } + + /** + * + * + *
+       * Optional. The content of the Agent spec in the JSON format.
+       * This payload is validated against the schema for the specified type.
+       * The content size is limited to `10KB`.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + public Builder setContent(com.google.protobuf.Struct value) { + if (contentBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + content_ = value; + } else { + contentBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The content of the Agent spec in the JSON format.
+       * This payload is validated against the schema for the specified type.
+       * The content size is limited to `10KB`.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + public Builder setContent(com.google.protobuf.Struct.Builder builderForValue) { + if (contentBuilder_ == null) { + content_ = builderForValue.build(); + } else { + contentBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The content of the Agent spec in the JSON format.
+       * This payload is validated against the schema for the specified type.
+       * The content size is limited to `10KB`.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + public Builder mergeContent(com.google.protobuf.Struct value) { + if (contentBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && content_ != null + && content_ != com.google.protobuf.Struct.getDefaultInstance()) { + getContentBuilder().mergeFrom(value); + } else { + content_ = value; + } + } else { + contentBuilder_.mergeFrom(value); + } + if (content_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+       * Optional. The content of the Agent spec in the JSON format.
+       * This payload is validated against the schema for the specified type.
+       * The content size is limited to `10KB`.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + public Builder clearContent() { + bitField0_ = (bitField0_ & ~0x00000002); + content_ = null; + if (contentBuilder_ != null) { + contentBuilder_.dispose(); + contentBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The content of the Agent spec in the JSON format.
+       * This payload is validated against the schema for the specified type.
+       * The content size is limited to `10KB`.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + public com.google.protobuf.Struct.Builder getContentBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetContentFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Optional. The content of the Agent spec in the JSON format.
+       * This payload is validated against the schema for the specified type.
+       * The content size is limited to `10KB`.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + public com.google.protobuf.StructOrBuilder getContentOrBuilder() { + if (contentBuilder_ != null) { + return contentBuilder_.getMessageOrBuilder(); + } else { + return content_ == null ? com.google.protobuf.Struct.getDefaultInstance() : content_; + } + } + + /** + * + * + *
+       * Optional. The content of the Agent spec in the JSON format.
+       * This payload is validated against the schema for the specified type.
+       * The content size is limited to `10KB`.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Struct, + com.google.protobuf.Struct.Builder, + com.google.protobuf.StructOrBuilder> + internalGetContentFieldBuilder() { + if (contentBuilder_ == null) { + contentBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Struct, + com.google.protobuf.Struct.Builder, + com.google.protobuf.StructOrBuilder>( + getContent(), getParentForChildren(), isClean()); + content_ = null; + } + return contentBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.Service.AgentSpec) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.Service.AgentSpec) + private static final com.google.cloud.agentregistry.v1.Service.AgentSpec DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.Service.AgentSpec(); + } + + public static com.google.cloud.agentregistry.v1.Service.AgentSpec getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public AgentSpec parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.AgentSpec getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface McpServerSpecOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.Service.McpServerSpec) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * Required. The type of the MCP Server spec content.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for type. + */ + int getTypeValue(); + + /** + * + * + *
+     * Required. The type of the MCP Server spec content.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The type. + */ + com.google.cloud.agentregistry.v1.Service.McpServerSpec.Type getType(); + + /** + * + * + *
+     * Optional. The content of the MCP Server spec.
+     * This payload is validated against the schema for the specified type.
+     * The content size is limited to `10KB`.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the content field is set. + */ + boolean hasContent(); + + /** + * + * + *
+     * Optional. The content of the MCP Server spec.
+     * This payload is validated against the schema for the specified type.
+     * The content size is limited to `10KB`.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The content. + */ + com.google.protobuf.Struct getContent(); + + /** + * + * + *
+     * Optional. The content of the MCP Server spec.
+     * This payload is validated against the schema for the specified type.
+     * The content size is limited to `10KB`.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + com.google.protobuf.StructOrBuilder getContentOrBuilder(); + } + + /** + * + * + *
+   * The spec of the MCP Server.
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Service.McpServerSpec} + */ + public static final class McpServerSpec extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.Service.McpServerSpec) + McpServerSpecOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "McpServerSpec"); + } + + // Use McpServerSpec.newBuilder() to construct. + private McpServerSpec(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private McpServerSpec() { + type_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.ServiceProto + .internal_static_google_cloud_agentregistry_v1_Service_McpServerSpec_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.ServiceProto + .internal_static_google_cloud_agentregistry_v1_Service_McpServerSpec_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Service.McpServerSpec.class, + com.google.cloud.agentregistry.v1.Service.McpServerSpec.Builder.class); + } + + /** + * + * + *
+     * The type of the MCP Server spec.
+     * 
+ * + * Protobuf enum {@code google.cloud.agentregistry.v1.Service.McpServerSpec.Type} + */ + public enum Type implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+       * Unspecified type.
+       * 
+ * + * TYPE_UNSPECIFIED = 0; + */ + TYPE_UNSPECIFIED(0), + /** + * + * + *
+       * There is no spec for the MCP Server. The `content` field must be empty.
+       * 
+ * + * NO_SPEC = 1; + */ + NO_SPEC(1), + /** + * + * + *
+       * The content is a MCP Tool Spec following the One MCP specification.
+       * The payload is the same as the `tools/list` response.
+       * 
+ * + * TOOL_SPEC = 2; + */ + TOOL_SPEC(2), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Type"); + } + + /** + * + * + *
+       * Unspecified type.
+       * 
+ * + * TYPE_UNSPECIFIED = 0; + */ + public static final int TYPE_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+       * There is no spec for the MCP Server. The `content` field must be empty.
+       * 
+ * + * NO_SPEC = 1; + */ + public static final int NO_SPEC_VALUE = 1; + + /** + * + * + *
+       * The content is a MCP Tool Spec following the One MCP specification.
+       * The payload is the same as the `tools/list` response.
+       * 
+ * + * TOOL_SPEC = 2; + */ + public static final int TOOL_SPEC_VALUE = 2; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static Type valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static Type forNumber(int value) { + switch (value) { + case 0: + return TYPE_UNSPECIFIED; + case 1: + return NO_SPEC; + case 2: + return TOOL_SPEC; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Type findValueByNumber(int number) { + return Type.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.Service.McpServerSpec.getDescriptor() + .getEnumTypes() + .get(0); + } + + private static final Type[] VALUES = values(); + + public static Type valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private Type(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.agentregistry.v1.Service.McpServerSpec.Type) + } + + private int bitField0_; + public static final int TYPE_FIELD_NUMBER = 1; + private int type_ = 0; + + /** + * + * + *
+     * Required. The type of the MCP Server spec content.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for type. + */ + @java.lang.Override + public int getTypeValue() { + return type_; + } + + /** + * + * + *
+     * Required. The type of the MCP Server spec content.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The type. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.McpServerSpec.Type getType() { + com.google.cloud.agentregistry.v1.Service.McpServerSpec.Type result = + com.google.cloud.agentregistry.v1.Service.McpServerSpec.Type.forNumber(type_); + return result == null + ? com.google.cloud.agentregistry.v1.Service.McpServerSpec.Type.UNRECOGNIZED + : result; + } + + public static final int CONTENT_FIELD_NUMBER = 2; + private com.google.protobuf.Struct content_; + + /** + * + * + *
+     * Optional. The content of the MCP Server spec.
+     * This payload is validated against the schema for the specified type.
+     * The content size is limited to `10KB`.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the content field is set. + */ + @java.lang.Override + public boolean hasContent() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Optional. The content of the MCP Server spec.
+     * This payload is validated against the schema for the specified type.
+     * The content size is limited to `10KB`.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The content. + */ + @java.lang.Override + public com.google.protobuf.Struct getContent() { + return content_ == null ? com.google.protobuf.Struct.getDefaultInstance() : content_; + } + + /** + * + * + *
+     * Optional. The content of the MCP Server spec.
+     * This payload is validated against the schema for the specified type.
+     * The content size is limited to `10KB`.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + @java.lang.Override + public com.google.protobuf.StructOrBuilder getContentOrBuilder() { + return content_ == null ? com.google.protobuf.Struct.getDefaultInstance() : content_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (type_ + != com.google.cloud.agentregistry.v1.Service.McpServerSpec.Type.TYPE_UNSPECIFIED + .getNumber()) { + output.writeEnum(1, type_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getContent()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (type_ + != com.google.cloud.agentregistry.v1.Service.McpServerSpec.Type.TYPE_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(1, type_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getContent()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.Service.McpServerSpec)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.Service.McpServerSpec other = + (com.google.cloud.agentregistry.v1.Service.McpServerSpec) obj; + + if (type_ != other.type_) return false; + if (hasContent() != other.hasContent()) return false; + if (hasContent()) { + if (!getContent().equals(other.getContent())) return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + TYPE_FIELD_NUMBER; + hash = (53 * hash) + type_; + if (hasContent()) { + hash = (37 * hash) + CONTENT_FIELD_NUMBER; + hash = (53 * hash) + getContent().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.Service.McpServerSpec parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Service.McpServerSpec parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Service.McpServerSpec parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Service.McpServerSpec parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Service.McpServerSpec parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Service.McpServerSpec parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Service.McpServerSpec parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Service.McpServerSpec parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Service.McpServerSpec parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Service.McpServerSpec parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Service.McpServerSpec parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Service.McpServerSpec parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.Service.McpServerSpec prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+     * The spec of the MCP Server.
+     * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Service.McpServerSpec} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.Service.McpServerSpec) + com.google.cloud.agentregistry.v1.Service.McpServerSpecOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.ServiceProto + .internal_static_google_cloud_agentregistry_v1_Service_McpServerSpec_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.ServiceProto + .internal_static_google_cloud_agentregistry_v1_Service_McpServerSpec_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Service.McpServerSpec.class, + com.google.cloud.agentregistry.v1.Service.McpServerSpec.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.Service.McpServerSpec.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetContentFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + type_ = 0; + content_ = null; + if (contentBuilder_ != null) { + contentBuilder_.dispose(); + contentBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.ServiceProto + .internal_static_google_cloud_agentregistry_v1_Service_McpServerSpec_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.McpServerSpec getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.Service.McpServerSpec.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.McpServerSpec build() { + com.google.cloud.agentregistry.v1.Service.McpServerSpec result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.McpServerSpec buildPartial() { + com.google.cloud.agentregistry.v1.Service.McpServerSpec result = + new com.google.cloud.agentregistry.v1.Service.McpServerSpec(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.Service.McpServerSpec result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.type_ = type_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.content_ = contentBuilder_ == null ? content_ : contentBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.Service.McpServerSpec) { + return mergeFrom((com.google.cloud.agentregistry.v1.Service.McpServerSpec) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.Service.McpServerSpec other) { + if (other == com.google.cloud.agentregistry.v1.Service.McpServerSpec.getDefaultInstance()) + return this; + if (other.type_ != 0) { + setTypeValue(other.getTypeValue()); + } + if (other.hasContent()) { + mergeContent(other.getContent()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: + { + type_ = input.readEnum(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 18: + { + input.readMessage( + internalGetContentFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private int type_ = 0; + + /** + * + * + *
+       * Required. The type of the MCP Server spec content.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for type. + */ + @java.lang.Override + public int getTypeValue() { + return type_; + } + + /** + * + * + *
+       * Required. The type of the MCP Server spec content.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @param value The enum numeric value on the wire for type to set. + * @return This builder for chaining. + */ + public Builder setTypeValue(int value) { + type_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+       * Required. The type of the MCP Server spec content.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The type. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.McpServerSpec.Type getType() { + com.google.cloud.agentregistry.v1.Service.McpServerSpec.Type result = + com.google.cloud.agentregistry.v1.Service.McpServerSpec.Type.forNumber(type_); + return result == null + ? com.google.cloud.agentregistry.v1.Service.McpServerSpec.Type.UNRECOGNIZED + : result; + } + + /** + * + * + *
+       * Required. The type of the MCP Server spec content.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @param value The type to set. + * @return This builder for chaining. + */ + public Builder setType(com.google.cloud.agentregistry.v1.Service.McpServerSpec.Type value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + type_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+       * Required. The type of the MCP Server spec content.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return This builder for chaining. + */ + public Builder clearType() { + bitField0_ = (bitField0_ & ~0x00000001); + type_ = 0; + onChanged(); + return this; + } + + private com.google.protobuf.Struct content_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Struct, + com.google.protobuf.Struct.Builder, + com.google.protobuf.StructOrBuilder> + contentBuilder_; + + /** + * + * + *
+       * Optional. The content of the MCP Server spec.
+       * This payload is validated against the schema for the specified type.
+       * The content size is limited to `10KB`.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the content field is set. + */ + public boolean hasContent() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+       * Optional. The content of the MCP Server spec.
+       * This payload is validated against the schema for the specified type.
+       * The content size is limited to `10KB`.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The content. + */ + public com.google.protobuf.Struct getContent() { + if (contentBuilder_ == null) { + return content_ == null ? com.google.protobuf.Struct.getDefaultInstance() : content_; + } else { + return contentBuilder_.getMessage(); + } + } + + /** + * + * + *
+       * Optional. The content of the MCP Server spec.
+       * This payload is validated against the schema for the specified type.
+       * The content size is limited to `10KB`.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + public Builder setContent(com.google.protobuf.Struct value) { + if (contentBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + content_ = value; + } else { + contentBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The content of the MCP Server spec.
+       * This payload is validated against the schema for the specified type.
+       * The content size is limited to `10KB`.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + public Builder setContent(com.google.protobuf.Struct.Builder builderForValue) { + if (contentBuilder_ == null) { + content_ = builderForValue.build(); + } else { + contentBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The content of the MCP Server spec.
+       * This payload is validated against the schema for the specified type.
+       * The content size is limited to `10KB`.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + public Builder mergeContent(com.google.protobuf.Struct value) { + if (contentBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && content_ != null + && content_ != com.google.protobuf.Struct.getDefaultInstance()) { + getContentBuilder().mergeFrom(value); + } else { + content_ = value; + } + } else { + contentBuilder_.mergeFrom(value); + } + if (content_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+       * Optional. The content of the MCP Server spec.
+       * This payload is validated against the schema for the specified type.
+       * The content size is limited to `10KB`.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + public Builder clearContent() { + bitField0_ = (bitField0_ & ~0x00000002); + content_ = null; + if (contentBuilder_ != null) { + contentBuilder_.dispose(); + contentBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The content of the MCP Server spec.
+       * This payload is validated against the schema for the specified type.
+       * The content size is limited to `10KB`.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + public com.google.protobuf.Struct.Builder getContentBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetContentFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Optional. The content of the MCP Server spec.
+       * This payload is validated against the schema for the specified type.
+       * The content size is limited to `10KB`.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + public com.google.protobuf.StructOrBuilder getContentOrBuilder() { + if (contentBuilder_ != null) { + return contentBuilder_.getMessageOrBuilder(); + } else { + return content_ == null ? com.google.protobuf.Struct.getDefaultInstance() : content_; + } + } + + /** + * + * + *
+       * Optional. The content of the MCP Server spec.
+       * This payload is validated against the schema for the specified type.
+       * The content size is limited to `10KB`.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Struct, + com.google.protobuf.Struct.Builder, + com.google.protobuf.StructOrBuilder> + internalGetContentFieldBuilder() { + if (contentBuilder_ == null) { + contentBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Struct, + com.google.protobuf.Struct.Builder, + com.google.protobuf.StructOrBuilder>( + getContent(), getParentForChildren(), isClean()); + content_ = null; + } + return contentBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.Service.McpServerSpec) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.Service.McpServerSpec) + private static final com.google.cloud.agentregistry.v1.Service.McpServerSpec DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.Service.McpServerSpec(); + } + + public static com.google.cloud.agentregistry.v1.Service.McpServerSpec getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public McpServerSpec parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.McpServerSpec getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface EndpointSpecOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.Service.EndpointSpec) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+     * Required. The type of the endpoint spec content.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for type. + */ + int getTypeValue(); + + /** + * + * + *
+     * Required. The type of the endpoint spec content.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The type. + */ + com.google.cloud.agentregistry.v1.Service.EndpointSpec.Type getType(); + + /** + * + * + *
+     * Optional. The content of the endpoint spec.
+     * Reserved for future use.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the content field is set. + */ + boolean hasContent(); + + /** + * + * + *
+     * Optional. The content of the endpoint spec.
+     * Reserved for future use.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The content. + */ + com.google.protobuf.Struct getContent(); + + /** + * + * + *
+     * Optional. The content of the endpoint spec.
+     * Reserved for future use.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + com.google.protobuf.StructOrBuilder getContentOrBuilder(); + } + + /** + * + * + *
+   * The spec of the endpoint.
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Service.EndpointSpec} + */ + public static final class EndpointSpec extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.Service.EndpointSpec) + EndpointSpecOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "EndpointSpec"); + } + + // Use EndpointSpec.newBuilder() to construct. + private EndpointSpec(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private EndpointSpec() { + type_ = 0; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.ServiceProto + .internal_static_google_cloud_agentregistry_v1_Service_EndpointSpec_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.ServiceProto + .internal_static_google_cloud_agentregistry_v1_Service_EndpointSpec_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Service.EndpointSpec.class, + com.google.cloud.agentregistry.v1.Service.EndpointSpec.Builder.class); + } + + /** + * + * + *
+     * The type of the endpoint spec.
+     * 
+ * + * Protobuf enum {@code google.cloud.agentregistry.v1.Service.EndpointSpec.Type} + */ + public enum Type implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+       * Unspecified type.
+       * 
+ * + * TYPE_UNSPECIFIED = 0; + */ + TYPE_UNSPECIFIED(0), + /** + * + * + *
+       * There is no spec for the Endpoint. The `content` field must be empty.
+       * 
+ * + * NO_SPEC = 1; + */ + NO_SPEC(1), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "Type"); + } + + /** + * + * + *
+       * Unspecified type.
+       * 
+ * + * TYPE_UNSPECIFIED = 0; + */ + public static final int TYPE_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+       * There is no spec for the Endpoint. The `content` field must be empty.
+       * 
+ * + * NO_SPEC = 1; + */ + public static final int NO_SPEC_VALUE = 1; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static Type valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static Type forNumber(int value) { + switch (value) { + case 0: + return TYPE_UNSPECIFIED; + case 1: + return NO_SPEC; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Type findValueByNumber(int number) { + return Type.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.Service.EndpointSpec.getDescriptor() + .getEnumTypes() + .get(0); + } + + private static final Type[] VALUES = values(); + + public static Type valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private Type(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.agentregistry.v1.Service.EndpointSpec.Type) + } + + private int bitField0_; + public static final int TYPE_FIELD_NUMBER = 1; + private int type_ = 0; + + /** + * + * + *
+     * Required. The type of the endpoint spec content.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for type. + */ + @java.lang.Override + public int getTypeValue() { + return type_; + } + + /** + * + * + *
+     * Required. The type of the endpoint spec content.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The type. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.EndpointSpec.Type getType() { + com.google.cloud.agentregistry.v1.Service.EndpointSpec.Type result = + com.google.cloud.agentregistry.v1.Service.EndpointSpec.Type.forNumber(type_); + return result == null + ? com.google.cloud.agentregistry.v1.Service.EndpointSpec.Type.UNRECOGNIZED + : result; + } + + public static final int CONTENT_FIELD_NUMBER = 2; + private com.google.protobuf.Struct content_; + + /** + * + * + *
+     * Optional. The content of the endpoint spec.
+     * Reserved for future use.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the content field is set. + */ + @java.lang.Override + public boolean hasContent() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Optional. The content of the endpoint spec.
+     * Reserved for future use.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The content. + */ + @java.lang.Override + public com.google.protobuf.Struct getContent() { + return content_ == null ? com.google.protobuf.Struct.getDefaultInstance() : content_; + } + + /** + * + * + *
+     * Optional. The content of the endpoint spec.
+     * Reserved for future use.
+     * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + @java.lang.Override + public com.google.protobuf.StructOrBuilder getContentOrBuilder() { + return content_ == null ? com.google.protobuf.Struct.getDefaultInstance() : content_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (type_ + != com.google.cloud.agentregistry.v1.Service.EndpointSpec.Type.TYPE_UNSPECIFIED + .getNumber()) { + output.writeEnum(1, type_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(2, getContent()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (type_ + != com.google.cloud.agentregistry.v1.Service.EndpointSpec.Type.TYPE_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(1, type_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getContent()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.Service.EndpointSpec)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.Service.EndpointSpec other = + (com.google.cloud.agentregistry.v1.Service.EndpointSpec) obj; + + if (type_ != other.type_) return false; + if (hasContent() != other.hasContent()) return false; + if (hasContent()) { + if (!getContent().equals(other.getContent())) return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + TYPE_FIELD_NUMBER; + hash = (53 * hash) + type_; + if (hasContent()) { + hash = (37 * hash) + CONTENT_FIELD_NUMBER; + hash = (53 * hash) + getContent().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.Service.EndpointSpec parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Service.EndpointSpec parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Service.EndpointSpec parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Service.EndpointSpec parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Service.EndpointSpec parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Service.EndpointSpec parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Service.EndpointSpec parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Service.EndpointSpec parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Service.EndpointSpec parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Service.EndpointSpec parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Service.EndpointSpec parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Service.EndpointSpec parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.Service.EndpointSpec prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+     * The spec of the endpoint.
+     * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Service.EndpointSpec} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.Service.EndpointSpec) + com.google.cloud.agentregistry.v1.Service.EndpointSpecOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.ServiceProto + .internal_static_google_cloud_agentregistry_v1_Service_EndpointSpec_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.ServiceProto + .internal_static_google_cloud_agentregistry_v1_Service_EndpointSpec_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Service.EndpointSpec.class, + com.google.cloud.agentregistry.v1.Service.EndpointSpec.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.Service.EndpointSpec.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetContentFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + type_ = 0; + content_ = null; + if (contentBuilder_ != null) { + contentBuilder_.dispose(); + contentBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.ServiceProto + .internal_static_google_cloud_agentregistry_v1_Service_EndpointSpec_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.EndpointSpec getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.Service.EndpointSpec.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.EndpointSpec build() { + com.google.cloud.agentregistry.v1.Service.EndpointSpec result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.EndpointSpec buildPartial() { + com.google.cloud.agentregistry.v1.Service.EndpointSpec result = + new com.google.cloud.agentregistry.v1.Service.EndpointSpec(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.Service.EndpointSpec result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.type_ = type_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000002) != 0)) { + result.content_ = contentBuilder_ == null ? content_ : contentBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.Service.EndpointSpec) { + return mergeFrom((com.google.cloud.agentregistry.v1.Service.EndpointSpec) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.Service.EndpointSpec other) { + if (other == com.google.cloud.agentregistry.v1.Service.EndpointSpec.getDefaultInstance()) + return this; + if (other.type_ != 0) { + setTypeValue(other.getTypeValue()); + } + if (other.hasContent()) { + mergeContent(other.getContent()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: + { + type_ = input.readEnum(); + bitField0_ |= 0x00000001; + break; + } // case 8 + case 18: + { + input.readMessage( + internalGetContentFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private int type_ = 0; + + /** + * + * + *
+       * Required. The type of the endpoint spec content.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for type. + */ + @java.lang.Override + public int getTypeValue() { + return type_; + } + + /** + * + * + *
+       * Required. The type of the endpoint spec content.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @param value The enum numeric value on the wire for type to set. + * @return This builder for chaining. + */ + public Builder setTypeValue(int value) { + type_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+       * Required. The type of the endpoint spec content.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The type. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.EndpointSpec.Type getType() { + com.google.cloud.agentregistry.v1.Service.EndpointSpec.Type result = + com.google.cloud.agentregistry.v1.Service.EndpointSpec.Type.forNumber(type_); + return result == null + ? com.google.cloud.agentregistry.v1.Service.EndpointSpec.Type.UNRECOGNIZED + : result; + } + + /** + * + * + *
+       * Required. The type of the endpoint spec content.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @param value The type to set. + * @return This builder for chaining. + */ + public Builder setType(com.google.cloud.agentregistry.v1.Service.EndpointSpec.Type value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000001; + type_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+       * Required. The type of the endpoint spec content.
+       * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec.Type type = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return This builder for chaining. + */ + public Builder clearType() { + bitField0_ = (bitField0_ & ~0x00000001); + type_ = 0; + onChanged(); + return this; + } + + private com.google.protobuf.Struct content_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Struct, + com.google.protobuf.Struct.Builder, + com.google.protobuf.StructOrBuilder> + contentBuilder_; + + /** + * + * + *
+       * Optional. The content of the endpoint spec.
+       * Reserved for future use.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return Whether the content field is set. + */ + public boolean hasContent() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+       * Optional. The content of the endpoint spec.
+       * Reserved for future use.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The content. + */ + public com.google.protobuf.Struct getContent() { + if (contentBuilder_ == null) { + return content_ == null ? com.google.protobuf.Struct.getDefaultInstance() : content_; + } else { + return contentBuilder_.getMessage(); + } + } + + /** + * + * + *
+       * Optional. The content of the endpoint spec.
+       * Reserved for future use.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + public Builder setContent(com.google.protobuf.Struct value) { + if (contentBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + content_ = value; + } else { + contentBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The content of the endpoint spec.
+       * Reserved for future use.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + public Builder setContent(com.google.protobuf.Struct.Builder builderForValue) { + if (contentBuilder_ == null) { + content_ = builderForValue.build(); + } else { + contentBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The content of the endpoint spec.
+       * Reserved for future use.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + public Builder mergeContent(com.google.protobuf.Struct value) { + if (contentBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && content_ != null + && content_ != com.google.protobuf.Struct.getDefaultInstance()) { + getContentBuilder().mergeFrom(value); + } else { + content_ = value; + } + } else { + contentBuilder_.mergeFrom(value); + } + if (content_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+       * Optional. The content of the endpoint spec.
+       * Reserved for future use.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + public Builder clearContent() { + bitField0_ = (bitField0_ & ~0x00000002); + content_ = null; + if (contentBuilder_ != null) { + contentBuilder_.dispose(); + contentBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+       * Optional. The content of the endpoint spec.
+       * Reserved for future use.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + public com.google.protobuf.Struct.Builder getContentBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetContentFieldBuilder().getBuilder(); + } + + /** + * + * + *
+       * Optional. The content of the endpoint spec.
+       * Reserved for future use.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + public com.google.protobuf.StructOrBuilder getContentOrBuilder() { + if (contentBuilder_ != null) { + return contentBuilder_.getMessageOrBuilder(); + } else { + return content_ == null ? com.google.protobuf.Struct.getDefaultInstance() : content_; + } + } + + /** + * + * + *
+       * Optional. The content of the endpoint spec.
+       * Reserved for future use.
+       * 
+ * + * .google.protobuf.Struct content = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Struct, + com.google.protobuf.Struct.Builder, + com.google.protobuf.StructOrBuilder> + internalGetContentFieldBuilder() { + if (contentBuilder_ == null) { + contentBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Struct, + com.google.protobuf.Struct.Builder, + com.google.protobuf.StructOrBuilder>( + getContent(), getParentForChildren(), isClean()); + content_ = null; + } + return contentBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.Service.EndpointSpec) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.Service.EndpointSpec) + private static final com.google.cloud.agentregistry.v1.Service.EndpointSpec DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.Service.EndpointSpec(); + } + + public static com.google.cloud.agentregistry.v1.Service.EndpointSpec getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public EndpointSpec parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException() + .setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.EndpointSpec getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private int bitField0_; + private int specCase_ = 0; + + @SuppressWarnings("serial") + private java.lang.Object spec_; + + public enum SpecCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + AGENT_SPEC(5), + MCP_SERVER_SPEC(6), + ENDPOINT_SPEC(7), + SPEC_NOT_SET(0); + private final int value; + + private SpecCase(int value) { + this.value = value; + } + + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static SpecCase valueOf(int value) { + return forNumber(value); + } + + public static SpecCase forNumber(int value) { + switch (value) { + case 5: + return AGENT_SPEC; + case 6: + return MCP_SERVER_SPEC; + case 7: + return ENDPOINT_SPEC; + case 0: + return SPEC_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public SpecCase getSpecCase() { + return SpecCase.forNumber(specCase_); + } + + public static final int AGENT_SPEC_FIELD_NUMBER = 5; + + /** + * + * + *
+   * Optional. The spec of the Agent. When `agent_spec` is set, the type of
+   * the service is Agent.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec agent_spec = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the agentSpec field is set. + */ + @java.lang.Override + public boolean hasAgentSpec() { + return specCase_ == 5; + } + + /** + * + * + *
+   * Optional. The spec of the Agent. When `agent_spec` is set, the type of
+   * the service is Agent.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec agent_spec = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The agentSpec. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.AgentSpec getAgentSpec() { + if (specCase_ == 5) { + return (com.google.cloud.agentregistry.v1.Service.AgentSpec) spec_; + } + return com.google.cloud.agentregistry.v1.Service.AgentSpec.getDefaultInstance(); + } + + /** + * + * + *
+   * Optional. The spec of the Agent. When `agent_spec` is set, the type of
+   * the service is Agent.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec agent_spec = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.AgentSpecOrBuilder getAgentSpecOrBuilder() { + if (specCase_ == 5) { + return (com.google.cloud.agentregistry.v1.Service.AgentSpec) spec_; + } + return com.google.cloud.agentregistry.v1.Service.AgentSpec.getDefaultInstance(); + } + + public static final int MCP_SERVER_SPEC_FIELD_NUMBER = 6; + + /** + * + * + *
+   * Optional. The spec of the MCP Server. When `mcp_server_spec` is set, the
+   * type of the service is MCP Server.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec mcp_server_spec = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the mcpServerSpec field is set. + */ + @java.lang.Override + public boolean hasMcpServerSpec() { + return specCase_ == 6; + } + + /** + * + * + *
+   * Optional. The spec of the MCP Server. When `mcp_server_spec` is set, the
+   * type of the service is MCP Server.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec mcp_server_spec = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The mcpServerSpec. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.McpServerSpec getMcpServerSpec() { + if (specCase_ == 6) { + return (com.google.cloud.agentregistry.v1.Service.McpServerSpec) spec_; + } + return com.google.cloud.agentregistry.v1.Service.McpServerSpec.getDefaultInstance(); + } + + /** + * + * + *
+   * Optional. The spec of the MCP Server. When `mcp_server_spec` is set, the
+   * type of the service is MCP Server.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec mcp_server_spec = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.McpServerSpecOrBuilder + getMcpServerSpecOrBuilder() { + if (specCase_ == 6) { + return (com.google.cloud.agentregistry.v1.Service.McpServerSpec) spec_; + } + return com.google.cloud.agentregistry.v1.Service.McpServerSpec.getDefaultInstance(); + } + + public static final int ENDPOINT_SPEC_FIELD_NUMBER = 7; + + /** + * + * + *
+   * Optional. The spec of the Endpoint. When `endpoint_spec` is set, the type
+   * of the service is Endpoint.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec endpoint_spec = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the endpointSpec field is set. + */ + @java.lang.Override + public boolean hasEndpointSpec() { + return specCase_ == 7; + } + + /** + * + * + *
+   * Optional. The spec of the Endpoint. When `endpoint_spec` is set, the type
+   * of the service is Endpoint.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec endpoint_spec = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The endpointSpec. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.EndpointSpec getEndpointSpec() { + if (specCase_ == 7) { + return (com.google.cloud.agentregistry.v1.Service.EndpointSpec) spec_; + } + return com.google.cloud.agentregistry.v1.Service.EndpointSpec.getDefaultInstance(); + } + + /** + * + * + *
+   * Optional. The spec of the Endpoint. When `endpoint_spec` is set, the type
+   * of the service is Endpoint.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec endpoint_spec = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.EndpointSpecOrBuilder + getEndpointSpecOrBuilder() { + if (specCase_ == 7) { + return (com.google.cloud.agentregistry.v1.Service.EndpointSpec) spec_; + } + return com.google.cloud.agentregistry.v1.Service.EndpointSpec.getDefaultInstance(); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * + * + *
+   * Identifier. The resource name of the Service.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * + * + *
+   * Identifier. The resource name of the Service.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DISPLAY_NAME_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object displayName_ = ""; + + /** + * + * + *
+   * Optional. User-defined display name for the Service.
+   * Can have a maximum length of `63` characters.
+   * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The displayName. + */ + @java.lang.Override + public java.lang.String getDisplayName() { + java.lang.Object ref = displayName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + displayName_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. User-defined display name for the Service.
+   * Can have a maximum length of `63` characters.
+   * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for displayName. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDisplayNameBytes() { + java.lang.Object ref = displayName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + displayName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DESCRIPTION_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object description_ = ""; + + /** + * + * + *
+   * Optional. User-defined description of an Service.
+   * Can have a maximum length of `2048` characters.
+   * 
+ * + * string description = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The description. + */ + @java.lang.Override + public java.lang.String getDescription() { + java.lang.Object ref = description_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + description_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. User-defined description of an Service.
+   * Can have a maximum length of `2048` characters.
+   * 
+ * + * string description = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for description. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int INTERFACES_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private java.util.List interfaces_; + + /** + * + * + *
+   * Optional. The connection details for the Service.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public java.util.List getInterfacesList() { + return interfaces_; + } + + /** + * + * + *
+   * Optional. The connection details for the Service.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public java.util.List + getInterfacesOrBuilderList() { + return interfaces_; + } + + /** + * + * + *
+   * Optional. The connection details for the Service.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public int getInterfacesCount() { + return interfaces_.size(); + } + + /** + * + * + *
+   * Optional. The connection details for the Service.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Interface getInterfaces(int index) { + return interfaces_.get(index); + } + + /** + * + * + *
+   * Optional. The connection details for the Service.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.InterfaceOrBuilder getInterfacesOrBuilder(int index) { + return interfaces_.get(index); + } + + public static final int REGISTRY_RESOURCE_FIELD_NUMBER = 10; + + @SuppressWarnings("serial") + private volatile java.lang.Object registryResource_ = ""; + + /** + * + * + *
+   * Output only. The resource name of the resulting Agent, MCP Server, or
+   * Endpoint. Format:
+   *
+   * * `projects/{project}/locations/{location}/mcpServers/{mcp_server}`
+   * * `projects/{project}/locations/{location}/agents/{agent}`
+   * * `projects/{project}/locations/{location}/endpoints/{endpoint}`
+   * 
+ * + * string registry_resource = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The registryResource. + */ + @java.lang.Override + public java.lang.String getRegistryResource() { + java.lang.Object ref = registryResource_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + registryResource_ = s; + return s; + } + } + + /** + * + * + *
+   * Output only. The resource name of the resulting Agent, MCP Server, or
+   * Endpoint. Format:
+   *
+   * * `projects/{project}/locations/{location}/mcpServers/{mcp_server}`
+   * * `projects/{project}/locations/{location}/agents/{agent}`
+   * * `projects/{project}/locations/{location}/endpoints/{endpoint}`
+   * 
+ * + * string registry_resource = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for registryResource. + */ + @java.lang.Override + public com.google.protobuf.ByteString getRegistryResourceBytes() { + java.lang.Object ref = registryResource_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + registryResource_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int CREATE_TIME_FIELD_NUMBER = 8; + private com.google.protobuf.Timestamp createTime_; + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + @java.lang.Override + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCreateTime() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + public static final int UPDATE_TIME_FIELD_NUMBER = 9; + private com.google.protobuf.Timestamp updateTime_; + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + @java.lang.Override + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getUpdateTime() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 2, displayName_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(description_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, description_); + } + for (int i = 0; i < interfaces_.size(); i++) { + output.writeMessage(4, interfaces_.get(i)); + } + if (specCase_ == 5) { + output.writeMessage(5, (com.google.cloud.agentregistry.v1.Service.AgentSpec) spec_); + } + if (specCase_ == 6) { + output.writeMessage(6, (com.google.cloud.agentregistry.v1.Service.McpServerSpec) spec_); + } + if (specCase_ == 7) { + output.writeMessage(7, (com.google.cloud.agentregistry.v1.Service.EndpointSpec) spec_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(8, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(9, getUpdateTime()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(registryResource_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 10, registryResource_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(displayName_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(2, displayName_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(description_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, description_); + } + for (int i = 0; i < interfaces_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, interfaces_.get(i)); + } + if (specCase_ == 5) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 5, (com.google.cloud.agentregistry.v1.Service.AgentSpec) spec_); + } + if (specCase_ == 6) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 6, (com.google.cloud.agentregistry.v1.Service.McpServerSpec) spec_); + } + if (specCase_ == 7) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 7, (com.google.cloud.agentregistry.v1.Service.EndpointSpec) spec_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(9, getUpdateTime()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(registryResource_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(10, registryResource_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.Service)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.Service other = + (com.google.cloud.agentregistry.v1.Service) obj; + + if (!getName().equals(other.getName())) return false; + if (!getDisplayName().equals(other.getDisplayName())) return false; + if (!getDescription().equals(other.getDescription())) return false; + if (!getInterfacesList().equals(other.getInterfacesList())) return false; + if (!getRegistryResource().equals(other.getRegistryResource())) return false; + if (hasCreateTime() != other.hasCreateTime()) return false; + if (hasCreateTime()) { + if (!getCreateTime().equals(other.getCreateTime())) return false; + } + if (hasUpdateTime() != other.hasUpdateTime()) return false; + if (hasUpdateTime()) { + if (!getUpdateTime().equals(other.getUpdateTime())) return false; + } + if (!getSpecCase().equals(other.getSpecCase())) return false; + switch (specCase_) { + case 5: + if (!getAgentSpec().equals(other.getAgentSpec())) return false; + break; + case 6: + if (!getMcpServerSpec().equals(other.getMcpServerSpec())) return false; + break; + case 7: + if (!getEndpointSpec().equals(other.getEndpointSpec())) return false; + break; + case 0: + default: + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + DISPLAY_NAME_FIELD_NUMBER; + hash = (53 * hash) + getDisplayName().hashCode(); + hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER; + hash = (53 * hash) + getDescription().hashCode(); + if (getInterfacesCount() > 0) { + hash = (37 * hash) + INTERFACES_FIELD_NUMBER; + hash = (53 * hash) + getInterfacesList().hashCode(); + } + hash = (37 * hash) + REGISTRY_RESOURCE_FIELD_NUMBER; + hash = (53 * hash) + getRegistryResource().hashCode(); + if (hasCreateTime()) { + hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCreateTime().hashCode(); + } + if (hasUpdateTime()) { + hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getUpdateTime().hashCode(); + } + switch (specCase_) { + case 5: + hash = (37 * hash) + AGENT_SPEC_FIELD_NUMBER; + hash = (53 * hash) + getAgentSpec().hashCode(); + break; + case 6: + hash = (37 * hash) + MCP_SERVER_SPEC_FIELD_NUMBER; + hash = (53 * hash) + getMcpServerSpec().hashCode(); + break; + case 7: + hash = (37 * hash) + ENDPOINT_SPEC_FIELD_NUMBER; + hash = (53 * hash) + getEndpointSpec().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.Service parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Service parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Service parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Service parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Service parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.Service parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Service parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Service parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Service parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Service parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.Service parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.Service parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloud.agentregistry.v1.Service prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Represents a user-defined Service.
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.Service} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.Service) + com.google.cloud.agentregistry.v1.ServiceOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.ServiceProto + .internal_static_google_cloud_agentregistry_v1_Service_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.ServiceProto + .internal_static_google_cloud_agentregistry_v1_Service_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.Service.class, + com.google.cloud.agentregistry.v1.Service.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.Service.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetInterfacesFieldBuilder(); + internalGetCreateTimeFieldBuilder(); + internalGetUpdateTimeFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (agentSpecBuilder_ != null) { + agentSpecBuilder_.clear(); + } + if (mcpServerSpecBuilder_ != null) { + mcpServerSpecBuilder_.clear(); + } + if (endpointSpecBuilder_ != null) { + endpointSpecBuilder_.clear(); + } + name_ = ""; + displayName_ = ""; + description_ = ""; + if (interfacesBuilder_ == null) { + interfaces_ = java.util.Collections.emptyList(); + } else { + interfaces_ = null; + interfacesBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000040); + registryResource_ = ""; + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + specCase_ = 0; + spec_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.ServiceProto + .internal_static_google_cloud_agentregistry_v1_Service_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.Service.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service build() { + com.google.cloud.agentregistry.v1.Service result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service buildPartial() { + com.google.cloud.agentregistry.v1.Service result = + new com.google.cloud.agentregistry.v1.Service(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + buildPartialOneofs(result); + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(com.google.cloud.agentregistry.v1.Service result) { + if (interfacesBuilder_ == null) { + if (((bitField0_ & 0x00000040) != 0)) { + interfaces_ = java.util.Collections.unmodifiableList(interfaces_); + bitField0_ = (bitField0_ & ~0x00000040); + } + result.interfaces_ = interfaces_; + } else { + result.interfaces_ = interfacesBuilder_.build(); + } + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.Service result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000008) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.displayName_ = displayName_; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.description_ = description_; + } + if (((from_bitField0_ & 0x00000080) != 0)) { + result.registryResource_ = registryResource_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000100) != 0)) { + result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000200) != 0)) { + result.updateTime_ = updateTimeBuilder_ == null ? updateTime_ : updateTimeBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + result.bitField0_ |= to_bitField0_; + } + + private void buildPartialOneofs(com.google.cloud.agentregistry.v1.Service result) { + result.specCase_ = specCase_; + result.spec_ = this.spec_; + if (specCase_ == 5 && agentSpecBuilder_ != null) { + result.spec_ = agentSpecBuilder_.build(); + } + if (specCase_ == 6 && mcpServerSpecBuilder_ != null) { + result.spec_ = mcpServerSpecBuilder_.build(); + } + if (specCase_ == 7 && endpointSpecBuilder_ != null) { + result.spec_ = endpointSpecBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.Service) { + return mergeFrom((com.google.cloud.agentregistry.v1.Service) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.Service other) { + if (other == com.google.cloud.agentregistry.v1.Service.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (!other.getDisplayName().isEmpty()) { + displayName_ = other.displayName_; + bitField0_ |= 0x00000010; + onChanged(); + } + if (!other.getDescription().isEmpty()) { + description_ = other.description_; + bitField0_ |= 0x00000020; + onChanged(); + } + if (interfacesBuilder_ == null) { + if (!other.interfaces_.isEmpty()) { + if (interfaces_.isEmpty()) { + interfaces_ = other.interfaces_; + bitField0_ = (bitField0_ & ~0x00000040); + } else { + ensureInterfacesIsMutable(); + interfaces_.addAll(other.interfaces_); + } + onChanged(); + } + } else { + if (!other.interfaces_.isEmpty()) { + if (interfacesBuilder_.isEmpty()) { + interfacesBuilder_.dispose(); + interfacesBuilder_ = null; + interfaces_ = other.interfaces_; + bitField0_ = (bitField0_ & ~0x00000040); + interfacesBuilder_ = + com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders + ? internalGetInterfacesFieldBuilder() + : null; + } else { + interfacesBuilder_.addAllMessages(other.interfaces_); + } + } + } + if (!other.getRegistryResource().isEmpty()) { + registryResource_ = other.registryResource_; + bitField0_ |= 0x00000080; + onChanged(); + } + if (other.hasCreateTime()) { + mergeCreateTime(other.getCreateTime()); + } + if (other.hasUpdateTime()) { + mergeUpdateTime(other.getUpdateTime()); + } + switch (other.getSpecCase()) { + case AGENT_SPEC: + { + mergeAgentSpec(other.getAgentSpec()); + break; + } + case MCP_SERVER_SPEC: + { + mergeMcpServerSpec(other.getMcpServerSpec()); + break; + } + case ENDPOINT_SPEC: + { + mergeEndpointSpec(other.getEndpointSpec()); + break; + } + case SPEC_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } // case 10 + case 18: + { + displayName_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } // case 18 + case 26: + { + description_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000020; + break; + } // case 26 + case 34: + { + com.google.cloud.agentregistry.v1.Interface m = + input.readMessage( + com.google.cloud.agentregistry.v1.Interface.parser(), extensionRegistry); + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + interfaces_.add(m); + } else { + interfacesBuilder_.addMessage(m); + } + break; + } // case 34 + case 42: + { + input.readMessage( + internalGetAgentSpecFieldBuilder().getBuilder(), extensionRegistry); + specCase_ = 5; + break; + } // case 42 + case 50: + { + input.readMessage( + internalGetMcpServerSpecFieldBuilder().getBuilder(), extensionRegistry); + specCase_ = 6; + break; + } // case 50 + case 58: + { + input.readMessage( + internalGetEndpointSpecFieldBuilder().getBuilder(), extensionRegistry); + specCase_ = 7; + break; + } // case 58 + case 66: + { + input.readMessage( + internalGetCreateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000100; + break; + } // case 66 + case 74: + { + input.readMessage( + internalGetUpdateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000200; + break; + } // case 74 + case 82: + { + registryResource_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000080; + break; + } // case 82 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int specCase_ = 0; + private java.lang.Object spec_; + + public SpecCase getSpecCase() { + return SpecCase.forNumber(specCase_); + } + + public Builder clearSpec() { + specCase_ = 0; + spec_ = null; + onChanged(); + return this; + } + + private int bitField0_; + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Service.AgentSpec, + com.google.cloud.agentregistry.v1.Service.AgentSpec.Builder, + com.google.cloud.agentregistry.v1.Service.AgentSpecOrBuilder> + agentSpecBuilder_; + + /** + * + * + *
+     * Optional. The spec of the Agent. When `agent_spec` is set, the type of
+     * the service is Agent.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec agent_spec = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the agentSpec field is set. + */ + @java.lang.Override + public boolean hasAgentSpec() { + return specCase_ == 5; + } + + /** + * + * + *
+     * Optional. The spec of the Agent. When `agent_spec` is set, the type of
+     * the service is Agent.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec agent_spec = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The agentSpec. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.AgentSpec getAgentSpec() { + if (agentSpecBuilder_ == null) { + if (specCase_ == 5) { + return (com.google.cloud.agentregistry.v1.Service.AgentSpec) spec_; + } + return com.google.cloud.agentregistry.v1.Service.AgentSpec.getDefaultInstance(); + } else { + if (specCase_ == 5) { + return agentSpecBuilder_.getMessage(); + } + return com.google.cloud.agentregistry.v1.Service.AgentSpec.getDefaultInstance(); + } + } + + /** + * + * + *
+     * Optional. The spec of the Agent. When `agent_spec` is set, the type of
+     * the service is Agent.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec agent_spec = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setAgentSpec(com.google.cloud.agentregistry.v1.Service.AgentSpec value) { + if (agentSpecBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + spec_ = value; + onChanged(); + } else { + agentSpecBuilder_.setMessage(value); + } + specCase_ = 5; + return this; + } + + /** + * + * + *
+     * Optional. The spec of the Agent. When `agent_spec` is set, the type of
+     * the service is Agent.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec agent_spec = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setAgentSpec( + com.google.cloud.agentregistry.v1.Service.AgentSpec.Builder builderForValue) { + if (agentSpecBuilder_ == null) { + spec_ = builderForValue.build(); + onChanged(); + } else { + agentSpecBuilder_.setMessage(builderForValue.build()); + } + specCase_ = 5; + return this; + } + + /** + * + * + *
+     * Optional. The spec of the Agent. When `agent_spec` is set, the type of
+     * the service is Agent.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec agent_spec = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeAgentSpec(com.google.cloud.agentregistry.v1.Service.AgentSpec value) { + if (agentSpecBuilder_ == null) { + if (specCase_ == 5 + && spec_ != com.google.cloud.agentregistry.v1.Service.AgentSpec.getDefaultInstance()) { + spec_ = + com.google.cloud.agentregistry.v1.Service.AgentSpec.newBuilder( + (com.google.cloud.agentregistry.v1.Service.AgentSpec) spec_) + .mergeFrom(value) + .buildPartial(); + } else { + spec_ = value; + } + onChanged(); + } else { + if (specCase_ == 5) { + agentSpecBuilder_.mergeFrom(value); + } else { + agentSpecBuilder_.setMessage(value); + } + } + specCase_ = 5; + return this; + } + + /** + * + * + *
+     * Optional. The spec of the Agent. When `agent_spec` is set, the type of
+     * the service is Agent.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec agent_spec = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearAgentSpec() { + if (agentSpecBuilder_ == null) { + if (specCase_ == 5) { + specCase_ = 0; + spec_ = null; + onChanged(); + } + } else { + if (specCase_ == 5) { + specCase_ = 0; + spec_ = null; + } + agentSpecBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * Optional. The spec of the Agent. When `agent_spec` is set, the type of
+     * the service is Agent.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec agent_spec = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.agentregistry.v1.Service.AgentSpec.Builder getAgentSpecBuilder() { + return internalGetAgentSpecFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Optional. The spec of the Agent. When `agent_spec` is set, the type of
+     * the service is Agent.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec agent_spec = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.AgentSpecOrBuilder getAgentSpecOrBuilder() { + if ((specCase_ == 5) && (agentSpecBuilder_ != null)) { + return agentSpecBuilder_.getMessageOrBuilder(); + } else { + if (specCase_ == 5) { + return (com.google.cloud.agentregistry.v1.Service.AgentSpec) spec_; + } + return com.google.cloud.agentregistry.v1.Service.AgentSpec.getDefaultInstance(); + } + } + + /** + * + * + *
+     * Optional. The spec of the Agent. When `agent_spec` is set, the type of
+     * the service is Agent.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec agent_spec = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Service.AgentSpec, + com.google.cloud.agentregistry.v1.Service.AgentSpec.Builder, + com.google.cloud.agentregistry.v1.Service.AgentSpecOrBuilder> + internalGetAgentSpecFieldBuilder() { + if (agentSpecBuilder_ == null) { + if (!(specCase_ == 5)) { + spec_ = com.google.cloud.agentregistry.v1.Service.AgentSpec.getDefaultInstance(); + } + agentSpecBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Service.AgentSpec, + com.google.cloud.agentregistry.v1.Service.AgentSpec.Builder, + com.google.cloud.agentregistry.v1.Service.AgentSpecOrBuilder>( + (com.google.cloud.agentregistry.v1.Service.AgentSpec) spec_, + getParentForChildren(), + isClean()); + spec_ = null; + } + specCase_ = 5; + onChanged(); + return agentSpecBuilder_; + } + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Service.McpServerSpec, + com.google.cloud.agentregistry.v1.Service.McpServerSpec.Builder, + com.google.cloud.agentregistry.v1.Service.McpServerSpecOrBuilder> + mcpServerSpecBuilder_; + + /** + * + * + *
+     * Optional. The spec of the MCP Server. When `mcp_server_spec` is set, the
+     * type of the service is MCP Server.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec mcp_server_spec = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the mcpServerSpec field is set. + */ + @java.lang.Override + public boolean hasMcpServerSpec() { + return specCase_ == 6; + } + + /** + * + * + *
+     * Optional. The spec of the MCP Server. When `mcp_server_spec` is set, the
+     * type of the service is MCP Server.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec mcp_server_spec = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The mcpServerSpec. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.McpServerSpec getMcpServerSpec() { + if (mcpServerSpecBuilder_ == null) { + if (specCase_ == 6) { + return (com.google.cloud.agentregistry.v1.Service.McpServerSpec) spec_; + } + return com.google.cloud.agentregistry.v1.Service.McpServerSpec.getDefaultInstance(); + } else { + if (specCase_ == 6) { + return mcpServerSpecBuilder_.getMessage(); + } + return com.google.cloud.agentregistry.v1.Service.McpServerSpec.getDefaultInstance(); + } + } + + /** + * + * + *
+     * Optional. The spec of the MCP Server. When `mcp_server_spec` is set, the
+     * type of the service is MCP Server.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec mcp_server_spec = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setMcpServerSpec(com.google.cloud.agentregistry.v1.Service.McpServerSpec value) { + if (mcpServerSpecBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + spec_ = value; + onChanged(); + } else { + mcpServerSpecBuilder_.setMessage(value); + } + specCase_ = 6; + return this; + } + + /** + * + * + *
+     * Optional. The spec of the MCP Server. When `mcp_server_spec` is set, the
+     * type of the service is MCP Server.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec mcp_server_spec = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setMcpServerSpec( + com.google.cloud.agentregistry.v1.Service.McpServerSpec.Builder builderForValue) { + if (mcpServerSpecBuilder_ == null) { + spec_ = builderForValue.build(); + onChanged(); + } else { + mcpServerSpecBuilder_.setMessage(builderForValue.build()); + } + specCase_ = 6; + return this; + } + + /** + * + * + *
+     * Optional. The spec of the MCP Server. When `mcp_server_spec` is set, the
+     * type of the service is MCP Server.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec mcp_server_spec = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeMcpServerSpec( + com.google.cloud.agentregistry.v1.Service.McpServerSpec value) { + if (mcpServerSpecBuilder_ == null) { + if (specCase_ == 6 + && spec_ + != com.google.cloud.agentregistry.v1.Service.McpServerSpec.getDefaultInstance()) { + spec_ = + com.google.cloud.agentregistry.v1.Service.McpServerSpec.newBuilder( + (com.google.cloud.agentregistry.v1.Service.McpServerSpec) spec_) + .mergeFrom(value) + .buildPartial(); + } else { + spec_ = value; + } + onChanged(); + } else { + if (specCase_ == 6) { + mcpServerSpecBuilder_.mergeFrom(value); + } else { + mcpServerSpecBuilder_.setMessage(value); + } + } + specCase_ = 6; + return this; + } + + /** + * + * + *
+     * Optional. The spec of the MCP Server. When `mcp_server_spec` is set, the
+     * type of the service is MCP Server.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec mcp_server_spec = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearMcpServerSpec() { + if (mcpServerSpecBuilder_ == null) { + if (specCase_ == 6) { + specCase_ = 0; + spec_ = null; + onChanged(); + } + } else { + if (specCase_ == 6) { + specCase_ = 0; + spec_ = null; + } + mcpServerSpecBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * Optional. The spec of the MCP Server. When `mcp_server_spec` is set, the
+     * type of the service is MCP Server.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec mcp_server_spec = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.agentregistry.v1.Service.McpServerSpec.Builder + getMcpServerSpecBuilder() { + return internalGetMcpServerSpecFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Optional. The spec of the MCP Server. When `mcp_server_spec` is set, the
+     * type of the service is MCP Server.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec mcp_server_spec = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.McpServerSpecOrBuilder + getMcpServerSpecOrBuilder() { + if ((specCase_ == 6) && (mcpServerSpecBuilder_ != null)) { + return mcpServerSpecBuilder_.getMessageOrBuilder(); + } else { + if (specCase_ == 6) { + return (com.google.cloud.agentregistry.v1.Service.McpServerSpec) spec_; + } + return com.google.cloud.agentregistry.v1.Service.McpServerSpec.getDefaultInstance(); + } + } + + /** + * + * + *
+     * Optional. The spec of the MCP Server. When `mcp_server_spec` is set, the
+     * type of the service is MCP Server.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec mcp_server_spec = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Service.McpServerSpec, + com.google.cloud.agentregistry.v1.Service.McpServerSpec.Builder, + com.google.cloud.agentregistry.v1.Service.McpServerSpecOrBuilder> + internalGetMcpServerSpecFieldBuilder() { + if (mcpServerSpecBuilder_ == null) { + if (!(specCase_ == 6)) { + spec_ = com.google.cloud.agentregistry.v1.Service.McpServerSpec.getDefaultInstance(); + } + mcpServerSpecBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Service.McpServerSpec, + com.google.cloud.agentregistry.v1.Service.McpServerSpec.Builder, + com.google.cloud.agentregistry.v1.Service.McpServerSpecOrBuilder>( + (com.google.cloud.agentregistry.v1.Service.McpServerSpec) spec_, + getParentForChildren(), + isClean()); + spec_ = null; + } + specCase_ = 6; + onChanged(); + return mcpServerSpecBuilder_; + } + + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Service.EndpointSpec, + com.google.cloud.agentregistry.v1.Service.EndpointSpec.Builder, + com.google.cloud.agentregistry.v1.Service.EndpointSpecOrBuilder> + endpointSpecBuilder_; + + /** + * + * + *
+     * Optional. The spec of the Endpoint. When `endpoint_spec` is set, the type
+     * of the service is Endpoint.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec endpoint_spec = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the endpointSpec field is set. + */ + @java.lang.Override + public boolean hasEndpointSpec() { + return specCase_ == 7; + } + + /** + * + * + *
+     * Optional. The spec of the Endpoint. When `endpoint_spec` is set, the type
+     * of the service is Endpoint.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec endpoint_spec = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The endpointSpec. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.EndpointSpec getEndpointSpec() { + if (endpointSpecBuilder_ == null) { + if (specCase_ == 7) { + return (com.google.cloud.agentregistry.v1.Service.EndpointSpec) spec_; + } + return com.google.cloud.agentregistry.v1.Service.EndpointSpec.getDefaultInstance(); + } else { + if (specCase_ == 7) { + return endpointSpecBuilder_.getMessage(); + } + return com.google.cloud.agentregistry.v1.Service.EndpointSpec.getDefaultInstance(); + } + } + + /** + * + * + *
+     * Optional. The spec of the Endpoint. When `endpoint_spec` is set, the type
+     * of the service is Endpoint.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec endpoint_spec = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setEndpointSpec(com.google.cloud.agentregistry.v1.Service.EndpointSpec value) { + if (endpointSpecBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + spec_ = value; + onChanged(); + } else { + endpointSpecBuilder_.setMessage(value); + } + specCase_ = 7; + return this; + } + + /** + * + * + *
+     * Optional. The spec of the Endpoint. When `endpoint_spec` is set, the type
+     * of the service is Endpoint.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec endpoint_spec = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setEndpointSpec( + com.google.cloud.agentregistry.v1.Service.EndpointSpec.Builder builderForValue) { + if (endpointSpecBuilder_ == null) { + spec_ = builderForValue.build(); + onChanged(); + } else { + endpointSpecBuilder_.setMessage(builderForValue.build()); + } + specCase_ = 7; + return this; + } + + /** + * + * + *
+     * Optional. The spec of the Endpoint. When `endpoint_spec` is set, the type
+     * of the service is Endpoint.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec endpoint_spec = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeEndpointSpec(com.google.cloud.agentregistry.v1.Service.EndpointSpec value) { + if (endpointSpecBuilder_ == null) { + if (specCase_ == 7 + && spec_ + != com.google.cloud.agentregistry.v1.Service.EndpointSpec.getDefaultInstance()) { + spec_ = + com.google.cloud.agentregistry.v1.Service.EndpointSpec.newBuilder( + (com.google.cloud.agentregistry.v1.Service.EndpointSpec) spec_) + .mergeFrom(value) + .buildPartial(); + } else { + spec_ = value; + } + onChanged(); + } else { + if (specCase_ == 7) { + endpointSpecBuilder_.mergeFrom(value); + } else { + endpointSpecBuilder_.setMessage(value); + } + } + specCase_ = 7; + return this; + } + + /** + * + * + *
+     * Optional. The spec of the Endpoint. When `endpoint_spec` is set, the type
+     * of the service is Endpoint.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec endpoint_spec = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearEndpointSpec() { + if (endpointSpecBuilder_ == null) { + if (specCase_ == 7) { + specCase_ = 0; + spec_ = null; + onChanged(); + } + } else { + if (specCase_ == 7) { + specCase_ = 0; + spec_ = null; + } + endpointSpecBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * Optional. The spec of the Endpoint. When `endpoint_spec` is set, the type
+     * of the service is Endpoint.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec endpoint_spec = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.agentregistry.v1.Service.EndpointSpec.Builder getEndpointSpecBuilder() { + return internalGetEndpointSpecFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Optional. The spec of the Endpoint. When `endpoint_spec` is set, the type
+     * of the service is Endpoint.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec endpoint_spec = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service.EndpointSpecOrBuilder + getEndpointSpecOrBuilder() { + if ((specCase_ == 7) && (endpointSpecBuilder_ != null)) { + return endpointSpecBuilder_.getMessageOrBuilder(); + } else { + if (specCase_ == 7) { + return (com.google.cloud.agentregistry.v1.Service.EndpointSpec) spec_; + } + return com.google.cloud.agentregistry.v1.Service.EndpointSpec.getDefaultInstance(); + } + } + + /** + * + * + *
+     * Optional. The spec of the Endpoint. When `endpoint_spec` is set, the type
+     * of the service is Endpoint.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec endpoint_spec = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Service.EndpointSpec, + com.google.cloud.agentregistry.v1.Service.EndpointSpec.Builder, + com.google.cloud.agentregistry.v1.Service.EndpointSpecOrBuilder> + internalGetEndpointSpecFieldBuilder() { + if (endpointSpecBuilder_ == null) { + if (!(specCase_ == 7)) { + spec_ = com.google.cloud.agentregistry.v1.Service.EndpointSpec.getDefaultInstance(); + } + endpointSpecBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Service.EndpointSpec, + com.google.cloud.agentregistry.v1.Service.EndpointSpec.Builder, + com.google.cloud.agentregistry.v1.Service.EndpointSpecOrBuilder>( + (com.google.cloud.agentregistry.v1.Service.EndpointSpec) spec_, + getParentForChildren(), + isClean()); + spec_ = null; + } + specCase_ = 7; + onChanged(); + return endpointSpecBuilder_; + } + + private java.lang.Object name_ = ""; + + /** + * + * + *
+     * Identifier. The resource name of the Service.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Identifier. The resource name of the Service.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Identifier. The resource name of the Service.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. The resource name of the Service.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * + * + *
+     * Identifier. The resource name of the Service.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private java.lang.Object displayName_ = ""; + + /** + * + * + *
+     * Optional. User-defined display name for the Service.
+     * Can have a maximum length of `63` characters.
+     * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The displayName. + */ + public java.lang.String getDisplayName() { + java.lang.Object ref = displayName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + displayName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. User-defined display name for the Service.
+     * Can have a maximum length of `63` characters.
+     * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for displayName. + */ + public com.google.protobuf.ByteString getDisplayNameBytes() { + java.lang.Object ref = displayName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + displayName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. User-defined display name for the Service.
+     * Can have a maximum length of `63` characters.
+     * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The displayName to set. + * @return This builder for chaining. + */ + public Builder setDisplayName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + displayName_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. User-defined display name for the Service.
+     * Can have a maximum length of `63` characters.
+     * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearDisplayName() { + displayName_ = getDefaultInstance().getDisplayName(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. User-defined display name for the Service.
+     * Can have a maximum length of `63` characters.
+     * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for displayName to set. + * @return This builder for chaining. + */ + public Builder setDisplayNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + displayName_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + private java.lang.Object description_ = ""; + + /** + * + * + *
+     * Optional. User-defined description of an Service.
+     * Can have a maximum length of `2048` characters.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The description. + */ + public java.lang.String getDescription() { + java.lang.Object ref = description_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + description_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. User-defined description of an Service.
+     * Can have a maximum length of `2048` characters.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for description. + */ + public com.google.protobuf.ByteString getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. User-defined description of an Service.
+     * Can have a maximum length of `2048` characters.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The description to set. + * @return This builder for chaining. + */ + public Builder setDescription(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + description_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. User-defined description of an Service.
+     * Can have a maximum length of `2048` characters.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearDescription() { + description_ = getDefaultInstance().getDescription(); + bitField0_ = (bitField0_ & ~0x00000020); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. User-defined description of an Service.
+     * Can have a maximum length of `2048` characters.
+     * 
+ * + * string description = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for description to set. + * @return This builder for chaining. + */ + public Builder setDescriptionBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + description_ = value; + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + private java.util.List interfaces_ = + java.util.Collections.emptyList(); + + private void ensureInterfacesIsMutable() { + if (!((bitField0_ & 0x00000040) != 0)) { + interfaces_ = + new java.util.ArrayList(interfaces_); + bitField0_ |= 0x00000040; + } + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Interface, + com.google.cloud.agentregistry.v1.Interface.Builder, + com.google.cloud.agentregistry.v1.InterfaceOrBuilder> + interfacesBuilder_; + + /** + * + * + *
+     * Optional. The connection details for the Service.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public java.util.List getInterfacesList() { + if (interfacesBuilder_ == null) { + return java.util.Collections.unmodifiableList(interfaces_); + } else { + return interfacesBuilder_.getMessageList(); + } + } + + /** + * + * + *
+     * Optional. The connection details for the Service.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public int getInterfacesCount() { + if (interfacesBuilder_ == null) { + return interfaces_.size(); + } else { + return interfacesBuilder_.getCount(); + } + } + + /** + * + * + *
+     * Optional. The connection details for the Service.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.agentregistry.v1.Interface getInterfaces(int index) { + if (interfacesBuilder_ == null) { + return interfaces_.get(index); + } else { + return interfacesBuilder_.getMessage(index); + } + } + + /** + * + * + *
+     * Optional. The connection details for the Service.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setInterfaces(int index, com.google.cloud.agentregistry.v1.Interface value) { + if (interfacesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureInterfacesIsMutable(); + interfaces_.set(index, value); + onChanged(); + } else { + interfacesBuilder_.setMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * Optional. The connection details for the Service.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setInterfaces( + int index, com.google.cloud.agentregistry.v1.Interface.Builder builderForValue) { + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + interfaces_.set(index, builderForValue.build()); + onChanged(); + } else { + interfacesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Optional. The connection details for the Service.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addInterfaces(com.google.cloud.agentregistry.v1.Interface value) { + if (interfacesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureInterfacesIsMutable(); + interfaces_.add(value); + onChanged(); + } else { + interfacesBuilder_.addMessage(value); + } + return this; + } + + /** + * + * + *
+     * Optional. The connection details for the Service.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addInterfaces(int index, com.google.cloud.agentregistry.v1.Interface value) { + if (interfacesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureInterfacesIsMutable(); + interfaces_.add(index, value); + onChanged(); + } else { + interfacesBuilder_.addMessage(index, value); + } + return this; + } + + /** + * + * + *
+     * Optional. The connection details for the Service.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addInterfaces( + com.google.cloud.agentregistry.v1.Interface.Builder builderForValue) { + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + interfaces_.add(builderForValue.build()); + onChanged(); + } else { + interfacesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Optional. The connection details for the Service.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addInterfaces( + int index, com.google.cloud.agentregistry.v1.Interface.Builder builderForValue) { + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + interfaces_.add(index, builderForValue.build()); + onChanged(); + } else { + interfacesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * + * + *
+     * Optional. The connection details for the Service.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder addAllInterfaces( + java.lang.Iterable values) { + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, interfaces_); + onChanged(); + } else { + interfacesBuilder_.addAllMessages(values); + } + return this; + } + + /** + * + * + *
+     * Optional. The connection details for the Service.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearInterfaces() { + if (interfacesBuilder_ == null) { + interfaces_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + } else { + interfacesBuilder_.clear(); + } + return this; + } + + /** + * + * + *
+     * Optional. The connection details for the Service.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder removeInterfaces(int index) { + if (interfacesBuilder_ == null) { + ensureInterfacesIsMutable(); + interfaces_.remove(index); + onChanged(); + } else { + interfacesBuilder_.remove(index); + } + return this; + } + + /** + * + * + *
+     * Optional. The connection details for the Service.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.agentregistry.v1.Interface.Builder getInterfacesBuilder(int index) { + return internalGetInterfacesFieldBuilder().getBuilder(index); + } + + /** + * + * + *
+     * Optional. The connection details for the Service.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.agentregistry.v1.InterfaceOrBuilder getInterfacesOrBuilder(int index) { + if (interfacesBuilder_ == null) { + return interfaces_.get(index); + } else { + return interfacesBuilder_.getMessageOrBuilder(index); + } + } + + /** + * + * + *
+     * Optional. The connection details for the Service.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public java.util.List + getInterfacesOrBuilderList() { + if (interfacesBuilder_ != null) { + return interfacesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(interfaces_); + } + } + + /** + * + * + *
+     * Optional. The connection details for the Service.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.agentregistry.v1.Interface.Builder addInterfacesBuilder() { + return internalGetInterfacesFieldBuilder() + .addBuilder(com.google.cloud.agentregistry.v1.Interface.getDefaultInstance()); + } + + /** + * + * + *
+     * Optional. The connection details for the Service.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.agentregistry.v1.Interface.Builder addInterfacesBuilder(int index) { + return internalGetInterfacesFieldBuilder() + .addBuilder(index, com.google.cloud.agentregistry.v1.Interface.getDefaultInstance()); + } + + /** + * + * + *
+     * Optional. The connection details for the Service.
+     * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public java.util.List + getInterfacesBuilderList() { + return internalGetInterfacesFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Interface, + com.google.cloud.agentregistry.v1.Interface.Builder, + com.google.cloud.agentregistry.v1.InterfaceOrBuilder> + internalGetInterfacesFieldBuilder() { + if (interfacesBuilder_ == null) { + interfacesBuilder_ = + new com.google.protobuf.RepeatedFieldBuilder< + com.google.cloud.agentregistry.v1.Interface, + com.google.cloud.agentregistry.v1.Interface.Builder, + com.google.cloud.agentregistry.v1.InterfaceOrBuilder>( + interfaces_, ((bitField0_ & 0x00000040) != 0), getParentForChildren(), isClean()); + interfaces_ = null; + } + return interfacesBuilder_; + } + + private java.lang.Object registryResource_ = ""; + + /** + * + * + *
+     * Output only. The resource name of the resulting Agent, MCP Server, or
+     * Endpoint. Format:
+     *
+     * * `projects/{project}/locations/{location}/mcpServers/{mcp_server}`
+     * * `projects/{project}/locations/{location}/agents/{agent}`
+     * * `projects/{project}/locations/{location}/endpoints/{endpoint}`
+     * 
+ * + * string registry_resource = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The registryResource. + */ + public java.lang.String getRegistryResource() { + java.lang.Object ref = registryResource_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + registryResource_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Output only. The resource name of the resulting Agent, MCP Server, or
+     * Endpoint. Format:
+     *
+     * * `projects/{project}/locations/{location}/mcpServers/{mcp_server}`
+     * * `projects/{project}/locations/{location}/agents/{agent}`
+     * * `projects/{project}/locations/{location}/endpoints/{endpoint}`
+     * 
+ * + * string registry_resource = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for registryResource. + */ + public com.google.protobuf.ByteString getRegistryResourceBytes() { + java.lang.Object ref = registryResource_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + registryResource_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Output only. The resource name of the resulting Agent, MCP Server, or
+     * Endpoint. Format:
+     *
+     * * `projects/{project}/locations/{location}/mcpServers/{mcp_server}`
+     * * `projects/{project}/locations/{location}/agents/{agent}`
+     * * `projects/{project}/locations/{location}/endpoints/{endpoint}`
+     * 
+ * + * string registry_resource = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The registryResource to set. + * @return This builder for chaining. + */ + public Builder setRegistryResource(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + registryResource_ = value; + bitField0_ |= 0x00000080; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The resource name of the resulting Agent, MCP Server, or
+     * Endpoint. Format:
+     *
+     * * `projects/{project}/locations/{location}/mcpServers/{mcp_server}`
+     * * `projects/{project}/locations/{location}/agents/{agent}`
+     * * `projects/{project}/locations/{location}/endpoints/{endpoint}`
+     * 
+ * + * string registry_resource = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearRegistryResource() { + registryResource_ = getDefaultInstance().getRegistryResource(); + bitField0_ = (bitField0_ & ~0x00000080); + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The resource name of the resulting Agent, MCP Server, or
+     * Endpoint. Format:
+     *
+     * * `projects/{project}/locations/{location}/mcpServers/{mcp_server}`
+     * * `projects/{project}/locations/{location}/agents/{agent}`
+     * * `projects/{project}/locations/{location}/endpoints/{endpoint}`
+     * 
+ * + * string registry_resource = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for registryResource to set. + * @return This builder for chaining. + */ + public Builder setRegistryResourceBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + registryResource_ = value; + bitField0_ |= 0x00000080; + onChanged(); + return this; + } + + private com.google.protobuf.Timestamp createTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + createTimeBuilder_; + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000100) != 0); + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + public com.google.protobuf.Timestamp getCreateTime() { + if (createTimeBuilder_ == null) { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } else { + return createTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + createTime_ = value; + } else { + createTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000100; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (createTimeBuilder_ == null) { + createTime_ = builderForValue.build(); + } else { + createTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000100; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (((bitField0_ & 0x00000100) != 0) + && createTime_ != null + && createTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getCreateTimeBuilder().mergeFrom(value); + } else { + createTime_ = value; + } + } else { + createTimeBuilder_.mergeFrom(value); + } + if (createTime_ != null) { + bitField0_ |= 0x00000100; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCreateTime() { + bitField0_ = (bitField0_ & ~0x00000100); + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() { + bitField0_ |= 0x00000100; + onChanged(); + return internalGetCreateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + if (createTimeBuilder_ != null) { + return createTimeBuilder_.getMessageOrBuilder(); + } else { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } + } + + /** + * + * + *
+     * Output only. Create time.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetCreateTimeFieldBuilder() { + if (createTimeBuilder_ == null) { + createTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCreateTime(), getParentForChildren(), isClean()); + createTime_ = null; + } + return createTimeBuilder_; + } + + private com.google.protobuf.Timestamp updateTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + updateTimeBuilder_; + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000200) != 0); + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + public com.google.protobuf.Timestamp getUpdateTime() { + if (updateTimeBuilder_ == null) { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } else { + return updateTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateTime_ = value; + } else { + updateTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000200; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (updateTimeBuilder_ == null) { + updateTime_ = builderForValue.build(); + } else { + updateTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000200; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (((bitField0_ & 0x00000200) != 0) + && updateTime_ != null + && updateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getUpdateTimeBuilder().mergeFrom(value); + } else { + updateTime_ = value; + } + } else { + updateTimeBuilder_.mergeFrom(value); + } + if (updateTime_ != null) { + bitField0_ |= 0x00000200; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearUpdateTime() { + bitField0_ = (bitField0_ & ~0x00000200); + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getUpdateTimeBuilder() { + bitField0_ |= 0x00000200; + onChanged(); + return internalGetUpdateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + if (updateTimeBuilder_ != null) { + return updateTimeBuilder_.getMessageOrBuilder(); + } else { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } + } + + /** + * + * + *
+     * Output only. Update time.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetUpdateTimeFieldBuilder() { + if (updateTimeBuilder_ == null) { + updateTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getUpdateTime(), getParentForChildren(), isClean()); + updateTime_ = null; + } + return updateTimeBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.Service) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.Service) + private static final com.google.cloud.agentregistry.v1.Service DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.Service(); + } + + public static com.google.cloud.agentregistry.v1.Service getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Service parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ServiceName.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ServiceName.java new file mode 100644 index 000000000000..cf3232a7535f --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ServiceName.java @@ -0,0 +1,223 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1; + +import com.google.api.pathtemplate.PathTemplate; +import com.google.api.resourcenames.ResourceName; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@Generated("by gapic-generator-java") +public class ServiceName implements ResourceName { + private static final PathTemplate PROJECT_LOCATION_SERVICE = + PathTemplate.createWithoutUrlEncoding( + "projects/{project}/locations/{location}/services/{service}"); + private volatile Map fieldValuesMap; + private final String project; + private final String location; + private final String service; + + @Deprecated + protected ServiceName() { + project = null; + location = null; + service = null; + } + + private ServiceName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + location = Preconditions.checkNotNull(builder.getLocation()); + service = Preconditions.checkNotNull(builder.getService()); + } + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getService() { + return service; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static ServiceName of(String project, String location, String service) { + return newBuilder().setProject(project).setLocation(location).setService(service).build(); + } + + public static String format(String project, String location, String service) { + return newBuilder() + .setProject(project) + .setLocation(location) + .setService(service) + .build() + .toString(); + } + + public static ServiceName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + Map matchMap = + PROJECT_LOCATION_SERVICE.validatedMatch( + formattedString, "ServiceName.parse: formattedString not in valid format"); + return of(matchMap.get("project"), matchMap.get("location"), matchMap.get("service")); + } + + public static List parseList(List formattedStrings) { + List list = new ArrayList<>(formattedStrings.size()); + for (String formattedString : formattedStrings) { + list.add(parse(formattedString)); + } + return list; + } + + public static List toStringList(List values) { + List list = new ArrayList<>(values.size()); + for (ServiceName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return PROJECT_LOCATION_SERVICE.matches(formattedString); + } + + @Override + public Map getFieldValuesMap() { + if (fieldValuesMap == null) { + synchronized (this) { + if (fieldValuesMap == null) { + ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); + if (project != null) { + fieldMapBuilder.put("project", project); + } + if (location != null) { + fieldMapBuilder.put("location", location); + } + if (service != null) { + fieldMapBuilder.put("service", service); + } + fieldValuesMap = fieldMapBuilder.build(); + } + } + } + return fieldValuesMap; + } + + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return PROJECT_LOCATION_SERVICE.instantiate( + "project", project, "location", location, "service", service); + } + + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + if (o != null && getClass() == o.getClass()) { + ServiceName that = ((ServiceName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.location, that.location) + && Objects.equals(this.service, that.service); + } + return false; + } + + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + h *= 1000003; + h ^= Objects.hashCode(location); + h *= 1000003; + h ^= Objects.hashCode(service); + return h; + } + + /** Builder for projects/{project}/locations/{location}/services/{service}. */ + public static class Builder { + private String project; + private String location; + private String service; + + protected Builder() {} + + public String getProject() { + return project; + } + + public String getLocation() { + return location; + } + + public String getService() { + return service; + } + + public Builder setProject(String project) { + this.project = project; + return this; + } + + public Builder setLocation(String location) { + this.location = location; + return this; + } + + public Builder setService(String service) { + this.service = service; + return this; + } + + private Builder(ServiceName serviceName) { + this.project = serviceName.project; + this.location = serviceName.location; + this.service = serviceName.service; + } + + public ServiceName build() { + return new ServiceName(this); + } + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ServiceOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ServiceOrBuilder.java new file mode 100644 index 000000000000..5a798be532ee --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ServiceOrBuilder.java @@ -0,0 +1,434 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface ServiceOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.Service) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Optional. The spec of the Agent. When `agent_spec` is set, the type of
+   * the service is Agent.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec agent_spec = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the agentSpec field is set. + */ + boolean hasAgentSpec(); + + /** + * + * + *
+   * Optional. The spec of the Agent. When `agent_spec` is set, the type of
+   * the service is Agent.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec agent_spec = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The agentSpec. + */ + com.google.cloud.agentregistry.v1.Service.AgentSpec getAgentSpec(); + + /** + * + * + *
+   * Optional. The spec of the Agent. When `agent_spec` is set, the type of
+   * the service is Agent.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service.AgentSpec agent_spec = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.agentregistry.v1.Service.AgentSpecOrBuilder getAgentSpecOrBuilder(); + + /** + * + * + *
+   * Optional. The spec of the MCP Server. When `mcp_server_spec` is set, the
+   * type of the service is MCP Server.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec mcp_server_spec = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the mcpServerSpec field is set. + */ + boolean hasMcpServerSpec(); + + /** + * + * + *
+   * Optional. The spec of the MCP Server. When `mcp_server_spec` is set, the
+   * type of the service is MCP Server.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec mcp_server_spec = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The mcpServerSpec. + */ + com.google.cloud.agentregistry.v1.Service.McpServerSpec getMcpServerSpec(); + + /** + * + * + *
+   * Optional. The spec of the MCP Server. When `mcp_server_spec` is set, the
+   * type of the service is MCP Server.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service.McpServerSpec mcp_server_spec = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.agentregistry.v1.Service.McpServerSpecOrBuilder getMcpServerSpecOrBuilder(); + + /** + * + * + *
+   * Optional. The spec of the Endpoint. When `endpoint_spec` is set, the type
+   * of the service is Endpoint.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec endpoint_spec = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the endpointSpec field is set. + */ + boolean hasEndpointSpec(); + + /** + * + * + *
+   * Optional. The spec of the Endpoint. When `endpoint_spec` is set, the type
+   * of the service is Endpoint.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec endpoint_spec = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The endpointSpec. + */ + com.google.cloud.agentregistry.v1.Service.EndpointSpec getEndpointSpec(); + + /** + * + * + *
+   * Optional. The spec of the Endpoint. When `endpoint_spec` is set, the type
+   * of the service is Endpoint.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service.EndpointSpec endpoint_spec = 7 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.agentregistry.v1.Service.EndpointSpecOrBuilder getEndpointSpecOrBuilder(); + + /** + * + * + *
+   * Identifier. The resource name of the Service.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The name. + */ + java.lang.String getName(); + + /** + * + * + *
+   * Identifier. The resource name of the Service.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Optional. User-defined display name for the Service.
+   * Can have a maximum length of `63` characters.
+   * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The displayName. + */ + java.lang.String getDisplayName(); + + /** + * + * + *
+   * Optional. User-defined display name for the Service.
+   * Can have a maximum length of `63` characters.
+   * 
+ * + * string display_name = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for displayName. + */ + com.google.protobuf.ByteString getDisplayNameBytes(); + + /** + * + * + *
+   * Optional. User-defined description of an Service.
+   * Can have a maximum length of `2048` characters.
+   * 
+ * + * string description = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The description. + */ + java.lang.String getDescription(); + + /** + * + * + *
+   * Optional. User-defined description of an Service.
+   * Can have a maximum length of `2048` characters.
+   * 
+ * + * string description = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for description. + */ + com.google.protobuf.ByteString getDescriptionBytes(); + + /** + * + * + *
+   * Optional. The connection details for the Service.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + java.util.List getInterfacesList(); + + /** + * + * + *
+   * Optional. The connection details for the Service.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.agentregistry.v1.Interface getInterfaces(int index); + + /** + * + * + *
+   * Optional. The connection details for the Service.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + int getInterfacesCount(); + + /** + * + * + *
+   * Optional. The connection details for the Service.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + java.util.List + getInterfacesOrBuilderList(); + + /** + * + * + *
+   * Optional. The connection details for the Service.
+   * 
+ * + * + * repeated .google.cloud.agentregistry.v1.Interface interfaces = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.agentregistry.v1.InterfaceOrBuilder getInterfacesOrBuilder(int index); + + /** + * + * + *
+   * Output only. The resource name of the resulting Agent, MCP Server, or
+   * Endpoint. Format:
+   *
+   * * `projects/{project}/locations/{location}/mcpServers/{mcp_server}`
+   * * `projects/{project}/locations/{location}/agents/{agent}`
+   * * `projects/{project}/locations/{location}/endpoints/{endpoint}`
+   * 
+ * + * string registry_resource = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The registryResource. + */ + java.lang.String getRegistryResource(); + + /** + * + * + *
+   * Output only. The resource name of the resulting Agent, MCP Server, or
+   * Endpoint. Format:
+   *
+   * * `projects/{project}/locations/{location}/mcpServers/{mcp_server}`
+   * * `projects/{project}/locations/{location}/agents/{agent}`
+   * * `projects/{project}/locations/{location}/endpoints/{endpoint}`
+   * 
+ * + * string registry_resource = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for registryResource. + */ + com.google.protobuf.ByteString getRegistryResourceBytes(); + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + boolean hasCreateTime(); + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + com.google.protobuf.Timestamp getCreateTime(); + + /** + * + * + *
+   * Output only. Create time.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + boolean hasUpdateTime(); + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + com.google.protobuf.Timestamp getUpdateTime(); + + /** + * + * + *
+   * Output only. Update time.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder(); + + com.google.cloud.agentregistry.v1.Service.SpecCase getSpecCase(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ServiceProto.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ServiceProto.java new file mode 100644 index 000000000000..653967bbadec --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/ServiceProto.java @@ -0,0 +1,191 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public final class ServiceProto extends com.google.protobuf.GeneratedFile { + private ServiceProto() {} + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ServiceProto"); + } + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {} + + public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry); + } + + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_Service_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_Service_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_Service_AgentSpec_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_Service_AgentSpec_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_Service_McpServerSpec_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_Service_McpServerSpec_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_agentregistry_v1_Service_EndpointSpec_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_cloud_agentregistry_v1_Service_EndpointSpec_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + return descriptor; + } + + private static com.google.protobuf.Descriptors.FileDescriptor descriptor; + + static { + java.lang.String[] descriptorData = { + "\n" + + "+google/cloud/agentregistry/v1/service." + + "proto\022\035google.cloud.agentregistry.v1\032\037go" + + "ogle/api/field_behavior.proto\032\031google/ap" + + "i/resource.proto\032.google/cloud/agentregi" + + "stry/v1/properties.proto\032\034google/protobu" + + "f/struct.proto\032\037google/protobuf/timestamp.proto\"\337\t\n" + + "\007Service\022K\n\n" + + "agent_spec\030\005 \001(\0132" + + "0.google.cloud.agentregistry.v1.Service.AgentSpecB\003\340A\001H\000\022T\n" + + "\017mcp_server_spec\030\006 \001(" + + "\01324.google.cloud.agentregistry.v1.Service.McpServerSpecB\003\340A\001H\000\022Q\n\r" + + "endpoint_spec\030\007" + + " \001(\01323.google.cloud.agentregistry.v1.Service.EndpointSpecB\003\340A\001H\000\022\021\n" + + "\004name\030\001 \001(\tB\003\340A\010\022\031\n" + + "\014display_name\030\002 \001(\tB\003\340A\001\022\030\n" + + "\013description\030\003 \001(\tB\003\340A\001\022A\n\n" + + "interfaces\030\004 \003(\0132(." + + "google.cloud.agentregistry.v1.InterfaceB\003\340A\001\022\036\n" + + "\021registry_resource\030\n" + + " \001(\tB\003\340A\003\0224\n" + + "\013create_time\030\010 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n" + + "\013update_time\030\t" + + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\032\303\001\n" + + "\tAgentSpec\022H\n" + + "\004type\030\001" + + " \001(\01625.google.cloud.agentregistry.v1.Service.AgentSpec.TypeB\003\340A\002\022-\n" + + "\007content\030\002 \001(\0132\027.google.protobuf.StructB\003\340A\001\"=\n" + + "\004Type\022\024\n" + + "\020TYPE_UNSPECIFIED\020\000\022\013\n" + + "\007NO_SPEC\020\001\022\022\n" + + "\016A2A_AGENT_CARD\020\002\032\306\001\n\r" + + "McpServerSpec\022L\n" + + "\004type\030\001 \001(\01629.google.cloud.agentregis" + + "try.v1.Service.McpServerSpec.TypeB\003\340A\002\022-\n" + + "\007content\030\002 \001(\0132\027.google.protobuf.StructB\003\340A\001\"8\n" + + "\004Type\022\024\n" + + "\020TYPE_UNSPECIFIED\020\000\022\013\n" + + "\007NO_SPEC\020\001\022\r\n" + + "\tTOOL_SPEC\020\002\032\265\001\n" + + "\014EndpointSpec\022K\n" + + "\004type\030\001" + + " \001(\01628.google.cloud.agentregistry.v1.Service.EndpointSpec.TypeB\003\340A\002\022-\n" + + "\007content\030\002 \001(\0132\027.google.protobuf.StructB\003\340A\001\")\n" + + "\004Type\022\024\n" + + "\020TYPE_UNSPECIFIED\020\000\022\013\n" + + "\007NO_SPEC\020\001:x\352Au\n" + + "$agentregistry.googleapis.com/Service\022:projects/{project}/locations" + + "/{location}/services/{service}*\010services2\007serviceB\006\n" + + "\004specB\337\001\n" + + "!com.google.cloud.agentregistry.v1B\014ServiceProtoP\001ZGcloud.g" + + "oogle.com/go/agentregistry/apiv1/agentre" + + "gistrypb;agentregistrypb\252\002\035Google.Cloud." + + "AgentRegistry.V1\312\002\035Google\\Cloud\\AgentRegistry\\V1\352\002" + + " Google::Cloud::AgentRegistry::V1b\006proto3" + }; + descriptor = + com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( + descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + com.google.api.FieldBehaviorProto.getDescriptor(), + com.google.api.ResourceProto.getDescriptor(), + com.google.cloud.agentregistry.v1.PropertiesProto.getDescriptor(), + com.google.protobuf.StructProto.getDescriptor(), + com.google.protobuf.TimestampProto.getDescriptor(), + }); + internal_static_google_cloud_agentregistry_v1_Service_descriptor = + getDescriptor().getMessageType(0); + internal_static_google_cloud_agentregistry_v1_Service_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_Service_descriptor, + new java.lang.String[] { + "AgentSpec", + "McpServerSpec", + "EndpointSpec", + "Name", + "DisplayName", + "Description", + "Interfaces", + "RegistryResource", + "CreateTime", + "UpdateTime", + "Spec", + }); + internal_static_google_cloud_agentregistry_v1_Service_AgentSpec_descriptor = + internal_static_google_cloud_agentregistry_v1_Service_descriptor.getNestedType(0); + internal_static_google_cloud_agentregistry_v1_Service_AgentSpec_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_Service_AgentSpec_descriptor, + new java.lang.String[] { + "Type", "Content", + }); + internal_static_google_cloud_agentregistry_v1_Service_McpServerSpec_descriptor = + internal_static_google_cloud_agentregistry_v1_Service_descriptor.getNestedType(1); + internal_static_google_cloud_agentregistry_v1_Service_McpServerSpec_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_Service_McpServerSpec_descriptor, + new java.lang.String[] { + "Type", "Content", + }); + internal_static_google_cloud_agentregistry_v1_Service_EndpointSpec_descriptor = + internal_static_google_cloud_agentregistry_v1_Service_descriptor.getNestedType(2); + internal_static_google_cloud_agentregistry_v1_Service_EndpointSpec_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_cloud_agentregistry_v1_Service_EndpointSpec_descriptor, + new java.lang.String[] { + "Type", "Content", + }); + descriptor.resolveAllFeaturesImmutable(); + com.google.api.FieldBehaviorProto.getDescriptor(); + com.google.api.ResourceProto.getDescriptor(); + com.google.cloud.agentregistry.v1.PropertiesProto.getDescriptor(); + com.google.protobuf.StructProto.getDescriptor(); + com.google.protobuf.TimestampProto.getDescriptor(); + com.google.protobuf.ExtensionRegistry registry = + com.google.protobuf.ExtensionRegistry.newInstance(); + registry.add(com.google.api.FieldBehaviorProto.fieldBehavior); + registry.add(com.google.api.ResourceProto.resource); + com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( + descriptor, registry); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/UpdateBindingRequest.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/UpdateBindingRequest.java new file mode 100644 index 000000000000..fb82702704c3 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/UpdateBindingRequest.java @@ -0,0 +1,1359 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for updating a Binding
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.UpdateBindingRequest} + */ +@com.google.protobuf.Generated +public final class UpdateBindingRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.UpdateBindingRequest) + UpdateBindingRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "UpdateBindingRequest"); + } + + // Use UpdateBindingRequest.newBuilder() to construct. + private UpdateBindingRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private UpdateBindingRequest() { + requestId_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_UpdateBindingRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_UpdateBindingRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.UpdateBindingRequest.class, + com.google.cloud.agentregistry.v1.UpdateBindingRequest.Builder.class); + } + + private int bitField0_; + public static final int BINDING_FIELD_NUMBER = 1; + private com.google.cloud.agentregistry.v1.Binding binding_; + + /** + * + * + *
+   * Required. The Binding resource that is being updated.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the binding field is set. + */ + @java.lang.Override + public boolean hasBinding() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Required. The Binding resource that is being updated.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The binding. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Binding getBinding() { + return binding_ == null + ? com.google.cloud.agentregistry.v1.Binding.getDefaultInstance() + : binding_; + } + + /** + * + * + *
+   * Required. The Binding resource that is being updated.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.BindingOrBuilder getBindingOrBuilder() { + return binding_ == null + ? com.google.cloud.agentregistry.v1.Binding.getDefaultInstance() + : binding_; + } + + public static final int UPDATE_MASK_FIELD_NUMBER = 2; + private com.google.protobuf.FieldMask updateMask_; + + /** + * + * + *
+   * Optional. Field mask is used to specify the fields to be overwritten in the
+   * Binding resource by the update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask. If the
+   * user does not provide a mask then all fields present in the request will be
+   * overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the updateMask field is set. + */ + @java.lang.Override + public boolean hasUpdateMask() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Optional. Field mask is used to specify the fields to be overwritten in the
+   * Binding resource by the update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask. If the
+   * user does not provide a mask then all fields present in the request will be
+   * overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The updateMask. + */ + @java.lang.Override + public com.google.protobuf.FieldMask getUpdateMask() { + return updateMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : updateMask_; + } + + /** + * + * + *
+   * Optional. Field mask is used to specify the fields to be overwritten in the
+   * Binding resource by the update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask. If the
+   * user does not provide a mask then all fields present in the request will be
+   * overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() { + return updateMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : updateMask_; + } + + public static final int REQUEST_ID_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object requestId_ = ""; + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The requestId. + */ + @java.lang.Override + public java.lang.String getRequestId() { + java.lang.Object ref = requestId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + requestId_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The bytes for requestId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getRequestIdBytes() { + java.lang.Object ref = requestId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + requestId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getBinding()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(2, getUpdateMask()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(requestId_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, requestId_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getBinding()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getUpdateMask()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(requestId_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, requestId_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.UpdateBindingRequest)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.UpdateBindingRequest other = + (com.google.cloud.agentregistry.v1.UpdateBindingRequest) obj; + + if (hasBinding() != other.hasBinding()) return false; + if (hasBinding()) { + if (!getBinding().equals(other.getBinding())) return false; + } + if (hasUpdateMask() != other.hasUpdateMask()) return false; + if (hasUpdateMask()) { + if (!getUpdateMask().equals(other.getUpdateMask())) return false; + } + if (!getRequestId().equals(other.getRequestId())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasBinding()) { + hash = (37 * hash) + BINDING_FIELD_NUMBER; + hash = (53 * hash) + getBinding().hashCode(); + } + if (hasUpdateMask()) { + hash = (37 * hash) + UPDATE_MASK_FIELD_NUMBER; + hash = (53 * hash) + getUpdateMask().hashCode(); + } + hash = (37 * hash) + REQUEST_ID_FIELD_NUMBER; + hash = (53 * hash) + getRequestId().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.UpdateBindingRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.UpdateBindingRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.UpdateBindingRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.UpdateBindingRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.UpdateBindingRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.UpdateBindingRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.UpdateBindingRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.UpdateBindingRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.UpdateBindingRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.UpdateBindingRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.UpdateBindingRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.UpdateBindingRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.UpdateBindingRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for updating a Binding
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.UpdateBindingRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.UpdateBindingRequest) + com.google.cloud.agentregistry.v1.UpdateBindingRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_UpdateBindingRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_UpdateBindingRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.UpdateBindingRequest.class, + com.google.cloud.agentregistry.v1.UpdateBindingRequest.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.UpdateBindingRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetBindingFieldBuilder(); + internalGetUpdateMaskFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + binding_ = null; + if (bindingBuilder_ != null) { + bindingBuilder_.dispose(); + bindingBuilder_ = null; + } + updateMask_ = null; + if (updateMaskBuilder_ != null) { + updateMaskBuilder_.dispose(); + updateMaskBuilder_ = null; + } + requestId_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_UpdateBindingRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.UpdateBindingRequest getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.UpdateBindingRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.UpdateBindingRequest build() { + com.google.cloud.agentregistry.v1.UpdateBindingRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.UpdateBindingRequest buildPartial() { + com.google.cloud.agentregistry.v1.UpdateBindingRequest result = + new com.google.cloud.agentregistry.v1.UpdateBindingRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.UpdateBindingRequest result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.binding_ = bindingBuilder_ == null ? binding_ : bindingBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.updateMask_ = updateMaskBuilder_ == null ? updateMask_ : updateMaskBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.requestId_ = requestId_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.UpdateBindingRequest) { + return mergeFrom((com.google.cloud.agentregistry.v1.UpdateBindingRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.UpdateBindingRequest other) { + if (other == com.google.cloud.agentregistry.v1.UpdateBindingRequest.getDefaultInstance()) + return this; + if (other.hasBinding()) { + mergeBinding(other.getBinding()); + } + if (other.hasUpdateMask()) { + mergeUpdateMask(other.getUpdateMask()); + } + if (!other.getRequestId().isEmpty()) { + requestId_ = other.requestId_; + bitField0_ |= 0x00000004; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage(internalGetBindingFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + input.readMessage( + internalGetUpdateMaskFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + requestId_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private com.google.cloud.agentregistry.v1.Binding binding_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Binding, + com.google.cloud.agentregistry.v1.Binding.Builder, + com.google.cloud.agentregistry.v1.BindingOrBuilder> + bindingBuilder_; + + /** + * + * + *
+     * Required. The Binding resource that is being updated.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the binding field is set. + */ + public boolean hasBinding() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Required. The Binding resource that is being updated.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The binding. + */ + public com.google.cloud.agentregistry.v1.Binding getBinding() { + if (bindingBuilder_ == null) { + return binding_ == null + ? com.google.cloud.agentregistry.v1.Binding.getDefaultInstance() + : binding_; + } else { + return bindingBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Required. The Binding resource that is being updated.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setBinding(com.google.cloud.agentregistry.v1.Binding value) { + if (bindingBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + binding_ = value; + } else { + bindingBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The Binding resource that is being updated.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setBinding(com.google.cloud.agentregistry.v1.Binding.Builder builderForValue) { + if (bindingBuilder_ == null) { + binding_ = builderForValue.build(); + } else { + bindingBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The Binding resource that is being updated.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeBinding(com.google.cloud.agentregistry.v1.Binding value) { + if (bindingBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && binding_ != null + && binding_ != com.google.cloud.agentregistry.v1.Binding.getDefaultInstance()) { + getBindingBuilder().mergeFrom(value); + } else { + binding_ = value; + } + } else { + bindingBuilder_.mergeFrom(value); + } + if (binding_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Required. The Binding resource that is being updated.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearBinding() { + bitField0_ = (bitField0_ & ~0x00000001); + binding_ = null; + if (bindingBuilder_ != null) { + bindingBuilder_.dispose(); + bindingBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The Binding resource that is being updated.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.agentregistry.v1.Binding.Builder getBindingBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetBindingFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Required. The Binding resource that is being updated.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.agentregistry.v1.BindingOrBuilder getBindingOrBuilder() { + if (bindingBuilder_ != null) { + return bindingBuilder_.getMessageOrBuilder(); + } else { + return binding_ == null + ? com.google.cloud.agentregistry.v1.Binding.getDefaultInstance() + : binding_; + } + } + + /** + * + * + *
+     * Required. The Binding resource that is being updated.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Binding, + com.google.cloud.agentregistry.v1.Binding.Builder, + com.google.cloud.agentregistry.v1.BindingOrBuilder> + internalGetBindingFieldBuilder() { + if (bindingBuilder_ == null) { + bindingBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Binding, + com.google.cloud.agentregistry.v1.Binding.Builder, + com.google.cloud.agentregistry.v1.BindingOrBuilder>( + getBinding(), getParentForChildren(), isClean()); + binding_ = null; + } + return bindingBuilder_; + } + + private com.google.protobuf.FieldMask updateMask_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder> + updateMaskBuilder_; + + /** + * + * + *
+     * Optional. Field mask is used to specify the fields to be overwritten in the
+     * Binding resource by the update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields present in the request will be
+     * overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the updateMask field is set. + */ + public boolean hasUpdateMask() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+     * Optional. Field mask is used to specify the fields to be overwritten in the
+     * Binding resource by the update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields present in the request will be
+     * overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The updateMask. + */ + public com.google.protobuf.FieldMask getUpdateMask() { + if (updateMaskBuilder_ == null) { + return updateMask_ == null + ? com.google.protobuf.FieldMask.getDefaultInstance() + : updateMask_; + } else { + return updateMaskBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Optional. Field mask is used to specify the fields to be overwritten in the
+     * Binding resource by the update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields present in the request will be
+     * overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setUpdateMask(com.google.protobuf.FieldMask value) { + if (updateMaskBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateMask_ = value; + } else { + updateMaskBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Field mask is used to specify the fields to be overwritten in the
+     * Binding resource by the update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields present in the request will be
+     * overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setUpdateMask(com.google.protobuf.FieldMask.Builder builderForValue) { + if (updateMaskBuilder_ == null) { + updateMask_ = builderForValue.build(); + } else { + updateMaskBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Field mask is used to specify the fields to be overwritten in the
+     * Binding resource by the update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields present in the request will be
+     * overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeUpdateMask(com.google.protobuf.FieldMask value) { + if (updateMaskBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && updateMask_ != null + && updateMask_ != com.google.protobuf.FieldMask.getDefaultInstance()) { + getUpdateMaskBuilder().mergeFrom(value); + } else { + updateMask_ = value; + } + } else { + updateMaskBuilder_.mergeFrom(value); + } + if (updateMask_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Optional. Field mask is used to specify the fields to be overwritten in the
+     * Binding resource by the update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields present in the request will be
+     * overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearUpdateMask() { + bitField0_ = (bitField0_ & ~0x00000002); + updateMask_ = null; + if (updateMaskBuilder_ != null) { + updateMaskBuilder_.dispose(); + updateMaskBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Field mask is used to specify the fields to be overwritten in the
+     * Binding resource by the update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields present in the request will be
+     * overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.protobuf.FieldMask.Builder getUpdateMaskBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetUpdateMaskFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Optional. Field mask is used to specify the fields to be overwritten in the
+     * Binding resource by the update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields present in the request will be
+     * overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() { + if (updateMaskBuilder_ != null) { + return updateMaskBuilder_.getMessageOrBuilder(); + } else { + return updateMask_ == null + ? com.google.protobuf.FieldMask.getDefaultInstance() + : updateMask_; + } + } + + /** + * + * + *
+     * Optional. Field mask is used to specify the fields to be overwritten in the
+     * Binding resource by the update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields present in the request will be
+     * overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder> + internalGetUpdateMaskFieldBuilder() { + if (updateMaskBuilder_ == null) { + updateMaskBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder>( + getUpdateMask(), getParentForChildren(), isClean()); + updateMask_ = null; + } + return updateMaskBuilder_; + } + + private java.lang.Object requestId_ = ""; + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The requestId. + */ + public java.lang.String getRequestId() { + java.lang.Object ref = requestId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + requestId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The bytes for requestId. + */ + public com.google.protobuf.ByteString getRequestIdBytes() { + java.lang.Object ref = requestId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + requestId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @param value The requestId to set. + * @return This builder for chaining. + */ + public Builder setRequestId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + requestId_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearRequestId() { + requestId_ = getDefaultInstance().getRequestId(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @param value The bytes for requestId to set. + * @return This builder for chaining. + */ + public Builder setRequestIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + requestId_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.UpdateBindingRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.UpdateBindingRequest) + private static final com.google.cloud.agentregistry.v1.UpdateBindingRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.UpdateBindingRequest(); + } + + public static com.google.cloud.agentregistry.v1.UpdateBindingRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public UpdateBindingRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.UpdateBindingRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/UpdateBindingRequestOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/UpdateBindingRequestOrBuilder.java new file mode 100644 index 000000000000..676bb14783a4 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/UpdateBindingRequestOrBuilder.java @@ -0,0 +1,180 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface UpdateBindingRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.UpdateBindingRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The Binding resource that is being updated.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the binding field is set. + */ + boolean hasBinding(); + + /** + * + * + *
+   * Required. The Binding resource that is being updated.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The binding. + */ + com.google.cloud.agentregistry.v1.Binding getBinding(); + + /** + * + * + *
+   * Required. The Binding resource that is being updated.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Binding binding = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.cloud.agentregistry.v1.BindingOrBuilder getBindingOrBuilder(); + + /** + * + * + *
+   * Optional. Field mask is used to specify the fields to be overwritten in the
+   * Binding resource by the update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask. If the
+   * user does not provide a mask then all fields present in the request will be
+   * overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the updateMask field is set. + */ + boolean hasUpdateMask(); + + /** + * + * + *
+   * Optional. Field mask is used to specify the fields to be overwritten in the
+   * Binding resource by the update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask. If the
+   * user does not provide a mask then all fields present in the request will be
+   * overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The updateMask. + */ + com.google.protobuf.FieldMask getUpdateMask(); + + /** + * + * + *
+   * Optional. Field mask is used to specify the fields to be overwritten in the
+   * Binding resource by the update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask. If the
+   * user does not provide a mask then all fields present in the request will be
+   * overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder(); + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The requestId. + */ + java.lang.String getRequestId(); + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The bytes for requestId. + */ + com.google.protobuf.ByteString getRequestIdBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/UpdateServiceRequest.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/UpdateServiceRequest.java new file mode 100644 index 000000000000..dc9691604b24 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/UpdateServiceRequest.java @@ -0,0 +1,1371 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +/** + * + * + *
+ * Message for updating a Service
+ * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.UpdateServiceRequest} + */ +@com.google.protobuf.Generated +public final class UpdateServiceRequest extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.cloud.agentregistry.v1.UpdateServiceRequest) + UpdateServiceRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "UpdateServiceRequest"); + } + + // Use UpdateServiceRequest.newBuilder() to construct. + private UpdateServiceRequest(com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private UpdateServiceRequest() { + requestId_ = ""; + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_UpdateServiceRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_UpdateServiceRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.UpdateServiceRequest.class, + com.google.cloud.agentregistry.v1.UpdateServiceRequest.Builder.class); + } + + private int bitField0_; + public static final int UPDATE_MASK_FIELD_NUMBER = 1; + private com.google.protobuf.FieldMask updateMask_; + + /** + * + * + *
+   * Optional. Field mask is used to specify the fields to be overwritten in the
+   * Service resource by the update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask. If the
+   * user does not provide a mask then all fields present in the request will be
+   * overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the updateMask field is set. + */ + @java.lang.Override + public boolean hasUpdateMask() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Optional. Field mask is used to specify the fields to be overwritten in the
+   * Service resource by the update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask. If the
+   * user does not provide a mask then all fields present in the request will be
+   * overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The updateMask. + */ + @java.lang.Override + public com.google.protobuf.FieldMask getUpdateMask() { + return updateMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : updateMask_; + } + + /** + * + * + *
+   * Optional. Field mask is used to specify the fields to be overwritten in the
+   * Service resource by the update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask. If the
+   * user does not provide a mask then all fields present in the request will be
+   * overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() { + return updateMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : updateMask_; + } + + public static final int SERVICE_FIELD_NUMBER = 2; + private com.google.cloud.agentregistry.v1.Service service_; + + /** + * + * + *
+   * Required. The Service resource that is being updated.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the service field is set. + */ + @java.lang.Override + public boolean hasService() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Required. The Service resource that is being updated.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The service. + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.Service getService() { + return service_ == null + ? com.google.cloud.agentregistry.v1.Service.getDefaultInstance() + : service_; + } + + /** + * + * + *
+   * Required. The Service resource that is being updated.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.cloud.agentregistry.v1.ServiceOrBuilder getServiceOrBuilder() { + return service_ == null + ? com.google.cloud.agentregistry.v1.Service.getDefaultInstance() + : service_; + } + + public static final int REQUEST_ID_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object requestId_ = ""; + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The requestId. + */ + @java.lang.Override + public java.lang.String getRequestId() { + java.lang.Object ref = requestId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + requestId_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The bytes for requestId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getRequestIdBytes() { + java.lang.Object ref = requestId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + requestId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getUpdateMask()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(2, getService()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(requestId_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 3, requestId_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getUpdateMask()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getService()); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(requestId_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(3, requestId_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.agentregistry.v1.UpdateServiceRequest)) { + return super.equals(obj); + } + com.google.cloud.agentregistry.v1.UpdateServiceRequest other = + (com.google.cloud.agentregistry.v1.UpdateServiceRequest) obj; + + if (hasUpdateMask() != other.hasUpdateMask()) return false; + if (hasUpdateMask()) { + if (!getUpdateMask().equals(other.getUpdateMask())) return false; + } + if (hasService() != other.hasService()) return false; + if (hasService()) { + if (!getService().equals(other.getService())) return false; + } + if (!getRequestId().equals(other.getRequestId())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasUpdateMask()) { + hash = (37 * hash) + UPDATE_MASK_FIELD_NUMBER; + hash = (53 * hash) + getUpdateMask().hashCode(); + } + if (hasService()) { + hash = (37 * hash) + SERVICE_FIELD_NUMBER; + hash = (53 * hash) + getService().hashCode(); + } + hash = (37 * hash) + REQUEST_ID_FIELD_NUMBER; + hash = (53 * hash) + getRequestId().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.agentregistry.v1.UpdateServiceRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.UpdateServiceRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.UpdateServiceRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.UpdateServiceRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.UpdateServiceRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.agentregistry.v1.UpdateServiceRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.UpdateServiceRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.UpdateServiceRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.UpdateServiceRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.UpdateServiceRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.agentregistry.v1.UpdateServiceRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.agentregistry.v1.UpdateServiceRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.cloud.agentregistry.v1.UpdateServiceRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Message for updating a Service
+   * 
+ * + * Protobuf type {@code google.cloud.agentregistry.v1.UpdateServiceRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.agentregistry.v1.UpdateServiceRequest) + com.google.cloud.agentregistry.v1.UpdateServiceRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_UpdateServiceRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_UpdateServiceRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.agentregistry.v1.UpdateServiceRequest.class, + com.google.cloud.agentregistry.v1.UpdateServiceRequest.Builder.class); + } + + // Construct using com.google.cloud.agentregistry.v1.UpdateServiceRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetUpdateMaskFieldBuilder(); + internalGetServiceFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + updateMask_ = null; + if (updateMaskBuilder_ != null) { + updateMaskBuilder_.dispose(); + updateMaskBuilder_ = null; + } + service_ = null; + if (serviceBuilder_ != null) { + serviceBuilder_.dispose(); + serviceBuilder_ = null; + } + requestId_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.agentregistry.v1.AgentRegistryServiceProto + .internal_static_google_cloud_agentregistry_v1_UpdateServiceRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.UpdateServiceRequest getDefaultInstanceForType() { + return com.google.cloud.agentregistry.v1.UpdateServiceRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.UpdateServiceRequest build() { + com.google.cloud.agentregistry.v1.UpdateServiceRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.UpdateServiceRequest buildPartial() { + com.google.cloud.agentregistry.v1.UpdateServiceRequest result = + new com.google.cloud.agentregistry.v1.UpdateServiceRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(com.google.cloud.agentregistry.v1.UpdateServiceRequest result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.updateMask_ = updateMaskBuilder_ == null ? updateMask_ : updateMaskBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.service_ = serviceBuilder_ == null ? service_ : serviceBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.requestId_ = requestId_; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.agentregistry.v1.UpdateServiceRequest) { + return mergeFrom((com.google.cloud.agentregistry.v1.UpdateServiceRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.agentregistry.v1.UpdateServiceRequest other) { + if (other == com.google.cloud.agentregistry.v1.UpdateServiceRequest.getDefaultInstance()) + return this; + if (other.hasUpdateMask()) { + mergeUpdateMask(other.getUpdateMask()); + } + if (other.hasService()) { + mergeService(other.getService()); + } + if (!other.getRequestId().isEmpty()) { + requestId_ = other.requestId_; + bitField0_ |= 0x00000004; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetUpdateMaskFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + input.readMessage(internalGetServiceFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + requestId_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private com.google.protobuf.FieldMask updateMask_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder> + updateMaskBuilder_; + + /** + * + * + *
+     * Optional. Field mask is used to specify the fields to be overwritten in the
+     * Service resource by the update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields present in the request will be
+     * overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the updateMask field is set. + */ + public boolean hasUpdateMask() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Optional. Field mask is used to specify the fields to be overwritten in the
+     * Service resource by the update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields present in the request will be
+     * overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The updateMask. + */ + public com.google.protobuf.FieldMask getUpdateMask() { + if (updateMaskBuilder_ == null) { + return updateMask_ == null + ? com.google.protobuf.FieldMask.getDefaultInstance() + : updateMask_; + } else { + return updateMaskBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Optional. Field mask is used to specify the fields to be overwritten in the
+     * Service resource by the update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields present in the request will be
+     * overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setUpdateMask(com.google.protobuf.FieldMask value) { + if (updateMaskBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateMask_ = value; + } else { + updateMaskBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Field mask is used to specify the fields to be overwritten in the
+     * Service resource by the update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields present in the request will be
+     * overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setUpdateMask(com.google.protobuf.FieldMask.Builder builderForValue) { + if (updateMaskBuilder_ == null) { + updateMask_ = builderForValue.build(); + } else { + updateMaskBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Field mask is used to specify the fields to be overwritten in the
+     * Service resource by the update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields present in the request will be
+     * overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeUpdateMask(com.google.protobuf.FieldMask value) { + if (updateMaskBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && updateMask_ != null + && updateMask_ != com.google.protobuf.FieldMask.getDefaultInstance()) { + getUpdateMaskBuilder().mergeFrom(value); + } else { + updateMask_ = value; + } + } else { + updateMaskBuilder_.mergeFrom(value); + } + if (updateMask_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Optional. Field mask is used to specify the fields to be overwritten in the
+     * Service resource by the update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields present in the request will be
+     * overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearUpdateMask() { + bitField0_ = (bitField0_ & ~0x00000001); + updateMask_ = null; + if (updateMaskBuilder_ != null) { + updateMaskBuilder_.dispose(); + updateMaskBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. Field mask is used to specify the fields to be overwritten in the
+     * Service resource by the update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields present in the request will be
+     * overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.protobuf.FieldMask.Builder getUpdateMaskBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetUpdateMaskFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Optional. Field mask is used to specify the fields to be overwritten in the
+     * Service resource by the update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields present in the request will be
+     * overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() { + if (updateMaskBuilder_ != null) { + return updateMaskBuilder_.getMessageOrBuilder(); + } else { + return updateMask_ == null + ? com.google.protobuf.FieldMask.getDefaultInstance() + : updateMask_; + } + } + + /** + * + * + *
+     * Optional. Field mask is used to specify the fields to be overwritten in the
+     * Service resource by the update.
+     * The fields specified in the update_mask are relative to the resource, not
+     * the full request. A field will be overwritten if it is in the mask. If the
+     * user does not provide a mask then all fields present in the request will be
+     * overwritten.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder> + internalGetUpdateMaskFieldBuilder() { + if (updateMaskBuilder_ == null) { + updateMaskBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder>( + getUpdateMask(), getParentForChildren(), isClean()); + updateMask_ = null; + } + return updateMaskBuilder_; + } + + private com.google.cloud.agentregistry.v1.Service service_; + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Service, + com.google.cloud.agentregistry.v1.Service.Builder, + com.google.cloud.agentregistry.v1.ServiceOrBuilder> + serviceBuilder_; + + /** + * + * + *
+     * Required. The Service resource that is being updated.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the service field is set. + */ + public boolean hasService() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+     * Required. The Service resource that is being updated.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The service. + */ + public com.google.cloud.agentregistry.v1.Service getService() { + if (serviceBuilder_ == null) { + return service_ == null + ? com.google.cloud.agentregistry.v1.Service.getDefaultInstance() + : service_; + } else { + return serviceBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Required. The Service resource that is being updated.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setService(com.google.cloud.agentregistry.v1.Service value) { + if (serviceBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + service_ = value; + } else { + serviceBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The Service resource that is being updated.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setService(com.google.cloud.agentregistry.v1.Service.Builder builderForValue) { + if (serviceBuilder_ == null) { + service_ = builderForValue.build(); + } else { + serviceBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The Service resource that is being updated.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeService(com.google.cloud.agentregistry.v1.Service value) { + if (serviceBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && service_ != null + && service_ != com.google.cloud.agentregistry.v1.Service.getDefaultInstance()) { + getServiceBuilder().mergeFrom(value); + } else { + service_ = value; + } + } else { + serviceBuilder_.mergeFrom(value); + } + if (service_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Required. The Service resource that is being updated.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearService() { + bitField0_ = (bitField0_ & ~0x00000002); + service_ = null; + if (serviceBuilder_ != null) { + serviceBuilder_.dispose(); + serviceBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The Service resource that is being updated.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.agentregistry.v1.Service.Builder getServiceBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetServiceFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Required. The Service resource that is being updated.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.agentregistry.v1.ServiceOrBuilder getServiceOrBuilder() { + if (serviceBuilder_ != null) { + return serviceBuilder_.getMessageOrBuilder(); + } else { + return service_ == null + ? com.google.cloud.agentregistry.v1.Service.getDefaultInstance() + : service_; + } + } + + /** + * + * + *
+     * Required. The Service resource that is being updated.
+     * Format: `projects/{project}/locations/{location}/services/{service}`.
+     * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Service, + com.google.cloud.agentregistry.v1.Service.Builder, + com.google.cloud.agentregistry.v1.ServiceOrBuilder> + internalGetServiceFieldBuilder() { + if (serviceBuilder_ == null) { + serviceBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.cloud.agentregistry.v1.Service, + com.google.cloud.agentregistry.v1.Service.Builder, + com.google.cloud.agentregistry.v1.ServiceOrBuilder>( + getService(), getParentForChildren(), isClean()); + service_ = null; + } + return serviceBuilder_; + } + + private java.lang.Object requestId_ = ""; + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The requestId. + */ + public java.lang.String getRequestId() { + java.lang.Object ref = requestId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + requestId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The bytes for requestId. + */ + public com.google.protobuf.ByteString getRequestIdBytes() { + java.lang.Object ref = requestId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + requestId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @param value The requestId to set. + * @return This builder for chaining. + */ + public Builder setRequestId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + requestId_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearRequestId() { + requestId_ = getDefaultInstance().getRequestId(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. An optional request ID to identify requests. Specify a unique
+     * request ID so that if you must retry your request, the server will know to
+     * ignore the request if it has already been completed. The server will
+     * guarantee that for at least 60 minutes since the first request.
+     *
+     * For example, consider a situation where you make an initial request and the
+     * request times out. If you make the request again with the same request
+     * ID, the server can check if original operation with the same request ID
+     * was received, and if so, will ignore the second request. This prevents
+     * clients from accidentally creating duplicate commitments.
+     *
+     * The request ID must be a valid UUID with the exception that zero UUID is
+     * not supported (00000000-0000-0000-0000-000000000000).
+     * 
+ * + * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @param value The bytes for requestId to set. + * @return This builder for chaining. + */ + public Builder setRequestIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + requestId_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + // @@protoc_insertion_point(builder_scope:google.cloud.agentregistry.v1.UpdateServiceRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.agentregistry.v1.UpdateServiceRequest) + private static final com.google.cloud.agentregistry.v1.UpdateServiceRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.agentregistry.v1.UpdateServiceRequest(); + } + + public static com.google.cloud.agentregistry.v1.UpdateServiceRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public UpdateServiceRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.agentregistry.v1.UpdateServiceRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/UpdateServiceRequestOrBuilder.java b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/UpdateServiceRequestOrBuilder.java new file mode 100644 index 000000000000..0adaac9ac5f5 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/java/com/google/cloud/agentregistry/v1/UpdateServiceRequestOrBuilder.java @@ -0,0 +1,183 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/cloud/agentregistry/v1/agentregistry_service.proto +// Protobuf Java Version: 4.33.2 + +package com.google.cloud.agentregistry.v1; + +@com.google.protobuf.Generated +public interface UpdateServiceRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.agentregistry.v1.UpdateServiceRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Optional. Field mask is used to specify the fields to be overwritten in the
+   * Service resource by the update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask. If the
+   * user does not provide a mask then all fields present in the request will be
+   * overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the updateMask field is set. + */ + boolean hasUpdateMask(); + + /** + * + * + *
+   * Optional. Field mask is used to specify the fields to be overwritten in the
+   * Service resource by the update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask. If the
+   * user does not provide a mask then all fields present in the request will be
+   * overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The updateMask. + */ + com.google.protobuf.FieldMask getUpdateMask(); + + /** + * + * + *
+   * Optional. Field mask is used to specify the fields to be overwritten in the
+   * Service resource by the update.
+   * The fields specified in the update_mask are relative to the resource, not
+   * the full request. A field will be overwritten if it is in the mask. If the
+   * user does not provide a mask then all fields present in the request will be
+   * overwritten.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder(); + + /** + * + * + *
+   * Required. The Service resource that is being updated.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the service field is set. + */ + boolean hasService(); + + /** + * + * + *
+   * Required. The Service resource that is being updated.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The service. + */ + com.google.cloud.agentregistry.v1.Service getService(); + + /** + * + * + *
+   * Required. The Service resource that is being updated.
+   * Format: `projects/{project}/locations/{location}/services/{service}`.
+   * 
+ * + * + * .google.cloud.agentregistry.v1.Service service = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.cloud.agentregistry.v1.ServiceOrBuilder getServiceOrBuilder(); + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The requestId. + */ + java.lang.String getRequestId(); + + /** + * + * + *
+   * Optional. An optional request ID to identify requests. Specify a unique
+   * request ID so that if you must retry your request, the server will know to
+   * ignore the request if it has already been completed. The server will
+   * guarantee that for at least 60 minutes since the first request.
+   *
+   * For example, consider a situation where you make an initial request and the
+   * request times out. If you make the request again with the same request
+   * ID, the server can check if original operation with the same request ID
+   * was received, and if so, will ignore the second request. This prevents
+   * clients from accidentally creating duplicate commitments.
+   *
+   * The request ID must be a valid UUID with the exception that zero UUID is
+   * not supported (00000000-0000-0000-0000-000000000000).
+   * 
+ * + * + * string request_id = 3 [(.google.api.field_behavior) = OPTIONAL, (.google.api.field_info) = { ... } + * + * + * @return The bytes for requestId. + */ + com.google.protobuf.ByteString getRequestIdBytes(); +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/proto/google/cloud/agentregistry/v1/agent.proto b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/proto/google/cloud/agentregistry/v1/agent.proto new file mode 100644 index 000000000000..c5c3081f4562 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/proto/google/cloud/agentregistry/v1/agent.proto @@ -0,0 +1,168 @@ +// Copyright 2026 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. + +syntax = "proto3"; + +package google.cloud.agentregistry.v1; + +import "google/api/field_behavior.proto"; +import "google/api/field_info.proto"; +import "google/api/resource.proto"; +import "google/cloud/agentregistry/v1/properties.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AgentRegistry.V1"; +option go_package = "cloud.google.com/go/agentregistry/apiv1/agentregistrypb;agentregistrypb"; +option java_multiple_files = true; +option java_outer_classname = "AgentProto"; +option java_package = "com.google.cloud.agentregistry.v1"; +option php_namespace = "Google\\Cloud\\AgentRegistry\\V1"; +option ruby_package = "Google::Cloud::AgentRegistry::V1"; + +// Represents an Agent. +// "A2A" below refers to the Agent-to-Agent protocol. +message Agent { + option (google.api.resource) = { + type: "agentregistry.googleapis.com/Agent" + pattern: "projects/{project}/locations/{location}/agents/{agent}" + plural: "agents" + singular: "agent" + }; + + // Represents the protocol of an Agent. + message Protocol { + // The type of the protocol. + enum Type { + // Unspecified type. + TYPE_UNSPECIFIED = 0; + + // The interfaces point to an A2A Agent following the A2A + // specification. + A2A_AGENT = 1; + + // Agent does not follow any standard protocol. + CUSTOM = 2; + } + + // Output only. The type of the protocol. + Type type = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The version of the protocol, for example, the A2A Agent Card + // version. + string protocol_version = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The connection details for the Agent. + repeated Interface interfaces = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Represents the skills of an Agent. + message Skill { + // Output only. A unique identifier for the agent's skill. + string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A human-readable name for the agent's skill. + string name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A more detailed description of the skill. + string description = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Keywords describing the skill. + repeated string tags = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Example prompts or scenarios this skill can handle. + repeated string examples = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Full Agent Card payload, often obtained from the A2A Agent Card. + message Card { + // Represents the type of the agent card. + enum Type { + // Unspecified type. + TYPE_UNSPECIFIED = 0; + + // Indicates that the card is an A2A Agent Card. + A2A_AGENT_CARD = 1; + } + + // Output only. The type of agent card. + Type type = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The content of the agent card. + google.protobuf.Struct content = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Identifier. The resource name of an Agent. + // Format: `projects/{project}/locations/{location}/agents/{agent}`. + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. A stable, globally unique identifier for agents. + string agent_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The location where agent is hosted. The value is defined by + // the hosting environment (i.e. cloud provider). + string location = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display name of the agent, often obtained from the A2A + // Agent Card. + string display_name = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The description of the Agent, often obtained from the A2A + // Agent Card. Empty if Agent Card has no description. + string description = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The version of the Agent, often obtained from the A2A Agent + // Card. Empty if Agent Card has no version or agent is not an A2A Agent. + string version = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The connection details for the Agent. + repeated Protocol protocols = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Skills the agent possesses, often obtained from the A2A Agent + // Card. + repeated Skill skills = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A universally unique identifier for the Agent. + string uid = 10 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OUTPUT_ONLY + ]; + + // Output only. Create time. + google.protobuf.Timestamp create_time = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Update time. + google.protobuf.Timestamp update_time = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Attributes of the Agent. + // Valid values: + // + // * `agentregistry.googleapis.com/system/Framework`: {"framework": + // "google-adk"} - the agent framework used to develop the Agent. Example + // values: "google-adk", "langchain", "custom". + // * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal": + // "principal://..."} - the runtime identity associated with the Agent. + // * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."} + // - the URI of the underlying resource hosting the Agent, for + // example, the Reasoning Engine URI. + map attributes = 13 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Full Agent Card payload, when available. + Card card = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/proto/google/cloud/agentregistry/v1/agentregistry_service.proto b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/proto/google/cloud/agentregistry/v1/agentregistry_service.proto new file mode 100644 index 000000000000..682a95bf32a1 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/proto/google/cloud/agentregistry/v1/agentregistry_service.proto @@ -0,0 +1,934 @@ +// Copyright 2026 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. + +syntax = "proto3"; + +package google.cloud.agentregistry.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/field_info.proto"; +import "google/api/resource.proto"; +import "google/cloud/agentregistry/v1/agent.proto"; +import "google/cloud/agentregistry/v1/binding.proto"; +import "google/cloud/agentregistry/v1/endpoint.proto"; +import "google/cloud/agentregistry/v1/mcp_server.proto"; +import "google/cloud/agentregistry/v1/service.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AgentRegistry.V1"; +option go_package = "cloud.google.com/go/agentregistry/apiv1/agentregistrypb;agentregistrypb"; +option java_multiple_files = true; +option java_outer_classname = "AgentRegistryServiceProto"; +option java_package = "com.google.cloud.agentregistry.v1"; +option php_namespace = "Google\\Cloud\\AgentRegistry\\V1"; +option ruby_package = "Google::Cloud::AgentRegistry::V1"; + +// Service for managing Agents, Endpoints, McpServers, Services, and Bindings. +service AgentRegistry { + option (google.api.default_host) = "agentregistry.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/agentregistry.read-only," + "https://www.googleapis.com/auth/agentregistry.read-write," + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only"; + + // Lists Agents in a given project and location. + rpc ListAgents(ListAgentsRequest) returns (ListAgentsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/agents" + }; + option (google.api.method_signature) = "parent"; + } + + // Searches Agents in a given project and location. + rpc SearchAgents(SearchAgentsRequest) returns (SearchAgentsResponse) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/agents:search" + body: "*" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single Agent. + rpc GetAgent(GetAgentRequest) returns (Agent) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/agents/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Endpoints in a given project and location. + rpc ListEndpoints(ListEndpointsRequest) returns (ListEndpointsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/endpoints" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single Endpoint. + rpc GetEndpoint(GetEndpointRequest) returns (Endpoint) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/endpoints/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists McpServers in a given project and location. + rpc ListMcpServers(ListMcpServersRequest) returns (ListMcpServersResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/mcpServers" + }; + option (google.api.method_signature) = "parent"; + } + + // Searches McpServers in a given project and location. + rpc SearchMcpServers(SearchMcpServersRequest) + returns (SearchMcpServersResponse) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/mcpServers:search" + body: "*" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single McpServer. + rpc GetMcpServer(GetMcpServerRequest) returns (McpServer) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/mcpServers/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists Services in a given project and location. + rpc ListServices(ListServicesRequest) returns (ListServicesResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/services" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single Service. + rpc GetService(GetServiceRequest) returns (Service) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/services/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new Service in a given project and location. + rpc CreateService(CreateServiceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/services" + body: "service" + }; + option (google.api.method_signature) = "parent,service,service_id"; + option (google.longrunning.operation_info) = { + response_type: "Service" + metadata_type: "OperationMetadata" + }; + } + + // Updates the parameters of a single Service. + rpc UpdateService(UpdateServiceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{service.name=projects/*/locations/*/services/*}" + body: "service" + }; + option (google.api.method_signature) = "service,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Service" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a single Service. + rpc DeleteService(DeleteServiceRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/services/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists Bindings in a given project and location. + rpc ListBindings(ListBindingsRequest) returns (ListBindingsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/bindings" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets details of a single Binding. + rpc GetBinding(GetBindingRequest) returns (Binding) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/bindings/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a new Binding in a given project and location. + rpc CreateBinding(CreateBindingRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/bindings" + body: "binding" + }; + option (google.api.method_signature) = "parent,binding,binding_id"; + option (google.longrunning.operation_info) = { + response_type: "Binding" + metadata_type: "OperationMetadata" + }; + } + + // Updates the parameters of a single Binding. + rpc UpdateBinding(UpdateBindingRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{binding.name=projects/*/locations/*/bindings/*}" + body: "binding" + }; + option (google.api.method_signature) = "binding,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Binding" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a single Binding. + rpc DeleteBinding(DeleteBindingRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/bindings/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Fetches available Bindings. + rpc FetchAvailableBindings(FetchAvailableBindingsRequest) + returns (FetchAvailableBindingsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/bindings:fetchAvailable" + }; + option (google.api.method_signature) = "parent"; + } +} + +// Message for requesting list of Agents +message ListAgentsRequest { + // Required. Parent value for ListAgentsRequest + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "agentregistry.googleapis.com/Agent" + } + ]; + + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filtering results + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Hint for how to order the results + string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to listing Agents +message ListAgentsResponse { + // The list of Agents. + repeated Agent agents = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; +} + +// Message for searching Agents +message SearchAgentsRequest { + // Required. Parent value for SearchAgentsRequest. Format: + // `projects/{project}/locations/{location}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "agentregistry.googleapis.com/Agent" + } + ]; + + // Optional. Search criteria used to select the Agents to return. If no search + // criteria is specified then all accessible Agents will be returned. + // + // Search expressions can be used to restrict results based upon searchable + // fields, where the operators can be used along with the suffix wildcard + // symbol `*`. See + // [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools) + // for more details. + // + // Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`. + // + // Searchable fields: + // + // | Field | `=` | `:` | `*` | Keyword Search | + // |--------------------|-----|-----|-----|----------------| + // | agentId | Yes | Yes | Yes | Included | + // | name | No | Yes | Yes | Included | + // | displayName | No | Yes | Yes | Included | + // | description | No | Yes | No | Included | + // | skills | No | Yes | No | Included | + // | skills.id | No | Yes | No | Included | + // | skills.name | No | Yes | No | Included | + // | skills.description | No | Yes | No | Included | + // | skills.tags | No | Yes | No | Included | + // | skills.examples | No | Yes | No | Included | + // + // Examples: + // + // * `agentId="urn:agent:projects-123:projects:123:locations:us-central1:reasoningEngines:1234"` + // to find the agent with the specified agent ID. + // * `name:important` to find agents whose name contains `important` as a + // word. + // * `displayName:works*` to find agents whose display name contains words + // that start with `works`. + // * `skills.tags:test` to find agents whose skills tags contain `test`. + // * `planner OR booking` to find agents whose metadata contains the words + // `planner` or `booking`. + string search_string = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of search results to return per page. The page + // size is capped at `100`, even if a larger value is specified. A negative + // value will result in an `INVALID_ARGUMENT` error. If unspecified or set to + // `0`, a default value of `20` will be used. The server may return fewer + // results than requested. + int32 page_size = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If present, retrieve the next batch of results from the preceding + // call to this method. `page_token` must 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. + string page_token = 7 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to searching Agents +message SearchAgentsResponse { + // A list of Agents that match the `search_string`. + repeated Agent agents = 1; + + // If there are more results than those appearing in this response, then + // `next_page_token` is included. To get the next set of results, call this + // method again using the value of `next_page_token` as `page_token`. + string next_page_token = 2; +} + +// Message for getting a Agent +message GetAgentRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "agentregistry.googleapis.com/Agent" + } + ]; +} + +// Message for requesting list of Endpoints +message ListEndpointsRequest { + // Required. The project and location to list endpoints in. + // Expected format: `projects/{project}/locations/{location}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "agentregistry.googleapis.com/Endpoint" + } + ]; + + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A query string used to filter the list of endpoints returned. + // The filter expression must follow AIP-160 syntax. + // + // Filtering is supported on the `name`, `display_name`, `description`, + // `version`, and `interfaces` fields. + // + // Some examples: + // + // * `name = "projects/p1/locations/l1/endpoints/e1"` + // * `display_name = "my-endpoint"` + // * `description = "my-endpoint-description"` + // * `version = "v1"` + // * `interfaces.transport = "HTTP_JSON"` + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to listing Endpoints +message ListEndpointsResponse { + // The list of Endpoint resources matching the parent and filter criteria in + // the request. Each Endpoint resource follows the format: + // `projects/{project}/locations/{location}/endpoints/{endpoint}`. + repeated Endpoint endpoints = 1; + + // A token identifying a page of results the server should return. + // Used in + // [page_token][google.cloud.agentregistry.v1main.ListEndpointsRequest.page_token]. + string next_page_token = 2; +} + +// Message for getting a Endpoint +message GetEndpointRequest { + // Required. The name of the endpoint to retrieve. + // Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "agentregistry.googleapis.com/Endpoint" + } + ]; +} + +// Message for requesting list of McpServers +message ListMcpServersRequest { + // Required. Parent value for ListMcpServersRequest. Format: + // `projects/{project}/locations/{location}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "agentregistry.googleapis.com/McpServer" + } + ]; + + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Filtering results + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Hint for how to order the results + string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to listing McpServers +message ListMcpServersResponse { + // The list of McpServers. + repeated McpServer mcp_servers = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; +} + +// Message for searching MCP Servers +message SearchMcpServersRequest { + // Required. Parent value for SearchMcpServersRequest. Format: + // `projects/{project}/locations/{location}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "agentregistry.googleapis.com/McpServer" + } + ]; + + // Optional. Search criteria used to select the MCP Servers to return. If no + // search criteria is specified then all accessible MCP Servers will be + // returned. + // + // Search expressions can be used to restrict results based upon searchable + // fields, where the operators can be used along with the suffix wildcard + // symbol `*`. See + // [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools) + // for more details. + // + // Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`. + // + // Searchable fields: + // + // | Field | `=` | `:` | `*` | Keyword Search | + // |--------------------|-----|-----|-----|----------------| + // | mcpServerId | Yes | Yes | Yes | Included | + // | name | No | Yes | Yes | Included | + // | displayName | No | Yes | Yes | Included | + // + // Examples: + // + // * `mcpServerId="urn:mcp:projects-123:projects:123:locations:us-central1:agentregistry:services:service-id"` + // to find the MCP Server with the specified MCP Server ID. + // * `name:important` to find MCP Servers whose name contains `important` as a + // word. + // * `displayName:works*` to find MCP Servers whose display name contains + // words that start with `works`. + // * `planner OR booking` to find MCP Servers whose metadata contains the + // words `planner` or `booking`. + // * `mcpServerId:service-id AND (displayName:planner OR + // displayName:booking)` to find MCP Servers whose MCP Server ID contains + // `service-id` and whose display name contains `planner` or + // `booking`. + string search_string = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of search results to return per page. The page + // size is capped at `100`, even if a larger value is specified. A negative + // value will result in an `INVALID_ARGUMENT` error. If unspecified or set to + // `0`, a default value of `20` will be used. The server may return fewer + // results than requested. + int32 page_size = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. If present, retrieve the next batch of results from the preceding + // call to this method. `page_token` must 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. + string page_token = 7 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to searching MCP Servers +message SearchMcpServersResponse { + // A list of McpServers that match the `search_string`. + repeated McpServer mcp_servers = 1; + + // If there are more results than those appearing in this response, then + // `next_page_token` is included. To get the next set of results, call this + // method again using the value of `next_page_token` as `page_token`. + string next_page_token = 2; +} + +// Message for getting a McpServer +message GetMcpServerRequest { + // Required. Name of the resource + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "agentregistry.googleapis.com/McpServer" + } + ]; +} + +// Message for requesting list of Services +message ListServicesRequest { + // Required. The project and location to list services in. + // Expected format: `projects/{project}/locations/{location}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "agentregistry.googleapis.com/Service" + } + ]; + + // Optional. Requested page size. Server may return fewer items than + // requested. If unspecified, server will pick an appropriate default. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A query string used to filter the list of services returned. + // The filter expression must follow AIP-160 syntax. + // + // Filtering is supported on the `name`, `display_name`, `description`, + // and `labels` fields. + // + // Some examples: + // + // * `name = "projects/p1/locations/l1/services/s1"` + // * `display_name = "my-service"` + // * `description : "myservice description"` + // * `labels.env = "prod"` + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to listing Services +message ListServicesResponse { + // The list of Service resources matching the parent and filter criteria in + // the request. Each Service resource follows the format: + // `projects/{project}/locations/{location}/services/{service}`. + repeated Service services = 1; + + // A token identifying a page of results the server should return. + // Used in + // [page_token][google.cloud.agentregistry.v1main.ListServicesRequest.page_token]. + string next_page_token = 2; +} + +// Message for getting a Service +message GetServiceRequest { + // Required. The name of the Service. + // Format: `projects/{project}/locations/{location}/services/{service}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "agentregistry.googleapis.com/Service" + } + ]; +} + +// Message for creating a Service +message CreateServiceRequest { + // Required. The project and location to create the Service in. + // Expected format: `projects/{project}/locations/{location}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "agentregistry.googleapis.com/Service" + } + ]; + + // Required. The ID to use for the service, which will become the final + // component of the service's resource name. + // + // This value should be 4-63 characters, and valid characters + // are `/[a-z][0-9]-/`. + string service_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The Service resource that is being created. + // Format: `projects/{project}/locations/{location}/services/{service}`. + Service service = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OPTIONAL + ]; +} + +// Message for fetching available Bindings. +message FetchAvailableBindingsRequest { + // The reference of the source Agent. + oneof source { + // The identifier of the source Agent. + // Format: + // + // * `urn:agent:{publisher}:{namespace}:{name}` + string source_identifier = 2; + } + + // The reference of the target Agent Registry resource. + oneof target { + // Optional. The identifier of the target Agent, MCP Server, or Endpoint. + // Format: + // + // * `urn:agent:{publisher}:{namespace}:{name}` + // * `urn:mcp:{publisher}:{namespace}:{name}` + // * `urn:endpoint:{publisher}:{namespace}:{name}` + string target_identifier = 3 [(google.api.field_behavior) = OPTIONAL]; + } + + // Required. The parent, in the format + // `projects/{project}/locations/{location}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "agentregistry.googleapis.com/Binding" + } + ]; + + // Optional. Requested page size. Server may return fewer items than + // requested. Page size is 500 if unspecified and is capped at `500` even if a + // larger value is given. + int32 page_size = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + string page_token = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to fetching available Bindings. +message FetchAvailableBindingsResponse { + // The list of Bindings. + repeated Binding bindings = 1; + + // A token identifying a page of results the server should return. + string next_page_token = 2; +} + +// Message for updating a Service +message UpdateServiceRequest { + // Optional. Field mask is used to specify the fields to be overwritten in the + // Service resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields present in the request will be + // overwritten. + google.protobuf.FieldMask update_mask = 1 + [(google.api.field_behavior) = OPTIONAL]; + + // Required. The Service resource that is being updated. + // Format: `projects/{project}/locations/{location}/services/{service}`. + Service service = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 3 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OPTIONAL + ]; +} + +// Message for deleting a Service +message DeleteServiceRequest { + // Required. The name of the Service. + // Format: `projects/{project}/locations/{location}/services/{service}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "agentregistry.googleapis.com/Service" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OPTIONAL + ]; +} + +// Represents the metadata of the long-running operation. +message OperationMetadata { + // Output only. The time the operation was created. + google.protobuf.Timestamp create_time = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time the operation finished running. + google.protobuf.Timestamp end_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Server-defined resource path for the target of the operation. + string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Name of the verb executed by the operation. + string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Human-readable status of the operation, if any. + string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Identifies whether the user has requested cancellation + // of the operation. Operations that have been cancelled successfully + // have + // [google.longrunning.Operation.error][google.longrunning.Operation.error] + // value with a [google.rpc.Status.code][google.rpc.Status.code] of `1`, + // corresponding to `Code.CANCELLED`. + bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. API version used to start the operation. + string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Message for requesting a list of Bindings. +message ListBindingsRequest { + // Required. The project and location to list bindings in. + // Expected format: `projects/{project}/locations/{location}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "agentregistry.googleapis.com/Binding" + } + ]; + + // Optional. Requested page size. Server may return fewer items than + // requested. Page size is 500 if unspecified and is capped at `500` even if a + // larger value is given. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A token identifying a page of results the server should return. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A query string used to filter the list of bindings returned. + // The filter expression must follow AIP-160 syntax. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Hint for how to order the results + string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// Message for response to listing Bindings +message ListBindingsResponse { + // The list of Binding resources matching the parent and filter criteria in + // the request. Each Binding resource follows the format: + // `projects/{project}/locations/{location}/bindings/{binding}`. + repeated Binding bindings = 1; + + // A token identifying a page of results the server should return. + // Used in + // [page_token][google.cloud.agentregistry.v1main.ListBindingsRequest.page_token]. + string next_page_token = 2; +} + +// Message for getting a Binding +message GetBindingRequest { + // Required. The name of the Binding. + // Format: `projects/{project}/locations/{location}/bindings/{binding}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "agentregistry.googleapis.com/Binding" + } + ]; +} + +// Message for creating a Binding +message CreateBindingRequest { + // Required. The project and location to create the Binding in. + // Expected format: `projects/{project}/locations/{location}`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "agentregistry.googleapis.com/Binding" + } + ]; + + // Required. The ID to use for the binding, which will become the final + // component of the binding's resource name. + // + // This value should be 4-63 characters, and must conform to RFC-1034. + // Specifically, it must match the regular expression + // `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. + string binding_id = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The Binding resource that is being created. + Binding binding = 3 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 4 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OPTIONAL + ]; +} + +// Message for updating a Binding +message UpdateBindingRequest { + // Required. The Binding resource that is being updated. + Binding binding = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Field mask is used to specify the fields to be overwritten in the + // Binding resource by the update. + // The fields specified in the update_mask are relative to the resource, not + // the full request. A field will be overwritten if it is in the mask. If the + // user does not provide a mask then all fields present in the request will be + // overwritten. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes since the first request. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 3 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OPTIONAL + ]; +} + +// Message for deleting a Binding +message DeleteBindingRequest { + // Required. The name of the Binding. + // Format: `projects/{project}/locations/{location}/bindings/{binding}`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "agentregistry.googleapis.com/Binding" + } + ]; + + // Optional. An optional request ID to identify requests. Specify a unique + // request ID so that if you must retry your request, the server will know to + // ignore the request if it has already been completed. The server will + // guarantee that for at least 60 minutes after the first request. + // + // For example, consider a situation where you make an initial request and the + // request times out. If you make the request again with the same request + // ID, the server can check if original operation with the same request ID + // was received, and if so, will ignore the second request. This prevents + // clients from accidentally creating duplicate commitments. + // + // The request ID must be a valid UUID with the exception that zero UUID is + // not supported (00000000-0000-0000-0000-000000000000). + string request_id = 2 [ + (google.api.field_info).format = UUID4, + (google.api.field_behavior) = OPTIONAL + ]; +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/proto/google/cloud/agentregistry/v1/binding.proto b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/proto/google/cloud/agentregistry/v1/binding.proto new file mode 100644 index 000000000000..6a9ce81c3313 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/proto/google/cloud/agentregistry/v1/binding.proto @@ -0,0 +1,120 @@ +// Copyright 2026 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. + +syntax = "proto3"; + +package google.cloud.agentregistry.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AgentRegistry.V1"; +option go_package = "cloud.google.com/go/agentregistry/apiv1/agentregistrypb;agentregistrypb"; +option java_multiple_files = true; +option java_outer_classname = "BindingProto"; +option java_package = "com.google.cloud.agentregistry.v1"; +option php_namespace = "Google\\Cloud\\AgentRegistry\\V1"; +option ruby_package = "Google::Cloud::AgentRegistry::V1"; + +// Represents a user-defined Binding. +message Binding { + option (google.api.resource) = { + type: "agentregistry.googleapis.com/Binding" + pattern: "projects/{project}/locations/{location}/bindings/{binding}" + plural: "bindings" + singular: "binding" + }; + + // The source of the Binding. + message Source { + // The type of the source, currently only supports Agents. + // Potential future fields include 'tag', etc. + oneof source_type { + // The identifier of the source Agent. + // Format: + // + // * `urn:agent:{publisher}:{namespace}:{name}` + string identifier = 1; + } + } + + // The target of the Binding. + message Target { + // The type of the target, currently only supports an AgentRegistry + // Resource. + // Potential future fields include 'tag', etc. + oneof target_type { + // The identifier of the target Agent, MCP Server, or Endpoint. + // Format: + // + // * `urn:agent:{publisher}:{namespace}:{name}` + // * `urn:mcp:{publisher}:{namespace}:{name}` + // * `urn:endpoint:{publisher}:{namespace}:{name}` + string identifier = 1; + } + } + + // The AuthProvider of the Binding. + message AuthProviderBinding { + // Required. The resource name of the target AuthProvider. + // Format: + // + // * `projects/{project}/locations/{location}/authProviders/{auth_provider}` + string auth_provider = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The list of OAuth2 scopes of the AuthProvider. + repeated string scopes = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The continue URI of the AuthProvider. + // The URI is used to reauthenticate the user and finalize the managed OAuth + // flow. + string continue_uri = 3 [(google.api.field_behavior) = OPTIONAL]; + } + + // The configuration for the Binding. + oneof binding { + // The binding for AuthProvider. + AuthProviderBinding auth_provider_binding = 6; + } + + // Required. Identifier. The resource name of the Binding. + // Format: `projects/{project}/locations/{location}/bindings/{binding}`. + string name = 1 [ + (google.api.field_behavior) = IDENTIFIER, + (google.api.field_behavior) = REQUIRED + ]; + + // Optional. User-defined display name for the Binding. + // Can have a maximum length of `63` characters. + string display_name = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. User-defined description of a Binding. + // Can have a maximum length of `2048` characters. + string description = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Required. The target Agent of the Binding. + Source source = 4 [(google.api.field_behavior) = REQUIRED]; + + // Required. The target Agent Registry Resource of the Binding. + Target target = 5 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Timestamp when this binding was created. + google.protobuf.Timestamp create_time = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Timestamp when this binding was last updated. + google.protobuf.Timestamp update_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/proto/google/cloud/agentregistry/v1/endpoint.proto b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/proto/google/cloud/agentregistry/v1/endpoint.proto new file mode 100644 index 000000000000..29978c2197e4 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/proto/google/cloud/agentregistry/v1/endpoint.proto @@ -0,0 +1,75 @@ +// Copyright 2026 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. + +syntax = "proto3"; + +package google.cloud.agentregistry.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/agentregistry/v1/properties.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AgentRegistry.V1"; +option go_package = "cloud.google.com/go/agentregistry/apiv1/agentregistrypb;agentregistrypb"; +option java_multiple_files = true; +option java_outer_classname = "EndpointProto"; +option java_package = "com.google.cloud.agentregistry.v1"; +option php_namespace = "Google\\Cloud\\AgentRegistry\\V1"; +option ruby_package = "Google::Cloud::AgentRegistry::V1"; + +// Represents an Endpoint. +message Endpoint { + option (google.api.resource) = { + type: "agentregistry.googleapis.com/Endpoint" + pattern: "projects/{project}/locations/{location}/endpoints/{endpoint}" + plural: "endpoints" + singular: "endpoint" + }; + + // Identifier. The resource name of the Endpoint. + // Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`. + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. A stable, globally unique identifier for Endpoint. + string endpoint_id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Display name for the Endpoint. + string display_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Description of an Endpoint. + string description = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The connection details for the Endpoint. + repeated Interface interfaces = 4 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Create time. + google.protobuf.Timestamp create_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Update time. + google.protobuf.Timestamp update_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Attributes of the Endpoint. + // + // Valid values: + // + // * `agentregistry.googleapis.com/system/RuntimeReference`: + // {"uri": "//..."} - the URI of the underlying resource hosting the + // Endpoint, for example, the GKE Deployment. + map attributes = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/proto/google/cloud/agentregistry/v1/mcp_server.proto b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/proto/google/cloud/agentregistry/v1/mcp_server.proto new file mode 100644 index 000000000000..dfea8e01504d --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/proto/google/cloud/agentregistry/v1/mcp_server.proto @@ -0,0 +1,120 @@ +// Copyright 2026 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. + +syntax = "proto3"; + +package google.cloud.agentregistry.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/agentregistry/v1/properties.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AgentRegistry.V1"; +option go_package = "cloud.google.com/go/agentregistry/apiv1/agentregistrypb;agentregistrypb"; +option java_multiple_files = true; +option java_outer_classname = "McpServerProto"; +option java_package = "com.google.cloud.agentregistry.v1"; +option php_namespace = "Google\\Cloud\\AgentRegistry\\V1"; +option ruby_package = "Google::Cloud::AgentRegistry::V1"; + +// Represents an MCP (Model Context Protocol) Server. +message McpServer { + option (google.api.resource) = { + type: "agentregistry.googleapis.com/McpServer" + pattern: "projects/{project}/locations/{location}/mcpServers/{mcp_server}" + plural: "mcpServers" + singular: "mcpServer" + }; + + // Represents a single tool provided by an MCP Server. + message Tool { + // Annotations describing the characteristics and behavior of a tool or + // operation. + message Annotations { + // Output only. A human-readable title for the tool. + string title = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. If true, the tool may perform destructive updates to its + // environment. If false, the tool performs only additive updates. NOTE: + // This property is meaningful only when `read_only_hint == false` + // Default: true + bool destructive_hint = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. If true, calling the tool repeatedly with the same + // arguments will have no additional effect on its environment. NOTE: This + // property is meaningful only when `read_only_hint == false` Default: + // false + bool idempotent_hint = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. If true, this tool may interact with an "open world" of + // external entities. If false, the tool's domain of interaction is + // closed. For example, the world of a web search tool is open, whereas + // that of a memory tool is not. Default: true + bool open_world_hint = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. If true, the tool does not modify its environment. + // Default: false + bool read_only_hint = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Output only. Human-readable name of the tool. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Description of what the tool does. + string description = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Annotations associated with the tool. + Annotations annotations = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Identifier. The resource name of the MCP Server. + // Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`. + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Output only. A stable, globally unique identifier for MCP Servers. + string mcp_server_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The display name of the MCP Server. + string display_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The description of the MCP Server. + string description = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The connection details for the MCP Server. + repeated Interface interfaces = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Tools provided by the MCP Server. + repeated Tool tools = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Create time. + google.protobuf.Timestamp create_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Update time. + google.protobuf.Timestamp update_time = 7 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Attributes of the MCP Server. + // Valid values: + // + // * `agentregistry.googleapis.com/system/RuntimeIdentity`: {"principal": + // "principal://..."} - the runtime identity associated with the MCP Server. + // * `agentregistry.googleapis.com/system/RuntimeReference`: {"uri": "//..."} + // - the URI of the underlying resource hosting the MCP Server, for + // example, the GKE Deployment. + map attributes = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/proto/google/cloud/agentregistry/v1/properties.proto b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/proto/google/cloud/agentregistry/v1/properties.proto new file mode 100644 index 000000000000..86a0f1c10467 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/proto/google/cloud/agentregistry/v1/properties.proto @@ -0,0 +1,51 @@ +// Copyright 2026 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. + +syntax = "proto3"; + +package google.cloud.agentregistry.v1; + +import "google/api/field_behavior.proto"; + +option csharp_namespace = "Google.Cloud.AgentRegistry.V1"; +option go_package = "cloud.google.com/go/agentregistry/apiv1/agentregistrypb;agentregistrypb"; +option java_multiple_files = true; +option java_outer_classname = "PropertiesProto"; +option java_package = "com.google.cloud.agentregistry.v1"; +option php_namespace = "Google\\Cloud\\AgentRegistry\\V1"; +option ruby_package = "Google::Cloud::AgentRegistry::V1"; + +// Represents the connection details for an Agent or MCP Server. +message Interface { + // The protocol binding of the interface. + enum ProtocolBinding { + // Unspecified transport protocol. + PROTOCOL_BINDING_UNSPECIFIED = 0; + + // JSON-RPC specification. + JSONRPC = 1; + + // gRPC specification. + GRPC = 2; + + // HTTP+JSON specification. + HTTP_JSON = 3; + } + + // Required. The destination URL. + string url = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The protocol binding of the interface. + ProtocolBinding protocol_binding = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/proto/google/cloud/agentregistry/v1/service.proto b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/proto/google/cloud/agentregistry/v1/service.proto new file mode 100644 index 000000000000..174bd716cda9 --- /dev/null +++ b/java-agentregistry/proto-google-cloud-agentregistry-v1/src/main/proto/google/cloud/agentregistry/v1/service.proto @@ -0,0 +1,154 @@ +// Copyright 2026 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. + +syntax = "proto3"; + +package google.cloud.agentregistry.v1; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/agentregistry/v1/properties.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option csharp_namespace = "Google.Cloud.AgentRegistry.V1"; +option go_package = "cloud.google.com/go/agentregistry/apiv1/agentregistrypb;agentregistrypb"; +option java_multiple_files = true; +option java_outer_classname = "ServiceProto"; +option java_package = "com.google.cloud.agentregistry.v1"; +option php_namespace = "Google\\Cloud\\AgentRegistry\\V1"; +option ruby_package = "Google::Cloud::AgentRegistry::V1"; + +// Represents a user-defined Service. +message Service { + option (google.api.resource) = { + type: "agentregistry.googleapis.com/Service" + pattern: "projects/{project}/locations/{location}/services/{service}" + plural: "services" + singular: "service" + }; + + // The spec of the agent. + message AgentSpec { + // The type of the agent spec. + enum Type { + // Unspecified type. + TYPE_UNSPECIFIED = 0; + + // There is no spec for the Agent. The `content` field must be empty. + NO_SPEC = 1; + + // The content is an A2A Agent Card following the A2A specification. + // The `interfaces` field must be empty. + A2A_AGENT_CARD = 2; + } + + // Required. The type of the agent spec content. + Type type = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The content of the Agent spec in the JSON format. + // This payload is validated against the schema for the specified type. + // The content size is limited to `10KB`. + google.protobuf.Struct content = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // The spec of the MCP Server. + message McpServerSpec { + // The type of the MCP Server spec. + enum Type { + // Unspecified type. + TYPE_UNSPECIFIED = 0; + + // There is no spec for the MCP Server. The `content` field must be empty. + NO_SPEC = 1; + + // The content is a MCP Tool Spec following the One MCP specification. + // The payload is the same as the `tools/list` response. + TOOL_SPEC = 2; + } + + // Required. The type of the MCP Server spec content. + Type type = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The content of the MCP Server spec. + // This payload is validated against the schema for the specified type. + // The content size is limited to `10KB`. + google.protobuf.Struct content = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // The spec of the endpoint. + message EndpointSpec { + // The type of the endpoint spec. + enum Type { + // Unspecified type. + TYPE_UNSPECIFIED = 0; + + // There is no spec for the Endpoint. The `content` field must be empty. + NO_SPEC = 1; + } + + // Required. The type of the endpoint spec content. + Type type = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The content of the endpoint spec. + // Reserved for future use. + google.protobuf.Struct content = 2 [(google.api.field_behavior) = OPTIONAL]; + } + + // The spec of the service. At least one of the specs must be set. + oneof spec { + // Optional. The spec of the Agent. When `agent_spec` is set, the type of + // the service is Agent. + AgentSpec agent_spec = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The spec of the MCP Server. When `mcp_server_spec` is set, the + // type of the service is MCP Server. + McpServerSpec mcp_server_spec = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The spec of the Endpoint. When `endpoint_spec` is set, the type + // of the service is Endpoint. + EndpointSpec endpoint_spec = 7 [(google.api.field_behavior) = OPTIONAL]; + } + + // Identifier. The resource name of the Service. + // Format: `projects/{project}/locations/{location}/services/{service}`. + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; + + // Optional. User-defined display name for the Service. + // Can have a maximum length of `63` characters. + string display_name = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. User-defined description of an Service. + // Can have a maximum length of `2048` characters. + string description = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The connection details for the Service. + repeated Interface interfaces = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The resource name of the resulting Agent, MCP Server, or + // Endpoint. Format: + // + // * `projects/{project}/locations/{location}/mcpServers/{mcp_server}` + // * `projects/{project}/locations/{location}/agents/{agent}` + // * `projects/{project}/locations/{location}/endpoints/{endpoint}` + string registry_resource = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Create time. + google.protobuf.Timestamp create_time = 8 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Update time. + google.protobuf.Timestamp update_time = 9 + [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/create/SyncCreateSetCredentialsProvider.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/create/SyncCreateSetCredentialsProvider.java new file mode 100644 index 000000000000..d1863fe5b94a --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/create/SyncCreateSetCredentialsProvider.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_Create_SetCredentialsProvider_sync] +import com.google.api.gax.core.FixedCredentialsProvider; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.AgentRegistrySettings; +import com.google.cloud.agentregistry.v1.myCredentials; + +public class SyncCreateSetCredentialsProvider { + + public static void main(String[] args) throws Exception { + syncCreateSetCredentialsProvider(); + } + + public static void syncCreateSetCredentialsProvider() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + AgentRegistrySettings agentRegistrySettings = + AgentRegistrySettings.newBuilder() + .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)) + .build(); + AgentRegistryClient agentRegistryClient = AgentRegistryClient.create(agentRegistrySettings); + } +} +// [END agentregistry_v1_generated_AgentRegistry_Create_SetCredentialsProvider_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/create/SyncCreateSetEndpoint.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/create/SyncCreateSetEndpoint.java new file mode 100644 index 000000000000..959bd5e924a7 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/create/SyncCreateSetEndpoint.java @@ -0,0 +1,41 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_Create_SetEndpoint_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.AgentRegistrySettings; +import com.google.cloud.agentregistry.v1.myEndpoint; + +public class SyncCreateSetEndpoint { + + public static void main(String[] args) throws Exception { + syncCreateSetEndpoint(); + } + + public static void syncCreateSetEndpoint() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + AgentRegistrySettings agentRegistrySettings = + AgentRegistrySettings.newBuilder().setEndpoint(myEndpoint).build(); + AgentRegistryClient agentRegistryClient = AgentRegistryClient.create(agentRegistrySettings); + } +} +// [END agentregistry_v1_generated_AgentRegistry_Create_SetEndpoint_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/create/SyncCreateUseHttpJsonTransport.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/create/SyncCreateUseHttpJsonTransport.java new file mode 100644 index 000000000000..f18c7fed4568 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/create/SyncCreateUseHttpJsonTransport.java @@ -0,0 +1,40 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_Create_UseHttpJsonTransport_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.AgentRegistrySettings; + +public class SyncCreateUseHttpJsonTransport { + + public static void main(String[] args) throws Exception { + syncCreateUseHttpJsonTransport(); + } + + public static void syncCreateUseHttpJsonTransport() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + AgentRegistrySettings agentRegistrySettings = + AgentRegistrySettings.newHttpJsonBuilder().build(); + AgentRegistryClient agentRegistryClient = AgentRegistryClient.create(agentRegistrySettings); + } +} +// [END agentregistry_v1_generated_AgentRegistry_Create_UseHttpJsonTransport_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createbinding/AsyncCreateBinding.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createbinding/AsyncCreateBinding.java new file mode 100644 index 000000000000..8819a0d8d2b8 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createbinding/AsyncCreateBinding.java @@ -0,0 +1,53 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_CreateBinding_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.CreateBindingRequest; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.longrunning.Operation; + +public class AsyncCreateBinding { + + public static void main(String[] args) throws Exception { + asyncCreateBinding(); + } + + public static void asyncCreateBinding() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + CreateBindingRequest request = + CreateBindingRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setBindingId("bindingId-920966528") + .setBinding(Binding.newBuilder().build()) + .setRequestId("requestId693933066") + .build(); + ApiFuture future = agentRegistryClient.createBindingCallable().futureCall(request); + // Do something. + Operation response = future.get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_CreateBinding_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createbinding/AsyncCreateBindingLRO.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createbinding/AsyncCreateBindingLRO.java new file mode 100644 index 000000000000..8b98a5d2eb05 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createbinding/AsyncCreateBindingLRO.java @@ -0,0 +1,54 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_CreateBinding_LRO_async] +import com.google.api.gax.longrunning.OperationFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.CreateBindingRequest; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.OperationMetadata; + +public class AsyncCreateBindingLRO { + + public static void main(String[] args) throws Exception { + asyncCreateBindingLRO(); + } + + public static void asyncCreateBindingLRO() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + CreateBindingRequest request = + CreateBindingRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setBindingId("bindingId-920966528") + .setBinding(Binding.newBuilder().build()) + .setRequestId("requestId693933066") + .build(); + OperationFuture future = + agentRegistryClient.createBindingOperationCallable().futureCall(request); + // Do something. + Binding response = future.get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_CreateBinding_LRO_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createbinding/SyncCreateBinding.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createbinding/SyncCreateBinding.java new file mode 100644 index 000000000000..5367c4a723bc --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createbinding/SyncCreateBinding.java @@ -0,0 +1,49 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_CreateBinding_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.CreateBindingRequest; +import com.google.cloud.agentregistry.v1.LocationName; + +public class SyncCreateBinding { + + public static void main(String[] args) throws Exception { + syncCreateBinding(); + } + + public static void syncCreateBinding() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + CreateBindingRequest request = + CreateBindingRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setBindingId("bindingId-920966528") + .setBinding(Binding.newBuilder().build()) + .setRequestId("requestId693933066") + .build(); + Binding response = agentRegistryClient.createBindingAsync(request).get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_CreateBinding_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createbinding/SyncCreateBindingLocationnameBindingString.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createbinding/SyncCreateBindingLocationnameBindingString.java new file mode 100644 index 000000000000..5499b68695e6 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createbinding/SyncCreateBindingLocationnameBindingString.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_CreateBinding_LocationnameBindingString_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.LocationName; + +public class SyncCreateBindingLocationnameBindingString { + + public static void main(String[] args) throws Exception { + syncCreateBindingLocationnameBindingString(); + } + + public static void syncCreateBindingLocationnameBindingString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + Binding binding = Binding.newBuilder().build(); + String bindingId = "bindingId-920966528"; + Binding response = agentRegistryClient.createBindingAsync(parent, binding, bindingId).get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_CreateBinding_LocationnameBindingString_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createbinding/SyncCreateBindingStringBindingString.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createbinding/SyncCreateBindingStringBindingString.java new file mode 100644 index 000000000000..21af0c629672 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createbinding/SyncCreateBindingStringBindingString.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_CreateBinding_StringBindingString_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.LocationName; + +public class SyncCreateBindingStringBindingString { + + public static void main(String[] args) throws Exception { + syncCreateBindingStringBindingString(); + } + + public static void syncCreateBindingStringBindingString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString(); + Binding binding = Binding.newBuilder().build(); + String bindingId = "bindingId-920966528"; + Binding response = agentRegistryClient.createBindingAsync(parent, binding, bindingId).get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_CreateBinding_StringBindingString_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createservice/AsyncCreateService.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createservice/AsyncCreateService.java new file mode 100644 index 000000000000..aa9d49504674 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createservice/AsyncCreateService.java @@ -0,0 +1,53 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_CreateService_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.CreateServiceRequest; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.Service; +import com.google.longrunning.Operation; + +public class AsyncCreateService { + + public static void main(String[] args) throws Exception { + asyncCreateService(); + } + + public static void asyncCreateService() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + CreateServiceRequest request = + CreateServiceRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setServiceId("serviceId-194185552") + .setService(Service.newBuilder().build()) + .setRequestId("requestId693933066") + .build(); + ApiFuture future = agentRegistryClient.createServiceCallable().futureCall(request); + // Do something. + Operation response = future.get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_CreateService_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createservice/AsyncCreateServiceLRO.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createservice/AsyncCreateServiceLRO.java new file mode 100644 index 000000000000..e7f82f9ac1c8 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createservice/AsyncCreateServiceLRO.java @@ -0,0 +1,54 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_CreateService_LRO_async] +import com.google.api.gax.longrunning.OperationFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.CreateServiceRequest; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.OperationMetadata; +import com.google.cloud.agentregistry.v1.Service; + +public class AsyncCreateServiceLRO { + + public static void main(String[] args) throws Exception { + asyncCreateServiceLRO(); + } + + public static void asyncCreateServiceLRO() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + CreateServiceRequest request = + CreateServiceRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setServiceId("serviceId-194185552") + .setService(Service.newBuilder().build()) + .setRequestId("requestId693933066") + .build(); + OperationFuture future = + agentRegistryClient.createServiceOperationCallable().futureCall(request); + // Do something. + Service response = future.get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_CreateService_LRO_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createservice/SyncCreateService.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createservice/SyncCreateService.java new file mode 100644 index 000000000000..c57b0c70626d --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createservice/SyncCreateService.java @@ -0,0 +1,49 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_CreateService_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.CreateServiceRequest; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.Service; + +public class SyncCreateService { + + public static void main(String[] args) throws Exception { + syncCreateService(); + } + + public static void syncCreateService() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + CreateServiceRequest request = + CreateServiceRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setServiceId("serviceId-194185552") + .setService(Service.newBuilder().build()) + .setRequestId("requestId693933066") + .build(); + Service response = agentRegistryClient.createServiceAsync(request).get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_CreateService_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createservice/SyncCreateServiceLocationnameServiceString.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createservice/SyncCreateServiceLocationnameServiceString.java new file mode 100644 index 000000000000..914dc403a1c7 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createservice/SyncCreateServiceLocationnameServiceString.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_CreateService_LocationnameServiceString_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.Service; + +public class SyncCreateServiceLocationnameServiceString { + + public static void main(String[] args) throws Exception { + syncCreateServiceLocationnameServiceString(); + } + + public static void syncCreateServiceLocationnameServiceString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + Service service = Service.newBuilder().build(); + String serviceId = "serviceId-194185552"; + Service response = agentRegistryClient.createServiceAsync(parent, service, serviceId).get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_CreateService_LocationnameServiceString_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createservice/SyncCreateServiceStringServiceString.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createservice/SyncCreateServiceStringServiceString.java new file mode 100644 index 000000000000..99a0a5a06a4e --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/createservice/SyncCreateServiceStringServiceString.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_CreateService_StringServiceString_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.Service; + +public class SyncCreateServiceStringServiceString { + + public static void main(String[] args) throws Exception { + syncCreateServiceStringServiceString(); + } + + public static void syncCreateServiceStringServiceString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString(); + Service service = Service.newBuilder().build(); + String serviceId = "serviceId-194185552"; + Service response = agentRegistryClient.createServiceAsync(parent, service, serviceId).get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_CreateService_StringServiceString_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deletebinding/AsyncDeleteBinding.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deletebinding/AsyncDeleteBinding.java new file mode 100644 index 000000000000..9724f4d01a1f --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deletebinding/AsyncDeleteBinding.java @@ -0,0 +1,50 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_DeleteBinding_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.BindingName; +import com.google.cloud.agentregistry.v1.DeleteBindingRequest; +import com.google.longrunning.Operation; + +public class AsyncDeleteBinding { + + public static void main(String[] args) throws Exception { + asyncDeleteBinding(); + } + + public static void asyncDeleteBinding() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + DeleteBindingRequest request = + DeleteBindingRequest.newBuilder() + .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString()) + .setRequestId("requestId693933066") + .build(); + ApiFuture future = agentRegistryClient.deleteBindingCallable().futureCall(request); + // Do something. + future.get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_DeleteBinding_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deletebinding/AsyncDeleteBindingLRO.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deletebinding/AsyncDeleteBindingLRO.java new file mode 100644 index 000000000000..60ca12e8ff8d --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deletebinding/AsyncDeleteBindingLRO.java @@ -0,0 +1,52 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_DeleteBinding_LRO_async] +import com.google.api.gax.longrunning.OperationFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.BindingName; +import com.google.cloud.agentregistry.v1.DeleteBindingRequest; +import com.google.cloud.agentregistry.v1.OperationMetadata; +import com.google.protobuf.Empty; + +public class AsyncDeleteBindingLRO { + + public static void main(String[] args) throws Exception { + asyncDeleteBindingLRO(); + } + + public static void asyncDeleteBindingLRO() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + DeleteBindingRequest request = + DeleteBindingRequest.newBuilder() + .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString()) + .setRequestId("requestId693933066") + .build(); + OperationFuture future = + agentRegistryClient.deleteBindingOperationCallable().futureCall(request); + // Do something. + future.get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_DeleteBinding_LRO_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deletebinding/SyncDeleteBinding.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deletebinding/SyncDeleteBinding.java new file mode 100644 index 000000000000..a5f87bd7166d --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deletebinding/SyncDeleteBinding.java @@ -0,0 +1,47 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_DeleteBinding_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.BindingName; +import com.google.cloud.agentregistry.v1.DeleteBindingRequest; +import com.google.protobuf.Empty; + +public class SyncDeleteBinding { + + public static void main(String[] args) throws Exception { + syncDeleteBinding(); + } + + public static void syncDeleteBinding() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + DeleteBindingRequest request = + DeleteBindingRequest.newBuilder() + .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString()) + .setRequestId("requestId693933066") + .build(); + agentRegistryClient.deleteBindingAsync(request).get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_DeleteBinding_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deletebinding/SyncDeleteBindingBindingname.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deletebinding/SyncDeleteBindingBindingname.java new file mode 100644 index 000000000000..b1ba73f80dd0 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deletebinding/SyncDeleteBindingBindingname.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_DeleteBinding_Bindingname_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.BindingName; +import com.google.protobuf.Empty; + +public class SyncDeleteBindingBindingname { + + public static void main(String[] args) throws Exception { + syncDeleteBindingBindingname(); + } + + public static void syncDeleteBindingBindingname() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + BindingName name = BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]"); + agentRegistryClient.deleteBindingAsync(name).get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_DeleteBinding_Bindingname_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deletebinding/SyncDeleteBindingString.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deletebinding/SyncDeleteBindingString.java new file mode 100644 index 000000000000..2ecfa70993e5 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deletebinding/SyncDeleteBindingString.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_DeleteBinding_String_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.BindingName; +import com.google.protobuf.Empty; + +public class SyncDeleteBindingString { + + public static void main(String[] args) throws Exception { + syncDeleteBindingString(); + } + + public static void syncDeleteBindingString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + String name = BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString(); + agentRegistryClient.deleteBindingAsync(name).get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_DeleteBinding_String_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deleteservice/AsyncDeleteService.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deleteservice/AsyncDeleteService.java new file mode 100644 index 000000000000..9dd67321473e --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deleteservice/AsyncDeleteService.java @@ -0,0 +1,50 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_DeleteService_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.DeleteServiceRequest; +import com.google.cloud.agentregistry.v1.ServiceName; +import com.google.longrunning.Operation; + +public class AsyncDeleteService { + + public static void main(String[] args) throws Exception { + asyncDeleteService(); + } + + public static void asyncDeleteService() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + DeleteServiceRequest request = + DeleteServiceRequest.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setRequestId("requestId693933066") + .build(); + ApiFuture future = agentRegistryClient.deleteServiceCallable().futureCall(request); + // Do something. + future.get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_DeleteService_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deleteservice/AsyncDeleteServiceLRO.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deleteservice/AsyncDeleteServiceLRO.java new file mode 100644 index 000000000000..2a8f222ef03e --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deleteservice/AsyncDeleteServiceLRO.java @@ -0,0 +1,52 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_DeleteService_LRO_async] +import com.google.api.gax.longrunning.OperationFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.DeleteServiceRequest; +import com.google.cloud.agentregistry.v1.OperationMetadata; +import com.google.cloud.agentregistry.v1.ServiceName; +import com.google.protobuf.Empty; + +public class AsyncDeleteServiceLRO { + + public static void main(String[] args) throws Exception { + asyncDeleteServiceLRO(); + } + + public static void asyncDeleteServiceLRO() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + DeleteServiceRequest request = + DeleteServiceRequest.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setRequestId("requestId693933066") + .build(); + OperationFuture future = + agentRegistryClient.deleteServiceOperationCallable().futureCall(request); + // Do something. + future.get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_DeleteService_LRO_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deleteservice/SyncDeleteService.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deleteservice/SyncDeleteService.java new file mode 100644 index 000000000000..fe0c996909eb --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deleteservice/SyncDeleteService.java @@ -0,0 +1,47 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_DeleteService_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.DeleteServiceRequest; +import com.google.cloud.agentregistry.v1.ServiceName; +import com.google.protobuf.Empty; + +public class SyncDeleteService { + + public static void main(String[] args) throws Exception { + syncDeleteService(); + } + + public static void syncDeleteService() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + DeleteServiceRequest request = + DeleteServiceRequest.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .setRequestId("requestId693933066") + .build(); + agentRegistryClient.deleteServiceAsync(request).get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_DeleteService_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deleteservice/SyncDeleteServiceServicename.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deleteservice/SyncDeleteServiceServicename.java new file mode 100644 index 000000000000..3b5cfd2d296a --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deleteservice/SyncDeleteServiceServicename.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_DeleteService_Servicename_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.ServiceName; +import com.google.protobuf.Empty; + +public class SyncDeleteServiceServicename { + + public static void main(String[] args) throws Exception { + syncDeleteServiceServicename(); + } + + public static void syncDeleteServiceServicename() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + ServiceName name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + agentRegistryClient.deleteServiceAsync(name).get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_DeleteService_Servicename_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deleteservice/SyncDeleteServiceString.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deleteservice/SyncDeleteServiceString.java new file mode 100644 index 000000000000..7850728cfeb0 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/deleteservice/SyncDeleteServiceString.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_DeleteService_String_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.ServiceName; +import com.google.protobuf.Empty; + +public class SyncDeleteServiceString { + + public static void main(String[] args) throws Exception { + syncDeleteServiceString(); + } + + public static void syncDeleteServiceString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + String name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString(); + agentRegistryClient.deleteServiceAsync(name).get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_DeleteService_String_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/fetchavailablebindings/AsyncFetchAvailableBindings.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/fetchavailablebindings/AsyncFetchAvailableBindings.java new file mode 100644 index 000000000000..2acaad54e34b --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/fetchavailablebindings/AsyncFetchAvailableBindings.java @@ -0,0 +1,54 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_FetchAvailableBindings_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest; +import com.google.cloud.agentregistry.v1.LocationName; + +public class AsyncFetchAvailableBindings { + + public static void main(String[] args) throws Exception { + asyncFetchAvailableBindings(); + } + + public static void asyncFetchAvailableBindings() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + FetchAvailableBindingsRequest request = + FetchAvailableBindingsRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + ApiFuture future = + agentRegistryClient.fetchAvailableBindingsPagedCallable().futureCall(request); + // Do something. + for (Binding element : future.get().iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_FetchAvailableBindings_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/fetchavailablebindings/AsyncFetchAvailableBindingsPaged.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/fetchavailablebindings/AsyncFetchAvailableBindingsPaged.java new file mode 100644 index 000000000000..52b7eec59fd4 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/fetchavailablebindings/AsyncFetchAvailableBindingsPaged.java @@ -0,0 +1,62 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_FetchAvailableBindings_Paged_async] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest; +import com.google.cloud.agentregistry.v1.FetchAvailableBindingsResponse; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.common.base.Strings; + +public class AsyncFetchAvailableBindingsPaged { + + public static void main(String[] args) throws Exception { + asyncFetchAvailableBindingsPaged(); + } + + public static void asyncFetchAvailableBindingsPaged() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + FetchAvailableBindingsRequest request = + FetchAvailableBindingsRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + while (true) { + FetchAvailableBindingsResponse response = + agentRegistryClient.fetchAvailableBindingsCallable().call(request); + for (Binding element : response.getBindingsList()) { + // doThingsWith(element); + } + String nextPageToken = response.getNextPageToken(); + if (!Strings.isNullOrEmpty(nextPageToken)) { + request = request.toBuilder().setPageToken(nextPageToken).build(); + } else { + break; + } + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_FetchAvailableBindings_Paged_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/fetchavailablebindings/SyncFetchAvailableBindings.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/fetchavailablebindings/SyncFetchAvailableBindings.java new file mode 100644 index 000000000000..9136a9683d2a --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/fetchavailablebindings/SyncFetchAvailableBindings.java @@ -0,0 +1,50 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_FetchAvailableBindings_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.FetchAvailableBindingsRequest; +import com.google.cloud.agentregistry.v1.LocationName; + +public class SyncFetchAvailableBindings { + + public static void main(String[] args) throws Exception { + syncFetchAvailableBindings(); + } + + public static void syncFetchAvailableBindings() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + FetchAvailableBindingsRequest request = + FetchAvailableBindingsRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + for (Binding element : agentRegistryClient.fetchAvailableBindings(request).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_FetchAvailableBindings_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/fetchavailablebindings/SyncFetchAvailableBindingsLocationname.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/fetchavailablebindings/SyncFetchAvailableBindingsLocationname.java new file mode 100644 index 000000000000..b967eb170deb --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/fetchavailablebindings/SyncFetchAvailableBindingsLocationname.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_FetchAvailableBindings_Locationname_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.LocationName; + +public class SyncFetchAvailableBindingsLocationname { + + public static void main(String[] args) throws Exception { + syncFetchAvailableBindingsLocationname(); + } + + public static void syncFetchAvailableBindingsLocationname() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + for (Binding element : agentRegistryClient.fetchAvailableBindings(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_FetchAvailableBindings_Locationname_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/fetchavailablebindings/SyncFetchAvailableBindingsString.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/fetchavailablebindings/SyncFetchAvailableBindingsString.java new file mode 100644 index 000000000000..f4e94b88a709 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/fetchavailablebindings/SyncFetchAvailableBindingsString.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_FetchAvailableBindings_String_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.LocationName; + +public class SyncFetchAvailableBindingsString { + + public static void main(String[] args) throws Exception { + syncFetchAvailableBindingsString(); + } + + public static void syncFetchAvailableBindingsString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString(); + for (Binding element : agentRegistryClient.fetchAvailableBindings(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_FetchAvailableBindings_String_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getagent/AsyncGetAgent.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getagent/AsyncGetAgent.java new file mode 100644 index 000000000000..88caa0037e99 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getagent/AsyncGetAgent.java @@ -0,0 +1,49 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetAgent_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.agentregistry.v1.Agent; +import com.google.cloud.agentregistry.v1.AgentName; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.GetAgentRequest; + +public class AsyncGetAgent { + + public static void main(String[] args) throws Exception { + asyncGetAgent(); + } + + public static void asyncGetAgent() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + GetAgentRequest request = + GetAgentRequest.newBuilder() + .setName(AgentName.of("[PROJECT]", "[LOCATION]", "[AGENT]").toString()) + .build(); + ApiFuture future = agentRegistryClient.getAgentCallable().futureCall(request); + // Do something. + Agent response = future.get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetAgent_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getagent/SyncGetAgent.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getagent/SyncGetAgent.java new file mode 100644 index 000000000000..267631db37e2 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getagent/SyncGetAgent.java @@ -0,0 +1,46 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetAgent_sync] +import com.google.cloud.agentregistry.v1.Agent; +import com.google.cloud.agentregistry.v1.AgentName; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.GetAgentRequest; + +public class SyncGetAgent { + + public static void main(String[] args) throws Exception { + syncGetAgent(); + } + + public static void syncGetAgent() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + GetAgentRequest request = + GetAgentRequest.newBuilder() + .setName(AgentName.of("[PROJECT]", "[LOCATION]", "[AGENT]").toString()) + .build(); + Agent response = agentRegistryClient.getAgent(request); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetAgent_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getagent/SyncGetAgentAgentname.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getagent/SyncGetAgentAgentname.java new file mode 100644 index 000000000000..dba3768b48b3 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getagent/SyncGetAgentAgentname.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetAgent_Agentname_sync] +import com.google.cloud.agentregistry.v1.Agent; +import com.google.cloud.agentregistry.v1.AgentName; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; + +public class SyncGetAgentAgentname { + + public static void main(String[] args) throws Exception { + syncGetAgentAgentname(); + } + + public static void syncGetAgentAgentname() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + AgentName name = AgentName.of("[PROJECT]", "[LOCATION]", "[AGENT]"); + Agent response = agentRegistryClient.getAgent(name); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetAgent_Agentname_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getagent/SyncGetAgentString.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getagent/SyncGetAgentString.java new file mode 100644 index 000000000000..902097b3f001 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getagent/SyncGetAgentString.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetAgent_String_sync] +import com.google.cloud.agentregistry.v1.Agent; +import com.google.cloud.agentregistry.v1.AgentName; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; + +public class SyncGetAgentString { + + public static void main(String[] args) throws Exception { + syncGetAgentString(); + } + + public static void syncGetAgentString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + String name = AgentName.of("[PROJECT]", "[LOCATION]", "[AGENT]").toString(); + Agent response = agentRegistryClient.getAgent(name); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetAgent_String_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getbinding/AsyncGetBinding.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getbinding/AsyncGetBinding.java new file mode 100644 index 000000000000..df300a7c54c5 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getbinding/AsyncGetBinding.java @@ -0,0 +1,49 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetBinding_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.BindingName; +import com.google.cloud.agentregistry.v1.GetBindingRequest; + +public class AsyncGetBinding { + + public static void main(String[] args) throws Exception { + asyncGetBinding(); + } + + public static void asyncGetBinding() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + GetBindingRequest request = + GetBindingRequest.newBuilder() + .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString()) + .build(); + ApiFuture future = agentRegistryClient.getBindingCallable().futureCall(request); + // Do something. + Binding response = future.get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetBinding_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getbinding/SyncGetBinding.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getbinding/SyncGetBinding.java new file mode 100644 index 000000000000..d350443d00e3 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getbinding/SyncGetBinding.java @@ -0,0 +1,46 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetBinding_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.BindingName; +import com.google.cloud.agentregistry.v1.GetBindingRequest; + +public class SyncGetBinding { + + public static void main(String[] args) throws Exception { + syncGetBinding(); + } + + public static void syncGetBinding() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + GetBindingRequest request = + GetBindingRequest.newBuilder() + .setName(BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString()) + .build(); + Binding response = agentRegistryClient.getBinding(request); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetBinding_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getbinding/SyncGetBindingBindingname.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getbinding/SyncGetBindingBindingname.java new file mode 100644 index 000000000000..9699478f7f22 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getbinding/SyncGetBindingBindingname.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetBinding_Bindingname_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.BindingName; + +public class SyncGetBindingBindingname { + + public static void main(String[] args) throws Exception { + syncGetBindingBindingname(); + } + + public static void syncGetBindingBindingname() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + BindingName name = BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]"); + Binding response = agentRegistryClient.getBinding(name); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetBinding_Bindingname_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getbinding/SyncGetBindingString.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getbinding/SyncGetBindingString.java new file mode 100644 index 000000000000..b28f73f4020d --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getbinding/SyncGetBindingString.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetBinding_String_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.BindingName; + +public class SyncGetBindingString { + + public static void main(String[] args) throws Exception { + syncGetBindingString(); + } + + public static void syncGetBindingString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + String name = BindingName.of("[PROJECT]", "[LOCATION]", "[BINDING]").toString(); + Binding response = agentRegistryClient.getBinding(name); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetBinding_String_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getendpoint/AsyncGetEndpoint.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getendpoint/AsyncGetEndpoint.java new file mode 100644 index 000000000000..b1cf8ea3e343 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getendpoint/AsyncGetEndpoint.java @@ -0,0 +1,49 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetEndpoint_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Endpoint; +import com.google.cloud.agentregistry.v1.EndpointName; +import com.google.cloud.agentregistry.v1.GetEndpointRequest; + +public class AsyncGetEndpoint { + + public static void main(String[] args) throws Exception { + asyncGetEndpoint(); + } + + public static void asyncGetEndpoint() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + GetEndpointRequest request = + GetEndpointRequest.newBuilder() + .setName(EndpointName.of("[PROJECT]", "[LOCATION]", "[ENDPOINT]").toString()) + .build(); + ApiFuture future = agentRegistryClient.getEndpointCallable().futureCall(request); + // Do something. + Endpoint response = future.get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetEndpoint_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getendpoint/SyncGetEndpoint.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getendpoint/SyncGetEndpoint.java new file mode 100644 index 000000000000..79d634d3bb16 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getendpoint/SyncGetEndpoint.java @@ -0,0 +1,46 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetEndpoint_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Endpoint; +import com.google.cloud.agentregistry.v1.EndpointName; +import com.google.cloud.agentregistry.v1.GetEndpointRequest; + +public class SyncGetEndpoint { + + public static void main(String[] args) throws Exception { + syncGetEndpoint(); + } + + public static void syncGetEndpoint() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + GetEndpointRequest request = + GetEndpointRequest.newBuilder() + .setName(EndpointName.of("[PROJECT]", "[LOCATION]", "[ENDPOINT]").toString()) + .build(); + Endpoint response = agentRegistryClient.getEndpoint(request); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetEndpoint_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getendpoint/SyncGetEndpointEndpointname.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getendpoint/SyncGetEndpointEndpointname.java new file mode 100644 index 000000000000..f4f4cbc4f314 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getendpoint/SyncGetEndpointEndpointname.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetEndpoint_Endpointname_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Endpoint; +import com.google.cloud.agentregistry.v1.EndpointName; + +public class SyncGetEndpointEndpointname { + + public static void main(String[] args) throws Exception { + syncGetEndpointEndpointname(); + } + + public static void syncGetEndpointEndpointname() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + EndpointName name = EndpointName.of("[PROJECT]", "[LOCATION]", "[ENDPOINT]"); + Endpoint response = agentRegistryClient.getEndpoint(name); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetEndpoint_Endpointname_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getendpoint/SyncGetEndpointString.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getendpoint/SyncGetEndpointString.java new file mode 100644 index 000000000000..a777c22d70a4 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getendpoint/SyncGetEndpointString.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetEndpoint_String_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Endpoint; +import com.google.cloud.agentregistry.v1.EndpointName; + +public class SyncGetEndpointString { + + public static void main(String[] args) throws Exception { + syncGetEndpointString(); + } + + public static void syncGetEndpointString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + String name = EndpointName.of("[PROJECT]", "[LOCATION]", "[ENDPOINT]").toString(); + Endpoint response = agentRegistryClient.getEndpoint(name); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetEndpoint_String_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getlocation/AsyncGetLocation.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getlocation/AsyncGetLocation.java new file mode 100644 index 000000000000..99c6b64a0393 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getlocation/AsyncGetLocation.java @@ -0,0 +1,45 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetLocation_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.Location; + +public class AsyncGetLocation { + + public static void main(String[] args) throws Exception { + asyncGetLocation(); + } + + public static void asyncGetLocation() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); + ApiFuture future = agentRegistryClient.getLocationCallable().futureCall(request); + // Do something. + Location response = future.get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetLocation_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getlocation/SyncGetLocation.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getlocation/SyncGetLocation.java new file mode 100644 index 000000000000..f45cc61e062b --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getlocation/SyncGetLocation.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetLocation_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.location.GetLocationRequest; +import com.google.cloud.location.Location; + +public class SyncGetLocation { + + public static void main(String[] args) throws Exception { + syncGetLocation(); + } + + public static void syncGetLocation() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); + Location response = agentRegistryClient.getLocation(request); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetLocation_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getmcpserver/AsyncGetMcpServer.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getmcpserver/AsyncGetMcpServer.java new file mode 100644 index 000000000000..b5ab91038c25 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getmcpserver/AsyncGetMcpServer.java @@ -0,0 +1,49 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetMcpServer_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.GetMcpServerRequest; +import com.google.cloud.agentregistry.v1.McpServer; +import com.google.cloud.agentregistry.v1.McpServerName; + +public class AsyncGetMcpServer { + + public static void main(String[] args) throws Exception { + asyncGetMcpServer(); + } + + public static void asyncGetMcpServer() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + GetMcpServerRequest request = + GetMcpServerRequest.newBuilder() + .setName(McpServerName.of("[PROJECT]", "[LOCATION]", "[MCP_SERVER]").toString()) + .build(); + ApiFuture future = agentRegistryClient.getMcpServerCallable().futureCall(request); + // Do something. + McpServer response = future.get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetMcpServer_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getmcpserver/SyncGetMcpServer.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getmcpserver/SyncGetMcpServer.java new file mode 100644 index 000000000000..d897c88ec4a1 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getmcpserver/SyncGetMcpServer.java @@ -0,0 +1,46 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetMcpServer_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.GetMcpServerRequest; +import com.google.cloud.agentregistry.v1.McpServer; +import com.google.cloud.agentregistry.v1.McpServerName; + +public class SyncGetMcpServer { + + public static void main(String[] args) throws Exception { + syncGetMcpServer(); + } + + public static void syncGetMcpServer() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + GetMcpServerRequest request = + GetMcpServerRequest.newBuilder() + .setName(McpServerName.of("[PROJECT]", "[LOCATION]", "[MCP_SERVER]").toString()) + .build(); + McpServer response = agentRegistryClient.getMcpServer(request); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetMcpServer_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getmcpserver/SyncGetMcpServerMcpservername.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getmcpserver/SyncGetMcpServerMcpservername.java new file mode 100644 index 000000000000..e46db4b0edcf --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getmcpserver/SyncGetMcpServerMcpservername.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetMcpServer_Mcpservername_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.McpServer; +import com.google.cloud.agentregistry.v1.McpServerName; + +public class SyncGetMcpServerMcpservername { + + public static void main(String[] args) throws Exception { + syncGetMcpServerMcpservername(); + } + + public static void syncGetMcpServerMcpservername() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + McpServerName name = McpServerName.of("[PROJECT]", "[LOCATION]", "[MCP_SERVER]"); + McpServer response = agentRegistryClient.getMcpServer(name); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetMcpServer_Mcpservername_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getmcpserver/SyncGetMcpServerString.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getmcpserver/SyncGetMcpServerString.java new file mode 100644 index 000000000000..6d127a111720 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getmcpserver/SyncGetMcpServerString.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetMcpServer_String_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.McpServer; +import com.google.cloud.agentregistry.v1.McpServerName; + +public class SyncGetMcpServerString { + + public static void main(String[] args) throws Exception { + syncGetMcpServerString(); + } + + public static void syncGetMcpServerString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + String name = McpServerName.of("[PROJECT]", "[LOCATION]", "[MCP_SERVER]").toString(); + McpServer response = agentRegistryClient.getMcpServer(name); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetMcpServer_String_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getservice/AsyncGetService.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getservice/AsyncGetService.java new file mode 100644 index 000000000000..40d1e9d5606c --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getservice/AsyncGetService.java @@ -0,0 +1,49 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetService_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.GetServiceRequest; +import com.google.cloud.agentregistry.v1.Service; +import com.google.cloud.agentregistry.v1.ServiceName; + +public class AsyncGetService { + + public static void main(String[] args) throws Exception { + asyncGetService(); + } + + public static void asyncGetService() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + GetServiceRequest request = + GetServiceRequest.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .build(); + ApiFuture future = agentRegistryClient.getServiceCallable().futureCall(request); + // Do something. + Service response = future.get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetService_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getservice/SyncGetService.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getservice/SyncGetService.java new file mode 100644 index 000000000000..eb93796bd1e2 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getservice/SyncGetService.java @@ -0,0 +1,46 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetService_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.GetServiceRequest; +import com.google.cloud.agentregistry.v1.Service; +import com.google.cloud.agentregistry.v1.ServiceName; + +public class SyncGetService { + + public static void main(String[] args) throws Exception { + syncGetService(); + } + + public static void syncGetService() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + GetServiceRequest request = + GetServiceRequest.newBuilder() + .setName(ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString()) + .build(); + Service response = agentRegistryClient.getService(request); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetService_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getservice/SyncGetServiceServicename.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getservice/SyncGetServiceServicename.java new file mode 100644 index 000000000000..52aea0779e71 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getservice/SyncGetServiceServicename.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetService_Servicename_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Service; +import com.google.cloud.agentregistry.v1.ServiceName; + +public class SyncGetServiceServicename { + + public static void main(String[] args) throws Exception { + syncGetServiceServicename(); + } + + public static void syncGetServiceServicename() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + ServiceName name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]"); + Service response = agentRegistryClient.getService(name); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetService_Servicename_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getservice/SyncGetServiceString.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getservice/SyncGetServiceString.java new file mode 100644 index 000000000000..f4beac332683 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/getservice/SyncGetServiceString.java @@ -0,0 +1,42 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_GetService_String_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Service; +import com.google.cloud.agentregistry.v1.ServiceName; + +public class SyncGetServiceString { + + public static void main(String[] args) throws Exception { + syncGetServiceString(); + } + + public static void syncGetServiceString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + String name = ServiceName.of("[PROJECT]", "[LOCATION]", "[SERVICE]").toString(); + Service response = agentRegistryClient.getService(name); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_GetService_String_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listagents/AsyncListAgents.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listagents/AsyncListAgents.java new file mode 100644 index 000000000000..48eb5c84d014 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listagents/AsyncListAgents.java @@ -0,0 +1,55 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListAgents_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.agentregistry.v1.Agent; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.ListAgentsRequest; +import com.google.cloud.agentregistry.v1.LocationName; + +public class AsyncListAgents { + + public static void main(String[] args) throws Exception { + asyncListAgents(); + } + + public static void asyncListAgents() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + ListAgentsRequest request = + ListAgentsRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .setOrderBy("orderBy-1207110587") + .build(); + ApiFuture future = agentRegistryClient.listAgentsPagedCallable().futureCall(request); + // Do something. + for (Agent element : future.get().iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListAgents_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listagents/AsyncListAgentsPaged.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listagents/AsyncListAgentsPaged.java new file mode 100644 index 000000000000..565f1eae14af --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listagents/AsyncListAgentsPaged.java @@ -0,0 +1,63 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListAgents_Paged_async] +import com.google.cloud.agentregistry.v1.Agent; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.ListAgentsRequest; +import com.google.cloud.agentregistry.v1.ListAgentsResponse; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.common.base.Strings; + +public class AsyncListAgentsPaged { + + public static void main(String[] args) throws Exception { + asyncListAgentsPaged(); + } + + public static void asyncListAgentsPaged() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + ListAgentsRequest request = + ListAgentsRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .setOrderBy("orderBy-1207110587") + .build(); + while (true) { + ListAgentsResponse response = agentRegistryClient.listAgentsCallable().call(request); + for (Agent element : response.getAgentsList()) { + // doThingsWith(element); + } + String nextPageToken = response.getNextPageToken(); + if (!Strings.isNullOrEmpty(nextPageToken)) { + request = request.toBuilder().setPageToken(nextPageToken).build(); + } else { + break; + } + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListAgents_Paged_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listagents/SyncListAgents.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listagents/SyncListAgents.java new file mode 100644 index 000000000000..e7dd2c361ca5 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listagents/SyncListAgents.java @@ -0,0 +1,52 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListAgents_sync] +import com.google.cloud.agentregistry.v1.Agent; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.ListAgentsRequest; +import com.google.cloud.agentregistry.v1.LocationName; + +public class SyncListAgents { + + public static void main(String[] args) throws Exception { + syncListAgents(); + } + + public static void syncListAgents() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + ListAgentsRequest request = + ListAgentsRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .setOrderBy("orderBy-1207110587") + .build(); + for (Agent element : agentRegistryClient.listAgents(request).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListAgents_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listagents/SyncListAgentsLocationname.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listagents/SyncListAgentsLocationname.java new file mode 100644 index 000000000000..2e1ef5f39832 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listagents/SyncListAgentsLocationname.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListAgents_Locationname_sync] +import com.google.cloud.agentregistry.v1.Agent; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.LocationName; + +public class SyncListAgentsLocationname { + + public static void main(String[] args) throws Exception { + syncListAgentsLocationname(); + } + + public static void syncListAgentsLocationname() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + for (Agent element : agentRegistryClient.listAgents(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListAgents_Locationname_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listagents/SyncListAgentsString.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listagents/SyncListAgentsString.java new file mode 100644 index 000000000000..bcfbacb5b25a --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listagents/SyncListAgentsString.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListAgents_String_sync] +import com.google.cloud.agentregistry.v1.Agent; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.LocationName; + +public class SyncListAgentsString { + + public static void main(String[] args) throws Exception { + syncListAgentsString(); + } + + public static void syncListAgentsString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString(); + for (Agent element : agentRegistryClient.listAgents(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListAgents_String_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listbindings/AsyncListBindings.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listbindings/AsyncListBindings.java new file mode 100644 index 000000000000..2ba0d3222a06 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listbindings/AsyncListBindings.java @@ -0,0 +1,56 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListBindings_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.ListBindingsRequest; +import com.google.cloud.agentregistry.v1.LocationName; + +public class AsyncListBindings { + + public static void main(String[] args) throws Exception { + asyncListBindings(); + } + + public static void asyncListBindings() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + ListBindingsRequest request = + ListBindingsRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .setOrderBy("orderBy-1207110587") + .build(); + ApiFuture future = + agentRegistryClient.listBindingsPagedCallable().futureCall(request); + // Do something. + for (Binding element : future.get().iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListBindings_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listbindings/AsyncListBindingsPaged.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listbindings/AsyncListBindingsPaged.java new file mode 100644 index 000000000000..d4162fc958a6 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listbindings/AsyncListBindingsPaged.java @@ -0,0 +1,63 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListBindings_Paged_async] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.ListBindingsRequest; +import com.google.cloud.agentregistry.v1.ListBindingsResponse; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.common.base.Strings; + +public class AsyncListBindingsPaged { + + public static void main(String[] args) throws Exception { + asyncListBindingsPaged(); + } + + public static void asyncListBindingsPaged() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + ListBindingsRequest request = + ListBindingsRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .setOrderBy("orderBy-1207110587") + .build(); + while (true) { + ListBindingsResponse response = agentRegistryClient.listBindingsCallable().call(request); + for (Binding element : response.getBindingsList()) { + // doThingsWith(element); + } + String nextPageToken = response.getNextPageToken(); + if (!Strings.isNullOrEmpty(nextPageToken)) { + request = request.toBuilder().setPageToken(nextPageToken).build(); + } else { + break; + } + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListBindings_Paged_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listbindings/SyncListBindings.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listbindings/SyncListBindings.java new file mode 100644 index 000000000000..e4239b9ed6fa --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listbindings/SyncListBindings.java @@ -0,0 +1,52 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListBindings_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.ListBindingsRequest; +import com.google.cloud.agentregistry.v1.LocationName; + +public class SyncListBindings { + + public static void main(String[] args) throws Exception { + syncListBindings(); + } + + public static void syncListBindings() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + ListBindingsRequest request = + ListBindingsRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .setOrderBy("orderBy-1207110587") + .build(); + for (Binding element : agentRegistryClient.listBindings(request).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListBindings_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listbindings/SyncListBindingsLocationname.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listbindings/SyncListBindingsLocationname.java new file mode 100644 index 000000000000..bf226d31bbcb --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listbindings/SyncListBindingsLocationname.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListBindings_Locationname_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.LocationName; + +public class SyncListBindingsLocationname { + + public static void main(String[] args) throws Exception { + syncListBindingsLocationname(); + } + + public static void syncListBindingsLocationname() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + for (Binding element : agentRegistryClient.listBindings(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListBindings_Locationname_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listbindings/SyncListBindingsString.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listbindings/SyncListBindingsString.java new file mode 100644 index 000000000000..8f6da1301ec0 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listbindings/SyncListBindingsString.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListBindings_String_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.LocationName; + +public class SyncListBindingsString { + + public static void main(String[] args) throws Exception { + syncListBindingsString(); + } + + public static void syncListBindingsString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString(); + for (Binding element : agentRegistryClient.listBindings(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListBindings_String_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listendpoints/AsyncListEndpoints.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listendpoints/AsyncListEndpoints.java new file mode 100644 index 000000000000..2927b2404a0b --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listendpoints/AsyncListEndpoints.java @@ -0,0 +1,55 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListEndpoints_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Endpoint; +import com.google.cloud.agentregistry.v1.ListEndpointsRequest; +import com.google.cloud.agentregistry.v1.LocationName; + +public class AsyncListEndpoints { + + public static void main(String[] args) throws Exception { + asyncListEndpoints(); + } + + public static void asyncListEndpoints() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + ListEndpointsRequest request = + ListEndpointsRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .build(); + ApiFuture future = + agentRegistryClient.listEndpointsPagedCallable().futureCall(request); + // Do something. + for (Endpoint element : future.get().iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListEndpoints_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listendpoints/AsyncListEndpointsPaged.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listendpoints/AsyncListEndpointsPaged.java new file mode 100644 index 000000000000..4bbaa3dab9f2 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listendpoints/AsyncListEndpointsPaged.java @@ -0,0 +1,62 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListEndpoints_Paged_async] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Endpoint; +import com.google.cloud.agentregistry.v1.ListEndpointsRequest; +import com.google.cloud.agentregistry.v1.ListEndpointsResponse; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.common.base.Strings; + +public class AsyncListEndpointsPaged { + + public static void main(String[] args) throws Exception { + asyncListEndpointsPaged(); + } + + public static void asyncListEndpointsPaged() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + ListEndpointsRequest request = + ListEndpointsRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .build(); + while (true) { + ListEndpointsResponse response = agentRegistryClient.listEndpointsCallable().call(request); + for (Endpoint element : response.getEndpointsList()) { + // doThingsWith(element); + } + String nextPageToken = response.getNextPageToken(); + if (!Strings.isNullOrEmpty(nextPageToken)) { + request = request.toBuilder().setPageToken(nextPageToken).build(); + } else { + break; + } + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListEndpoints_Paged_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listendpoints/SyncListEndpoints.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listendpoints/SyncListEndpoints.java new file mode 100644 index 000000000000..039488c63ce8 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listendpoints/SyncListEndpoints.java @@ -0,0 +1,51 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListEndpoints_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Endpoint; +import com.google.cloud.agentregistry.v1.ListEndpointsRequest; +import com.google.cloud.agentregistry.v1.LocationName; + +public class SyncListEndpoints { + + public static void main(String[] args) throws Exception { + syncListEndpoints(); + } + + public static void syncListEndpoints() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + ListEndpointsRequest request = + ListEndpointsRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .build(); + for (Endpoint element : agentRegistryClient.listEndpoints(request).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListEndpoints_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listendpoints/SyncListEndpointsLocationname.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listendpoints/SyncListEndpointsLocationname.java new file mode 100644 index 000000000000..7c2345add784 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listendpoints/SyncListEndpointsLocationname.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListEndpoints_Locationname_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Endpoint; +import com.google.cloud.agentregistry.v1.LocationName; + +public class SyncListEndpointsLocationname { + + public static void main(String[] args) throws Exception { + syncListEndpointsLocationname(); + } + + public static void syncListEndpointsLocationname() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + for (Endpoint element : agentRegistryClient.listEndpoints(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListEndpoints_Locationname_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listendpoints/SyncListEndpointsString.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listendpoints/SyncListEndpointsString.java new file mode 100644 index 000000000000..0b8cbbe25de7 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listendpoints/SyncListEndpointsString.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListEndpoints_String_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Endpoint; +import com.google.cloud.agentregistry.v1.LocationName; + +public class SyncListEndpointsString { + + public static void main(String[] args) throws Exception { + syncListEndpointsString(); + } + + public static void syncListEndpointsString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString(); + for (Endpoint element : agentRegistryClient.listEndpoints(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListEndpoints_String_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listlocations/AsyncListLocations.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listlocations/AsyncListLocations.java new file mode 100644 index 000000000000..14e1c7e01c93 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listlocations/AsyncListLocations.java @@ -0,0 +1,54 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListLocations_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.Location; + +public class AsyncListLocations { + + public static void main(String[] args) throws Exception { + asyncListLocations(); + } + + public static void asyncListLocations() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + ApiFuture future = + agentRegistryClient.listLocationsPagedCallable().futureCall(request); + // Do something. + for (Location element : future.get().iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListLocations_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listlocations/AsyncListLocationsPaged.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listlocations/AsyncListLocationsPaged.java new file mode 100644 index 000000000000..2b2ea96e7dfa --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listlocations/AsyncListLocationsPaged.java @@ -0,0 +1,61 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListLocations_Paged_async] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.ListLocationsResponse; +import com.google.cloud.location.Location; +import com.google.common.base.Strings; + +public class AsyncListLocationsPaged { + + public static void main(String[] args) throws Exception { + asyncListLocationsPaged(); + } + + public static void asyncListLocationsPaged() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + while (true) { + ListLocationsResponse response = agentRegistryClient.listLocationsCallable().call(request); + for (Location element : response.getLocationsList()) { + // doThingsWith(element); + } + String nextPageToken = response.getNextPageToken(); + if (!Strings.isNullOrEmpty(nextPageToken)) { + request = request.toBuilder().setPageToken(nextPageToken).build(); + } else { + break; + } + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListLocations_Paged_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listlocations/SyncListLocations.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listlocations/SyncListLocations.java new file mode 100644 index 000000000000..fc495f45e5a4 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listlocations/SyncListLocations.java @@ -0,0 +1,50 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListLocations_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.location.ListLocationsRequest; +import com.google.cloud.location.Location; + +public class SyncListLocations { + + public static void main(String[] args) throws Exception { + syncListLocations(); + } + + public static void syncListLocations() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + ListLocationsRequest request = + ListLocationsRequest.newBuilder() + .setName("name3373707") + .setFilter("filter-1274492040") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + for (Location element : agentRegistryClient.listLocations(request).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListLocations_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listmcpservers/AsyncListMcpServers.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listmcpservers/AsyncListMcpServers.java new file mode 100644 index 000000000000..89b455f62283 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listmcpservers/AsyncListMcpServers.java @@ -0,0 +1,56 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListMcpServers_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.ListMcpServersRequest; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.McpServer; + +public class AsyncListMcpServers { + + public static void main(String[] args) throws Exception { + asyncListMcpServers(); + } + + public static void asyncListMcpServers() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + ListMcpServersRequest request = + ListMcpServersRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .setOrderBy("orderBy-1207110587") + .build(); + ApiFuture future = + agentRegistryClient.listMcpServersPagedCallable().futureCall(request); + // Do something. + for (McpServer element : future.get().iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListMcpServers_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listmcpservers/AsyncListMcpServersPaged.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listmcpservers/AsyncListMcpServersPaged.java new file mode 100644 index 000000000000..b0de38724ba6 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listmcpservers/AsyncListMcpServersPaged.java @@ -0,0 +1,64 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListMcpServers_Paged_async] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.ListMcpServersRequest; +import com.google.cloud.agentregistry.v1.ListMcpServersResponse; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.McpServer; +import com.google.common.base.Strings; + +public class AsyncListMcpServersPaged { + + public static void main(String[] args) throws Exception { + asyncListMcpServersPaged(); + } + + public static void asyncListMcpServersPaged() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + ListMcpServersRequest request = + ListMcpServersRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .setOrderBy("orderBy-1207110587") + .build(); + while (true) { + ListMcpServersResponse response = + agentRegistryClient.listMcpServersCallable().call(request); + for (McpServer element : response.getMcpServersList()) { + // doThingsWith(element); + } + String nextPageToken = response.getNextPageToken(); + if (!Strings.isNullOrEmpty(nextPageToken)) { + request = request.toBuilder().setPageToken(nextPageToken).build(); + } else { + break; + } + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListMcpServers_Paged_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listmcpservers/SyncListMcpServers.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listmcpservers/SyncListMcpServers.java new file mode 100644 index 000000000000..a179c31978ca --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listmcpservers/SyncListMcpServers.java @@ -0,0 +1,52 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListMcpServers_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.ListMcpServersRequest; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.McpServer; + +public class SyncListMcpServers { + + public static void main(String[] args) throws Exception { + syncListMcpServers(); + } + + public static void syncListMcpServers() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + ListMcpServersRequest request = + ListMcpServersRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .setOrderBy("orderBy-1207110587") + .build(); + for (McpServer element : agentRegistryClient.listMcpServers(request).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListMcpServers_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listmcpservers/SyncListMcpServersLocationname.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listmcpservers/SyncListMcpServersLocationname.java new file mode 100644 index 000000000000..4a169aa41dc4 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listmcpservers/SyncListMcpServersLocationname.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListMcpServers_Locationname_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.McpServer; + +public class SyncListMcpServersLocationname { + + public static void main(String[] args) throws Exception { + syncListMcpServersLocationname(); + } + + public static void syncListMcpServersLocationname() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + for (McpServer element : agentRegistryClient.listMcpServers(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListMcpServers_Locationname_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listmcpservers/SyncListMcpServersString.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listmcpservers/SyncListMcpServersString.java new file mode 100644 index 000000000000..accc7a228be1 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listmcpservers/SyncListMcpServersString.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListMcpServers_String_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.McpServer; + +public class SyncListMcpServersString { + + public static void main(String[] args) throws Exception { + syncListMcpServersString(); + } + + public static void syncListMcpServersString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString(); + for (McpServer element : agentRegistryClient.listMcpServers(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListMcpServers_String_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listservices/AsyncListServices.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listservices/AsyncListServices.java new file mode 100644 index 000000000000..ff65d921cd4e --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listservices/AsyncListServices.java @@ -0,0 +1,55 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListServices_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.ListServicesRequest; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.Service; + +public class AsyncListServices { + + public static void main(String[] args) throws Exception { + asyncListServices(); + } + + public static void asyncListServices() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + ListServicesRequest request = + ListServicesRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .build(); + ApiFuture future = + agentRegistryClient.listServicesPagedCallable().futureCall(request); + // Do something. + for (Service element : future.get().iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListServices_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listservices/AsyncListServicesPaged.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listservices/AsyncListServicesPaged.java new file mode 100644 index 000000000000..6f5493df9385 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listservices/AsyncListServicesPaged.java @@ -0,0 +1,62 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListServices_Paged_async] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.ListServicesRequest; +import com.google.cloud.agentregistry.v1.ListServicesResponse; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.Service; +import com.google.common.base.Strings; + +public class AsyncListServicesPaged { + + public static void main(String[] args) throws Exception { + asyncListServicesPaged(); + } + + public static void asyncListServicesPaged() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + ListServicesRequest request = + ListServicesRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .build(); + while (true) { + ListServicesResponse response = agentRegistryClient.listServicesCallable().call(request); + for (Service element : response.getServicesList()) { + // doThingsWith(element); + } + String nextPageToken = response.getNextPageToken(); + if (!Strings.isNullOrEmpty(nextPageToken)) { + request = request.toBuilder().setPageToken(nextPageToken).build(); + } else { + break; + } + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListServices_Paged_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listservices/SyncListServices.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listservices/SyncListServices.java new file mode 100644 index 000000000000..8d060c418b66 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listservices/SyncListServices.java @@ -0,0 +1,51 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListServices_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.ListServicesRequest; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.Service; + +public class SyncListServices { + + public static void main(String[] args) throws Exception { + syncListServices(); + } + + public static void syncListServices() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + ListServicesRequest request = + ListServicesRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .setFilter("filter-1274492040") + .build(); + for (Service element : agentRegistryClient.listServices(request).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListServices_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listservices/SyncListServicesLocationname.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listservices/SyncListServicesLocationname.java new file mode 100644 index 000000000000..43a7ea25b1c1 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listservices/SyncListServicesLocationname.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListServices_Locationname_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.Service; + +public class SyncListServicesLocationname { + + public static void main(String[] args) throws Exception { + syncListServicesLocationname(); + } + + public static void syncListServicesLocationname() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + for (Service element : agentRegistryClient.listServices(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListServices_Locationname_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listservices/SyncListServicesString.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listservices/SyncListServicesString.java new file mode 100644 index 000000000000..8c3003b0e604 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/listservices/SyncListServicesString.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_ListServices_String_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.Service; + +public class SyncListServicesString { + + public static void main(String[] args) throws Exception { + syncListServicesString(); + } + + public static void syncListServicesString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString(); + for (Service element : agentRegistryClient.listServices(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_ListServices_String_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchagents/AsyncSearchAgents.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchagents/AsyncSearchAgents.java new file mode 100644 index 000000000000..e0d743daaac4 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchagents/AsyncSearchAgents.java @@ -0,0 +1,54 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_SearchAgents_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.agentregistry.v1.Agent; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.SearchAgentsRequest; + +public class AsyncSearchAgents { + + public static void main(String[] args) throws Exception { + asyncSearchAgents(); + } + + public static void asyncSearchAgents() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + SearchAgentsRequest request = + SearchAgentsRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setSearchString("searchString120312793") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + ApiFuture future = agentRegistryClient.searchAgentsPagedCallable().futureCall(request); + // Do something. + for (Agent element : future.get().iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_SearchAgents_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchagents/AsyncSearchAgentsPaged.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchagents/AsyncSearchAgentsPaged.java new file mode 100644 index 000000000000..5e91fc35e486 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchagents/AsyncSearchAgentsPaged.java @@ -0,0 +1,62 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_SearchAgents_Paged_async] +import com.google.cloud.agentregistry.v1.Agent; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.SearchAgentsRequest; +import com.google.cloud.agentregistry.v1.SearchAgentsResponse; +import com.google.common.base.Strings; + +public class AsyncSearchAgentsPaged { + + public static void main(String[] args) throws Exception { + asyncSearchAgentsPaged(); + } + + public static void asyncSearchAgentsPaged() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + SearchAgentsRequest request = + SearchAgentsRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setSearchString("searchString120312793") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + while (true) { + SearchAgentsResponse response = agentRegistryClient.searchAgentsCallable().call(request); + for (Agent element : response.getAgentsList()) { + // doThingsWith(element); + } + String nextPageToken = response.getNextPageToken(); + if (!Strings.isNullOrEmpty(nextPageToken)) { + request = request.toBuilder().setPageToken(nextPageToken).build(); + } else { + break; + } + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_SearchAgents_Paged_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchagents/SyncSearchAgents.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchagents/SyncSearchAgents.java new file mode 100644 index 000000000000..7a34af5f8808 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchagents/SyncSearchAgents.java @@ -0,0 +1,51 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_SearchAgents_sync] +import com.google.cloud.agentregistry.v1.Agent; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.SearchAgentsRequest; + +public class SyncSearchAgents { + + public static void main(String[] args) throws Exception { + syncSearchAgents(); + } + + public static void syncSearchAgents() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + SearchAgentsRequest request = + SearchAgentsRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setSearchString("searchString120312793") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + for (Agent element : agentRegistryClient.searchAgents(request).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_SearchAgents_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchagents/SyncSearchAgentsLocationname.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchagents/SyncSearchAgentsLocationname.java new file mode 100644 index 000000000000..444e8b60f60c --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchagents/SyncSearchAgentsLocationname.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_SearchAgents_Locationname_sync] +import com.google.cloud.agentregistry.v1.Agent; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.LocationName; + +public class SyncSearchAgentsLocationname { + + public static void main(String[] args) throws Exception { + syncSearchAgentsLocationname(); + } + + public static void syncSearchAgentsLocationname() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + for (Agent element : agentRegistryClient.searchAgents(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_SearchAgents_Locationname_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchagents/SyncSearchAgentsString.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchagents/SyncSearchAgentsString.java new file mode 100644 index 000000000000..391b1280b77d --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchagents/SyncSearchAgentsString.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_SearchAgents_String_sync] +import com.google.cloud.agentregistry.v1.Agent; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.LocationName; + +public class SyncSearchAgentsString { + + public static void main(String[] args) throws Exception { + syncSearchAgentsString(); + } + + public static void syncSearchAgentsString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString(); + for (Agent element : agentRegistryClient.searchAgents(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_SearchAgents_String_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchmcpservers/AsyncSearchMcpServers.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchmcpservers/AsyncSearchMcpServers.java new file mode 100644 index 000000000000..4d998f2a0e63 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchmcpservers/AsyncSearchMcpServers.java @@ -0,0 +1,55 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_SearchMcpServers_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.McpServer; +import com.google.cloud.agentregistry.v1.SearchMcpServersRequest; + +public class AsyncSearchMcpServers { + + public static void main(String[] args) throws Exception { + asyncSearchMcpServers(); + } + + public static void asyncSearchMcpServers() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + SearchMcpServersRequest request = + SearchMcpServersRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setSearchString("searchString120312793") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + ApiFuture future = + agentRegistryClient.searchMcpServersPagedCallable().futureCall(request); + // Do something. + for (McpServer element : future.get().iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_SearchMcpServers_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchmcpservers/AsyncSearchMcpServersPaged.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchmcpservers/AsyncSearchMcpServersPaged.java new file mode 100644 index 000000000000..1b7eeb983aaa --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchmcpservers/AsyncSearchMcpServersPaged.java @@ -0,0 +1,63 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_SearchMcpServers_Paged_async] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.McpServer; +import com.google.cloud.agentregistry.v1.SearchMcpServersRequest; +import com.google.cloud.agentregistry.v1.SearchMcpServersResponse; +import com.google.common.base.Strings; + +public class AsyncSearchMcpServersPaged { + + public static void main(String[] args) throws Exception { + asyncSearchMcpServersPaged(); + } + + public static void asyncSearchMcpServersPaged() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + SearchMcpServersRequest request = + SearchMcpServersRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setSearchString("searchString120312793") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + while (true) { + SearchMcpServersResponse response = + agentRegistryClient.searchMcpServersCallable().call(request); + for (McpServer element : response.getMcpServersList()) { + // doThingsWith(element); + } + String nextPageToken = response.getNextPageToken(); + if (!Strings.isNullOrEmpty(nextPageToken)) { + request = request.toBuilder().setPageToken(nextPageToken).build(); + } else { + break; + } + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_SearchMcpServers_Paged_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchmcpservers/SyncSearchMcpServers.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchmcpservers/SyncSearchMcpServers.java new file mode 100644 index 000000000000..f4f536f672b3 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchmcpservers/SyncSearchMcpServers.java @@ -0,0 +1,51 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_SearchMcpServers_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.McpServer; +import com.google.cloud.agentregistry.v1.SearchMcpServersRequest; + +public class SyncSearchMcpServers { + + public static void main(String[] args) throws Exception { + syncSearchMcpServers(); + } + + public static void syncSearchMcpServers() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + SearchMcpServersRequest request = + SearchMcpServersRequest.newBuilder() + .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString()) + .setSearchString("searchString120312793") + .setPageSize(883849137) + .setPageToken("pageToken873572522") + .build(); + for (McpServer element : agentRegistryClient.searchMcpServers(request).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_SearchMcpServers_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchmcpservers/SyncSearchMcpServersLocationname.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchmcpservers/SyncSearchMcpServersLocationname.java new file mode 100644 index 000000000000..4d62e3083aa1 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchmcpservers/SyncSearchMcpServersLocationname.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_SearchMcpServers_Locationname_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.McpServer; + +public class SyncSearchMcpServersLocationname { + + public static void main(String[] args) throws Exception { + syncSearchMcpServersLocationname(); + } + + public static void syncSearchMcpServersLocationname() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); + for (McpServer element : agentRegistryClient.searchMcpServers(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_SearchMcpServers_Locationname_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchmcpservers/SyncSearchMcpServersString.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchmcpservers/SyncSearchMcpServersString.java new file mode 100644 index 000000000000..527ce930e873 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/searchmcpservers/SyncSearchMcpServersString.java @@ -0,0 +1,44 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_SearchMcpServers_String_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.LocationName; +import com.google.cloud.agentregistry.v1.McpServer; + +public class SyncSearchMcpServersString { + + public static void main(String[] args) throws Exception { + syncSearchMcpServersString(); + } + + public static void syncSearchMcpServersString() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString(); + for (McpServer element : agentRegistryClient.searchMcpServers(parent).iterateAll()) { + // doThingsWith(element); + } + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_SearchMcpServers_String_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updatebinding/AsyncUpdateBinding.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updatebinding/AsyncUpdateBinding.java new file mode 100644 index 000000000000..f0e23ef035de --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updatebinding/AsyncUpdateBinding.java @@ -0,0 +1,52 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_UpdateBinding_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.UpdateBindingRequest; +import com.google.longrunning.Operation; +import com.google.protobuf.FieldMask; + +public class AsyncUpdateBinding { + + public static void main(String[] args) throws Exception { + asyncUpdateBinding(); + } + + public static void asyncUpdateBinding() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + UpdateBindingRequest request = + UpdateBindingRequest.newBuilder() + .setBinding(Binding.newBuilder().build()) + .setUpdateMask(FieldMask.newBuilder().build()) + .setRequestId("requestId693933066") + .build(); + ApiFuture future = agentRegistryClient.updateBindingCallable().futureCall(request); + // Do something. + Operation response = future.get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_UpdateBinding_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updatebinding/AsyncUpdateBindingLRO.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updatebinding/AsyncUpdateBindingLRO.java new file mode 100644 index 000000000000..92a55f9f8f5c --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updatebinding/AsyncUpdateBindingLRO.java @@ -0,0 +1,53 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_UpdateBinding_LRO_async] +import com.google.api.gax.longrunning.OperationFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.OperationMetadata; +import com.google.cloud.agentregistry.v1.UpdateBindingRequest; +import com.google.protobuf.FieldMask; + +public class AsyncUpdateBindingLRO { + + public static void main(String[] args) throws Exception { + asyncUpdateBindingLRO(); + } + + public static void asyncUpdateBindingLRO() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + UpdateBindingRequest request = + UpdateBindingRequest.newBuilder() + .setBinding(Binding.newBuilder().build()) + .setUpdateMask(FieldMask.newBuilder().build()) + .setRequestId("requestId693933066") + .build(); + OperationFuture future = + agentRegistryClient.updateBindingOperationCallable().futureCall(request); + // Do something. + Binding response = future.get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_UpdateBinding_LRO_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updatebinding/SyncUpdateBinding.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updatebinding/SyncUpdateBinding.java new file mode 100644 index 000000000000..d32e071050d8 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updatebinding/SyncUpdateBinding.java @@ -0,0 +1,48 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_UpdateBinding_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.cloud.agentregistry.v1.UpdateBindingRequest; +import com.google.protobuf.FieldMask; + +public class SyncUpdateBinding { + + public static void main(String[] args) throws Exception { + syncUpdateBinding(); + } + + public static void syncUpdateBinding() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + UpdateBindingRequest request = + UpdateBindingRequest.newBuilder() + .setBinding(Binding.newBuilder().build()) + .setUpdateMask(FieldMask.newBuilder().build()) + .setRequestId("requestId693933066") + .build(); + Binding response = agentRegistryClient.updateBindingAsync(request).get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_UpdateBinding_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updatebinding/SyncUpdateBindingBindingFieldmask.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updatebinding/SyncUpdateBindingBindingFieldmask.java new file mode 100644 index 000000000000..339dff480b20 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updatebinding/SyncUpdateBindingBindingFieldmask.java @@ -0,0 +1,43 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_UpdateBinding_BindingFieldmask_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Binding; +import com.google.protobuf.FieldMask; + +public class SyncUpdateBindingBindingFieldmask { + + public static void main(String[] args) throws Exception { + syncUpdateBindingBindingFieldmask(); + } + + public static void syncUpdateBindingBindingFieldmask() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + Binding binding = Binding.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + Binding response = agentRegistryClient.updateBindingAsync(binding, updateMask).get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_UpdateBinding_BindingFieldmask_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updateservice/AsyncUpdateService.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updateservice/AsyncUpdateService.java new file mode 100644 index 000000000000..19aa3e9d4cea --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updateservice/AsyncUpdateService.java @@ -0,0 +1,52 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_UpdateService_async] +import com.google.api.core.ApiFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Service; +import com.google.cloud.agentregistry.v1.UpdateServiceRequest; +import com.google.longrunning.Operation; +import com.google.protobuf.FieldMask; + +public class AsyncUpdateService { + + public static void main(String[] args) throws Exception { + asyncUpdateService(); + } + + public static void asyncUpdateService() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + UpdateServiceRequest request = + UpdateServiceRequest.newBuilder() + .setUpdateMask(FieldMask.newBuilder().build()) + .setService(Service.newBuilder().build()) + .setRequestId("requestId693933066") + .build(); + ApiFuture future = agentRegistryClient.updateServiceCallable().futureCall(request); + // Do something. + Operation response = future.get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_UpdateService_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updateservice/AsyncUpdateServiceLRO.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updateservice/AsyncUpdateServiceLRO.java new file mode 100644 index 000000000000..a6647ab1047f --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updateservice/AsyncUpdateServiceLRO.java @@ -0,0 +1,53 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_UpdateService_LRO_async] +import com.google.api.gax.longrunning.OperationFuture; +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.OperationMetadata; +import com.google.cloud.agentregistry.v1.Service; +import com.google.cloud.agentregistry.v1.UpdateServiceRequest; +import com.google.protobuf.FieldMask; + +public class AsyncUpdateServiceLRO { + + public static void main(String[] args) throws Exception { + asyncUpdateServiceLRO(); + } + + public static void asyncUpdateServiceLRO() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + UpdateServiceRequest request = + UpdateServiceRequest.newBuilder() + .setUpdateMask(FieldMask.newBuilder().build()) + .setService(Service.newBuilder().build()) + .setRequestId("requestId693933066") + .build(); + OperationFuture future = + agentRegistryClient.updateServiceOperationCallable().futureCall(request); + // Do something. + Service response = future.get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_UpdateService_LRO_async] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updateservice/SyncUpdateService.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updateservice/SyncUpdateService.java new file mode 100644 index 000000000000..97784ff1b351 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updateservice/SyncUpdateService.java @@ -0,0 +1,48 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_UpdateService_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Service; +import com.google.cloud.agentregistry.v1.UpdateServiceRequest; +import com.google.protobuf.FieldMask; + +public class SyncUpdateService { + + public static void main(String[] args) throws Exception { + syncUpdateService(); + } + + public static void syncUpdateService() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + UpdateServiceRequest request = + UpdateServiceRequest.newBuilder() + .setUpdateMask(FieldMask.newBuilder().build()) + .setService(Service.newBuilder().build()) + .setRequestId("requestId693933066") + .build(); + Service response = agentRegistryClient.updateServiceAsync(request).get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_UpdateService_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updateservice/SyncUpdateServiceServiceFieldmask.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updateservice/SyncUpdateServiceServiceFieldmask.java new file mode 100644 index 000000000000..865b491a6d61 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistry/updateservice/SyncUpdateServiceServiceFieldmask.java @@ -0,0 +1,43 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistry_UpdateService_ServiceFieldmask_sync] +import com.google.cloud.agentregistry.v1.AgentRegistryClient; +import com.google.cloud.agentregistry.v1.Service; +import com.google.protobuf.FieldMask; + +public class SyncUpdateServiceServiceFieldmask { + + public static void main(String[] args) throws Exception { + syncUpdateServiceServiceFieldmask(); + } + + public static void syncUpdateServiceServiceFieldmask() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AgentRegistryClient agentRegistryClient = AgentRegistryClient.create()) { + Service service = Service.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + Service response = agentRegistryClient.updateServiceAsync(service, updateMask).get(); + } + } +} +// [END agentregistry_v1_generated_AgentRegistry_UpdateService_ServiceFieldmask_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistrysettings/createservice/SyncCreateService.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistrysettings/createservice/SyncCreateService.java new file mode 100644 index 000000000000..c3bad267acd6 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistrysettings/createservice/SyncCreateService.java @@ -0,0 +1,53 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistrySettings_CreateService_sync] +import com.google.api.gax.longrunning.OperationalTimedPollAlgorithm; +import com.google.api.gax.retrying.RetrySettings; +import com.google.api.gax.retrying.TimedRetryAlgorithm; +import com.google.cloud.agentregistry.v1.AgentRegistrySettings; +import java.time.Duration; + +public class SyncCreateService { + + public static void main(String[] args) throws Exception { + syncCreateService(); + } + + public static void syncCreateService() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + AgentRegistrySettings.Builder agentRegistrySettingsBuilder = AgentRegistrySettings.newBuilder(); + TimedRetryAlgorithm timedRetryAlgorithm = + OperationalTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelayDuration(Duration.ofMillis(500)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelayDuration(Duration.ofMillis(5000)) + .setTotalTimeoutDuration(Duration.ofHours(24)) + .build()); + agentRegistrySettingsBuilder + .createClusterOperationSettings() + .setPollingAlgorithm(timedRetryAlgorithm) + .build(); + } +} +// [END agentregistry_v1_generated_AgentRegistrySettings_CreateService_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistrysettings/getagent/SyncGetAgent.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistrysettings/getagent/SyncGetAgent.java new file mode 100644 index 000000000000..ecd4af77cd3e --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/agentregistrysettings/getagent/SyncGetAgent.java @@ -0,0 +1,55 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.samples; + +// [START agentregistry_v1_generated_AgentRegistrySettings_GetAgent_sync] +import com.google.cloud.agentregistry.v1.AgentRegistrySettings; +import java.time.Duration; + +public class SyncGetAgent { + + public static void main(String[] args) throws Exception { + syncGetAgent(); + } + + public static void syncGetAgent() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + AgentRegistrySettings.Builder agentRegistrySettingsBuilder = AgentRegistrySettings.newBuilder(); + agentRegistrySettingsBuilder + .getAgentSettings() + .setRetrySettings( + agentRegistrySettingsBuilder + .getAgentSettings() + .getRetrySettings() + .toBuilder() + .setInitialRetryDelayDuration(Duration.ofSeconds(1)) + .setInitialRpcTimeoutDuration(Duration.ofSeconds(5)) + .setMaxAttempts(5) + .setMaxRetryDelayDuration(Duration.ofSeconds(30)) + .setMaxRpcTimeoutDuration(Duration.ofSeconds(60)) + .setRetryDelayMultiplier(1.3) + .setRpcTimeoutMultiplier(1.5) + .setTotalTimeoutDuration(Duration.ofSeconds(300)) + .build()); + AgentRegistrySettings agentRegistrySettings = agentRegistrySettingsBuilder.build(); + } +} +// [END agentregistry_v1_generated_AgentRegistrySettings_GetAgent_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/stub/agentregistrystubsettings/createservice/SyncCreateService.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/stub/agentregistrystubsettings/createservice/SyncCreateService.java new file mode 100644 index 000000000000..cd0fd343fa4c --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/stub/agentregistrystubsettings/createservice/SyncCreateService.java @@ -0,0 +1,54 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.stub.samples; + +// [START agentregistry_v1_generated_AgentRegistryStubSettings_CreateService_sync] +import com.google.api.gax.longrunning.OperationalTimedPollAlgorithm; +import com.google.api.gax.retrying.RetrySettings; +import com.google.api.gax.retrying.TimedRetryAlgorithm; +import com.google.cloud.agentregistry.v1.stub.AgentRegistryStubSettings; +import java.time.Duration; + +public class SyncCreateService { + + public static void main(String[] args) throws Exception { + syncCreateService(); + } + + public static void syncCreateService() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + AgentRegistryStubSettings.Builder agentRegistrySettingsBuilder = + AgentRegistryStubSettings.newBuilder(); + TimedRetryAlgorithm timedRetryAlgorithm = + OperationalTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelayDuration(Duration.ofMillis(500)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelayDuration(Duration.ofMillis(5000)) + .setTotalTimeoutDuration(Duration.ofHours(24)) + .build()); + agentRegistrySettingsBuilder + .createClusterOperationSettings() + .setPollingAlgorithm(timedRetryAlgorithm) + .build(); + } +} +// [END agentregistry_v1_generated_AgentRegistryStubSettings_CreateService_sync] diff --git a/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/stub/agentregistrystubsettings/getagent/SyncGetAgent.java b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/stub/agentregistrystubsettings/getagent/SyncGetAgent.java new file mode 100644 index 000000000000..add643c90c06 --- /dev/null +++ b/java-agentregistry/samples/snippets/generated/com/google/cloud/agentregistry/v1/stub/agentregistrystubsettings/getagent/SyncGetAgent.java @@ -0,0 +1,56 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.cloud.agentregistry.v1.stub.samples; + +// [START agentregistry_v1_generated_AgentRegistryStubSettings_GetAgent_sync] +import com.google.cloud.agentregistry.v1.stub.AgentRegistryStubSettings; +import java.time.Duration; + +public class SyncGetAgent { + + public static void main(String[] args) throws Exception { + syncGetAgent(); + } + + public static void syncGetAgent() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + AgentRegistryStubSettings.Builder agentRegistrySettingsBuilder = + AgentRegistryStubSettings.newBuilder(); + agentRegistrySettingsBuilder + .getAgentSettings() + .setRetrySettings( + agentRegistrySettingsBuilder + .getAgentSettings() + .getRetrySettings() + .toBuilder() + .setInitialRetryDelayDuration(Duration.ofSeconds(1)) + .setInitialRpcTimeoutDuration(Duration.ofSeconds(5)) + .setMaxAttempts(5) + .setMaxRetryDelayDuration(Duration.ofSeconds(30)) + .setMaxRpcTimeoutDuration(Duration.ofSeconds(60)) + .setRetryDelayMultiplier(1.3) + .setRpcTimeoutMultiplier(1.5) + .setTotalTimeoutDuration(Duration.ofSeconds(300)) + .build()); + AgentRegistryStubSettings agentRegistrySettings = agentRegistrySettingsBuilder.build(); + } +} +// [END agentregistry_v1_generated_AgentRegistryStubSettings_GetAgent_sync] diff --git a/java-aiplatform/.OwlBot-hermetic.yaml b/java-aiplatform/.OwlBot-hermetic.yaml deleted file mode 100644 index 27f0b13f5309..000000000000 --- a/java-aiplatform/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-aiplatform/grpc-google-.*/src" -- "/java-aiplatform/proto-google-.*/src" -- "/java-aiplatform/google-.*/src/main/java/com/google/cloud/aiplatform/v1" -- "/java-aiplatform/samples/snippets/generated" -- "/java-aiplatform/google-.*/src/main/java/com/google/cloud/aiplatform/v1beta1" - -deep-preserve-regex: - - "/.*google-.*/src/main/java/.*/stub/Version.java" - -deep-copy-regex: -- source: "/google/cloud/aiplatform/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-aiplatform/$1/proto-google-cloud-aiplatform-$1/src" -- source: "/google/cloud/aiplatform/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-aiplatform/$1/grpc-google-cloud-aiplatform-$1/src" -- source: "/google/cloud/aiplatform/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-aiplatform/$1/google-cloud-aiplatform/src" -- source: "/google/cloud/aiplatform/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-aiplatform/$1/samples/snippets/generated" - -api-name: aiplatform diff --git a/java-aiplatform/google-cloud-aiplatform-bom/pom.xml b/java-aiplatform/google-cloud-aiplatform-bom/pom.xml index 036958875d40..4ff83d1384b8 100644 --- a/java-aiplatform/google-cloud-aiplatform-bom/pom.xml +++ b/java-aiplatform/google-cloud-aiplatform-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-aiplatform-bom - 3.94.0 + 3.95.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-aiplatform - 3.94.0 + 3.95.0 com.google.api.grpc grpc-google-cloud-aiplatform-v1 - 3.94.0 + 3.95.0 com.google.api.grpc grpc-google-cloud-aiplatform-v1beta1 - 3.94.0 + 3.95.0 com.google.api.grpc proto-google-cloud-aiplatform-v1 - 3.94.0 + 3.95.0 com.google.api.grpc proto-google-cloud-aiplatform-v1beta1 - 3.94.0 + 3.95.0 diff --git a/java-aiplatform/google-cloud-aiplatform/pom.xml b/java-aiplatform/google-cloud-aiplatform/pom.xml index 11f0531db786..a8042c70b567 100644 --- a/java-aiplatform/google-cloud-aiplatform/pom.xml +++ b/java-aiplatform/google-cloud-aiplatform/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-aiplatform - 3.94.0 + 3.95.0 jar Google Cloud Vertex AI Java client for Google Cloud Vertex AI services. com.google.cloud google-cloud-aiplatform-parent - 3.94.0 + 3.95.0 google-cloud-aiplatform diff --git a/java-aiplatform/google-cloud-aiplatform/src/main/java/com/google/cloud/aiplatform/v1/stub/Version.java b/java-aiplatform/google-cloud-aiplatform/src/main/java/com/google/cloud/aiplatform/v1/stub/Version.java index 2e5db4a38540..d0b3e5e6c1ea 100644 --- a/java-aiplatform/google-cloud-aiplatform/src/main/java/com/google/cloud/aiplatform/v1/stub/Version.java +++ b/java-aiplatform/google-cloud-aiplatform/src/main/java/com/google/cloud/aiplatform/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-aiplatform:current} - static final String VERSION = "3.94.0"; + static final String VERSION = "3.95.0"; // {x-version-update-end} } diff --git a/java-aiplatform/google-cloud-aiplatform/src/main/java/com/google/cloud/aiplatform/v1beta1/stub/Version.java b/java-aiplatform/google-cloud-aiplatform/src/main/java/com/google/cloud/aiplatform/v1beta1/stub/Version.java index 42a4c1a63dde..e0abb76cd635 100644 --- a/java-aiplatform/google-cloud-aiplatform/src/main/java/com/google/cloud/aiplatform/v1beta1/stub/Version.java +++ b/java-aiplatform/google-cloud-aiplatform/src/main/java/com/google/cloud/aiplatform/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-aiplatform:current} - static final String VERSION = "3.94.0"; + static final String VERSION = "3.95.0"; // {x-version-update-end} } diff --git a/java-aiplatform/google-cloud-aiplatform/src/main/resources/META-INF/native-image/com.google.cloud.aiplatform.v1beta1/reflect-config.json b/java-aiplatform/google-cloud-aiplatform/src/main/resources/META-INF/native-image/com.google.cloud.aiplatform.v1beta1/reflect-config.json index 12b95a657341..fc7ab666763f 100644 --- a/java-aiplatform/google-cloud-aiplatform/src/main/resources/META-INF/native-image/com.google.cloud.aiplatform.v1beta1/reflect-config.json +++ b/java-aiplatform/google-cloud-aiplatform/src/main/resources/META-INF/native-image/com.google.cloud.aiplatform.v1beta1/reflect-config.json @@ -20789,6 +20789,15 @@ "allDeclaredClasses": true, "allPublicClasses": true }, + { + "name": "com.google.cloud.aiplatform.v1beta1.PublisherModelConfig$ModelProvider", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, { "name": "com.google.cloud.aiplatform.v1beta1.PublisherModelEulaAcceptance", "queryAllDeclaredConstructors": true, diff --git a/java-aiplatform/grpc-google-cloud-aiplatform-v1/pom.xml b/java-aiplatform/grpc-google-cloud-aiplatform-v1/pom.xml index 75631c3fde1d..323bbad3abbb 100644 --- a/java-aiplatform/grpc-google-cloud-aiplatform-v1/pom.xml +++ b/java-aiplatform/grpc-google-cloud-aiplatform-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-aiplatform-v1 - 3.94.0 + 3.95.0 grpc-google-cloud-aiplatform-v1 GRPC library for google-cloud-aiplatform com.google.cloud google-cloud-aiplatform-parent - 3.94.0 + 3.95.0 diff --git a/java-aiplatform/grpc-google-cloud-aiplatform-v1beta1/pom.xml b/java-aiplatform/grpc-google-cloud-aiplatform-v1beta1/pom.xml index 799eafc65d4d..28508001e89c 100644 --- a/java-aiplatform/grpc-google-cloud-aiplatform-v1beta1/pom.xml +++ b/java-aiplatform/grpc-google-cloud-aiplatform-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-aiplatform-v1beta1 - 3.94.0 + 3.95.0 grpc-google-cloud-aiplatform-v1beta1 GRPC library for google-cloud-aiplatform com.google.cloud google-cloud-aiplatform-parent - 3.94.0 + 3.95.0 diff --git a/java-aiplatform/pom.xml b/java-aiplatform/pom.xml index daa6d6017d12..f7d7779c2447 100644 --- a/java-aiplatform/pom.xml +++ b/java-aiplatform/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-aiplatform-parent pom - 3.94.0 + 3.95.0 Google Cloud Vertex AI Parent Java client for Google Cloud Vertex AI services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-aiplatform - 3.94.0 + 3.95.0 com.google.api.grpc proto-google-cloud-aiplatform-v1 - 3.94.0 + 3.95.0 com.google.api.grpc proto-google-cloud-aiplatform-v1beta1 - 3.94.0 + 3.95.0 com.google.api.grpc grpc-google-cloud-aiplatform-v1 - 3.94.0 + 3.95.0 com.google.api.grpc grpc-google-cloud-aiplatform-v1beta1 - 3.94.0 + 3.95.0 diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1/pom.xml b/java-aiplatform/proto-google-cloud-aiplatform-v1/pom.xml index 0ada45b25931..c93a26ab8477 100644 --- a/java-aiplatform/proto-google-cloud-aiplatform-v1/pom.xml +++ b/java-aiplatform/proto-google-cloud-aiplatform-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-aiplatform-v1 - 3.94.0 + 3.95.0 proto-google-cloud-aiplatform-v1 Proto library for google-cloud-aiplatform com.google.cloud google-cloud-aiplatform-parent - 3.94.0 + 3.95.0 diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/pom.xml b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/pom.xml index 90a473bd2f47..6fd76b6ccc11 100644 --- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/pom.xml +++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-aiplatform-v1beta1 - 3.94.0 + 3.95.0 proto-google-cloud-aiplatform-v1beta1 Proto library for google-cloud-aiplatform com.google.cloud google-cloud-aiplatform-parent - 3.94.0 + 3.95.0 diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/EndpointProto.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/EndpointProto.java index 992375bffeef..cf58a4cf796b 100644 --- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/EndpointProto.java +++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/EndpointProto.java @@ -224,10 +224,15 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\024bigquery_destination\030\003 \001(\01324.googl" + "e.cloud.aiplatform.v1beta1.BigQueryDestination\0224\n" + "\'request_response_logging_schema_version\030\004 \001(\tB\003\340A\003\022\033\n" - + "\023enable_otel_logging\030\006 \001(\010\"t\n" + + "\023enable_otel_logging\030\006 \001(\010\"\245\002\n" + "\024PublisherModelConfig\022\\\n" - + "\016logging_config\030\003 \001(\0132D.google.cloud.aiplatf" - + "orm.v1beta1.PredictRequestResponseLoggingConfig\"N\n" + + "\016logging_config\030\003 \001(\0132D.google.cloud.aiplat" + + "form.v1beta1.PredictRequestResponseLoggingConfig\022o\n" + + "\035data_sharing_enabled_provider\030\004 \001(\0162C.google.cloud.aiplatform.v1beta" + + "1.PublisherModelConfig.ModelProviderB\003\340A\001\">\n\r" + + "ModelProvider\022\036\n" + + "\032MODEL_PROVIDER_UNSPECIFIED\020\000\022\r\n" + + "\tANTHROPIC\020\001\"N\n" + "\026ClientConnectionConfig\0224\n" + "\021inference_timeout\030\001 \001(\0132\031.google.protobuf.Duration\"5\n" + "\026FasterDeploymentConfig\022\033\n" @@ -242,15 +247,15 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\017max_unavailableB\013\n" + "\tmax_surge\"\232\001\n" + "\033GenAiAdvancedFeaturesConfig\022Z\n\n" - + "rag_config\030\001" - + " \001(\0132F.google.cloud.aiplatform.v1beta1.GenAiAdvancedFeaturesConfig.RagConfig\032\037\n" + + "rag_config\030\001 \001(\0132F.google.cloud.ai" + + "platform.v1beta1.GenAiAdvancedFeaturesConfig.RagConfig\032\037\n" + "\tRagConfig\022\022\n\n" + "enable_rag\030\001 \001(\010\"\243\003\n" + "\027SpeculativeDecodingSpec\022q\n" - + "\027draft_model_speculation\030\002 \001(\0132N.google.cloud.aiplatform.v1b" - + "eta1.SpeculativeDecodingSpec.DraftModelSpeculationH\000\022f\n" - + "\021ngram_speculation\030\003 \001(\0132" - + "I.google.cloud.aiplatform.v1beta1.SpeculativeDecodingSpec.NgramSpeculationH\000\022\037\n" + + "\027draft_model_speculation\030\002 \001(\0132N.google.cl" + + "oud.aiplatform.v1beta1.SpeculativeDecodingSpec.DraftModelSpeculationH\000\022f\n" + + "\021ngram_speculation\030\003 \001(\0132I.google.cloud.aiplatf" + + "orm.v1beta1.SpeculativeDecodingSpec.NgramSpeculationH\000\022\037\n" + "\027speculative_token_count\030\001 \001(\005\032U\n" + "\025DraftModelSpeculation\022<\n" + "\013draft_model\030\001 \001(\tB\'\340A\002\372A!\n" @@ -259,10 +264,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "ngram_size\030\001 \001(\005B\r\n" + "\013speculationB\344\001\n" + "#com.google.cloud.aiplatform.v1beta1B\r" - + "EndpointProtoP\001ZCcloud.google.com/go/aiplatform/apiv1beta1/aiplatfo" - + "rmpb;aiplatformpb\252\002\037Google.Cloud.AIPlatf" - + "orm.V1Beta1\312\002\037Google\\Cloud\\AIPlatform\\V1" - + "beta1\352\002\"Google::Cloud::AIPlatform::V1beta1b\006proto3" + + "EndpointProtoP\001ZCcloud.google.com/go/aiplatform/a" + + "piv1beta1/aiplatformpb;aiplatformpb\252\002\037Go" + + "ogle.Cloud.AIPlatform.V1Beta1\312\002\037Google\\C" + + "loud\\AIPlatform\\V1beta1\352\002\"Google::Cloud::AIPlatform::V1beta1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -395,7 +400,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_google_cloud_aiplatform_v1beta1_PublisherModelConfig_descriptor, new java.lang.String[] { - "LoggingConfig", + "LoggingConfig", "DataSharingEnabledProvider", }); internal_static_google_cloud_aiplatform_v1beta1_ClientConnectionConfig_descriptor = getDescriptor().getMessageType(5); diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/PublisherModelConfig.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/PublisherModelConfig.java index a0edf1428ea6..8080af78367e 100644 --- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/PublisherModelConfig.java +++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/PublisherModelConfig.java @@ -51,7 +51,9 @@ private PublisherModelConfig(com.google.protobuf.GeneratedMessage.Builder bui super(builder); } - private PublisherModelConfig() {} + private PublisherModelConfig() { + dataSharingEnabledProvider_ = 0; + } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.cloud.aiplatform.v1beta1.EndpointProto @@ -68,6 +70,154 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { com.google.cloud.aiplatform.v1beta1.PublisherModelConfig.Builder.class); } + /** + * + * + *
+   * A model provider (publisher) that prediction data may be shared with.
+   * 
+ * + * Protobuf enum {@code google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider} + */ + public enum ModelProvider implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+     * Unspecified model provider.
+     * 
+ * + * MODEL_PROVIDER_UNSPECIFIED = 0; + */ + MODEL_PROVIDER_UNSPECIFIED(0), + /** + * + * + *
+     * Anthropic.
+     * 
+ * + * ANTHROPIC = 1; + */ + ANTHROPIC(1), + UNRECOGNIZED(-1), + ; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "ModelProvider"); + } + + /** + * + * + *
+     * Unspecified model provider.
+     * 
+ * + * MODEL_PROVIDER_UNSPECIFIED = 0; + */ + public static final int MODEL_PROVIDER_UNSPECIFIED_VALUE = 0; + + /** + * + * + *
+     * Anthropic.
+     * 
+ * + * ANTHROPIC = 1; + */ + public static final int ANTHROPIC_VALUE = 1; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static ModelProvider valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static ModelProvider forNumber(int value) { + switch (value) { + case 0: + return MODEL_PROVIDER_UNSPECIFIED; + case 1: + return ANTHROPIC; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public ModelProvider findValueByNumber(int number) { + return ModelProvider.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.aiplatform.v1beta1.PublisherModelConfig.getDescriptor() + .getEnumTypes() + .get(0); + } + + private static final ModelProvider[] VALUES = values(); + + public static ModelProvider valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private ModelProvider(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider) + } + private int bitField0_; public static final int LOGGING_CONFIG_FIELD_NUMBER = 3; private com.google.cloud.aiplatform.v1beta1.PredictRequestResponseLoggingConfig loggingConfig_; @@ -129,6 +279,57 @@ public boolean hasLoggingConfig() { : loggingConfig_; } + public static final int DATA_SHARING_ENABLED_PROVIDER_FIELD_NUMBER = 4; + private int dataSharingEnabledProvider_ = 0; + + /** + * + * + *
+   * Optional. The model provider (publisher) for which the customer has enabled
+   * data sharing. For publisher models that are configured to require data
+   * sharing, a prediction request is only allowed when the model's publisher
+   * matches this provider. Otherwise, the request is rejected.
+   * 
+ * + * + * .google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider data_sharing_enabled_provider = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for dataSharingEnabledProvider. + */ + @java.lang.Override + public int getDataSharingEnabledProviderValue() { + return dataSharingEnabledProvider_; + } + + /** + * + * + *
+   * Optional. The model provider (publisher) for which the customer has enabled
+   * data sharing. For publisher models that are configured to require data
+   * sharing, a prediction request is only allowed when the model's publisher
+   * matches this provider. Otherwise, the request is rejected.
+   * 
+ * + * + * .google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider data_sharing_enabled_provider = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The dataSharingEnabledProvider. + */ + @java.lang.Override + public com.google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider + getDataSharingEnabledProvider() { + com.google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider result = + com.google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider.forNumber( + dataSharingEnabledProvider_); + return result == null + ? com.google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider.UNRECOGNIZED + : result; + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -146,6 +347,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (((bitField0_ & 0x00000001) != 0)) { output.writeMessage(3, getLoggingConfig()); } + if (dataSharingEnabledProvider_ + != com.google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider + .MODEL_PROVIDER_UNSPECIFIED + .getNumber()) { + output.writeEnum(4, dataSharingEnabledProvider_); + } getUnknownFields().writeTo(output); } @@ -158,6 +365,12 @@ public int getSerializedSize() { if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getLoggingConfig()); } + if (dataSharingEnabledProvider_ + != com.google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider + .MODEL_PROVIDER_UNSPECIFIED + .getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(4, dataSharingEnabledProvider_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -178,6 +391,7 @@ public boolean equals(final java.lang.Object obj) { if (hasLoggingConfig()) { if (!getLoggingConfig().equals(other.getLoggingConfig())) return false; } + if (dataSharingEnabledProvider_ != other.dataSharingEnabledProvider_) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -193,6 +407,8 @@ public int hashCode() { hash = (37 * hash) + LOGGING_CONFIG_FIELD_NUMBER; hash = (53 * hash) + getLoggingConfig().hashCode(); } + hash = (37 * hash) + DATA_SHARING_ENABLED_PROVIDER_FIELD_NUMBER; + hash = (53 * hash) + dataSharingEnabledProvider_; hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -348,6 +564,7 @@ public Builder clear() { loggingConfigBuilder_.dispose(); loggingConfigBuilder_ = null; } + dataSharingEnabledProvider_ = 0; return this; } @@ -390,6 +607,9 @@ private void buildPartial0(com.google.cloud.aiplatform.v1beta1.PublisherModelCon loggingConfigBuilder_ == null ? loggingConfig_ : loggingConfigBuilder_.build(); to_bitField0_ |= 0x00000001; } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.dataSharingEnabledProvider_ = dataSharingEnabledProvider_; + } result.bitField0_ |= to_bitField0_; } @@ -409,6 +629,9 @@ public Builder mergeFrom(com.google.cloud.aiplatform.v1beta1.PublisherModelConfi if (other.hasLoggingConfig()) { mergeLoggingConfig(other.getLoggingConfig()); } + if (other.dataSharingEnabledProvider_ != 0) { + setDataSharingEnabledProviderValue(other.getDataSharingEnabledProviderValue()); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -442,6 +665,12 @@ public Builder mergeFrom( bitField0_ |= 0x00000001; break; } // case 26 + case 32: + { + dataSharingEnabledProvider_ = input.readEnum(); + bitField0_ |= 0x00000002; + break; + } // case 32 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { @@ -684,6 +913,131 @@ public Builder clearLoggingConfig() { return loggingConfigBuilder_; } + private int dataSharingEnabledProvider_ = 0; + + /** + * + * + *
+     * Optional. The model provider (publisher) for which the customer has enabled
+     * data sharing. For publisher models that are configured to require data
+     * sharing, a prediction request is only allowed when the model's publisher
+     * matches this provider. Otherwise, the request is rejected.
+     * 
+ * + * + * .google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider data_sharing_enabled_provider = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for dataSharingEnabledProvider. + */ + @java.lang.Override + public int getDataSharingEnabledProviderValue() { + return dataSharingEnabledProvider_; + } + + /** + * + * + *
+     * Optional. The model provider (publisher) for which the customer has enabled
+     * data sharing. For publisher models that are configured to require data
+     * sharing, a prediction request is only allowed when the model's publisher
+     * matches this provider. Otherwise, the request is rejected.
+     * 
+ * + * + * .google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider data_sharing_enabled_provider = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The enum numeric value on the wire for dataSharingEnabledProvider to set. + * @return This builder for chaining. + */ + public Builder setDataSharingEnabledProviderValue(int value) { + dataSharingEnabledProvider_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The model provider (publisher) for which the customer has enabled
+     * data sharing. For publisher models that are configured to require data
+     * sharing, a prediction request is only allowed when the model's publisher
+     * matches this provider. Otherwise, the request is rejected.
+     * 
+ * + * + * .google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider data_sharing_enabled_provider = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The dataSharingEnabledProvider. + */ + @java.lang.Override + public com.google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider + getDataSharingEnabledProvider() { + com.google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider result = + com.google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider.forNumber( + dataSharingEnabledProvider_); + return result == null + ? com.google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider.UNRECOGNIZED + : result; + } + + /** + * + * + *
+     * Optional. The model provider (publisher) for which the customer has enabled
+     * data sharing. For publisher models that are configured to require data
+     * sharing, a prediction request is only allowed when the model's publisher
+     * matches this provider. Otherwise, the request is rejected.
+     * 
+ * + * + * .google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider data_sharing_enabled_provider = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @param value The dataSharingEnabledProvider to set. + * @return This builder for chaining. + */ + public Builder setDataSharingEnabledProvider( + com.google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider value) { + if (value == null) { + throw new NullPointerException(); + } + bitField0_ |= 0x00000002; + dataSharingEnabledProvider_ = value.getNumber(); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The model provider (publisher) for which the customer has enabled
+     * data sharing. For publisher models that are configured to require data
+     * sharing, a prediction request is only allowed when the model's publisher
+     * matches this provider. Otherwise, the request is rejected.
+     * 
+ * + * + * .google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider data_sharing_enabled_provider = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return This builder for chaining. + */ + public Builder clearDataSharingEnabledProvider() { + bitField0_ = (bitField0_ & ~0x00000002); + dataSharingEnabledProvider_ = 0; + onChanged(); + return this; + } + // @@protoc_insertion_point(builder_scope:google.cloud.aiplatform.v1beta1.PublisherModelConfig) } diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/PublisherModelConfigOrBuilder.java b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/PublisherModelConfigOrBuilder.java index 7c9f94eea746..57eefa6cb536 100644 --- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/PublisherModelConfigOrBuilder.java +++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/java/com/google/cloud/aiplatform/v1beta1/PublisherModelConfigOrBuilder.java @@ -66,4 +66,41 @@ public interface PublisherModelConfigOrBuilder */ com.google.cloud.aiplatform.v1beta1.PredictRequestResponseLoggingConfigOrBuilder getLoggingConfigOrBuilder(); + + /** + * + * + *
+   * Optional. The model provider (publisher) for which the customer has enabled
+   * data sharing. For publisher models that are configured to require data
+   * sharing, a prediction request is only allowed when the model's publisher
+   * matches this provider. Otherwise, the request is rejected.
+   * 
+ * + * + * .google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider data_sharing_enabled_provider = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The enum numeric value on the wire for dataSharingEnabledProvider. + */ + int getDataSharingEnabledProviderValue(); + + /** + * + * + *
+   * Optional. The model provider (publisher) for which the customer has enabled
+   * data sharing. For publisher models that are configured to require data
+   * sharing, a prediction request is only allowed when the model's publisher
+   * matches this provider. Otherwise, the request is rejected.
+   * 
+ * + * + * .google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider data_sharing_enabled_provider = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The dataSharingEnabledProvider. + */ + com.google.cloud.aiplatform.v1beta1.PublisherModelConfig.ModelProvider + getDataSharingEnabledProvider(); } diff --git a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/endpoint.proto b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/endpoint.proto index 42fbeae165ea..a484031985e5 100644 --- a/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/endpoint.proto +++ b/java-aiplatform/proto-google-cloud-aiplatform-v1beta1/src/main/proto/google/cloud/aiplatform/v1beta1/endpoint.proto @@ -400,8 +400,24 @@ message PredictRequestResponseLoggingConfig { // This message contains configs of a publisher model. message PublisherModelConfig { + // A model provider (publisher) that prediction data may be shared with. + enum ModelProvider { + // Unspecified model provider. + MODEL_PROVIDER_UNSPECIFIED = 0; + + // Anthropic. + ANTHROPIC = 1; + } + // The prediction request/response logging config. PredictRequestResponseLoggingConfig logging_config = 3; + + // Optional. The model provider (publisher) for which the customer has enabled + // data sharing. For publisher models that are configured to require data + // sharing, a prediction request is only allowed when the model's publisher + // matches this provider. Otherwise, the request is rejected. + ModelProvider data_sharing_enabled_provider = 4 + [(google.api.field_behavior) = OPTIONAL]; } // Configurations (e.g. inference timeout) that are applied on your endpoints. diff --git a/java-alloydb-connectors/.OwlBot-hermetic.yaml b/java-alloydb-connectors/.OwlBot-hermetic.yaml deleted file mode 100644 index 93a134a913f0..000000000000 --- a/java-alloydb-connectors/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,37 +0,0 @@ -# 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. - - -deep-remove-regex: -- "/java-alloydb-connectors/grpc-google-.*/src" -- "/java-alloydb-connectors/proto-google-.*/src" -- "/java-alloydb-connectors/google-.*/src" -- "/java-alloydb-connectors/samples/snippets/generated" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/cloud/alloydb/connectors/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-alloydb-connectors/$1/proto-google-cloud-alloydb-connectors-$1/src" -- source: "/google/cloud/alloydb/connectors/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-alloydb-connectors/$1/grpc-google-cloud-alloydb-connectors-$1/src" -- source: "/google/cloud/alloydb/connectors/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-alloydb-connectors/$1/google-cloud-alloydb-connectors/src" -- source: "/google/cloud/alloydb/connectors/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-alloydb-connectors/$1/samples/snippets/generated" - - -api-name: alloydb \ No newline at end of file diff --git a/java-alloydb-connectors/google-cloud-alloydb-connectors-bom/pom.xml b/java-alloydb-connectors/google-cloud-alloydb-connectors-bom/pom.xml index ed8d4fe2019f..cb83e07de988 100644 --- a/java-alloydb-connectors/google-cloud-alloydb-connectors-bom/pom.xml +++ b/java-alloydb-connectors/google-cloud-alloydb-connectors-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-alloydb-connectors-bom - 0.71.0 + 0.72.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,22 +28,22 @@ com.google.cloud google-cloud-alloydb-connectors - 0.71.0 + 0.72.0 com.google.api.grpc proto-google-cloud-alloydb-connectors-v1alpha - 0.71.0 + 0.72.0 com.google.api.grpc proto-google-cloud-alloydb-connectors-v1beta - 0.71.0 + 0.72.0 com.google.api.grpc proto-google-cloud-alloydb-connectors-v1 - 0.71.0 + 0.72.0
diff --git a/java-alloydb-connectors/google-cloud-alloydb-connectors/pom.xml b/java-alloydb-connectors/google-cloud-alloydb-connectors/pom.xml index 46c0c965835c..bfaf4a4ea644 100644 --- a/java-alloydb-connectors/google-cloud-alloydb-connectors/pom.xml +++ b/java-alloydb-connectors/google-cloud-alloydb-connectors/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-alloydb-connectors - 0.71.0 + 0.72.0 jar Google AlloyDB connectors AlloyDB connectors AlloyDB is a fully-managed, PostgreSQL-compatible database for demanding transactional workloads. It provides enterprise-grade performance and availability while maintaining 100% compatibility with open-source PostgreSQL. com.google.cloud google-cloud-alloydb-connectors-parent - 0.71.0 + 0.72.0 google-cloud-alloydb-connectors diff --git a/java-alloydb-connectors/pom.xml b/java-alloydb-connectors/pom.xml index 83cf2e9cb07c..99e43f03bddb 100644 --- a/java-alloydb-connectors/pom.xml +++ b/java-alloydb-connectors/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-alloydb-connectors-parent pom - 0.71.0 + 0.72.0 Google AlloyDB connectors Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,22 +30,22 @@ com.google.cloud google-cloud-alloydb-connectors - 0.71.0 + 0.72.0 com.google.api.grpc proto-google-cloud-alloydb-connectors-v1 - 0.71.0 + 0.72.0 com.google.api.grpc proto-google-cloud-alloydb-connectors-v1beta - 0.71.0 + 0.72.0 com.google.api.grpc proto-google-cloud-alloydb-connectors-v1alpha - 0.71.0 + 0.72.0
diff --git a/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1/pom.xml b/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1/pom.xml index ebb716729ed8..aafd7f16ae03 100644 --- a/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1/pom.xml +++ b/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-alloydb-connectors-v1 - 0.71.0 + 0.72.0 proto-google-cloud-alloydb-connectors-v1 Proto library for google-cloud-alloydb-connectors com.google.cloud google-cloud-alloydb-connectors-parent - 0.71.0 + 0.72.0 diff --git a/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1alpha/pom.xml b/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1alpha/pom.xml index 2a153c128cfa..6a712f5e5ff8 100644 --- a/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1alpha/pom.xml +++ b/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-alloydb-connectors-v1alpha - 0.71.0 + 0.72.0 proto-google-cloud-alloydb-connectors-v1alpha Proto library for google-cloud-alloydb-connectors com.google.cloud google-cloud-alloydb-connectors-parent - 0.71.0 + 0.72.0 diff --git a/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1beta/pom.xml b/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1beta/pom.xml index 8b6236a9ed7d..95e5c52a152d 100644 --- a/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1beta/pom.xml +++ b/java-alloydb-connectors/proto-google-cloud-alloydb-connectors-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-alloydb-connectors-v1beta - 0.71.0 + 0.72.0 proto-google-cloud-alloydb-connectors-v1beta Proto library for google-cloud-alloydb-connectors com.google.cloud google-cloud-alloydb-connectors-parent - 0.71.0 + 0.72.0 diff --git a/java-alloydb/.OwlBot-hermetic.yaml b/java-alloydb/.OwlBot-hermetic.yaml deleted file mode 100644 index 6f0899e44b64..000000000000 --- a/java-alloydb/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,37 +0,0 @@ -# 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. - - -deep-remove-regex: -- "/java-alloydb/grpc-google-.*/src" -- "/java-alloydb/proto-google-.*/src" -- "/java-alloydb/google-.*/src" -- "/java-alloydb/samples/snippets/generated" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/cloud/alloydb/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-alloydb/$1/proto-google-cloud-alloydb-$1/src" -- source: "/google/cloud/alloydb/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-alloydb/$1/grpc-google-cloud-alloydb-$1/src" -- source: "/google/cloud/alloydb/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-alloydb/$1/google-cloud-alloydb/src" -- source: "/google/cloud/alloydb/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-alloydb/$1/samples/snippets/generated" - - -api-name: alloydb \ No newline at end of file diff --git a/java-alloydb/.repo-metadata.json b/java-alloydb/.repo-metadata.json index 809baf0faf02..6f74932f3e1e 100644 --- a/java-alloydb/.repo-metadata.json +++ b/java-alloydb/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "AlloyDB is a fully managed, PostgreSQL-compatible database service with industry-leading performance, availability, and scale.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-alloydb/latest/overview", "release_level": "stable", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-alloydb", diff --git a/java-alloydb/google-cloud-alloydb-bom/pom.xml b/java-alloydb/google-cloud-alloydb-bom/pom.xml index 764bbabb19f9..b73057076771 100644 --- a/java-alloydb/google-cloud-alloydb-bom/pom.xml +++ b/java-alloydb/google-cloud-alloydb-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-alloydb-bom - 0.82.0 + 0.83.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,37 +28,37 @@ com.google.cloud google-cloud-alloydb - 0.82.0 + 0.83.0 com.google.api.grpc grpc-google-cloud-alloydb-v1beta - 0.82.0 + 0.83.0 com.google.api.grpc grpc-google-cloud-alloydb-v1 - 0.82.0 + 0.83.0 com.google.api.grpc grpc-google-cloud-alloydb-v1alpha - 0.82.0 + 0.83.0 com.google.api.grpc proto-google-cloud-alloydb-v1 - 0.82.0 + 0.83.0 com.google.api.grpc proto-google-cloud-alloydb-v1beta - 0.82.0 + 0.83.0 com.google.api.grpc proto-google-cloud-alloydb-v1alpha - 0.82.0 + 0.83.0 diff --git a/java-alloydb/google-cloud-alloydb/pom.xml b/java-alloydb/google-cloud-alloydb/pom.xml index d546a28ac299..453159528040 100644 --- a/java-alloydb/google-cloud-alloydb/pom.xml +++ b/java-alloydb/google-cloud-alloydb/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-alloydb - 0.82.0 + 0.83.0 jar Google AlloyDB AlloyDB AlloyDB is a fully managed, PostgreSQL-compatible database service with industry-leading performance, availability, and scale. com.google.cloud google-cloud-alloydb-parent - 0.82.0 + 0.83.0 google-cloud-alloydb diff --git a/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1/stub/Version.java b/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1/stub/Version.java index 5cef689b62c8..8edeb707136c 100644 --- a/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1/stub/Version.java +++ b/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-alloydb:current} - static final String VERSION = "0.82.0"; + static final String VERSION = "0.83.0"; // {x-version-update-end} } diff --git a/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1alpha/stub/Version.java b/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1alpha/stub/Version.java index 19da7ab64c73..acaa9ea855e2 100644 --- a/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1alpha/stub/Version.java +++ b/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-alloydb:current} - static final String VERSION = "0.82.0"; + static final String VERSION = "0.83.0"; // {x-version-update-end} } diff --git a/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1beta/stub/Version.java b/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1beta/stub/Version.java index 62558e1d104e..b2f2153ed862 100644 --- a/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1beta/stub/Version.java +++ b/java-alloydb/google-cloud-alloydb/src/main/java/com/google/cloud/alloydb/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-alloydb:current} - static final String VERSION = "0.82.0"; + static final String VERSION = "0.83.0"; // {x-version-update-end} } diff --git a/java-alloydb/grpc-google-cloud-alloydb-v1/pom.xml b/java-alloydb/grpc-google-cloud-alloydb-v1/pom.xml index fd1a651bfaaa..b8177cc49756 100644 --- a/java-alloydb/grpc-google-cloud-alloydb-v1/pom.xml +++ b/java-alloydb/grpc-google-cloud-alloydb-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-alloydb-v1 - 0.82.0 + 0.83.0 grpc-google-cloud-alloydb-v1 GRPC library for google-cloud-alloydb com.google.cloud google-cloud-alloydb-parent - 0.82.0 + 0.83.0 diff --git a/java-alloydb/grpc-google-cloud-alloydb-v1alpha/pom.xml b/java-alloydb/grpc-google-cloud-alloydb-v1alpha/pom.xml index 739f454e04b7..1a69ea5b68e9 100644 --- a/java-alloydb/grpc-google-cloud-alloydb-v1alpha/pom.xml +++ b/java-alloydb/grpc-google-cloud-alloydb-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-alloydb-v1alpha - 0.82.0 + 0.83.0 grpc-google-cloud-alloydb-v1alpha GRPC library for google-cloud-alloydb com.google.cloud google-cloud-alloydb-parent - 0.82.0 + 0.83.0 diff --git a/java-alloydb/grpc-google-cloud-alloydb-v1beta/pom.xml b/java-alloydb/grpc-google-cloud-alloydb-v1beta/pom.xml index b655d5e1fafc..6374ada07f66 100644 --- a/java-alloydb/grpc-google-cloud-alloydb-v1beta/pom.xml +++ b/java-alloydb/grpc-google-cloud-alloydb-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-alloydb-v1beta - 0.82.0 + 0.83.0 grpc-google-cloud-alloydb-v1beta GRPC library for google-cloud-alloydb com.google.cloud google-cloud-alloydb-parent - 0.82.0 + 0.83.0 diff --git a/java-alloydb/pom.xml b/java-alloydb/pom.xml index d8c0fb71d6b6..c1f2c82cabff 100644 --- a/java-alloydb/pom.xml +++ b/java-alloydb/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-alloydb-parent pom - 0.82.0 + 0.83.0 Google AlloyDB Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,37 +30,37 @@ com.google.cloud google-cloud-alloydb - 0.82.0 + 0.83.0 com.google.api.grpc grpc-google-cloud-alloydb-v1beta - 0.82.0 + 0.83.0 com.google.api.grpc grpc-google-cloud-alloydb-v1 - 0.82.0 + 0.83.0 com.google.api.grpc grpc-google-cloud-alloydb-v1alpha - 0.82.0 + 0.83.0 com.google.api.grpc proto-google-cloud-alloydb-v1 - 0.82.0 + 0.83.0 com.google.api.grpc proto-google-cloud-alloydb-v1beta - 0.82.0 + 0.83.0 com.google.api.grpc proto-google-cloud-alloydb-v1alpha - 0.82.0 + 0.83.0 diff --git a/java-alloydb/proto-google-cloud-alloydb-v1/pom.xml b/java-alloydb/proto-google-cloud-alloydb-v1/pom.xml index 6abd71cb299a..6e060bc8e0a5 100644 --- a/java-alloydb/proto-google-cloud-alloydb-v1/pom.xml +++ b/java-alloydb/proto-google-cloud-alloydb-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-alloydb-v1 - 0.82.0 + 0.83.0 proto-google-cloud-alloydb-v1 Proto library for google-cloud-alloydb com.google.cloud google-cloud-alloydb-parent - 0.82.0 + 0.83.0 diff --git a/java-alloydb/proto-google-cloud-alloydb-v1alpha/pom.xml b/java-alloydb/proto-google-cloud-alloydb-v1alpha/pom.xml index 97cf810c1b4d..0b3ac4edbe89 100644 --- a/java-alloydb/proto-google-cloud-alloydb-v1alpha/pom.xml +++ b/java-alloydb/proto-google-cloud-alloydb-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-alloydb-v1alpha - 0.82.0 + 0.83.0 proto-google-cloud-alloydb-v1alpha Proto library for google-cloud-alloydb com.google.cloud google-cloud-alloydb-parent - 0.82.0 + 0.83.0 diff --git a/java-alloydb/proto-google-cloud-alloydb-v1beta/pom.xml b/java-alloydb/proto-google-cloud-alloydb-v1beta/pom.xml index 2f9957c7868f..65ea63d0775c 100644 --- a/java-alloydb/proto-google-cloud-alloydb-v1beta/pom.xml +++ b/java-alloydb/proto-google-cloud-alloydb-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-alloydb-v1beta - 0.82.0 + 0.83.0 proto-google-cloud-alloydb-v1beta Proto library for google-cloud-alloydb com.google.cloud google-cloud-alloydb-parent - 0.82.0 + 0.83.0 diff --git a/java-analytics-admin/.OwlBot-hermetic.yaml b/java-analytics-admin/.OwlBot-hermetic.yaml deleted file mode 100644 index 5f3586f3a66c..000000000000 --- a/java-analytics-admin/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-analytics-admin/grpc-google-.*/src" -- "/java-analytics-admin/proto-google-.*/src" -- "/java-analytics-admin/google-.*/src" -- "/java-analytics-admin/samples/snippets/generated" - -deep-preserve-regex: - - "/.*google-.*/src/main/java/.*/stub/Version.java" - -deep-copy-regex: -- source: "/google/analytics/admin/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-analytics-admin/$1/proto-google-analytics-admin-$1/src" -- source: "/google/analytics/admin/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-analytics-admin/$1/grpc-google-analytics-admin-$1/src" -- source: "/google/analytics/admin/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-analytics-admin/$1/google-analytics-admin/src" -- source: "/google/analytics/admin/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-analytics-admin/$1/samples/snippets/generated" - -api-name: analyticsadmin diff --git a/java-analytics-admin/.repo-metadata.json b/java-analytics-admin/.repo-metadata.json index faeb888ca059..154760c427d1 100644 --- a/java-analytics-admin/.repo-metadata.json +++ b/java-analytics-admin/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "allows you to manage Google Analytics accounts and properties.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-analytics-admin/latest/overview", "release_level": "preview", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-analytics-admin", diff --git a/java-analytics-admin/google-analytics-admin-bom/pom.xml b/java-analytics-admin/google-analytics-admin-bom/pom.xml index 8090d190fb14..c5dd24a5b14c 100644 --- a/java-analytics-admin/google-analytics-admin-bom/pom.xml +++ b/java-analytics-admin/google-analytics-admin-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.analytics google-analytics-admin-bom - 0.103.0 + 0.104.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.analytics google-analytics-admin - 0.103.0 + 0.104.0 com.google.api.grpc grpc-google-analytics-admin-v1alpha - 0.103.0 + 0.104.0 com.google.api.grpc grpc-google-analytics-admin-v1beta - 0.103.0 + 0.104.0 com.google.api.grpc proto-google-analytics-admin-v1alpha - 0.103.0 + 0.104.0 com.google.api.grpc proto-google-analytics-admin-v1beta - 0.103.0 + 0.104.0 diff --git a/java-analytics-admin/google-analytics-admin/pom.xml b/java-analytics-admin/google-analytics-admin/pom.xml index 164b7021ea19..b32fb204cb69 100644 --- a/java-analytics-admin/google-analytics-admin/pom.xml +++ b/java-analytics-admin/google-analytics-admin/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.analytics google-analytics-admin - 0.103.0 + 0.104.0 jar Google Analytics Admin allows you to manage Google Analytics accounts and properties. com.google.analytics google-analytics-admin-parent - 0.103.0 + 0.104.0 google-analytics-admin diff --git a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/AnalyticsAdminServiceClient.java b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/AnalyticsAdminServiceClient.java index 236b0f6ac9e3..56c2bd1f6210 100644 --- a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/AnalyticsAdminServiceClient.java +++ b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/AnalyticsAdminServiceClient.java @@ -2926,6 +2926,24 @@ * * * + *

UpdateReportingIdentitySettings + *

Updates the reporting identity settings for this property. + * + *

Request object method variants only take one parameter, a request object, which must be constructed before the call.

+ *
    + *
  • updateReportingIdentitySettings(UpdateReportingIdentitySettingsRequest request) + *

+ *

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

+ *
    + *
  • updateReportingIdentitySettings(ReportingIdentitySettings reportingIdentitySettings, FieldMask updateMask) + *

+ *

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

+ *
    + *
  • updateReportingIdentitySettingsCallable() + *

+ * + * + * *

GetUserProvidedDataSettings *

Looks up settings related to user-provided data for a property. * @@ -22341,6 +22359,110 @@ public final ReportingIdentitySettings getReportingIdentitySettings( return stub.getReportingIdentitySettingsCallable(); } + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates the reporting identity settings for this property. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AnalyticsAdminServiceClient analyticsAdminServiceClient =
+   *     AnalyticsAdminServiceClient.create()) {
+   *   ReportingIdentitySettings reportingIdentitySettings =
+   *       ReportingIdentitySettings.newBuilder().build();
+   *   FieldMask updateMask = FieldMask.newBuilder().build();
+   *   ReportingIdentitySettings response =
+   *       analyticsAdminServiceClient.updateReportingIdentitySettings(
+   *           reportingIdentitySettings, updateMask);
+   * }
+   * }
+ * + * @param reportingIdentitySettings Required. The reporting identity settings to update. The + * settings' `name` field is used to identify the settings. + * @param updateMask Optional. The list of fields to be updated. Field names must be in snake case + * (for example, "field_to_update"). Omitted fields will not be updated. To replace the entire + * entity, use one path with the string "*" to match all fields. If omitted, the service + * will treat it as an implied field mask equivalent to all fields that are populated. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ReportingIdentitySettings updateReportingIdentitySettings( + ReportingIdentitySettings reportingIdentitySettings, FieldMask updateMask) { + UpdateReportingIdentitySettingsRequest request = + UpdateReportingIdentitySettingsRequest.newBuilder() + .setReportingIdentitySettings(reportingIdentitySettings) + .setUpdateMask(updateMask) + .build(); + return updateReportingIdentitySettings(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates the reporting identity settings for this property. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AnalyticsAdminServiceClient analyticsAdminServiceClient =
+   *     AnalyticsAdminServiceClient.create()) {
+   *   UpdateReportingIdentitySettingsRequest request =
+   *       UpdateReportingIdentitySettingsRequest.newBuilder()
+   *           .setReportingIdentitySettings(ReportingIdentitySettings.newBuilder().build())
+   *           .setUpdateMask(FieldMask.newBuilder().build())
+   *           .build();
+   *   ReportingIdentitySettings response =
+   *       analyticsAdminServiceClient.updateReportingIdentitySettings(request);
+   * }
+   * }
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ReportingIdentitySettings updateReportingIdentitySettings( + UpdateReportingIdentitySettingsRequest request) { + return updateReportingIdentitySettingsCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates the reporting identity settings for this property. + * + *

Sample code: + * + *

{@code
+   * // This snippet has been automatically generated and should be regarded as a code template only.
+   * // It will require modifications to work:
+   * // - It may require correct/in-range values for request initialization.
+   * // - It may require specifying regional endpoints when creating the service client as shown in
+   * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
+   * try (AnalyticsAdminServiceClient analyticsAdminServiceClient =
+   *     AnalyticsAdminServiceClient.create()) {
+   *   UpdateReportingIdentitySettingsRequest request =
+   *       UpdateReportingIdentitySettingsRequest.newBuilder()
+   *           .setReportingIdentitySettings(ReportingIdentitySettings.newBuilder().build())
+   *           .setUpdateMask(FieldMask.newBuilder().build())
+   *           .build();
+   *   ApiFuture future =
+   *       analyticsAdminServiceClient.updateReportingIdentitySettingsCallable().futureCall(request);
+   *   // Do something.
+   *   ReportingIdentitySettings response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable + updateReportingIdentitySettingsCallable() { + return stub.updateReportingIdentitySettingsCallable(); + } + // AUTO-GENERATED DOCUMENTATION AND METHOD. /** * Looks up settings related to user-provided data for a property. diff --git a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/AnalyticsAdminServiceSettings.java b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/AnalyticsAdminServiceSettings.java index f846a3b7501c..85e685dac97f 100644 --- a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/AnalyticsAdminServiceSettings.java +++ b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/AnalyticsAdminServiceSettings.java @@ -1168,6 +1168,13 @@ public UnaryCallSettings deleteCalculatedM .getReportingIdentitySettingsSettings(); } + /** Returns the object with the settings used for calls to updateReportingIdentitySettings. */ + public UnaryCallSettings + updateReportingIdentitySettingsSettings() { + return ((AnalyticsAdminServiceStubSettings) getStubSettings()) + .updateReportingIdentitySettingsSettings(); + } + /** Returns the object with the settings used for calls to getUserProvidedDataSettings. */ public UnaryCallSettings getUserProvidedDataSettingsSettings() { @@ -2339,6 +2346,13 @@ public UnaryCallSettings.Builder deleteAdSenseL return getStubSettingsBuilder().getReportingIdentitySettingsSettings(); } + /** Returns the builder for the settings used for calls to updateReportingIdentitySettings. */ + public UnaryCallSettings.Builder< + UpdateReportingIdentitySettingsRequest, ReportingIdentitySettings> + updateReportingIdentitySettingsSettings() { + return getStubSettingsBuilder().updateReportingIdentitySettingsSettings(); + } + /** Returns the builder for the settings used for calls to getUserProvidedDataSettings. */ public UnaryCallSettings.Builder getUserProvidedDataSettingsSettings() { diff --git a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/gapic_metadata.json b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/gapic_metadata.json index 3ca72cd0beb4..4d882a0094b0 100644 --- a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/gapic_metadata.json +++ b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/gapic_metadata.json @@ -463,6 +463,9 @@ "UpdateReportingDataAnnotation": { "methods": ["updateReportingDataAnnotation", "updateReportingDataAnnotation", "updateReportingDataAnnotationCallable"] }, + "UpdateReportingIdentitySettings": { + "methods": ["updateReportingIdentitySettings", "updateReportingIdentitySettings", "updateReportingIdentitySettingsCallable"] + }, "UpdateSKAdNetworkConversionValueSchema": { "methods": ["updateSKAdNetworkConversionValueSchema", "updateSKAdNetworkConversionValueSchema", "updateSKAdNetworkConversionValueSchemaCallable"] }, diff --git a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/AnalyticsAdminServiceStub.java b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/AnalyticsAdminServiceStub.java index 95c4a8f885cf..faafdcd657df 100644 --- a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/AnalyticsAdminServiceStub.java +++ b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/AnalyticsAdminServiceStub.java @@ -271,6 +271,7 @@ import com.google.analytics.admin.v1alpha.UpdateMeasurementProtocolSecretRequest; import com.google.analytics.admin.v1alpha.UpdatePropertyRequest; import com.google.analytics.admin.v1alpha.UpdateReportingDataAnnotationRequest; +import com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest; import com.google.analytics.admin.v1alpha.UpdateSKAdNetworkConversionValueSchemaRequest; import com.google.analytics.admin.v1alpha.UpdateSearchAds360LinkRequest; import com.google.analytics.admin.v1alpha.UpdateSubpropertyEventFilterRequest; @@ -1221,6 +1222,12 @@ public UnaryCallable deleteCalculatedMetri "Not implemented: getReportingIdentitySettingsCallable()"); } + public UnaryCallable + updateReportingIdentitySettingsCallable() { + throw new UnsupportedOperationException( + "Not implemented: updateReportingIdentitySettingsCallable()"); + } + public UnaryCallable getUserProvidedDataSettingsCallable() { throw new UnsupportedOperationException( diff --git a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/AnalyticsAdminServiceStubSettings.java b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/AnalyticsAdminServiceStubSettings.java index 542b462b37ac..af4b7a5b700f 100644 --- a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/AnalyticsAdminServiceStubSettings.java +++ b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/AnalyticsAdminServiceStubSettings.java @@ -273,6 +273,7 @@ import com.google.analytics.admin.v1alpha.UpdateMeasurementProtocolSecretRequest; import com.google.analytics.admin.v1alpha.UpdatePropertyRequest; import com.google.analytics.admin.v1alpha.UpdateReportingDataAnnotationRequest; +import com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest; import com.google.analytics.admin.v1alpha.UpdateSKAdNetworkConversionValueSchemaRequest; import com.google.analytics.admin.v1alpha.UpdateSearchAds360LinkRequest; import com.google.analytics.admin.v1alpha.UpdateSubpropertyEventFilterRequest; @@ -731,6 +732,8 @@ public class AnalyticsAdminServiceStubSettings getSubpropertySyncConfigSettings; private final UnaryCallSettings getReportingIdentitySettingsSettings; + private final UnaryCallSettings + updateReportingIdentitySettingsSettings; private final UnaryCallSettings getUserProvidedDataSettingsSettings; @@ -3604,6 +3607,12 @@ public UnaryCallSettings deleteCalculatedM return getReportingIdentitySettingsSettings; } + /** Returns the object with the settings used for calls to updateReportingIdentitySettings. */ + public UnaryCallSettings + updateReportingIdentitySettingsSettings() { + return updateReportingIdentitySettingsSettings; + } + /** Returns the object with the settings used for calls to getUserProvidedDataSettings. */ public UnaryCallSettings getUserProvidedDataSettingsSettings() { @@ -3918,6 +3927,8 @@ protected AnalyticsAdminServiceStubSettings(Builder settingsBuilder) throws IOEx getSubpropertySyncConfigSettings = settingsBuilder.getSubpropertySyncConfigSettings().build(); getReportingIdentitySettingsSettings = settingsBuilder.getReportingIdentitySettingsSettings().build(); + updateReportingIdentitySettingsSettings = + settingsBuilder.updateReportingIdentitySettingsSettings().build(); getUserProvidedDataSettingsSettings = settingsBuilder.getUserProvidedDataSettingsSettings().build(); } @@ -4327,6 +4338,9 @@ public static class Builder private final UnaryCallSettings.Builder< GetReportingIdentitySettingsRequest, ReportingIdentitySettings> getReportingIdentitySettingsSettings; + private final UnaryCallSettings.Builder< + UpdateReportingIdentitySettingsRequest, ReportingIdentitySettings> + updateReportingIdentitySettingsSettings; private final UnaryCallSettings.Builder< GetUserProvidedDataSettingsRequest, UserProvidedDataSettings> getUserProvidedDataSettingsSettings; @@ -4561,6 +4575,7 @@ protected Builder(ClientContext clientContext) { updateSubpropertySyncConfigSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); getSubpropertySyncConfigSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); getReportingIdentitySettingsSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + updateReportingIdentitySettingsSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); getUserProvidedDataSettingsSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); unaryMethodSettingsBuilders = @@ -4719,6 +4734,7 @@ protected Builder(ClientContext clientContext) { updateSubpropertySyncConfigSettings, getSubpropertySyncConfigSettings, getReportingIdentitySettingsSettings, + updateReportingIdentitySettingsSettings, getUserProvidedDataSettingsSettings); initDefaults(this); } @@ -4921,6 +4937,8 @@ protected Builder(AnalyticsAdminServiceStubSettings settings) { getSubpropertySyncConfigSettings = settings.getSubpropertySyncConfigSettings.toBuilder(); getReportingIdentitySettingsSettings = settings.getReportingIdentitySettingsSettings.toBuilder(); + updateReportingIdentitySettingsSettings = + settings.updateReportingIdentitySettingsSettings.toBuilder(); getUserProvidedDataSettingsSettings = settings.getUserProvidedDataSettingsSettings.toBuilder(); @@ -5080,6 +5098,7 @@ protected Builder(AnalyticsAdminServiceStubSettings settings) { updateSubpropertySyncConfigSettings, getSubpropertySyncConfigSettings, getReportingIdentitySettingsSettings, + updateReportingIdentitySettingsSettings, getUserProvidedDataSettingsSettings); } @@ -5878,6 +5897,11 @@ private static Builder initDefaults(Builder builder) { .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + builder + .updateReportingIdentitySettingsSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); + builder .getUserProvidedDataSettingsSettings() .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) @@ -6952,6 +6976,13 @@ public UnaryCallSettings.Builder deleteAdSenseL return getReportingIdentitySettingsSettings; } + /** Returns the builder for the settings used for calls to updateReportingIdentitySettings. */ + public UnaryCallSettings.Builder< + UpdateReportingIdentitySettingsRequest, ReportingIdentitySettings> + updateReportingIdentitySettingsSettings() { + return updateReportingIdentitySettingsSettings; + } + /** Returns the builder for the settings used for calls to getUserProvidedDataSettings. */ public UnaryCallSettings.Builder getUserProvidedDataSettingsSettings() { diff --git a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/GrpcAnalyticsAdminServiceStub.java b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/GrpcAnalyticsAdminServiceStub.java index 27f5287590e1..e3e10b82cb9c 100644 --- a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/GrpcAnalyticsAdminServiceStub.java +++ b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/GrpcAnalyticsAdminServiceStub.java @@ -271,6 +271,7 @@ import com.google.analytics.admin.v1alpha.UpdateMeasurementProtocolSecretRequest; import com.google.analytics.admin.v1alpha.UpdatePropertyRequest; import com.google.analytics.admin.v1alpha.UpdateReportingDataAnnotationRequest; +import com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest; import com.google.analytics.admin.v1alpha.UpdateSKAdNetworkConversionValueSchemaRequest; import com.google.analytics.admin.v1alpha.UpdateSearchAds360LinkRequest; import com.google.analytics.admin.v1alpha.UpdateSubpropertyEventFilterRequest; @@ -2325,6 +2326,22 @@ public class GrpcAnalyticsAdminServiceStub extends AnalyticsAdminServiceStub { .setSampledToLocalTracing(true) .build(); + private static final MethodDescriptor< + UpdateReportingIdentitySettingsRequest, ReportingIdentitySettings> + updateReportingIdentitySettingsMethodDescriptor = + MethodDescriptor + .newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.analytics.admin.v1alpha.AnalyticsAdminService/UpdateReportingIdentitySettings") + .setRequestMarshaller( + ProtoUtils.marshaller( + UpdateReportingIdentitySettingsRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ReportingIdentitySettings.getDefaultInstance())) + .setSampledToLocalTracing(true) + .build(); + private static final MethodDescriptor< GetUserProvidedDataSettingsRequest, UserProvidedDataSettings> getUserProvidedDataSettingsMethodDescriptor = @@ -2686,6 +2703,8 @@ public class GrpcAnalyticsAdminServiceStub extends AnalyticsAdminServiceStub { getSubpropertySyncConfigCallable; private final UnaryCallable getReportingIdentitySettingsCallable; + private final UnaryCallable + updateReportingIdentitySettingsCallable; private final UnaryCallable getUserProvidedDataSettingsCallable; @@ -4573,6 +4592,20 @@ protected GrpcAnalyticsAdminServiceStub( }) .setResourceNameExtractor(request -> request.getName()) .build(); + GrpcCallSettings + updateReportingIdentitySettingsTransportSettings = + GrpcCallSettings + .newBuilder() + .setMethodDescriptor(updateReportingIdentitySettingsMethodDescriptor) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add( + "reporting_identity_settings.name", + String.valueOf(request.getReportingIdentitySettings().getName())); + return builder.build(); + }) + .build(); GrpcCallSettings getUserProvidedDataSettingsTransportSettings = GrpcCallSettings @@ -5424,6 +5457,11 @@ protected GrpcAnalyticsAdminServiceStub( getReportingIdentitySettingsTransportSettings, settings.getReportingIdentitySettingsSettings(), clientContext); + this.updateReportingIdentitySettingsCallable = + callableFactory.createUnaryCallable( + updateReportingIdentitySettingsTransportSettings, + settings.updateReportingIdentitySettingsSettings(), + clientContext); this.getUserProvidedDataSettingsCallable = callableFactory.createUnaryCallable( getUserProvidedDataSettingsTransportSettings, @@ -6490,6 +6528,12 @@ public UnaryCallable deleteCalculatedMetri return getReportingIdentitySettingsCallable; } + @Override + public UnaryCallable + updateReportingIdentitySettingsCallable() { + return updateReportingIdentitySettingsCallable; + } + @Override public UnaryCallable getUserProvidedDataSettingsCallable() { diff --git a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/HttpJsonAnalyticsAdminServiceStub.java b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/HttpJsonAnalyticsAdminServiceStub.java index 8b0a3a55b3e7..4ebcc1d0e25e 100644 --- a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/HttpJsonAnalyticsAdminServiceStub.java +++ b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/HttpJsonAnalyticsAdminServiceStub.java @@ -271,6 +271,7 @@ import com.google.analytics.admin.v1alpha.UpdateMeasurementProtocolSecretRequest; import com.google.analytics.admin.v1alpha.UpdatePropertyRequest; import com.google.analytics.admin.v1alpha.UpdateReportingDataAnnotationRequest; +import com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest; import com.google.analytics.admin.v1alpha.UpdateSKAdNetworkConversionValueSchemaRequest; import com.google.analytics.admin.v1alpha.UpdateSearchAds360LinkRequest; import com.google.analytics.admin.v1alpha.UpdateSubpropertyEventFilterRequest; @@ -6275,6 +6276,53 @@ public class HttpJsonAnalyticsAdminServiceStub extends AnalyticsAdminServiceStub .build()) .build(); + private static final ApiMethodDescriptor< + UpdateReportingIdentitySettingsRequest, ReportingIdentitySettings> + updateReportingIdentitySettingsMethodDescriptor = + ApiMethodDescriptor + .newBuilder() + .setFullMethodName( + "google.analytics.admin.v1alpha.AnalyticsAdminService/UpdateReportingIdentitySettings") + .setHttpMethod("PATCH") + .setType(ApiMethodDescriptor.MethodType.UNARY) + .setRequestFormatter( + ProtoMessageRequestFormatter.newBuilder() + .setPath( + "/v1alpha/{reportingIdentitySettings.name=properties/*/reportingIdentitySettings}", + request -> { + Map fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putPathParam( + fields, + "reportingIdentitySettings.name", + request.getReportingIdentitySettings().getName()); + return fields; + }) + .setQueryParamsExtractor( + request -> { + Map> fields = new HashMap<>(); + ProtoRestSerializer serializer = + ProtoRestSerializer.create(); + serializer.putQueryParam(fields, "updateMask", request.getUpdateMask()); + serializer.putQueryParam(fields, "$alt", "json;enum-encoding=int"); + return fields; + }) + .setRequestBodyExtractor( + request -> + ProtoRestSerializer.create() + .toBody( + "reportingIdentitySettings", + request.getReportingIdentitySettings(), + true)) + .build()) + .setResponseParser( + ProtoMessageResponseParser.newBuilder() + .setDefaultInstance(ReportingIdentitySettings.getDefaultInstance()) + .setDefaultTypeRegistry(typeRegistry) + .build()) + .build(); + private static final ApiMethodDescriptor< GetUserProvidedDataSettingsRequest, UserProvidedDataSettings> getUserProvidedDataSettingsMethodDescriptor = @@ -6658,6 +6706,8 @@ public class HttpJsonAnalyticsAdminServiceStub extends AnalyticsAdminServiceStub getSubpropertySyncConfigCallable; private final UnaryCallable getReportingIdentitySettingsCallable; + private final UnaryCallable + updateReportingIdentitySettingsCallable; private final UnaryCallable getUserProvidedDataSettingsCallable; @@ -8739,6 +8789,21 @@ protected HttpJsonAnalyticsAdminServiceStub( }) .setResourceNameExtractor(request -> request.getName()) .build(); + HttpJsonCallSettings + updateReportingIdentitySettingsTransportSettings = + HttpJsonCallSettings + .newBuilder() + .setMethodDescriptor(updateReportingIdentitySettingsMethodDescriptor) + .setTypeRegistry(typeRegistry) + .setParamsExtractor( + request -> { + RequestParamsBuilder builder = RequestParamsBuilder.create(); + builder.add( + "reporting_identity_settings.name", + String.valueOf(request.getReportingIdentitySettings().getName())); + return builder.build(); + }) + .build(); HttpJsonCallSettings getUserProvidedDataSettingsTransportSettings = HttpJsonCallSettings @@ -9591,6 +9656,11 @@ protected HttpJsonAnalyticsAdminServiceStub( getReportingIdentitySettingsTransportSettings, settings.getReportingIdentitySettingsSettings(), clientContext); + this.updateReportingIdentitySettingsCallable = + callableFactory.createUnaryCallable( + updateReportingIdentitySettingsTransportSettings, + settings.updateReportingIdentitySettingsSettings(), + clientContext); this.getUserProvidedDataSettingsCallable = callableFactory.createUnaryCallable( getUserProvidedDataSettingsTransportSettings, @@ -9758,6 +9828,7 @@ public static List getMethodDescriptors() { methodDescriptors.add(updateSubpropertySyncConfigMethodDescriptor); methodDescriptors.add(getSubpropertySyncConfigMethodDescriptor); methodDescriptors.add(getReportingIdentitySettingsMethodDescriptor); + methodDescriptors.add(updateReportingIdentitySettingsMethodDescriptor); methodDescriptors.add(getUserProvidedDataSettingsMethodDescriptor); return methodDescriptors; } @@ -10814,6 +10885,12 @@ public UnaryCallable deleteCalculatedMetri return getReportingIdentitySettingsCallable; } + @Override + public UnaryCallable + updateReportingIdentitySettingsCallable() { + return updateReportingIdentitySettingsCallable; + } + @Override public UnaryCallable getUserProvidedDataSettingsCallable() { diff --git a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/Version.java b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/Version.java index c5420caa9f35..a945049f2d09 100644 --- a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/Version.java +++ b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-analytics-admin:current} - static final String VERSION = "0.103.0"; + static final String VERSION = "0.104.0"; // {x-version-update-end} } diff --git a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1beta/stub/Version.java b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1beta/stub/Version.java index edfb735d7cee..30b8107603f6 100644 --- a/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1beta/stub/Version.java +++ b/java-analytics-admin/google-analytics-admin/src/main/java/com/google/analytics/admin/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-analytics-admin:current} - static final String VERSION = "0.103.0"; + static final String VERSION = "0.104.0"; // {x-version-update-end} } diff --git a/java-analytics-admin/google-analytics-admin/src/main/resources/META-INF/native-image/com.google.analytics.admin.v1alpha/reflect-config.json b/java-analytics-admin/google-analytics-admin/src/main/resources/META-INF/native-image/com.google.analytics.admin.v1alpha/reflect-config.json index d26e54152eb1..b6b294ee94c0 100644 --- a/java-analytics-admin/google-analytics-admin/src/main/resources/META-INF/native-image/com.google.analytics.admin.v1alpha/reflect-config.json +++ b/java-analytics-admin/google-analytics-admin/src/main/resources/META-INF/native-image/com.google.analytics.admin.v1alpha/reflect-config.json @@ -5651,6 +5651,24 @@ "allDeclaredClasses": true, "allPublicClasses": true }, + { + "name": "com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, + { + "name": "com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest$Builder", + "queryAllDeclaredConstructors": true, + "queryAllPublicConstructors": true, + "queryAllDeclaredMethods": true, + "allPublicMethods": true, + "allDeclaredClasses": true, + "allPublicClasses": true + }, { "name": "com.google.analytics.admin.v1alpha.UpdateSKAdNetworkConversionValueSchemaRequest", "queryAllDeclaredConstructors": true, diff --git a/java-analytics-admin/google-analytics-admin/src/test/java/com/google/analytics/admin/v1alpha/AnalyticsAdminServiceClientHttpJsonTest.java b/java-analytics-admin/google-analytics-admin/src/test/java/com/google/analytics/admin/v1alpha/AnalyticsAdminServiceClientHttpJsonTest.java index e9ef7a96429b..0a70882c781f 100644 --- a/java-analytics-admin/google-analytics-admin/src/test/java/com/google/analytics/admin/v1alpha/AnalyticsAdminServiceClientHttpJsonTest.java +++ b/java-analytics-admin/google-analytics-admin/src/test/java/com/google/analytics/admin/v1alpha/AnalyticsAdminServiceClientHttpJsonTest.java @@ -13606,6 +13606,59 @@ public void getReportingIdentitySettingsExceptionTest2() throws Exception { } } + @Test + public void updateReportingIdentitySettingsTest() throws Exception { + ReportingIdentitySettings expectedResponse = + ReportingIdentitySettings.newBuilder() + .setName(ReportingIdentitySettingsName.of("[PROPERTY]").toString()) + .build(); + mockService.addResponse(expectedResponse); + + ReportingIdentitySettings reportingIdentitySettings = + ReportingIdentitySettings.newBuilder() + .setName(ReportingIdentitySettingsName.of("[PROPERTY]").toString()) + .build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + + ReportingIdentitySettings actualResponse = + client.updateReportingIdentitySettings(reportingIdentitySettings, updateMask); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockService.getRequestPaths(); + Assert.assertEquals(1, actualRequests.size()); + + String apiClientHeaderKey = + mockService + .getRequestHeaders() + .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey()) + .iterator() + .next(); + Assert.assertTrue( + GaxHttpJsonProperties.getDefaultApiClientHeaderPattern() + .matcher(apiClientHeaderKey) + .matches()); + } + + @Test + public void updateReportingIdentitySettingsExceptionTest() throws Exception { + ApiException exception = + ApiExceptionFactory.createException( + new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false); + mockService.addException(exception); + + try { + ReportingIdentitySettings reportingIdentitySettings = + ReportingIdentitySettings.newBuilder() + .setName(ReportingIdentitySettingsName.of("[PROPERTY]").toString()) + .build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + client.updateReportingIdentitySettings(reportingIdentitySettings, updateMask); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + @Test public void getUserProvidedDataSettingsTest() throws Exception { UserProvidedDataSettings expectedResponse = diff --git a/java-analytics-admin/google-analytics-admin/src/test/java/com/google/analytics/admin/v1alpha/AnalyticsAdminServiceClientTest.java b/java-analytics-admin/google-analytics-admin/src/test/java/com/google/analytics/admin/v1alpha/AnalyticsAdminServiceClientTest.java index 604514faf54f..2b0f0b874137 100644 --- a/java-analytics-admin/google-analytics-admin/src/test/java/com/google/analytics/admin/v1alpha/AnalyticsAdminServiceClientTest.java +++ b/java-analytics-admin/google-analytics-admin/src/test/java/com/google/analytics/admin/v1alpha/AnalyticsAdminServiceClientTest.java @@ -11810,6 +11810,51 @@ public void getReportingIdentitySettingsExceptionTest2() throws Exception { } } + @Test + public void updateReportingIdentitySettingsTest() throws Exception { + ReportingIdentitySettings expectedResponse = + ReportingIdentitySettings.newBuilder() + .setName(ReportingIdentitySettingsName.of("[PROPERTY]").toString()) + .build(); + mockAnalyticsAdminService.addResponse(expectedResponse); + + ReportingIdentitySettings reportingIdentitySettings = + ReportingIdentitySettings.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + + ReportingIdentitySettings actualResponse = + client.updateReportingIdentitySettings(reportingIdentitySettings, updateMask); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAnalyticsAdminService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + UpdateReportingIdentitySettingsRequest actualRequest = + ((UpdateReportingIdentitySettingsRequest) actualRequests.get(0)); + + Assert.assertEquals(reportingIdentitySettings, actualRequest.getReportingIdentitySettings()); + Assert.assertEquals(updateMask, actualRequest.getUpdateMask()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void updateReportingIdentitySettingsExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAnalyticsAdminService.addException(exception); + + try { + ReportingIdentitySettings reportingIdentitySettings = + ReportingIdentitySettings.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + client.updateReportingIdentitySettings(reportingIdentitySettings, updateMask); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + @Test public void getUserProvidedDataSettingsTest() throws Exception { UserProvidedDataSettings expectedResponse = diff --git a/java-analytics-admin/google-analytics-admin/src/test/java/com/google/analytics/admin/v1alpha/MockAnalyticsAdminServiceImpl.java b/java-analytics-admin/google-analytics-admin/src/test/java/com/google/analytics/admin/v1alpha/MockAnalyticsAdminServiceImpl.java index bd67d75d7365..45e0a4f8a761 100644 --- a/java-analytics-admin/google-analytics-admin/src/test/java/com/google/analytics/admin/v1alpha/MockAnalyticsAdminServiceImpl.java +++ b/java-analytics-admin/google-analytics-admin/src/test/java/com/google/analytics/admin/v1alpha/MockAnalyticsAdminServiceImpl.java @@ -3439,6 +3439,29 @@ public void getReportingIdentitySettings( } } + @Override + public void updateReportingIdentitySettings( + UpdateReportingIdentitySettingsRequest request, + StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof ReportingIdentitySettings) { + requests.add(request); + responseObserver.onNext(((ReportingIdentitySettings) response)); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError(((Exception) response)); + } else { + responseObserver.onError( + new IllegalArgumentException( + String.format( + "Unrecognized response type %s for method UpdateReportingIdentitySettings," + + " expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ReportingIdentitySettings.class.getName(), + Exception.class.getName()))); + } + } + @Override public void getUserProvidedDataSettings( GetUserProvidedDataSettingsRequest request, diff --git a/java-analytics-admin/grpc-google-analytics-admin-v1alpha/pom.xml b/java-analytics-admin/grpc-google-analytics-admin-v1alpha/pom.xml index d8de0c1e6b3b..faab8af024c0 100644 --- a/java-analytics-admin/grpc-google-analytics-admin-v1alpha/pom.xml +++ b/java-analytics-admin/grpc-google-analytics-admin-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-analytics-admin-v1alpha - 0.103.0 + 0.104.0 grpc-google-analytics-admin-v1alpha GRPC library for grpc-google-analytics-admin-v1alpha com.google.analytics google-analytics-admin-parent - 0.103.0 + 0.104.0 diff --git a/java-analytics-admin/grpc-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/AnalyticsAdminServiceGrpc.java b/java-analytics-admin/grpc-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/AnalyticsAdminServiceGrpc.java index f25c25559766..3b14b870daa9 100644 --- a/java-analytics-admin/grpc-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/AnalyticsAdminServiceGrpc.java +++ b/java-analytics-admin/grpc-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/AnalyticsAdminServiceGrpc.java @@ -7840,6 +7840,59 @@ private AnalyticsAdminServiceGrpc() {} return getGetReportingIdentitySettingsMethod; } + private static volatile io.grpc.MethodDescriptor< + com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest, + com.google.analytics.admin.v1alpha.ReportingIdentitySettings> + getUpdateReportingIdentitySettingsMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "UpdateReportingIdentitySettings", + requestType = com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest.class, + responseType = com.google.analytics.admin.v1alpha.ReportingIdentitySettings.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest, + com.google.analytics.admin.v1alpha.ReportingIdentitySettings> + getUpdateReportingIdentitySettingsMethod() { + io.grpc.MethodDescriptor< + com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest, + com.google.analytics.admin.v1alpha.ReportingIdentitySettings> + getUpdateReportingIdentitySettingsMethod; + if ((getUpdateReportingIdentitySettingsMethod = + AnalyticsAdminServiceGrpc.getUpdateReportingIdentitySettingsMethod) + == null) { + synchronized (AnalyticsAdminServiceGrpc.class) { + if ((getUpdateReportingIdentitySettingsMethod = + AnalyticsAdminServiceGrpc.getUpdateReportingIdentitySettingsMethod) + == null) { + AnalyticsAdminServiceGrpc.getUpdateReportingIdentitySettingsMethod = + getUpdateReportingIdentitySettingsMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + generateFullMethodName(SERVICE_NAME, "UpdateReportingIdentitySettings")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.analytics.admin.v1alpha + .UpdateReportingIdentitySettingsRequest.getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.analytics.admin.v1alpha.ReportingIdentitySettings + .getDefaultInstance())) + .setSchemaDescriptor( + new AnalyticsAdminServiceMethodDescriptorSupplier( + "UpdateReportingIdentitySettings")) + .build(); + } + } + } + return getUpdateReportingIdentitySettingsMethod; + } + private static volatile io.grpc.MethodDescriptor< com.google.analytics.admin.v1alpha.GetUserProvidedDataSettingsRequest, com.google.analytics.admin.v1alpha.UserProvidedDataSettings> @@ -10352,6 +10405,21 @@ default void getReportingIdentitySettings( getGetReportingIdentitySettingsMethod(), responseObserver); } + /** + * + * + *
+     * Updates the reporting identity settings for this property.
+     * 
+ */ + default void updateReportingIdentitySettings( + com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getUpdateReportingIdentitySettingsMethod(), responseObserver); + } + /** * * @@ -13112,6 +13180,23 @@ public void getReportingIdentitySettings( responseObserver); } + /** + * + * + *
+     * Updates the reporting identity settings for this property.
+     * 
+ */ + public void updateReportingIdentitySettings( + com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getUpdateReportingIdentitySettingsMethod(), getCallOptions()), + request, + responseObserver); + } + /** * * @@ -15466,6 +15551,21 @@ public com.google.analytics.admin.v1alpha.SubpropertySyncConfig getSubpropertySy getChannel(), getGetReportingIdentitySettingsMethod(), getCallOptions(), request); } + /** + * + * + *
+     * Updates the reporting identity settings for this property.
+     * 
+ */ + public com.google.analytics.admin.v1alpha.ReportingIdentitySettings + updateReportingIdentitySettings( + com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest request) + throws io.grpc.StatusException { + return io.grpc.stub.ClientCalls.blockingV2UnaryCall( + getChannel(), getUpdateReportingIdentitySettingsMethod(), getCallOptions(), request); + } + /** * * @@ -17664,6 +17764,20 @@ public com.google.analytics.admin.v1alpha.SubpropertySyncConfig getSubpropertySy getChannel(), getGetReportingIdentitySettingsMethod(), getCallOptions(), request); } + /** + * + * + *
+     * Updates the reporting identity settings for this property.
+     * 
+ */ + public com.google.analytics.admin.v1alpha.ReportingIdentitySettings + updateReportingIdentitySettings( + com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getUpdateReportingIdentitySettingsMethod(), getCallOptions(), request); + } + /** * * @@ -20051,6 +20165,22 @@ protected AnalyticsAdminServiceFutureStub build( getChannel().newCall(getGetReportingIdentitySettingsMethod(), getCallOptions()), request); } + /** + * + * + *
+     * Updates the reporting identity settings for this property.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.analytics.admin.v1alpha.ReportingIdentitySettings> + updateReportingIdentitySettings( + com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getUpdateReportingIdentitySettingsMethod(), getCallOptions()), + request); + } + /** * * @@ -20221,7 +20351,8 @@ protected AnalyticsAdminServiceFutureStub build( private static final int METHODID_UPDATE_SUBPROPERTY_SYNC_CONFIG = 151; private static final int METHODID_GET_SUBPROPERTY_SYNC_CONFIG = 152; private static final int METHODID_GET_REPORTING_IDENTITY_SETTINGS = 153; - private static final int METHODID_GET_USER_PROVIDED_DATA_SETTINGS = 154; + private static final int METHODID_UPDATE_REPORTING_IDENTITY_SETTINGS = 154; + private static final int METHODID_GET_USER_PROVIDED_DATA_SETTINGS = 155; private static final class MethodHandlers implements io.grpc.stub.ServerCalls.UnaryMethod, @@ -21229,6 +21360,13 @@ public void invoke(Req request, io.grpc.stub.StreamObserver responseObserv com.google.analytics.admin.v1alpha.ReportingIdentitySettings>) responseObserver); break; + case METHODID_UPDATE_REPORTING_IDENTITY_SETTINGS: + serviceImpl.updateReportingIdentitySettings( + (com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest) request, + (io.grpc.stub.StreamObserver< + com.google.analytics.admin.v1alpha.ReportingIdentitySettings>) + responseObserver); + break; case METHODID_GET_USER_PROVIDED_DATA_SETTINGS: serviceImpl.getUserProvidedDataSettings( (com.google.analytics.admin.v1alpha.GetUserProvidedDataSettingsRequest) request, @@ -22317,6 +22455,13 @@ public static final io.grpc.ServerServiceDefinition bindService(AsyncService ser com.google.analytics.admin.v1alpha.GetReportingIdentitySettingsRequest, com.google.analytics.admin.v1alpha.ReportingIdentitySettings>( service, METHODID_GET_REPORTING_IDENTITY_SETTINGS))) + .addMethod( + getUpdateReportingIdentitySettingsMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest, + com.google.analytics.admin.v1alpha.ReportingIdentitySettings>( + service, METHODID_UPDATE_REPORTING_IDENTITY_SETTINGS))) .addMethod( getGetUserProvidedDataSettingsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall( @@ -22529,6 +22674,7 @@ public static io.grpc.ServiceDescriptor getServiceDescriptor() { .addMethod(getUpdateSubpropertySyncConfigMethod()) .addMethod(getGetSubpropertySyncConfigMethod()) .addMethod(getGetReportingIdentitySettingsMethod()) + .addMethod(getUpdateReportingIdentitySettingsMethod()) .addMethod(getGetUserProvidedDataSettingsMethod()) .build(); } diff --git a/java-analytics-admin/grpc-google-analytics-admin-v1beta/pom.xml b/java-analytics-admin/grpc-google-analytics-admin-v1beta/pom.xml index dc973f84d160..eccfddf84a10 100644 --- a/java-analytics-admin/grpc-google-analytics-admin-v1beta/pom.xml +++ b/java-analytics-admin/grpc-google-analytics-admin-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-analytics-admin-v1beta - 0.103.0 + 0.104.0 grpc-google-analytics-admin-v1beta GRPC library for google-analytics-admin com.google.analytics google-analytics-admin-parent - 0.103.0 + 0.104.0 diff --git a/java-analytics-admin/pom.xml b/java-analytics-admin/pom.xml index a40cb71e234c..89ce860f67ad 100644 --- a/java-analytics-admin/pom.xml +++ b/java-analytics-admin/pom.xml @@ -4,7 +4,7 @@ com.google.analytics google-analytics-admin-parent pom - 0.103.0 + 0.104.0 Google Analytics Admin Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.analytics google-analytics-admin - 0.103.0 + 0.104.0 com.google.api.grpc proto-google-analytics-admin-v1beta - 0.103.0 + 0.104.0 com.google.api.grpc grpc-google-analytics-admin-v1beta - 0.103.0 + 0.104.0 com.google.api.grpc proto-google-analytics-admin-v1alpha - 0.103.0 + 0.104.0 com.google.api.grpc grpc-google-analytics-admin-v1alpha - 0.103.0 + 0.104.0 diff --git a/java-analytics-admin/proto-google-analytics-admin-v1alpha/pom.xml b/java-analytics-admin/proto-google-analytics-admin-v1alpha/pom.xml index 717251b70e34..e472548554e3 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1alpha/pom.xml +++ b/java-analytics-admin/proto-google-analytics-admin-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-analytics-admin-v1alpha - 0.103.0 + 0.104.0 proto-google-analytics-admin-v1alpha PROTO library for proto-google-analytics-admin-v1alpha com.google.analytics google-analytics-admin-parent - 0.103.0 + 0.104.0 diff --git a/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/AnalyticsAdminProto.java b/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/AnalyticsAdminProto.java index 5dd30719a5e1..00a6e9aebd03 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/AnalyticsAdminProto.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/AnalyticsAdminProto.java @@ -812,6 +812,10 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r internal_static_google_analytics_admin_v1alpha_GetReportingIdentitySettingsRequest_descriptor; static final com.google.protobuf.GeneratedMessage.FieldAccessorTable internal_static_google_analytics_admin_v1alpha_GetReportingIdentitySettingsRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_analytics_admin_v1alpha_UpdateReportingIdentitySettingsRequest_descriptor; + static final com.google.protobuf.GeneratedMessage.FieldAccessorTable + internal_static_google_analytics_admin_v1alpha_UpdateReportingIdentitySettingsRequest_fieldAccessorTable; static final com.google.protobuf.Descriptors.Descriptor internal_static_google_analytics_admin_v1alpha_GetUserProvidedDataSettingsRequest_descriptor; static final com.google.protobuf.GeneratedMessage.FieldAccessorTable @@ -1593,912 +1597,926 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "askB\003\340A\001\"t\n#GetReportingIdentitySettings" + "Request\022M\n\004name\030\001 \001(\tB?\340A\002\372A9\n7analytics" + "admin.googleapis.com/ReportingIdentitySe" - + "ttings\"r\n\"GetUserProvidedDataSettingsReq" - + "uest\022L\n\004name\030\001 \001(\tB>\340A\002\372A8\n6analyticsadm" - + "in.googleapis.com/UserProvidedDataSettin" - + "gs2\210\231\002\n\025AnalyticsAdminService\022\223\001\n\nGetAcc" - + "ount\0221.google.analytics.admin.v1alpha.Ge" - + "tAccountRequest\032\'.google.analytics.admin" - + ".v1alpha.Account\")\332A\004name\202\323\344\223\002\034\022\032/v1alph" - + "a/{name=accounts/*}\022\224\001\n\014ListAccounts\0223.g" - + "oogle.analytics.admin.v1alpha.ListAccoun" - + "tsRequest\0324.google.analytics.admin.v1alp" - + "ha.ListAccountsResponse\"\031\202\323\344\223\002\023\022\021/v1alph" - + "a/accounts\022\210\001\n\rDeleteAccount\0224.google.an" - + "alytics.admin.v1alpha.DeleteAccountReque" - + "st\032\026.google.protobuf.Empty\")\332A\004name\202\323\344\223\002" - + "\034*\032/v1alpha/{name=accounts/*}\022\271\001\n\rUpdate" - + "Account\0224.google.analytics.admin.v1alpha" - + ".UpdateAccountRequest\032\'.google.analytics" - + ".admin.v1alpha.Account\"I\332A\023account,updat" - + "e_mask\202\323\344\223\002-2\"/v1alpha/{account.name=acc" - + "ounts/*}:\007account\022\314\001\n\026ProvisionAccountTi" - + "cket\022=.google.analytics.admin.v1alpha.Pr" - + "ovisionAccountTicketRequest\032>.google.ana" - + "lytics.admin.v1alpha.ProvisionAccountTic" - + "ketResponse\"3\202\323\344\223\002-\"(/v1alpha/accounts:p" - + "rovisionAccountTicket:\001*\022\264\001\n\024ListAccount" - + "Summaries\022;.google.analytics.admin.v1alp" - + "ha.ListAccountSummariesRequest\032<.google." - + "analytics.admin.v1alpha.ListAccountSumma" - + "riesResponse\"!\202\323\344\223\002\033\022\031/v1alpha/accountSu" - + "mmaries\022\230\001\n\013GetProperty\0222.google.analyti" - + "cs.admin.v1alpha.GetPropertyRequest\032(.go" - + "ogle.analytics.admin.v1alpha.Property\"+\332" - + "A\004name\202\323\344\223\002\036\022\034/v1alpha/{name=properties/" - + "*}\022\234\001\n\016ListProperties\0225.google.analytics" - + ".admin.v1alpha.ListPropertiesRequest\0326.g" - + "oogle.analytics.admin.v1alpha.ListProper" - + "tiesResponse\"\033\202\323\344\223\002\025\022\023/v1alpha/propertie" - + "s\022\243\001\n\016CreateProperty\0225.google.analytics." - + "admin.v1alpha.CreatePropertyRequest\032(.go" - + "ogle.analytics.admin.v1alpha.Property\"0\332" - + "A\010property\202\323\344\223\002\037\"\023/v1alpha/properties:\010p" - + "roperty\022\236\001\n\016DeleteProperty\0225.google.anal" - + "ytics.admin.v1alpha.DeletePropertyReques" - + "t\032(.google.analytics.admin.v1alpha.Prope" - + "rty\"+\332A\004name\202\323\344\223\002\036*\034/v1alpha/{name=prope" - + "rties/*}\022\301\001\n\016UpdateProperty\0225.google.ana" - + "lytics.admin.v1alpha.UpdatePropertyReque" - + "st\032(.google.analytics.admin.v1alpha.Prop" - + "erty\"N\332A\024property,update_mask\202\323\344\223\00212%/v1" - + "alpha/{property.name=properties/*}:\010prop" - + "erty\022\331\001\n\022CreateFirebaseLink\0229.google.ana" - + "lytics.admin.v1alpha.CreateFirebaseLinkR" - + "equest\032,.google.analytics.admin.v1alpha." - + "FirebaseLink\"Z\332A\024parent,firebase_link\202\323\344" - + "\223\002=\",/v1alpha/{parent=properties/*}/fire" - + "baseLinks:\rfirebase_link\022\244\001\n\022DeleteFireb" - + "aseLink\0229.google.analytics.admin.v1alpha" - + ".DeleteFirebaseLinkRequest\032\026.google.prot" - + "obuf.Empty\";\332A\004name\202\323\344\223\002.*,/v1alpha/{nam" - + "e=properties/*/firebaseLinks/*}\022\307\001\n\021List" - + "FirebaseLinks\0228.google.analytics.admin.v" - + "1alpha.ListFirebaseLinksRequest\0329.google" - + ".analytics.admin.v1alpha.ListFirebaseLin" - + "ksResponse\"=\332A\006parent\202\323\344\223\002.\022,/v1alpha/{p" - + "arent=properties/*}/firebaseLinks\022\303\001\n\020Ge" - + "tGlobalSiteTag\0227.google.analytics.admin." - + "v1alpha.GetGlobalSiteTagRequest\032-.google" - + ".analytics.admin.v1alpha.GlobalSiteTag\"G" - + "\332A\004name\202\323\344\223\002:\0228/v1alpha/{name=properties" - + "/*/dataStreams/*/globalSiteTag}\022\341\001\n\023Crea" - + "teGoogleAdsLink\022:.google.analytics.admin" - + ".v1alpha.CreateGoogleAdsLinkRequest\032-.go" - + "ogle.analytics.admin.v1alpha.GoogleAdsLi" - + "nk\"_\332A\026parent,google_ads_link\202\323\344\223\002@\"-/v1" - + "alpha/{parent=properties/*}/googleAdsLin", - "ks:\017google_ads_link\022\366\001\n\023UpdateGoogleAdsL" - + "ink\022:.google.analytics.admin.v1alpha.Upd" - + "ateGoogleAdsLinkRequest\032-.google.analyti" - + "cs.admin.v1alpha.GoogleAdsLink\"t\332A\033googl" - + "e_ads_link,update_mask\202\323\344\223\002P2=/v1alpha/{" - + "google_ads_link.name=properties/*/google" - + "AdsLinks/*}:\017google_ads_link\022\247\001\n\023DeleteG" - + "oogleAdsLink\022:.google.analytics.admin.v1" - + "alpha.DeleteGoogleAdsLinkRequest\032\026.googl" - + "e.protobuf.Empty\"<\332A\004name\202\323\344\223\002/*-/v1alph" - + "a/{name=properties/*/googleAdsLinks/*}\022\313" - + "\001\n\022ListGoogleAdsLinks\0229.google.analytics" - + ".admin.v1alpha.ListGoogleAdsLinksRequest" - + "\032:.google.analytics.admin.v1alpha.ListGo" - + "ogleAdsLinksResponse\">\332A\006parent\202\323\344\223\002/\022-/" - + "v1alpha/{parent=properties/*}/googleAdsL" - + "inks\022\313\001\n\026GetDataSharingSettings\022=.google" - + ".analytics.admin.v1alpha.GetDataSharingS" - + "ettingsRequest\0323.google.analytics.admin." - + "v1alpha.DataSharingSettings\"=\332A\004name\202\323\344\223" - + "\0020\022./v1alpha/{name=accounts/*/dataSharin" - + "gSettings}\022\366\001\n\034GetMeasurementProtocolSec" - + "ret\022C.google.analytics.admin.v1alpha.Get" - + "MeasurementProtocolSecretRequest\0329.googl" - + "e.analytics.admin.v1alpha.MeasurementPro" - + "tocolSecret\"V\332A\004name\202\323\344\223\002I\022G/v1alpha/{na" - + "me=properties/*/dataStreams/*/measuremen" - + "tProtocolSecrets/*}\022\211\002\n\036ListMeasurementP" - + "rotocolSecrets\022E.google.analytics.admin." - + "v1alpha.ListMeasurementProtocolSecretsRe" - + "quest\032F.google.analytics.admin.v1alpha.L" - + "istMeasurementProtocolSecretsResponse\"X\332" - + "A\006parent\202\323\344\223\002I\022G/v1alpha/{parent=propert" - + "ies/*/dataStreams/*}/measurementProtocol" - + "Secrets\022\270\002\n\037CreateMeasurementProtocolSec" - + "ret\022F.google.analytics.admin.v1alpha.Cre" - + "ateMeasurementProtocolSecretRequest\0329.go" - + "ogle.analytics.admin.v1alpha.Measurement" - + "ProtocolSecret\"\221\001\332A\"parent,measurement_p" - + "rotocol_secret\202\323\344\223\002f\"G/v1alpha/{parent=p" - + "roperties/*/dataStreams/*}/measurementPr" - + "otocolSecrets:\033measurement_protocol_secr" - + "et\022\331\001\n\037DeleteMeasurementProtocolSecret\022F" - + ".google.analytics.admin.v1alpha.DeleteMe" - + "asurementProtocolSecretRequest\032\026.google." - + "protobuf.Empty\"V\332A\004name\202\323\344\223\002I*G/v1alpha/" - + "{name=properties/*/dataStreams/*/measure" - + "mentProtocolSecrets/*}\022\332\002\n\037UpdateMeasure" - + "mentProtocolSecret\022F.google.analytics.ad" - + "min.v1alpha.UpdateMeasurementProtocolSec" - + "retRequest\0329.google.analytics.admin.v1al" - + "pha.MeasurementProtocolSecret\"\263\001\332A\'measu" - + "rement_protocol_secret,update_mask\202\323\344\223\002\202" - + "\0012c/v1alpha/{measurement_protocol_secret" - + ".name=properties/*/dataStreams/*/measure" - + "mentProtocolSecrets/*}:\033measurement_prot" - + "ocol_secret\022\367\001\n\035AcknowledgeUserDataColle" - + "ction\022D.google.analytics.admin.v1alpha.A" - + "cknowledgeUserDataCollectionRequest\032E.go" - + "ogle.analytics.admin.v1alpha.Acknowledge" - + "UserDataCollectionResponse\"I\202\323\344\223\002C\">/v1a" - + "lpha/{property=properties/*}:acknowledge" - + "UserDataCollection:\001*\022\221\002\n#GetSKAdNetwork" - + "ConversionValueSchema\022J.google.analytics" - + ".admin.v1alpha.GetSKAdNetworkConversionV" - + "alueSchemaRequest\032@.google.analytics.adm" - + "in.v1alpha.SKAdNetworkConversionValueSch" - + "ema\"\\\332A\004name\202\323\344\223\002O\022M/v1alpha/{name=prope" - + "rties/*/dataStreams/*/sKAdNetworkConvers" - + "ionValueSchema/*}\022\343\002\n&CreateSKAdNetworkC" - + "onversionValueSchema\022M.google.analytics." - + "admin.v1alpha.CreateSKAdNetworkConversio" - + "nValueSchemaRequest\032@.google.analytics.a" - + "dmin.v1alpha.SKAdNetworkConversionValueS" - + "chema\"\247\001\332A*parent,skadnetwork_conversion" - + "_value_schema\202\323\344\223\002t\"M/v1alpha/{parent=pr" - + "operties/*/dataStreams/*}/sKAdNetworkCon" - + "versionValueSchema:#skadnetwork_conversi" - + "on_value_schema\022\355\001\n&DeleteSKAdNetworkCon" - + "versionValueSchema\022M.google.analytics.ad" - + "min.v1alpha.DeleteSKAdNetworkConversionV" - + "alueSchemaRequest\032\026.google.protobuf.Empt" - + "y\"\\\332A\004name\202\323\344\223\002O*M/v1alpha/{name=propert" + + "ttings\"\303\001\n&UpdateReportingIdentitySettin" + + "gsRequest\022c\n\033reporting_identity_settings" + + "\030\001 \001(\01329.google.analytics.admin.v1alpha." + + "ReportingIdentitySettingsB\003\340A\002\0224\n\013update" + + "_mask\030\002 \001(\0132\032.google.protobuf.FieldMaskB" + + "\003\340A\001\"r\n\"GetUserProvidedDataSettingsReque" + + "st\022L\n\004name\030\001 \001(\tB>\340A\002\372A8\n6analyticsadmin" + + ".googleapis.com/UserProvidedDataSettings" + + "2\323\233\002\n\025AnalyticsAdminService\022\223\001\n\nGetAccou" + + "nt\0221.google.analytics.admin.v1alpha.GetA" + + "ccountRequest\032\'.google.analytics.admin.v" + + "1alpha.Account\")\332A\004name\202\323\344\223\002\034\022\032/v1alpha/" + + "{name=accounts/*}\022\224\001\n\014ListAccounts\0223.goo" + + "gle.analytics.admin.v1alpha.ListAccounts" + + "Request\0324.google.analytics.admin.v1alpha" + + ".ListAccountsResponse\"\031\202\323\344\223\002\023\022\021/v1alpha/" + + "accounts\022\210\001\n\rDeleteAccount\0224.google.anal" + + "ytics.admin.v1alpha.DeleteAccountRequest" + + "\032\026.google.protobuf.Empty\")\332A\004name\202\323\344\223\002\034*" + + "\032/v1alpha/{name=accounts/*}\022\271\001\n\rUpdateAc" + + "count\0224.google.analytics.admin.v1alpha.U" + + "pdateAccountRequest\032\'.google.analytics.a" + + "dmin.v1alpha.Account\"I\332A\023account,update_" + + "mask\202\323\344\223\002-2\"/v1alpha/{account.name=accou" + + "nts/*}:\007account\022\314\001\n\026ProvisionAccountTick" + + "et\022=.google.analytics.admin.v1alpha.Prov" + + "isionAccountTicketRequest\032>.google.analy" + + "tics.admin.v1alpha.ProvisionAccountTicke" + + "tResponse\"3\202\323\344\223\002-\"(/v1alpha/accounts:pro" + + "visionAccountTicket:\001*\022\264\001\n\024ListAccountSu" + + "mmaries\022;.google.analytics.admin.v1alpha" + + ".ListAccountSummariesRequest\032<.google.an" + + "alytics.admin.v1alpha.ListAccountSummari" + + "esResponse\"!\202\323\344\223\002\033\022\031/v1alpha/accountSumm" + + "aries\022\230\001\n\013GetProperty\0222.google.analytics" + + ".admin.v1alpha.GetPropertyRequest\032(.goog" + + "le.analytics.admin.v1alpha.Property\"+\332A\004" + + "name\202\323\344\223\002\036\022\034/v1alpha/{name=properties/*}" + + "\022\234\001\n\016ListProperties\0225.google.analytics.a" + + "dmin.v1alpha.ListPropertiesRequest\0326.goo" + + "gle.analytics.admin.v1alpha.ListProperti" + + "esResponse\"\033\202\323\344\223\002\025\022\023/v1alpha/properties\022" + + "\243\001\n\016CreateProperty\0225.google.analytics.ad" + + "min.v1alpha.CreatePropertyRequest\032(.goog" + + "le.analytics.admin.v1alpha.Property\"0\332A\010" + + "property\202\323\344\223\002\037\"\023/v1alpha/properties:\010pro" + + "perty\022\236\001\n\016DeleteProperty\0225.google.analyt" + + "ics.admin.v1alpha.DeletePropertyRequest\032" + + "(.google.analytics.admin.v1alpha.Propert" + + "y\"+\332A\004name\202\323\344\223\002\036*\034/v1alpha/{name=propert" + + "ies/*}\022\301\001\n\016UpdateProperty\0225.google.analy" + + "tics.admin.v1alpha.UpdatePropertyRequest" + + "\032(.google.analytics.admin.v1alpha.Proper" + + "ty\"N\332A\024property,update_mask\202\323\344\223\00212%/v1al" + + "pha/{property.name=properties/*}:\010proper" + + "ty\022\331\001\n\022CreateFirebaseLink\0229.google.analy" + + "tics.admin.v1alpha.CreateFirebaseLinkReq" + + "uest\032,.google.analytics.admin.v1alpha.Fi" + + "rebaseLink\"Z\332A\024parent,firebase_link\202\323\344\223\002" + + "=\",/v1alpha/{parent=properties/*}/fireba" + + "seLinks:\rfirebase_link\022\244\001\n\022DeleteFirebas" + + "eLink\0229.google.analytics.admin.v1alpha.D" + + "eleteFirebaseLinkRequest\032\026.google.protob" + + "uf.Empty\";\332A\004name\202\323\344\223\002.*,/v1alpha/{name=" + + "properties/*/firebaseLinks/*}\022\307\001\n\021ListFi" + + "rebaseLinks\0228.google.analytics.admin.v1a" + + "lpha.ListFirebaseLinksRequest\0329.google.a" + + "nalytics.admin.v1alpha.ListFirebaseLinks" + + "Response\"=\332A\006parent\202\323\344\223\002.\022,/v1alpha/{par" + + "ent=properties/*}/firebaseLinks\022\303\001\n\020GetG" + + "lobalSiteTag\0227.google.analytics.admin.v1" + + "alpha.GetGlobalSiteTagRequest\032-.google.a" + + "nalytics.admin.v1alpha.GlobalSiteTag\"G\332A" + + "\004name\202\323\344\223\002:\0228/v1alpha/{name=properties/*" + + "/dataStreams/*/globalSiteTag}\022\341\001\n\023Create", + "GoogleAdsLink\022:.google.analytics.admin.v" + + "1alpha.CreateGoogleAdsLinkRequest\032-.goog" + + "le.analytics.admin.v1alpha.GoogleAdsLink" + + "\"_\332A\026parent,google_ads_link\202\323\344\223\002@\"-/v1al" + + "pha/{parent=properties/*}/googleAdsLinks" + + ":\017google_ads_link\022\366\001\n\023UpdateGoogleAdsLin" + + "k\022:.google.analytics.admin.v1alpha.Updat" + + "eGoogleAdsLinkRequest\032-.google.analytics" + + ".admin.v1alpha.GoogleAdsLink\"t\332A\033google_" + + "ads_link,update_mask\202\323\344\223\002P2=/v1alpha/{go" + + "ogle_ads_link.name=properties/*/googleAd" + + "sLinks/*}:\017google_ads_link\022\247\001\n\023DeleteGoo" + + "gleAdsLink\022:.google.analytics.admin.v1al" + + "pha.DeleteGoogleAdsLinkRequest\032\026.google." + + "protobuf.Empty\"<\332A\004name\202\323\344\223\002/*-/v1alpha/" + + "{name=properties/*/googleAdsLinks/*}\022\313\001\n" + + "\022ListGoogleAdsLinks\0229.google.analytics.a" + + "dmin.v1alpha.ListGoogleAdsLinksRequest\032:" + + ".google.analytics.admin.v1alpha.ListGoog" + + "leAdsLinksResponse\">\332A\006parent\202\323\344\223\002/\022-/v1" + + "alpha/{parent=properties/*}/googleAdsLin" + + "ks\022\313\001\n\026GetDataSharingSettings\022=.google.a" + + "nalytics.admin.v1alpha.GetDataSharingSet" + + "tingsRequest\0323.google.analytics.admin.v1" + + "alpha.DataSharingSettings\"=\332A\004name\202\323\344\223\0020" + + "\022./v1alpha/{name=accounts/*/dataSharingS" + + "ettings}\022\366\001\n\034GetMeasurementProtocolSecre" + + "t\022C.google.analytics.admin.v1alpha.GetMe" + + "asurementProtocolSecretRequest\0329.google." + + "analytics.admin.v1alpha.MeasurementProto" + + "colSecret\"V\332A\004name\202\323\344\223\002I\022G/v1alpha/{name" + + "=properties/*/dataStreams/*/measurementP" + + "rotocolSecrets/*}\022\211\002\n\036ListMeasurementPro" + + "tocolSecrets\022E.google.analytics.admin.v1" + + "alpha.ListMeasurementProtocolSecretsRequ" + + "est\032F.google.analytics.admin.v1alpha.Lis" + + "tMeasurementProtocolSecretsResponse\"X\332A\006" + + "parent\202\323\344\223\002I\022G/v1alpha/{parent=propertie" + + "s/*/dataStreams/*}/measurementProtocolSe" + + "crets\022\270\002\n\037CreateMeasurementProtocolSecre" + + "t\022F.google.analytics.admin.v1alpha.Creat" + + "eMeasurementProtocolSecretRequest\0329.goog" + + "le.analytics.admin.v1alpha.MeasurementPr" + + "otocolSecret\"\221\001\332A\"parent,measurement_pro" + + "tocol_secret\202\323\344\223\002f\"G/v1alpha/{parent=pro" + + "perties/*/dataStreams/*}/measurementProt" + + "ocolSecrets:\033measurement_protocol_secret" + + "\022\331\001\n\037DeleteMeasurementProtocolSecret\022F.g" + + "oogle.analytics.admin.v1alpha.DeleteMeas" + + "urementProtocolSecretRequest\032\026.google.pr" + + "otobuf.Empty\"V\332A\004name\202\323\344\223\002I*G/v1alpha/{n" + + "ame=properties/*/dataStreams/*/measureme" + + "ntProtocolSecrets/*}\022\332\002\n\037UpdateMeasureme" + + "ntProtocolSecret\022F.google.analytics.admi" + + "n.v1alpha.UpdateMeasurementProtocolSecre" + + "tRequest\0329.google.analytics.admin.v1alph" + + "a.MeasurementProtocolSecret\"\263\001\332A\'measure" + + "ment_protocol_secret,update_mask\202\323\344\223\002\202\0012" + + "c/v1alpha/{measurement_protocol_secret.n" + + "ame=properties/*/dataStreams/*/measureme" + + "ntProtocolSecrets/*}:\033measurement_protoc" + + "ol_secret\022\367\001\n\035AcknowledgeUserDataCollect" + + "ion\022D.google.analytics.admin.v1alpha.Ack" + + "nowledgeUserDataCollectionRequest\032E.goog" + + "le.analytics.admin.v1alpha.AcknowledgeUs" + + "erDataCollectionResponse\"I\202\323\344\223\002C\">/v1alp" + + "ha/{property=properties/*}:acknowledgeUs" + + "erDataCollection:\001*\022\221\002\n#GetSKAdNetworkCo" + + "nversionValueSchema\022J.google.analytics.a" + + "dmin.v1alpha.GetSKAdNetworkConversionVal" + + "ueSchemaRequest\032@.google.analytics.admin" + + ".v1alpha.SKAdNetworkConversionValueSchem" + + "a\"\\\332A\004name\202\323\344\223\002O\022M/v1alpha/{name=propert" + "ies/*/dataStreams/*/sKAdNetworkConversio" - + "nValueSchema/*}\022\215\003\n&UpdateSKAdNetworkCon" + + "nValueSchema/*}\022\343\002\n&CreateSKAdNetworkCon" + "versionValueSchema\022M.google.analytics.ad" - + "min.v1alpha.UpdateSKAdNetworkConversionV" + + "min.v1alpha.CreateSKAdNetworkConversionV" + "alueSchemaRequest\032@.google.analytics.adm" + "in.v1alpha.SKAdNetworkConversionValueSch" - + "ema\"\321\001\332A/skadnetwork_conversion_value_sc" - + "hema,update_mask\202\323\344\223\002\230\0012q/v1alpha/{skadn" - + "etwork_conversion_value_schema.name=prop" - + "erties/*/dataStreams/*/sKAdNetworkConver" - + "sionValueSchema/*}:#skadnetwork_conversi" - + "on_value_schema\022\244\002\n%ListSKAdNetworkConve" - + "rsionValueSchemas\022L.google.analytics.adm" - + "in.v1alpha.ListSKAdNetworkConversionValu" - + "eSchemasRequest\032M.google.analytics.admin" + + "ema\"\247\001\332A*parent,skadnetwork_conversion_v" + + "alue_schema\202\323\344\223\002t\"M/v1alpha/{parent=prop" + + "erties/*/dataStreams/*}/sKAdNetworkConve" + + "rsionValueSchema:#skadnetwork_conversion" + + "_value_schema\022\355\001\n&DeleteSKAdNetworkConve" + + "rsionValueSchema\022M.google.analytics.admi" + + "n.v1alpha.DeleteSKAdNetworkConversionVal" + + "ueSchemaRequest\032\026.google.protobuf.Empty\"" + + "\\\332A\004name\202\323\344\223\002O*M/v1alpha/{name=propertie" + + "s/*/dataStreams/*/sKAdNetworkConversionV" + + "alueSchema/*}\022\215\003\n&UpdateSKAdNetworkConve" + + "rsionValueSchema\022M.google.analytics.admi" + + "n.v1alpha.UpdateSKAdNetworkConversionVal" + + "ueSchemaRequest\032@.google.analytics.admin" + + ".v1alpha.SKAdNetworkConversionValueSchem" + + "a\"\321\001\332A/skadnetwork_conversion_value_sche" + + "ma,update_mask\202\323\344\223\002\230\0012q/v1alpha/{skadnet" + + "work_conversion_value_schema.name=proper" + + "ties/*/dataStreams/*/sKAdNetworkConversi" + + "onValueSchema/*}:#skadnetwork_conversion" + + "_value_schema\022\244\002\n%ListSKAdNetworkConvers" + + "ionValueSchemas\022L.google.analytics.admin" + ".v1alpha.ListSKAdNetworkConversionValueS" - + "chemasResponse\"^\332A\006parent\202\323\344\223\002O\022M/v1alph" - + "a/{parent=properties/*/dataStreams/*}/sK" - + "AdNetworkConversionValueSchema\022\344\001\n\031Searc" - + "hChangeHistoryEvents\022@.google.analytics." - + "admin.v1alpha.SearchChangeHistoryEventsR" - + "equest\032A.google.analytics.admin.v1alpha." - + "SearchChangeHistoryEventsResponse\"B\202\323\344\223\002" - + "<\"7/v1alpha/{account=accounts/*}:searchC" - + "hangeHistoryEvents:\001*\022\325\001\n\030GetGoogleSigna" - + "lsSettings\022?.google.analytics.admin.v1al" - + "pha.GetGoogleSignalsSettingsRequest\0325.go" - + "ogle.analytics.admin.v1alpha.GoogleSigna" - + "lsSettings\"A\332A\004name\202\323\344\223\0024\0222/v1alpha/{nam" - + "e=properties/*/googleSignalsSettings}\022\254\002" - + "\n\033UpdateGoogleSignalsSettings\022B.google.a" - + "nalytics.admin.v1alpha.UpdateGoogleSigna" - + "lsSettingsRequest\0325.google.analytics.adm" - + "in.v1alpha.GoogleSignalsSettings\"\221\001\332A#go" - + "ogle_signals_settings,update_mask\202\323\344\223\002e2" - + "J/v1alpha/{google_signals_settings.name=" - + "properties/*/googleSignalsSettings}:\027goo" - + "gle_signals_settings\022\356\001\n\025CreateConversio" - + "nEvent\022<.google.analytics.admin.v1alpha." - + "CreateConversionEventRequest\032/.google.an" - + "alytics.admin.v1alpha.ConversionEvent\"f\210" - + "\002\001\332A\027parent,conversion_event\202\323\344\223\002C\"//v1a" - + "lpha/{parent=properties/*}/conversionEve" - + "nts:\020conversion_event\022\204\002\n\025UpdateConversi" - + "onEvent\022<.google.analytics.admin.v1alpha" - + ".UpdateConversionEventRequest\032/.google.a" - + "nalytics.admin.v1alpha.ConversionEvent\"|" - + "\210\002\001\332A\034conversion_event,update_mask\202\323\344\223\002T" - + "2@/v1alpha/{conversion_event.name=proper" - + "ties/*/conversionEvents/*}:\020conversion_e" - + "vent\022\303\001\n\022GetConversionEvent\0229.google.ana" - + "lytics.admin.v1alpha.GetConversionEventR" - + "equest\032/.google.analytics.admin.v1alpha." - + "ConversionEvent\"A\210\002\001\332A\004name\202\323\344\223\0021\022//v1al" - + "pha/{name=properties/*/conversionEvents/" - + "*}\022\260\001\n\025DeleteConversionEvent\022<.google.an" - + "alytics.admin.v1alpha.DeleteConversionEv" - + "entRequest\032\026.google.protobuf.Empty\"A\210\002\001\332" - + "A\004name\202\323\344\223\0021*//v1alpha/{name=properties/" - + "*/conversionEvents/*}\022\326\001\n\024ListConversion" - + "Events\022;.google.analytics.admin.v1alpha." - + "ListConversionEventsRequest\032<.google.ana" - + "lytics.admin.v1alpha.ListConversionEvent" - + "sResponse\"C\210\002\001\332A\006parent\202\323\344\223\0021\022//v1alpha/" - + "{parent=properties/*}/conversionEvents\022\301" - + "\001\n\016CreateKeyEvent\0225.google.analytics.adm" - + "in.v1alpha.CreateKeyEventRequest\032(.googl" - + "e.analytics.admin.v1alpha.KeyEvent\"N\332A\020p" - + "arent,key_event\202\323\344\223\0025\"(/v1alpha/{parent=" - + "properties/*}/keyEvents:\tkey_event\022\320\001\n\016U" - + "pdateKeyEvent\0225.google.analytics.admin.v" - + "1alpha.UpdateKeyEventRequest\032(.google.an" - + "alytics.admin.v1alpha.KeyEvent\"]\332A\025key_e" - + "vent,update_mask\202\323\344\223\002?22/v1alpha/{key_ev" - + "ent.name=properties/*/keyEvents/*}:\tkey_" - + "event\022\244\001\n\013GetKeyEvent\0222.google.analytics" - + ".admin.v1alpha.GetKeyEventRequest\032(.goog" - + "le.analytics.admin.v1alpha.KeyEvent\"7\332A\004" - + "name\202\323\344\223\002*\022(/v1alpha/{name=properties/*/" - + "keyEvents/*}\022\230\001\n\016DeleteKeyEvent\0225.google" - + ".analytics.admin.v1alpha.DeleteKeyEventR" - + "equest\032\026.google.protobuf.Empty\"7\332A\004name\202" - + "\323\344\223\002**(/v1alpha/{name=properties/*/keyEv" - + "ents/*}\022\267\001\n\rListKeyEvents\0224.google.analy" - + "tics.admin.v1alpha.ListKeyEventsRequest\032" - + "5.google.analytics.admin.v1alpha.ListKey" - + "EventsResponse\"9\332A\006parent\202\323\344\223\002*\022(/v1alph" - + "a/{parent=properties/*}/keyEvents\022\370\001\n Ge" - + "tDisplayVideo360AdvertiserLink\022G.google." - + "analytics.admin.v1alpha.GetDisplayVideo3" - + "60AdvertiserLinkRequest\032=.google.analyti" - + "cs.admin.v1alpha.DisplayVideo360Advertis" - + "erLink\"L\332A\004name\202\323\344\223\002?\022=/v1alpha/{name=pr" - + "operties/*/displayVideo360AdvertiserLink" - + "s/*}\022\213\002\n\"ListDisplayVideo360AdvertiserLi" - + "nks\022I.google.analytics.admin.v1alpha.Lis" - + "tDisplayVideo360AdvertiserLinksRequest\032J" + + "chemasRequest\032M.google.analytics.admin.v" + + "1alpha.ListSKAdNetworkConversionValueSch" + + "emasResponse\"^\332A\006parent\202\323\344\223\002O\022M/v1alpha/" + + "{parent=properties/*/dataStreams/*}/sKAd" + + "NetworkConversionValueSchema\022\344\001\n\031SearchC" + + "hangeHistoryEvents\022@.google.analytics.ad" + + "min.v1alpha.SearchChangeHistoryEventsReq" + + "uest\032A.google.analytics.admin.v1alpha.Se" + + "archChangeHistoryEventsResponse\"B\202\323\344\223\002<\"" + + "7/v1alpha/{account=accounts/*}:searchCha" + + "ngeHistoryEvents:\001*\022\325\001\n\030GetGoogleSignals" + + "Settings\022?.google.analytics.admin.v1alph" + + "a.GetGoogleSignalsSettingsRequest\0325.goog" + + "le.analytics.admin.v1alpha.GoogleSignals" + + "Settings\"A\332A\004name\202\323\344\223\0024\0222/v1alpha/{name=" + + "properties/*/googleSignalsSettings}\022\254\002\n\033" + + "UpdateGoogleSignalsSettings\022B.google.ana" + + "lytics.admin.v1alpha.UpdateGoogleSignals" + + "SettingsRequest\0325.google.analytics.admin" + + ".v1alpha.GoogleSignalsSettings\"\221\001\332A#goog" + + "le_signals_settings,update_mask\202\323\344\223\002e2J/" + + "v1alpha/{google_signals_settings.name=pr" + + "operties/*/googleSignalsSettings}:\027googl" + + "e_signals_settings\022\356\001\n\025CreateConversionE" + + "vent\022<.google.analytics.admin.v1alpha.Cr" + + "eateConversionEventRequest\032/.google.anal" + + "ytics.admin.v1alpha.ConversionEvent\"f\210\002\001" + + "\332A\027parent,conversion_event\202\323\344\223\002C\"//v1alp" + + "ha/{parent=properties/*}/conversionEvent" + + "s:\020conversion_event\022\204\002\n\025UpdateConversion" + + "Event\022<.google.analytics.admin.v1alpha.U" + + "pdateConversionEventRequest\032/.google.ana" + + "lytics.admin.v1alpha.ConversionEvent\"|\210\002" + + "\001\332A\034conversion_event,update_mask\202\323\344\223\002T2@" + + "/v1alpha/{conversion_event.name=properti" + + "es/*/conversionEvents/*}:\020conversion_eve" + + "nt\022\303\001\n\022GetConversionEvent\0229.google.analy" + + "tics.admin.v1alpha.GetConversionEventReq" + + "uest\032/.google.analytics.admin.v1alpha.Co" + + "nversionEvent\"A\210\002\001\332A\004name\202\323\344\223\0021\022//v1alph" + + "a/{name=properties/*/conversionEvents/*}" + + "\022\260\001\n\025DeleteConversionEvent\022<.google.anal" + + "ytics.admin.v1alpha.DeleteConversionEven" + + "tRequest\032\026.google.protobuf.Empty\"A\210\002\001\332A\004" + + "name\202\323\344\223\0021*//v1alpha/{name=properties/*/" + + "conversionEvents/*}\022\326\001\n\024ListConversionEv" + + "ents\022;.google.analytics.admin.v1alpha.Li" + + "stConversionEventsRequest\032<.google.analy" + + "tics.admin.v1alpha.ListConversionEventsR" + + "esponse\"C\210\002\001\332A\006parent\202\323\344\223\0021\022//v1alpha/{p" + + "arent=properties/*}/conversionEvents\022\301\001\n" + + "\016CreateKeyEvent\0225.google.analytics.admin" + + ".v1alpha.CreateKeyEventRequest\032(.google." + + "analytics.admin.v1alpha.KeyEvent\"N\332A\020par" + + "ent,key_event\202\323\344\223\0025\"(/v1alpha/{parent=pr" + + "operties/*}/keyEvents:\tkey_event\022\320\001\n\016Upd" + + "ateKeyEvent\0225.google.analytics.admin.v1a" + + "lpha.UpdateKeyEventRequest\032(.google.anal" + + "ytics.admin.v1alpha.KeyEvent\"]\332A\025key_eve" + + "nt,update_mask\202\323\344\223\002?22/v1alpha/{key_even" + + "t.name=properties/*/keyEvents/*}:\tkey_ev" + + "ent\022\244\001\n\013GetKeyEvent\0222.google.analytics.a" + + "dmin.v1alpha.GetKeyEventRequest\032(.google" + + ".analytics.admin.v1alpha.KeyEvent\"7\332A\004na" + + "me\202\323\344\223\002*\022(/v1alpha/{name=properties/*/ke" + + "yEvents/*}\022\230\001\n\016DeleteKeyEvent\0225.google.a" + + "nalytics.admin.v1alpha.DeleteKeyEventReq" + + "uest\032\026.google.protobuf.Empty\"7\332A\004name\202\323\344" + + "\223\002**(/v1alpha/{name=properties/*/keyEven" + + "ts/*}\022\267\001\n\rListKeyEvents\0224.google.analyti" + + "cs.admin.v1alpha.ListKeyEventsRequest\0325." + + "google.analytics.admin.v1alpha.ListKeyEv" + + "entsResponse\"9\332A\006parent\202\323\344\223\002*\022(/v1alpha/" + + "{parent=properties/*}/keyEvents\022\370\001\n GetD" + + "isplayVideo360AdvertiserLink\022G.google.an" + + "alytics.admin.v1alpha.GetDisplayVideo360" + + "AdvertiserLinkRequest\032=.google.analytics" + + ".admin.v1alpha.DisplayVideo360Advertiser" + + "Link\"L\332A\004name\202\323\344\223\002?\022=/v1alpha/{name=prop" + + "erties/*/displayVideo360AdvertiserLinks/" + + "*}\022\213\002\n\"ListDisplayVideo360AdvertiserLink" + + "s\022I.google.analytics.admin.v1alpha.ListD" + + "isplayVideo360AdvertiserLinksRequest\032J.g" + + "oogle.analytics.admin.v1alpha.ListDispla" + + "yVideo360AdvertiserLinksResponse\"N\332A\006par" + + "ent\202\323\344\223\002?\022=/v1alpha/{parent=properties/*" + + "}/displayVideo360AdvertiserLinks\022\306\002\n#Cre" + + "ateDisplayVideo360AdvertiserLink\022J.googl" + + "e.analytics.admin.v1alpha.CreateDisplayV" + + "ideo360AdvertiserLinkRequest\032=.google.an" + + "alytics.admin.v1alpha.DisplayVideo360Adv" + + "ertiserLink\"\223\001\332A(parent,display_video_36" + + "0_advertiser_link\202\323\344\223\002b\"=/v1alpha/{paren" + + "t=properties/*}/displayVideo360Advertise" + + "rLinks:!display_video_360_advertiser_lin" + + "k\022\327\001\n#DeleteDisplayVideo360AdvertiserLin" + + "k\022J.google.analytics.admin.v1alpha.Delet" + + "eDisplayVideo360AdvertiserLinkRequest\032\026." + + "google.protobuf.Empty\"L\332A\004name\202\323\344\223\002?*=/v" + + "1alpha/{name=properties/*/displayVideo36" + + "0AdvertiserLinks/*}\022\356\002\n#UpdateDisplayVid" + + "eo360AdvertiserLink\022J.google.analytics.a" + + "dmin.v1alpha.UpdateDisplayVideo360Advert" + + "iserLinkRequest\032=.google.analytics.admin" + + ".v1alpha.DisplayVideo360AdvertiserLink\"\273" + + "\001\332A-display_video_360_advertiser_link,up" + + "date_mask\202\323\344\223\002\204\0012_/v1alpha/{display_vide" + + "o_360_advertiser_link.name=properties/*/" + + "displayVideo360AdvertiserLinks/*}:!displ" + + "ay_video_360_advertiser_link\022\230\002\n(GetDisp" + + "layVideo360AdvertiserLinkProposal\022O.goog" + + "le.analytics.admin.v1alpha.GetDisplayVid" + + "eo360AdvertiserLinkProposalRequest\032E.goo" + + "gle.analytics.admin.v1alpha.DisplayVideo" + + "360AdvertiserLinkProposal\"T\332A\004name\202\323\344\223\002G" + + "\022E/v1alpha/{name=properties/*/displayVid" + + "eo360AdvertiserLinkProposals/*}\022\253\002\n*List" + + "DisplayVideo360AdvertiserLinkProposals\022Q" + ".google.analytics.admin.v1alpha.ListDisp" - + "layVideo360AdvertiserLinksResponse\"N\332A\006p" - + "arent\202\323\344\223\002?\022=/v1alpha/{parent=properties" - + "/*}/displayVideo360AdvertiserLinks\022\306\002\n#C" - + "reateDisplayVideo360AdvertiserLink\022J.goo" - + "gle.analytics.admin.v1alpha.CreateDispla" - + "yVideo360AdvertiserLinkRequest\032=.google." - + "analytics.admin.v1alpha.DisplayVideo360A" - + "dvertiserLink\"\223\001\332A(parent,display_video_" - + "360_advertiser_link\202\323\344\223\002b\"=/v1alpha/{par" - + "ent=properties/*}/displayVideo360Adverti" - + "serLinks:!display_video_360_advertiser_l" - + "ink\022\327\001\n#DeleteDisplayVideo360AdvertiserL" - + "ink\022J.google.analytics.admin.v1alpha.Del" - + "eteDisplayVideo360AdvertiserLinkRequest\032" - + "\026.google.protobuf.Empty\"L\332A\004name\202\323\344\223\002?*=" - + "/v1alpha/{name=properties/*/displayVideo" - + "360AdvertiserLinks/*}\022\356\002\n#UpdateDisplayV" - + "ideo360AdvertiserLink\022J.google.analytics" - + ".admin.v1alpha.UpdateDisplayVideo360Adve" - + "rtiserLinkRequest\032=.google.analytics.adm" - + "in.v1alpha.DisplayVideo360AdvertiserLink" - + "\"\273\001\332A-display_video_360_advertiser_link," - + "update_mask\202\323\344\223\002\204\0012_/v1alpha/{display_vi" - + "deo_360_advertiser_link.name=properties/" - + "*/displayVideo360AdvertiserLinks/*}:!dis" - + "play_video_360_advertiser_link\022\230\002\n(GetDi" - + "splayVideo360AdvertiserLinkProposal\022O.go" - + "ogle.analytics.admin.v1alpha.GetDisplayV" + + "layVideo360AdvertiserLinkProposalsReques" + + "t\032R.google.analytics.admin.v1alpha.ListD" + + "isplayVideo360AdvertiserLinkProposalsRes" + + "ponse\"V\332A\006parent\202\323\344\223\002G\022E/v1alpha/{parent" + + "=properties/*}/displayVideo360Advertiser" + + "LinkProposals\022\370\002\n+CreateDisplayVideo360A" + + "dvertiserLinkProposal\022R.google.analytics" + + ".admin.v1alpha.CreateDisplayVideo360Adve" + + "rtiserLinkProposalRequest\032E.google.analy" + + "tics.admin.v1alpha.DisplayVideo360Advert" + + "iserLinkProposal\"\255\001\332A1parent,display_vid" + + "eo_360_advertiser_link_proposal\202\323\344\223\002s\"E/" + + "v1alpha/{parent=properties/*}/displayVid" + + "eo360AdvertiserLinkProposals:*display_vi" + + "deo_360_advertiser_link_proposal\022\357\001\n+Del" + + "eteDisplayVideo360AdvertiserLinkProposal" + + "\022R.google.analytics.admin.v1alpha.Delete" + + "DisplayVideo360AdvertiserLinkProposalReq" + + "uest\032\026.google.protobuf.Empty\"T\332A\004name\202\323\344" + + "\223\002G*E/v1alpha/{name=properties/*/display" + + "Video360AdvertiserLinkProposals/*}\022\263\002\n,A" + + "pproveDisplayVideo360AdvertiserLinkPropo" + + "sal\022S.google.analytics.admin.v1alpha.App" + + "roveDisplayVideo360AdvertiserLinkProposa" + + "lRequest\032T.google.analytics.admin.v1alph" + + "a.ApproveDisplayVideo360AdvertiserLinkPr" + + "oposalResponse\"X\202\323\344\223\002R\"M/v1alpha/{name=p" + + "roperties/*/displayVideo360AdvertiserLin" + + "kProposals/*}:approve:\001*\022\241\002\n+CancelDispl" + + "ayVideo360AdvertiserLinkProposal\022R.googl" + + "e.analytics.admin.v1alpha.CancelDisplayV" + "ideo360AdvertiserLinkProposalRequest\032E.g" + "oogle.analytics.admin.v1alpha.DisplayVid" - + "eo360AdvertiserLinkProposal\"T\332A\004name\202\323\344\223" - + "\002G\022E/v1alpha/{name=properties/*/displayV" - + "ideo360AdvertiserLinkProposals/*}\022\253\002\n*Li" - + "stDisplayVideo360AdvertiserLinkProposals" - + "\022Q.google.analytics.admin.v1alpha.ListDi" - + "splayVideo360AdvertiserLinkProposalsRequ" - + "est\032R.google.analytics.admin.v1alpha.Lis" - + "tDisplayVideo360AdvertiserLinkProposalsR" - + "esponse\"V\332A\006parent\202\323\344\223\002G\022E/v1alpha/{pare" - + "nt=properties/*}/displayVideo360Advertis" - + "erLinkProposals\022\370\002\n+CreateDisplayVideo36" - + "0AdvertiserLinkProposal\022R.google.analyti" - + "cs.admin.v1alpha.CreateDisplayVideo360Ad" - + "vertiserLinkProposalRequest\032E.google.ana" - + "lytics.admin.v1alpha.DisplayVideo360Adve" - + "rtiserLinkProposal\"\255\001\332A1parent,display_v" - + "ideo_360_advertiser_link_proposal\202\323\344\223\002s\"" - + "E/v1alpha/{parent=properties/*}/displayV" - + "ideo360AdvertiserLinkProposals:*display_" - + "video_360_advertiser_link_proposal\022\357\001\n+D" - + "eleteDisplayVideo360AdvertiserLinkPropos" - + "al\022R.google.analytics.admin.v1alpha.Dele" - + "teDisplayVideo360AdvertiserLinkProposalR" - + "equest\032\026.google.protobuf.Empty\"T\332A\004name\202" - + "\323\344\223\002G*E/v1alpha/{name=properties/*/displ" - + "ayVideo360AdvertiserLinkProposals/*}\022\263\002\n" - + ",ApproveDisplayVideo360AdvertiserLinkPro" - + "posal\022S.google.analytics.admin.v1alpha.A" - + "pproveDisplayVideo360AdvertiserLinkPropo" - + "salRequest\032T.google.analytics.admin.v1al" - + "pha.ApproveDisplayVideo360AdvertiserLink" - + "ProposalResponse\"X\202\323\344\223\002R\"M/v1alpha/{name" - + "=properties/*/displayVideo360AdvertiserL" - + "inkProposals/*}:approve:\001*\022\241\002\n+CancelDis" - + "playVideo360AdvertiserLinkProposal\022R.goo" - + "gle.analytics.admin.v1alpha.CancelDispla" - + "yVideo360AdvertiserLinkProposalRequest\032E" - + ".google.analytics.admin.v1alpha.DisplayV" - + "ideo360AdvertiserLinkProposal\"W\202\323\344\223\002Q\"L/" - + "v1alpha/{name=properties/*/displayVideo3" - + "60AdvertiserLinkProposals/*}:cancel:\001*\022\353" - + "\001\n\025CreateCustomDimension\022<.google.analyt" - + "ics.admin.v1alpha.CreateCustomDimensionR" - + "equest\032/.google.analytics.admin.v1alpha." - + "CustomDimension\"c\332A\027parent,custom_dimens" - + "ion\202\323\344\223\002C\"//v1alpha/{parent=properties/*" - + "}/customDimensions:\020custom_dimension\022\201\002\n" - + "\025UpdateCustomDimension\022<.google.analytic" - + "s.admin.v1alpha.UpdateCustomDimensionReq" + + "eo360AdvertiserLinkProposal\"W\202\323\344\223\002Q\"L/v1" + + "alpha/{name=properties/*/displayVideo360" + + "AdvertiserLinkProposals/*}:cancel:\001*\022\353\001\n" + + "\025CreateCustomDimension\022<.google.analytic" + + "s.admin.v1alpha.CreateCustomDimensionReq" + "uest\032/.google.analytics.admin.v1alpha.Cu" - + "stomDimension\"y\332A\034custom_dimension,updat" - + "e_mask\202\323\344\223\002T2@/v1alpha/{custom_dimension" - + ".name=properties/*/customDimensions/*}:\020" - + "custom_dimension\022\323\001\n\024ListCustomDimension" - + "s\022;.google.analytics.admin.v1alpha.ListC" - + "ustomDimensionsRequest\032<.google.analytic" - + "s.admin.v1alpha.ListCustomDimensionsResp" - + "onse\"@\332A\006parent\202\323\344\223\0021\022//v1alpha/{parent=" - + "properties/*}/customDimensions\022\272\001\n\026Archi" - + "veCustomDimension\022=.google.analytics.adm" - + "in.v1alpha.ArchiveCustomDimensionRequest" - + "\032\026.google.protobuf.Empty\"I\332A\004name\202\323\344\223\002<\"" - + "7/v1alpha/{name=properties/*/customDimen" - + "sions/*}:archive:\001*\022\300\001\n\022GetCustomDimensi" - + "on\0229.google.analytics.admin.v1alpha.GetC" - + "ustomDimensionRequest\032/.google.analytics" - + ".admin.v1alpha.CustomDimension\">\332A\004name\202" - + "\323\344\223\0021\022//v1alpha/{name=properties/*/custo" - + "mDimensions/*}\022\331\001\n\022CreateCustomMetric\0229." - + "google.analytics.admin.v1alpha.CreateCus" - + "tomMetricRequest\032,.google.analytics.admi" - + "n.v1alpha.CustomMetric\"Z\332A\024parent,custom" - + "_metric\202\323\344\223\002=\",/v1alpha/{parent=properti" - + "es/*}/customMetrics:\rcustom_metric\022\354\001\n\022U" - + "pdateCustomMetric\0229.google.analytics.adm" - + "in.v1alpha.UpdateCustomMetricRequest\032,.g" - + "oogle.analytics.admin.v1alpha.CustomMetr" - + "ic\"m\332A\031custom_metric,update_mask\202\323\344\223\002K2:" - + "/v1alpha/{custom_metric.name=properties/" - + "*/customMetrics/*}:\rcustom_metric\022\307\001\n\021Li" - + "stCustomMetrics\0228.google.analytics.admin" - + ".v1alpha.ListCustomMetricsRequest\0329.goog" - + "le.analytics.admin.v1alpha.ListCustomMet" - + "ricsResponse\"=\332A\006parent\202\323\344\223\002.\022,/v1alpha/" - + "{parent=properties/*}/customMetrics\022\261\001\n\023" - + "ArchiveCustomMetric\022:.google.analytics.a" - + "dmin.v1alpha.ArchiveCustomMetricRequest\032" - + "\026.google.protobuf.Empty\"F\332A\004name\202\323\344\223\0029\"4" - + "/v1alpha/{name=properties/*/customMetric" - + "s/*}:archive:\001*\022\264\001\n\017GetCustomMetric\0226.go" - + "ogle.analytics.admin.v1alpha.GetCustomMe" - + "tricRequest\032,.google.analytics.admin.v1a" - + "lpha.CustomMetric\";\332A\004name\202\323\344\223\002.\022,/v1alp" - + "ha/{name=properties/*/customMetrics/*}\022\325" - + "\001\n\030GetDataRetentionSettings\022?.google.ana" - + "lytics.admin.v1alpha.GetDataRetentionSet" - + "tingsRequest\0325.google.analytics.admin.v1" - + "alpha.DataRetentionSettings\"A\332A\004name\202\323\344\223" - + "\0024\0222/v1alpha/{name=properties/*/dataRete" - + "ntionSettings}\022\254\002\n\033UpdateDataRetentionSe" - + "ttings\022B.google.analytics.admin.v1alpha." - + "UpdateDataRetentionSettingsRequest\0325.goo" - + "gle.analytics.admin.v1alpha.DataRetentio" - + "nSettings\"\221\001\332A#data_retention_settings,u" - + "pdate_mask\202\323\344\223\002e2J/v1alpha/{data_retenti" - + "on_settings.name=properties/*/dataRetent" - + "ionSettings}:\027data_retention_settings\022\315\001" - + "\n\020CreateDataStream\0227.google.analytics.ad" - + "min.v1alpha.CreateDataStreamRequest\032*.go" - + "ogle.analytics.admin.v1alpha.DataStream\"" - + "T\332A\022parent,data_stream\202\323\344\223\0029\"*/v1alpha/{" - + "parent=properties/*}/dataStreams:\013data_s" - + "tream\022\236\001\n\020DeleteDataStream\0227.google.anal" - + "ytics.admin.v1alpha.DeleteDataStreamRequ" - + "est\032\026.google.protobuf.Empty\"9\332A\004name\202\323\344\223" - + "\002,**/v1alpha/{name=properties/*/dataStre" - + "ams/*}\022\336\001\n\020UpdateDataStream\0227.google.ana" - + "lytics.admin.v1alpha.UpdateDataStreamReq" - + "uest\032*.google.analytics.admin.v1alpha.Da" - + "taStream\"e\332A\027data_stream,update_mask\202\323\344\223" - + "\002E26/v1alpha/{data_stream.name=propertie" - + "s/*/dataStreams/*}:\013data_stream\022\277\001\n\017List" - + "DataStreams\0226.google.analytics.admin.v1a" - + "lpha.ListDataStreamsRequest\0327.google.ana" - + "lytics.admin.v1alpha.ListDataStreamsResp" - + "onse\";\332A\006parent\202\323\344\223\002,\022*/v1alpha/{parent=" - + "properties/*}/dataStreams\022\254\001\n\rGetDataStr" - + "eam\0224.google.analytics.admin.v1alpha.Get" - + "DataStreamRequest\032*.google.analytics.adm" - + "in.v1alpha.DataStream\"9\332A\004name\202\323\344\223\002,\022*/v" - + "1alpha/{name=properties/*/dataStreams/*}" - + "\022\244\001\n\013GetAudience\0222.google.analytics.admi" - + "n.v1alpha.GetAudienceRequest\032(.google.an" - + "alytics.admin.v1alpha.Audience\"7\332A\004name\202" - + "\323\344\223\002*\022(/v1alpha/{name=properties/*/audie" - + "nces/*}\022\267\001\n\rListAudiences\0224.google.analy" - + "tics.admin.v1alpha.ListAudiencesRequest\032" - + "5.google.analytics.admin.v1alpha.ListAud" - + "iencesResponse\"9\332A\006parent\202\323\344\223\002*\022(/v1alph" - + "a/{parent=properties/*}/audiences\022\277\001\n\016Cr" - + "eateAudience\0225.google.analytics.admin.v1" - + "alpha.CreateAudienceRequest\032(.google.ana" - + "lytics.admin.v1alpha.Audience\"L\332A\017parent" - + ",audience\202\323\344\223\0024\"(/v1alpha/{parent=proper" - + "ties/*}/audiences:\010audience\022\315\001\n\016UpdateAu" - + "dience\0225.google.analytics.admin.v1alpha." - + "UpdateAudienceRequest\032(.google.analytics" - + ".admin.v1alpha.Audience\"Z\332A\024audience,upd" - + "ate_mask\202\323\344\223\002=21/v1alpha/{audience.name=" - + "properties/*/audiences/*}:\010audience\022\236\001\n\017" - + "ArchiveAudience\0226.google.analytics.admin" - + ".v1alpha.ArchiveAudienceRequest\032\026.google" - + ".protobuf.Empty\";\202\323\344\223\0025\"0/v1alpha/{name=" - + "properties/*/audiences/*}:archive:\001*\022\304\001\n" - + "\023GetSearchAds360Link\022:.google.analytics." - + "admin.v1alpha.GetSearchAds360LinkRequest" - + "\0320.google.analytics.admin.v1alpha.Search" - + "Ads360Link\"?\332A\004name\202\323\344\223\0022\0220/v1alpha/{nam" - + "e=properties/*/searchAds360Links/*}\022\327\001\n\025" - + "ListSearchAds360Links\022<.google.analytics" - + ".admin.v1alpha.ListSearchAds360LinksRequ" - + "est\032=.google.analytics.admin.v1alpha.Lis" - + "tSearchAds360LinksResponse\"A\332A\006parent\202\323\344" - + "\223\0022\0220/v1alpha/{parent=properties/*}/sear" - + "chAds360Links\022\365\001\n\026CreateSearchAds360Link" - + "\022=.google.analytics.admin.v1alpha.Create" - + "SearchAds360LinkRequest\0320.google.analyti" - + "cs.admin.v1alpha.SearchAds360Link\"j\332A\032pa" - + "rent,search_ads_360_link\202\323\344\223\002G\"0/v1alpha" - + "/{parent=properties/*}/searchAds360Links" - + ":\023search_ads_360_link\022\260\001\n\026DeleteSearchAd" - + "s360Link\022=.google.analytics.admin.v1alph" - + "a.DeleteSearchAds360LinkRequest\032\026.google" - + ".protobuf.Empty\"?\332A\004name\202\323\344\223\0022*0/v1alpha" - + "/{name=properties/*/searchAds360Links/*}" - + "\022\217\002\n\026UpdateSearchAds360Link\022=.google.ana" - + "lytics.admin.v1alpha.UpdateSearchAds360L" - + "inkRequest\0320.google.analytics.admin.v1al" - + "pha.SearchAds360Link\"\203\001\332A\037search_ads_360" - + "_link,update_mask\202\323\344\223\002[2D/v1alpha/{searc" - + "h_ads_360_link.name=properties/*/searchA" - + "ds360Links/*}:\023search_ads_360_link\022\315\001\n\026G" - + "etAttributionSettings\022=.google.analytics" - + ".admin.v1alpha.GetAttributionSettingsReq" - + "uest\0323.google.analytics.admin.v1alpha.At" - + "tributionSettings\"?\332A\004name\202\323\344\223\0022\0220/v1alp" - + "ha/{name=properties/*/attributionSetting" - + "s}\022\233\002\n\031UpdateAttributionSettings\022@.googl" - + "e.analytics.admin.v1alpha.UpdateAttribut", - "ionSettingsRequest\0323.google.analytics.ad" - + "min.v1alpha.AttributionSettings\"\206\001\332A att" - + "ribution_settings,update_mask\202\323\344\223\002]2E/v1" - + "alpha/{attribution_settings.name=propert" - + "ies/*/attributionSettings}:\024attribution_" - + "settings\022\360\001\n\017RunAccessReport\0226.google.an" - + "alytics.admin.v1alpha.RunAccessReportReq" - + "uest\0327.google.analytics.admin.v1alpha.Ru" - + "nAccessReportResponse\"l\202\323\344\223\002f\"./v1alpha/" - + "{entity=properties/*}:runAccessReport:\001*" - + "Z1\",/v1alpha/{entity=accounts/*}:runAcce" - + "ssReport:\001*\022\237\002\n\023CreateAccessBinding\022:.go" - + "ogle.analytics.admin.v1alpha.CreateAcces" - + "sBindingRequest\032-.google.analytics.admin" - + ".v1alpha.AccessBinding\"\234\001\332A\025parent,acces" - + "s_binding\202\323\344\223\002~\"+/v1alpha/{parent=accoun" - + "ts/*}/accessBindings:\016access_bindingZ?\"-" - + "/v1alpha/{parent=properties/*}/accessBin" - + "dings:\016access_binding\022\347\001\n\020GetAccessBindi" - + "ng\0227.google.analytics.admin.v1alpha.GetA" - + "ccessBindingRequest\032-.google.analytics.a" - + "dmin.v1alpha.AccessBinding\"k\332A\004name\202\323\344\223\002" - + "^\022+/v1alpha/{name=accounts/*/accessBindi" - + "ngs/*}Z/\022-/v1alpha/{name=properties/*/ac" - + "cessBindings/*}\022\267\002\n\023UpdateAccessBinding\022" - + ":.google.analytics.admin.v1alpha.UpdateA" - + "ccessBindingRequest\032-.google.analytics.a" - + "dmin.v1alpha.AccessBinding\"\264\001\332A\016access_b" - + "inding\202\323\344\223\002\234\0012:/v1alpha/{access_binding." - + "name=accounts/*/accessBindings/*}:\016acces" - + "s_bindingZN2\"9/v1al" - + "pha/{parent=properties/*}/accessBindings" - + ":batchCreate:\001*\022\217\002\n\026BatchGetAccessBindin" - + "gs\022=.google.analytics.admin.v1alpha.Batc" - + "hGetAccessBindingsRequest\032>.google.analy" - + "tics.admin.v1alpha.BatchGetAccessBinding" - + "sResponse\"v\202\323\344\223\002p\0224/v1alpha/{parent=acco" - + "unts/*}/accessBindings:batchGetZ8\0226/v1al" - + "pha/{parent=properties/*}/accessBindings" - + ":batchGet\022\245\002\n\031BatchUpdateAccessBindings\022" - + "@.google.analytics.admin.v1alpha.BatchUp" - + "dateAccessBindingsRequest\032A.google.analy" - + "tics.admin.v1alpha.BatchUpdateAccessBind" - + "ingsResponse\"\202\001\202\323\344\223\002|\"7/v1alpha/{parent=" - + "accounts/*}/accessBindings:batchUpdate:\001" - + "*Z>\"9/v1alpha/{parent=properties/*}/acce" - + "ssBindings:batchUpdate:\001*\022\372\001\n\031BatchDelet" - + "eAccessBindings\022@.google.analytics.admin" - + ".v1alpha.BatchDeleteAccessBindingsReques" - + "t\032\026.google.protobuf.Empty\"\202\001\202\323\344\223\002|\"7/v1a" - + "lpha/{parent=accounts/*}/accessBindings:" - + "batchDelete:\001*Z>\"9/v1alpha/{parent=prope" - + "rties/*}/accessBindings:batchDelete:\001*\022\300" - + "\001\n\022GetExpandedDataSet\0229.google.analytics" - + ".admin.v1alpha.GetExpandedDataSetRequest" - + "\032/.google.analytics.admin.v1alpha.Expand" - + "edDataSet\">\332A\004name\202\323\344\223\0021\022//v1alpha/{name" - + "=properties/*/expandedDataSets/*}\022\323\001\n\024Li" - + "stExpandedDataSets\022;.google.analytics.ad" - + "min.v1alpha.ListExpandedDataSetsRequest\032" - + "<.google.analytics.admin.v1alpha.ListExp" - + "andedDataSetsResponse\"@\332A\006parent\202\323\344\223\0021\022/" - + "/v1alpha/{parent=properties/*}/expandedD" - + "ataSets\022\355\001\n\025CreateExpandedDataSet\022<.goog" - + "le.analytics.admin.v1alpha.CreateExpande" - + "dDataSetRequest\032/.google.analytics.admin" - + ".v1alpha.ExpandedDataSet\"e\332A\030parent,expa" - + "nded_data_set\202\323\344\223\002D\"//v1alpha/{parent=pr" - + "operties/*}/expandedDataSets:\021expanded_d" - + "ata_set\022\204\002\n\025UpdateExpandedDataSet\022<.goog" - + "le.analytics.admin.v1alpha.UpdateExpande" - + "dDataSetRequest\032/.google.analytics.admin" - + ".v1alpha.ExpandedDataSet\"|\332A\035expanded_da" - + "ta_set,update_mask\202\323\344\223\002V2A/v1alpha/{expa" - + "nded_data_set.name=properties/*/expanded" - + "DataSets/*}:\021expanded_data_set\022\255\001\n\025Delet" - + "eExpandedDataSet\022<.google.analytics.admi" - + "n.v1alpha.DeleteExpandedDataSetRequest\032\026" - + ".google.protobuf.Empty\">\332A\004name\202\323\344\223\0021*//" - + "v1alpha/{name=properties/*/expandedDataS" - + "ets/*}\022\264\001\n\017GetChannelGroup\0226.google.anal" - + "ytics.admin.v1alpha.GetChannelGroupReque" - + "st\032,.google.analytics.admin.v1alpha.Chan" - + "nelGroup\";\332A\004name\202\323\344\223\002.\022,/v1alpha/{name=" - + "properties/*/channelGroups/*}\022\307\001\n\021ListCh" - + "annelGroups\0228.google.analytics.admin.v1a" - + "lpha.ListChannelGroupsRequest\0329.google.a" - + "nalytics.admin.v1alpha.ListChannelGroups" - + "Response\"=\332A\006parent\202\323\344\223\002.\022,/v1alpha/{par" - + "ent=properties/*}/channelGroups\022\331\001\n\022Crea" - + "teChannelGroup\0229.google.analytics.admin." - + "v1alpha.CreateChannelGroupRequest\032,.goog" - + "le.analytics.admin.v1alpha.ChannelGroup\"" - + "Z\332A\024parent,channel_group\202\323\344\223\002=\",/v1alpha" - + "/{parent=properties/*}/channelGroups:\rch" - + "annel_group\022\354\001\n\022UpdateChannelGroup\0229.goo" - + "gle.analytics.admin.v1alpha.UpdateChanne" - + "lGroupRequest\032,.google.analytics.admin.v" - + "1alpha.ChannelGroup\"m\332A\031channel_group,up" - + "date_mask\202\323\344\223\002K2:/v1alpha/{channel_group" - + ".name=properties/*/channelGroups/*}:\rcha" - + "nnel_group\022\244\001\n\022DeleteChannelGroup\0229.goog" - + "le.analytics.admin.v1alpha.DeleteChannel" - + "GroupRequest\032\026.google.protobuf.Empty\";\332A" - + "\004name\202\323\344\223\002.*,/v1alpha/{name=properties/*" - + "/channelGroups/*}\022\331\001\n\022CreateBigQueryLink" - + "\0229.google.analytics.admin.v1alpha.Create" - + "BigQueryLinkRequest\032,.google.analytics.a" - + "dmin.v1alpha.BigQueryLink\"Z\332A\024parent,big" - + "query_link\202\323\344\223\002=\",/v1alpha/{parent=prope" - + "rties/*}/bigQueryLinks:\rbigquery_link\022\264\001" - + "\n\017GetBigQueryLink\0226.google.analytics.adm" - + "in.v1alpha.GetBigQueryLinkRequest\032,.goog" - + "le.analytics.admin.v1alpha.BigQueryLink\"" - + ";\332A\004name\202\323\344\223\002.\022,/v1alpha/{name=propertie" - + "s/*/bigQueryLinks/*}\022\307\001\n\021ListBigQueryLin" - + "ks\0228.google.analytics.admin.v1alpha.List" - + "BigQueryLinksRequest\0329.google.analytics." - + "admin.v1alpha.ListBigQueryLinksResponse\"" - + "=\332A\006parent\202\323\344\223\002.\022,/v1alpha/{parent=prope" - + "rties/*}/bigQueryLinks\022\244\001\n\022DeleteBigQuer" - + "yLink\0229.google.analytics.admin.v1alpha.D" - + "eleteBigQueryLinkRequest\032\026.google.protob" - + "uf.Empty\";\332A\004name\202\323\344\223\002.*,/v1alpha/{name=" - + "properties/*/bigQueryLinks/*}\022\354\001\n\022Update" - + "BigQueryLink\0229.google.analytics.admin.v1" - + "alpha.UpdateBigQueryLinkRequest\032,.google" - + ".analytics.admin.v1alpha.BigQueryLink\"m\332" - + "A\031bigquery_link,update_mask\202\323\344\223\002K2:/v1al" - + "pha/{bigquery_link.name=properties/*/big" - + "QueryLinks/*}:\rbigquery_link\022\373\001\n\036GetEnha" - + "ncedMeasurementSettings\022E.google.analyti" - + "cs.admin.v1alpha.GetEnhancedMeasurementS" - + "ettingsRequest\032;.google.analytics.admin." - + "v1alpha.EnhancedMeasurementSettings\"U\332A\004" - + "name\202\323\344\223\002H\022F/v1alpha/{name=properties/*/" - + "dataStreams/*/enhancedMeasurementSetting" - + "s}\022\345\002\n!UpdateEnhancedMeasurementSettings" - + "\022H.google.analytics.admin.v1alpha.Update" - + "EnhancedMeasurementSettingsRequest\032;.goo" - + "gle.analytics.admin.v1alpha.EnhancedMeas" - + "urementSettings\"\270\001\332A)enhanced_measuremen" - + "t_settings,update_mask\202\323\344\223\002\205\0012d/v1alpha/" - + "{enhanced_measurement_settings.name=prop" - + "erties/*/dataStreams/*/enhancedMeasureme" - + "ntSettings}:\035enhanced_measurement_settin" - + "gs\022\260\001\n\016GetAdSenseLink\0225.google.analytics" - + ".admin.v1alpha.GetAdSenseLinkRequest\032+.g" - + "oogle.analytics.admin.v1alpha.AdSenseLin" - + "k\":\332A\004name\202\323\344\223\002-\022+/v1alpha/{name=propert" - + "ies/*/adSenseLinks/*}\022\323\001\n\021CreateAdSenseL" - + "ink\0228.google.analytics.admin.v1alpha.Cre" - + "ateAdSenseLinkRequest\032+.google.analytics" - + ".admin.v1alpha.AdSenseLink\"W\332A\023parent,ad" - + "sense_link\202\323\344\223\002;\"+/v1alpha/{parent=prope" - + "rties/*}/adSenseLinks:\014adsense_link\022\241\001\n\021" - + "DeleteAdSenseLink\0228.google.analytics.adm" - + "in.v1alpha.DeleteAdSenseLinkRequest\032\026.go" - + "ogle.protobuf.Empty\":\332A\004name\202\323\344\223\002-*+/v1a" - + "lpha/{name=properties/*/adSenseLinks/*}\022" - + "\303\001\n\020ListAdSenseLinks\0227.google.analytics." - + "admin.v1alpha.ListAdSenseLinksRequest\0328." - + "google.analytics.admin.v1alpha.ListAdSen" - + "seLinksResponse\"<\332A\006parent\202\323\344\223\002-\022+/v1alp" - + "ha/{parent=properties/*}/adSenseLinks\022\316\001" - + "\n\022GetEventCreateRule\0229.google.analytics." - + "admin.v1alpha.GetEventCreateRuleRequest\032" - + "/.google.analytics.admin.v1alpha.EventCr" - + "eateRule\"L\332A\004name\202\323\344\223\002?\022=/v1alpha/{name=" - + "properties/*/dataStreams/*/eventCreateRu" - + "les/*}\022\341\001\n\024ListEventCreateRules\022;.google" - + ".analytics.admin.v1alpha.ListEventCreate" - + "RulesRequest\032<.google.analytics.admin.v1" - + "alpha.ListEventCreateRulesResponse\"N\332A\006p" - + "arent\202\323\344\223\002?\022=/v1alpha/{parent=properties" - + "/*/dataStreams/*}/eventCreateRules\022\373\001\n\025C" - + "reateEventCreateRule\022<.google.analytics." - + "admin.v1alpha.CreateEventCreateRuleReque" - + "st\032/.google.analytics.admin.v1alpha.Even" - + "tCreateRule\"s\332A\030parent,event_create_rule" - + "\202\323\344\223\002R\"=/v1alpha/{parent=properties/*/da" - + "taStreams/*}/eventCreateRules:\021event_cre" - + "ate_rule\022\223\002\n\025UpdateEventCreateRule\022<.goo" - + "gle.analytics.admin.v1alpha.UpdateEventC" - + "reateRuleRequest\032/.google.analytics.admi" - + "n.v1alpha.EventCreateRule\"\212\001\332A\035event_cre" - + "ate_rule,update_mask\202\323\344\223\002d2O/v1alpha/{ev" - + "ent_create_rule.name=properties/*/dataSt" - + "reams/*/eventCreateRules/*}:\021event_creat" - + "e_rule\022\273\001\n\025DeleteEventCreateRule\022<.googl" - + "e.analytics.admin.v1alpha.DeleteEventCre" - + "ateRuleRequest\032\026.google.protobuf.Empty\"L" - + "\332A\004name\202\323\344\223\002?*=/v1alpha/{name=properties" - + "/*/dataStreams/*/eventCreateRules/*}\022\306\001\n" - + "\020GetEventEditRule\0227.google.analytics.adm" - + "in.v1alpha.GetEventEditRuleRequest\032-.goo" - + "gle.analytics.admin.v1alpha.EventEditRul" - + "e\"J\332A\004name\202\323\344\223\002=\022;/v1alpha/{name=propert" - + "ies/*/dataStreams/*/eventEditRules/*}\022\331\001" - + "\n\022ListEventEditRules\0229.google.analytics." - + "admin.v1alpha.ListEventEditRulesRequest\032" - + ":.google.analytics.admin.v1alpha.ListEve" - + "ntEditRulesResponse\"L\332A\006parent\202\323\344\223\002=\022;/v" - + "1alpha/{parent=properties/*/dataStreams/" - + "*}/eventEditRules\022\357\001\n\023CreateEventEditRul" - + "e\022:.google.analytics.admin.v1alpha.Creat" + + "stomDimension\"c\332A\027parent,custom_dimensio" + + "n\202\323\344\223\002C\"//v1alpha/{parent=properties/*}/" + + "customDimensions:\020custom_dimension\022\201\002\n\025U" + + "pdateCustomDimension\022<.google.analytics." + + "admin.v1alpha.UpdateCustomDimensionReque" + + "st\032/.google.analytics.admin.v1alpha.Cust" + + "omDimension\"y\332A\034custom_dimension,update_" + + "mask\202\323\344\223\002T2@/v1alpha/{custom_dimension.n" + + "ame=properties/*/customDimensions/*}:\020cu" + + "stom_dimension\022\323\001\n\024ListCustomDimensions\022" + + ";.google.analytics.admin.v1alpha.ListCus" + + "tomDimensionsRequest\032<.google.analytics." + + "admin.v1alpha.ListCustomDimensionsRespon" + + "se\"@\332A\006parent\202\323\344\223\0021\022//v1alpha/{parent=pr" + + "operties/*}/customDimensions\022\272\001\n\026Archive" + + "CustomDimension\022=.google.analytics.admin" + + ".v1alpha.ArchiveCustomDimensionRequest\032\026" + + ".google.protobuf.Empty\"I\332A\004name\202\323\344\223\002<\"7/" + + "v1alpha/{name=properties/*/customDimensi" + + "ons/*}:archive:\001*\022\300\001\n\022GetCustomDimension" + + "\0229.google.analytics.admin.v1alpha.GetCus" + + "tomDimensionRequest\032/.google.analytics.a" + + "dmin.v1alpha.CustomDimension\">\332A\004name\202\323\344" + + "\223\0021\022//v1alpha/{name=properties/*/customD" + + "imensions/*}\022\331\001\n\022CreateCustomMetric\0229.go" + + "ogle.analytics.admin.v1alpha.CreateCusto" + + "mMetricRequest\032,.google.analytics.admin." + + "v1alpha.CustomMetric\"Z\332A\024parent,custom_m" + + "etric\202\323\344\223\002=\",/v1alpha/{parent=properties" + + "/*}/customMetrics:\rcustom_metric\022\354\001\n\022Upd" + + "ateCustomMetric\0229.google.analytics.admin" + + ".v1alpha.UpdateCustomMetricRequest\032,.goo" + + "gle.analytics.admin.v1alpha.CustomMetric" + + "\"m\332A\031custom_metric,update_mask\202\323\344\223\002K2:/v" + + "1alpha/{custom_metric.name=properties/*/" + + "customMetrics/*}:\rcustom_metric\022\307\001\n\021List" + + "CustomMetrics\0228.google.analytics.admin.v" + + "1alpha.ListCustomMetricsRequest\0329.google" + + ".analytics.admin.v1alpha.ListCustomMetri" + + "csResponse\"=\332A\006parent\202\323\344\223\002.\022,/v1alpha/{p" + + "arent=properties/*}/customMetrics\022\261\001\n\023Ar" + + "chiveCustomMetric\022:.google.analytics.adm" + + "in.v1alpha.ArchiveCustomMetricRequest\032\026." + + "google.protobuf.Empty\"F\332A\004name\202\323\344\223\0029\"4/v" + + "1alpha/{name=properties/*/customMetrics/" + + "*}:archive:\001*\022\264\001\n\017GetCustomMetric\0226.goog" + + "le.analytics.admin.v1alpha.GetCustomMetr" + + "icRequest\032,.google.analytics.admin.v1alp" + + "ha.CustomMetric\";\332A\004name\202\323\344\223\002.\022,/v1alpha" + + "/{name=properties/*/customMetrics/*}\022\325\001\n" + + "\030GetDataRetentionSettings\022?.google.analy" + + "tics.admin.v1alpha.GetDataRetentionSetti" + + "ngsRequest\0325.google.analytics.admin.v1al" + + "pha.DataRetentionSettings\"A\332A\004name\202\323\344\223\0024" + + "\0222/v1alpha/{name=properties/*/dataRetent" + + "ionSettings}\022\254\002\n\033UpdateDataRetentionSett" + + "ings\022B.google.analytics.admin.v1alpha.Up" + + "dateDataRetentionSettingsRequest\0325.googl" + + "e.analytics.admin.v1alpha.DataRetentionS" + + "ettings\"\221\001\332A#data_retention_settings,upd" + + "ate_mask\202\323\344\223\002e2J/v1alpha/{data_retention" + + "_settings.name=properties/*/dataRetentio" + + "nSettings}:\027data_retention_settings\022\315\001\n\020" + + "CreateDataStream\0227.google.analytics.admi" + + "n.v1alpha.CreateDataStreamRequest\032*.goog" + + "le.analytics.admin.v1alpha.DataStream\"T\332" + + "A\022parent,data_stream\202\323\344\223\0029\"*/v1alpha/{pa" + + "rent=properties/*}/dataStreams:\013data_str" + + "eam\022\236\001\n\020DeleteDataStream\0227.google.analyt" + + "ics.admin.v1alpha.DeleteDataStreamReques" + + "t\032\026.google.protobuf.Empty\"9\332A\004name\202\323\344\223\002," + + "**/v1alpha/{name=properties/*/dataStream" + + "s/*}\022\336\001\n\020UpdateDataStream\0227.google.analy" + + "tics.admin.v1alpha.UpdateDataStreamReque" + + "st\032*.google.analytics.admin.v1alpha.Data" + + "Stream\"e\332A\027data_stream,update_mask\202\323\344\223\002E" + + "26/v1alpha/{data_stream.name=properties/" + + "*/dataStreams/*}:\013data_stream\022\277\001\n\017ListDa" + + "taStreams\0226.google.analytics.admin.v1alp" + + "ha.ListDataStreamsRequest\0327.google.analy" + + "tics.admin.v1alpha.ListDataStreamsRespon" + + "se\";\332A\006parent\202\323\344\223\002,\022*/v1alpha/{parent=pr" + + "operties/*}/dataStreams\022\254\001\n\rGetDataStrea" + + "m\0224.google.analytics.admin.v1alpha.GetDa" + + "taStreamRequest\032*.google.analytics.admin" + + ".v1alpha.DataStream\"9\332A\004name\202\323\344\223\002,\022*/v1a" + + "lpha/{name=properties/*/dataStreams/*}\022\244" + + "\001\n\013GetAudience\0222.google.analytics.admin." + + "v1alpha.GetAudienceRequest\032(.google.anal" + + "ytics.admin.v1alpha.Audience\"7\332A\004name\202\323\344" + + "\223\002*\022(/v1alpha/{name=properties/*/audienc" + + "es/*}\022\267\001\n\rListAudiences\0224.google.analyti" + + "cs.admin.v1alpha.ListAudiencesRequest\0325." + + "google.analytics.admin.v1alpha.ListAudie" + + "ncesResponse\"9\332A\006parent\202\323\344\223\002*\022(/v1alpha/" + + "{parent=properties/*}/audiences\022\277\001\n\016Crea" + + "teAudience\0225.google.analytics.admin.v1al" + + "pha.CreateAudienceRequest\032(.google.analy" + + "tics.admin.v1alpha.Audience\"L\332A\017parent,a" + + "udience\202\323\344\223\0024\"(/v1alpha/{parent=properti" + + "es/*}/audiences:\010audience\022\315\001\n\016UpdateAudi" + + "ence\0225.google.analytics.admin.v1alpha.Up" + + "dateAudienceRequest\032(.google.analytics.a" + + "dmin.v1alpha.Audience\"Z\332A\024audience,updat" + + "e_mask\202\323\344\223\002=21/v1alpha/{audience.name=pr" + + "operties/*/audiences/*}:\010audience\022\236\001\n\017Ar" + + "chiveAudience\0226.google.analytics.admin.v" + + "1alpha.ArchiveAudienceRequest\032\026.google.p" + + "rotobuf.Empty\";\202\323\344\223\0025\"0/v1alpha/{name=pr" + + "operties/*/audiences/*}:archive:\001*\022\304\001\n\023G" + + "etSearchAds360Link\022:.google.analytics.ad" + + "min.v1alpha.GetSearchAds360LinkRequest\0320" + + ".google.analytics.admin.v1alpha.SearchAd" + + "s360Link\"?\332A\004name\202\323\344\223\0022\0220/v1alpha/{name=" + + "properties/*/searchAds360Links/*}\022\327\001\n\025Li" + + "stSearchAds360Links\022<.google.analytics.a" + + "dmin.v1alpha.ListSearchAds360LinksReques" + + "t\032=.google.analytics.admin.v1alpha.ListS" + + "earchAds360LinksResponse\"A\332A\006parent\202\323\344\223\002" + + "2\0220/v1alpha/{parent=properties/*}/search" + + "Ads360Links\022\365\001\n\026CreateSearchAds360Link\022=" + + ".google.analytics.admin.v1alpha.CreateSe" + + "archAds360LinkRequest\0320.google.analytics" + + ".admin.v1alpha.SearchAds360Link\"j\332A\032pare" + + "nt,search_ads_360_link\202\323\344\223\002G\"0/v1alpha/{" + + "parent=properties/*}/searchAds360Links:\023" + + "search_ads_360_link\022\260\001\n\026DeleteSearchAds3" + + "60Link\022=.google.analytics.admin.v1alpha." + + "DeleteSearchAds360LinkRequest\032\026.google.p" + + "rotobuf.Empty\"?\332A\004name\202\323\344\223\0022*0/v1alpha/{" + + "name=properties/*/searchAds360Links/*}\022\217" + + "\002\n\026UpdateSearchAds360Link\022=.google.analy" + + "tics.admin.v1alpha.UpdateSearchAds360Lin" + + "kRequest\0320.google.analytics.admin.v1alph" + + "a.SearchAds360Link\"\203\001\332A\037search_ads_360_l" + + "ink,update_mask\202\323\344\223\002[2D/v1alpha/{search_" + + "ads_360_link.name=properties/*/searchAds" + + "360Links/*}:\023search_ads_360_link\022\315\001\n\026Get" + + "AttributionSettings\022=.google.analytics.a" + + "dmin.v1alpha.GetAttributionSettingsReque", + "st\0323.google.analytics.admin.v1alpha.Attr" + + "ibutionSettings\"?\332A\004name\202\323\344\223\0022\0220/v1alpha" + + "/{name=properties/*/attributionSettings}" + + "\022\233\002\n\031UpdateAttributionSettings\022@.google." + + "analytics.admin.v1alpha.UpdateAttributio" + + "nSettingsRequest\0323.google.analytics.admi" + + "n.v1alpha.AttributionSettings\"\206\001\332A attri" + + "bution_settings,update_mask\202\323\344\223\002]2E/v1al" + + "pha/{attribution_settings.name=propertie" + + "s/*/attributionSettings}:\024attribution_se" + + "ttings\022\360\001\n\017RunAccessReport\0226.google.anal" + + "ytics.admin.v1alpha.RunAccessReportReque" + + "st\0327.google.analytics.admin.v1alpha.RunA" + + "ccessReportResponse\"l\202\323\344\223\002f\"./v1alpha/{e" + + "ntity=properties/*}:runAccessReport:\001*Z1" + + "\",/v1alpha/{entity=accounts/*}:runAccess" + + "Report:\001*\022\237\002\n\023CreateAccessBinding\022:.goog" + + "le.analytics.admin.v1alpha.CreateAccessB" + + "indingRequest\032-.google.analytics.admin.v" + + "1alpha.AccessBinding\"\234\001\332A\025parent,access_" + + "binding\202\323\344\223\002~\"+/v1alpha/{parent=accounts" + + "/*}/accessBindings:\016access_bindingZ?\"-/v" + + "1alpha/{parent=properties/*}/accessBindi" + + "ngs:\016access_binding\022\347\001\n\020GetAccessBinding" + + "\0227.google.analytics.admin.v1alpha.GetAcc" + + "essBindingRequest\032-.google.analytics.adm" + + "in.v1alpha.AccessBinding\"k\332A\004name\202\323\344\223\002^\022" + + "+/v1alpha/{name=accounts/*/accessBinding" + + "s/*}Z/\022-/v1alpha/{name=properties/*/acce" + + "ssBindings/*}\022\267\002\n\023UpdateAccessBinding\022:." + + "google.analytics.admin.v1alpha.UpdateAcc" + + "essBindingRequest\032-.google.analytics.adm" + + "in.v1alpha.AccessBinding\"\264\001\332A\016access_bin" + + "ding\202\323\344\223\002\234\0012:/v1alpha/{access_binding.na" + + "me=accounts/*/accessBindings/*}:\016access_" + + "bindingZN2\"9/v1alph" + + "a/{parent=properties/*}/accessBindings:b" + + "atchCreate:\001*\022\217\002\n\026BatchGetAccessBindings" + + "\022=.google.analytics.admin.v1alpha.BatchG" + + "etAccessBindingsRequest\032>.google.analyti" + + "cs.admin.v1alpha.BatchGetAccessBindingsR" + + "esponse\"v\202\323\344\223\002p\0224/v1alpha/{parent=accoun" + + "ts/*}/accessBindings:batchGetZ8\0226/v1alph" + + "a/{parent=properties/*}/accessBindings:b" + + "atchGet\022\245\002\n\031BatchUpdateAccessBindings\022@." + + "google.analytics.admin.v1alpha.BatchUpda" + + "teAccessBindingsRequest\032A.google.analyti" + + "cs.admin.v1alpha.BatchUpdateAccessBindin" + + "gsResponse\"\202\001\202\323\344\223\002|\"7/v1alpha/{parent=ac" + + "counts/*}/accessBindings:batchUpdate:\001*Z" + + ">\"9/v1alpha/{parent=properties/*}/access" + + "Bindings:batchUpdate:\001*\022\372\001\n\031BatchDeleteA" + + "ccessBindings\022@.google.analytics.admin.v" + + "1alpha.BatchDeleteAccessBindingsRequest\032" + + "\026.google.protobuf.Empty\"\202\001\202\323\344\223\002|\"7/v1alp" + + "ha/{parent=accounts/*}/accessBindings:ba" + + "tchDelete:\001*Z>\"9/v1alpha/{parent=propert" + + "ies/*}/accessBindings:batchDelete:\001*\022\300\001\n" + + "\022GetExpandedDataSet\0229.google.analytics.a" + + "dmin.v1alpha.GetExpandedDataSetRequest\032/" + + ".google.analytics.admin.v1alpha.Expanded" + + "DataSet\">\332A\004name\202\323\344\223\0021\022//v1alpha/{name=p" + + "roperties/*/expandedDataSets/*}\022\323\001\n\024List" + + "ExpandedDataSets\022;.google.analytics.admi" + + "n.v1alpha.ListExpandedDataSetsRequest\032<." + + "google.analytics.admin.v1alpha.ListExpan" + + "dedDataSetsResponse\"@\332A\006parent\202\323\344\223\0021\022//v" + + "1alpha/{parent=properties/*}/expandedDat" + + "aSets\022\355\001\n\025CreateExpandedDataSet\022<.google" + + ".analytics.admin.v1alpha.CreateExpandedD" + + "ataSetRequest\032/.google.analytics.admin.v" + + "1alpha.ExpandedDataSet\"e\332A\030parent,expand" + + "ed_data_set\202\323\344\223\002D\"//v1alpha/{parent=prop" + + "erties/*}/expandedDataSets:\021expanded_dat" + + "a_set\022\204\002\n\025UpdateExpandedDataSet\022<.google" + + ".analytics.admin.v1alpha.UpdateExpandedD" + + "ataSetRequest\032/.google.analytics.admin.v" + + "1alpha.ExpandedDataSet\"|\332A\035expanded_data" + + "_set,update_mask\202\323\344\223\002V2A/v1alpha/{expand" + + "ed_data_set.name=properties/*/expandedDa" + + "taSets/*}:\021expanded_data_set\022\255\001\n\025DeleteE" + + "xpandedDataSet\022<.google.analytics.admin." + + "v1alpha.DeleteExpandedDataSetRequest\032\026.g" + + "oogle.protobuf.Empty\">\332A\004name\202\323\344\223\0021*//v1" + + "alpha/{name=properties/*/expandedDataSet" + + "s/*}\022\264\001\n\017GetChannelGroup\0226.google.analyt" + + "ics.admin.v1alpha.GetChannelGroupRequest" + + "\032,.google.analytics.admin.v1alpha.Channe" + + "lGroup\";\332A\004name\202\323\344\223\002.\022,/v1alpha/{name=pr" + + "operties/*/channelGroups/*}\022\307\001\n\021ListChan" + + "nelGroups\0228.google.analytics.admin.v1alp" + + "ha.ListChannelGroupsRequest\0329.google.ana" + + "lytics.admin.v1alpha.ListChannelGroupsRe" + + "sponse\"=\332A\006parent\202\323\344\223\002.\022,/v1alpha/{paren" + + "t=properties/*}/channelGroups\022\331\001\n\022Create" + + "ChannelGroup\0229.google.analytics.admin.v1" + + "alpha.CreateChannelGroupRequest\032,.google" + + ".analytics.admin.v1alpha.ChannelGroup\"Z\332" + + "A\024parent,channel_group\202\323\344\223\002=\",/v1alpha/{" + + "parent=properties/*}/channelGroups:\rchan" + + "nel_group\022\354\001\n\022UpdateChannelGroup\0229.googl" + + "e.analytics.admin.v1alpha.UpdateChannelG" + + "roupRequest\032,.google.analytics.admin.v1a" + + "lpha.ChannelGroup\"m\332A\031channel_group,upda" + + "te_mask\202\323\344\223\002K2:/v1alpha/{channel_group.n" + + "ame=properties/*/channelGroups/*}:\rchann" + + "el_group\022\244\001\n\022DeleteChannelGroup\0229.google" + + ".analytics.admin.v1alpha.DeleteChannelGr" + + "oupRequest\032\026.google.protobuf.Empty\";\332A\004n" + + "ame\202\323\344\223\002.*,/v1alpha/{name=properties/*/c" + + "hannelGroups/*}\022\331\001\n\022CreateBigQueryLink\0229" + + ".google.analytics.admin.v1alpha.CreateBi" + + "gQueryLinkRequest\032,.google.analytics.adm" + + "in.v1alpha.BigQueryLink\"Z\332A\024parent,bigqu" + + "ery_link\202\323\344\223\002=\",/v1alpha/{parent=propert" + + "ies/*}/bigQueryLinks:\rbigquery_link\022\264\001\n\017" + + "GetBigQueryLink\0226.google.analytics.admin" + + ".v1alpha.GetBigQueryLinkRequest\032,.google" + + ".analytics.admin.v1alpha.BigQueryLink\";\332" + + "A\004name\202\323\344\223\002.\022,/v1alpha/{name=properties/" + + "*/bigQueryLinks/*}\022\307\001\n\021ListBigQueryLinks" + + "\0228.google.analytics.admin.v1alpha.ListBi" + + "gQueryLinksRequest\0329.google.analytics.ad" + + "min.v1alpha.ListBigQueryLinksResponse\"=\332" + + "A\006parent\202\323\344\223\002.\022,/v1alpha/{parent=propert" + + "ies/*}/bigQueryLinks\022\244\001\n\022DeleteBigQueryL" + + "ink\0229.google.analytics.admin.v1alpha.Del" + + "eteBigQueryLinkRequest\032\026.google.protobuf" + + ".Empty\";\332A\004name\202\323\344\223\002.*,/v1alpha/{name=pr" + + "operties/*/bigQueryLinks/*}\022\354\001\n\022UpdateBi" + + "gQueryLink\0229.google.analytics.admin.v1al" + + "pha.UpdateBigQueryLinkRequest\032,.google.a" + + "nalytics.admin.v1alpha.BigQueryLink\"m\332A\031" + + "bigquery_link,update_mask\202\323\344\223\002K2:/v1alph" + + "a/{bigquery_link.name=properties/*/bigQu" + + "eryLinks/*}:\rbigquery_link\022\373\001\n\036GetEnhanc" + + "edMeasurementSettings\022E.google.analytics" + + ".admin.v1alpha.GetEnhancedMeasurementSet" + + "tingsRequest\032;.google.analytics.admin.v1" + + "alpha.EnhancedMeasurementSettings\"U\332A\004na" + + "me\202\323\344\223\002H\022F/v1alpha/{name=properties/*/da" + + "taStreams/*/enhancedMeasurementSettings}" + + "\022\345\002\n!UpdateEnhancedMeasurementSettings\022H" + + ".google.analytics.admin.v1alpha.UpdateEn" + + "hancedMeasurementSettingsRequest\032;.googl" + + "e.analytics.admin.v1alpha.EnhancedMeasur" + + "ementSettings\"\270\001\332A)enhanced_measurement_" + + "settings,update_mask\202\323\344\223\002\205\0012d/v1alpha/{e" + + "nhanced_measurement_settings.name=proper" + + "ties/*/dataStreams/*/enhancedMeasurement" + + "Settings}:\035enhanced_measurement_settings" + + "\022\260\001\n\016GetAdSenseLink\0225.google.analytics.a" + + "dmin.v1alpha.GetAdSenseLinkRequest\032+.goo" + + "gle.analytics.admin.v1alpha.AdSenseLink\"" + + ":\332A\004name\202\323\344\223\002-\022+/v1alpha/{name=propertie" + + "s/*/adSenseLinks/*}\022\323\001\n\021CreateAdSenseLin" + + "k\0228.google.analytics.admin.v1alpha.Creat" + + "eAdSenseLinkRequest\032+.google.analytics.a" + + "dmin.v1alpha.AdSenseLink\"W\332A\023parent,adse" + + "nse_link\202\323\344\223\002;\"+/v1alpha/{parent=propert" + + "ies/*}/adSenseLinks:\014adsense_link\022\241\001\n\021De" + + "leteAdSenseLink\0228.google.analytics.admin" + + ".v1alpha.DeleteAdSenseLinkRequest\032\026.goog" + + "le.protobuf.Empty\":\332A\004name\202\323\344\223\002-*+/v1alp" + + "ha/{name=properties/*/adSenseLinks/*}\022\303\001" + + "\n\020ListAdSenseLinks\0227.google.analytics.ad" + + "min.v1alpha.ListAdSenseLinksRequest\0328.go" + + "ogle.analytics.admin.v1alpha.ListAdSense" + + "LinksResponse\"<\332A\006parent\202\323\344\223\002-\022+/v1alpha" + + "/{parent=properties/*}/adSenseLinks\022\316\001\n\022" + + "GetEventCreateRule\0229.google.analytics.ad" + + "min.v1alpha.GetEventCreateRuleRequest\032/." + + "google.analytics.admin.v1alpha.EventCrea" + + "teRule\"L\332A\004name\202\323\344\223\002?\022=/v1alpha/{name=pr" + + "operties/*/dataStreams/*/eventCreateRule" + + "s/*}\022\341\001\n\024ListEventCreateRules\022;.google.a" + + "nalytics.admin.v1alpha.ListEventCreateRu" + + "lesRequest\032<.google.analytics.admin.v1al" + + "pha.ListEventCreateRulesResponse\"N\332A\006par" + + "ent\202\323\344\223\002?\022=/v1alpha/{parent=properties/*" + + "/dataStreams/*}/eventCreateRules\022\373\001\n\025Cre" + + "ateEventCreateRule\022<.google.analytics.ad" + + "min.v1alpha.CreateEventCreateRuleRequest" + + "\032/.google.analytics.admin.v1alpha.EventC" + + "reateRule\"s\332A\030parent,event_create_rule\202\323" + + "\344\223\002R\"=/v1alpha/{parent=properties/*/data" + + "Streams/*}/eventCreateRules:\021event_creat" + + "e_rule\022\223\002\n\025UpdateEventCreateRule\022<.googl" + + "e.analytics.admin.v1alpha.UpdateEventCre" + + "ateRuleRequest\032/.google.analytics.admin." + + "v1alpha.EventCreateRule\"\212\001\332A\035event_creat" + + "e_rule,update_mask\202\323\344\223\002d2O/v1alpha/{even" + + "t_create_rule.name=properties/*/dataStre" + + "ams/*/eventCreateRules/*}:\021event_create_" + + "rule\022\273\001\n\025DeleteEventCreateRule\022<.google." + + "analytics.admin.v1alpha.DeleteEventCreat" + + "eRuleRequest\032\026.google.protobuf.Empty\"L\332A" + + "\004name\202\323\344\223\002?*=/v1alpha/{name=properties/*" + + "/dataStreams/*/eventCreateRules/*}\022\306\001\n\020G" + + "etEventEditRule\0227.google.analytics.admin" + + ".v1alpha.GetEventEditRuleRequest\032-.googl" + + "e.analytics.admin.v1alpha.EventEditRule\"" + + "J\332A\004name\202\323\344\223\002=\022;/v1alpha/{name=propertie" + + "s/*/dataStreams/*/eventEditRules/*}\022\331\001\n\022" + + "ListEventEditRules\0229.google.analytics.ad" + + "min.v1alpha.ListEventEditRulesRequest\032:." + + "google.analytics.admin.v1alpha.ListEvent" + + "EditRulesResponse\"L\332A\006parent\202\323\344\223\002=\022;/v1a" + + "lpha/{parent=properties/*/dataStreams/*}" + + "/eventEditRules\022\357\001\n\023CreateEventEditRule\022" + + ":.google.analytics.admin.v1alpha.CreateE" + + "ventEditRuleRequest\032-.google.analytics.a" + + "dmin.v1alpha.EventEditRule\"m\332A\026parent,ev" + + "ent_edit_rule\202\323\344\223\002N\";/v1alpha/{parent=pr" + + "operties/*/dataStreams/*}/eventEditRules" + + ":\017event_edit_rule\022\205\002\n\023UpdateEventEditRul" + + "e\022:.google.analytics.admin.v1alpha.Updat" + "eEventEditRuleRequest\032-.google.analytics" - + ".admin.v1alpha.EventEditRule\"m\332A\026parent," - + "event_edit_rule\202\323\344\223\002N\";/v1alpha/{parent=" - + "properties/*/dataStreams/*}/eventEditRul" - + "es:\017event_edit_rule\022\205\002\n\023UpdateEventEditR" - + "ule\022:.google.analytics.admin.v1alpha.Upd" - + "ateEventEditRuleRequest\032-.google.analyti" - + "cs.admin.v1alpha.EventEditRule\"\202\001\332A\033even" - + "t_edit_rule,update_mask\202\323\344\223\002^2K/v1alpha/" - + "{event_edit_rule.name=properties/*/dataS" - + "treams/*/eventEditRules/*}:\017event_edit_r" - + "ule\022\265\001\n\023DeleteEventEditRule\022:.google.ana" - + "lytics.admin.v1alpha.DeleteEventEditRule" - + "Request\032\026.google.protobuf.Empty\"J\332A\004name" - + "\202\323\344\223\002=*;/v1alpha/{name=properties/*/data" - + "Streams/*/eventEditRules/*}\022\275\001\n\025ReorderE" - + "ventEditRules\022<.google.analytics.admin.v" - + "1alpha.ReorderEventEditRulesRequest\032\026.go" - + "ogle.protobuf.Empty\"N\202\323\344\223\002H\"C/v1alpha/{p" - + "arent=properties/*/dataStreams/*}/eventE" - + "ditRules:reorder:\001*\022\272\002\n\033UpdateDataRedact" - + "ionSettings\022B.google.analytics.admin.v1a" - + "lpha.UpdateDataRedactionSettingsRequest\032" - + "5.google.analytics.admin.v1alpha.DataRed" - + "actionSettings\"\237\001\332A#data_redaction_setti" - + "ngs,update_mask\202\323\344\223\002s2X/v1alpha/{data_re" - + "daction_settings.name=properties/*/dataS" - + "treams/*/dataRedactionSettings}:\027data_re" - + "daction_settings\022\343\001\n\030GetDataRedactionSet" - + "tings\022?.google.analytics.admin.v1alpha.G" - + "etDataRedactionSettingsRequest\0325.google." - + "analytics.admin.v1alpha.DataRedactionSet" - + "tings\"O\332A\004name\202\323\344\223\002B\022@/v1alpha/{name=pro" - + "perties/*/dataStreams/*/dataRedactionSet" - + "tings}\022\304\001\n\023GetCalculatedMetric\022:.google." - + "analytics.admin.v1alpha.GetCalculatedMet" - + "ricRequest\0320.google.analytics.admin.v1al" - + "pha.CalculatedMetric\"?\332A\004name\202\323\344\223\0022\0220/v1" - + "alpha/{name=properties/*/calculatedMetri" - + "cs/*}\022\206\002\n\026CreateCalculatedMetric\022=.googl" - + "e.analytics.admin.v1alpha.CreateCalculat" - + "edMetricRequest\0320.google.analytics.admin" - + ".v1alpha.CalculatedMetric\"{\332A-parent,cal" - + "culated_metric,calculated_metric_id\202\323\344\223\002" - + "E\"0/v1alpha/{parent=properties/*}/calcul" - + "atedMetrics:\021calculated_metric\022\327\001\n\025ListC" - + "alculatedMetrics\022<.google.analytics.admi" - + "n.v1alpha.ListCalculatedMetricsRequest\032=" - + ".google.analytics.admin.v1alpha.ListCalc" - + "ulatedMetricsResponse\"A\332A\006parent\202\323\344\223\0022\0220" - + "/v1alpha/{parent=properties/*}/calculate" - + "dMetrics\022\210\002\n\026UpdateCalculatedMetric\022=.go" - + "ogle.analytics.admin.v1alpha.UpdateCalcu" - + "latedMetricRequest\0320.google.analytics.ad" - + "min.v1alpha.CalculatedMetric\"}\332A\035calcula" - + "ted_metric,update_mask\202\323\344\223\002W2B/v1alpha/{" - + "calculated_metric.name=properties/*/calc" - + "ulatedMetrics/*}:\021calculated_metric\022\260\001\n\026" - + "DeleteCalculatedMetric\022=.google.analytic" - + "s.admin.v1alpha.DeleteCalculatedMetricRe" - + "quest\032\026.google.protobuf.Empty\"?\332A\004name\202\323" - + "\344\223\0022*0/v1alpha/{name=properties/*/calcul" - + "atedMetrics/*}\022\306\001\n\024CreateRollupProperty\022" - + ";.google.analytics.admin.v1alpha.CreateR" - + "ollupPropertyRequest\032<.google.analytics." - + "admin.v1alpha.CreateRollupPropertyRespon" - + "se\"3\202\323\344\223\002-\"(/v1alpha/properties:createRo" - + "llupProperty:\001*\022\344\001\n\033GetRollupPropertySou" - + "rceLink\022B.google.analytics.admin.v1alpha" - + ".GetRollupPropertySourceLinkRequest\0328.go" - + "ogle.analytics.admin.v1alpha.RollupPrope" - + "rtySourceLink\"G\332A\004name\202\323\344\223\002:\0228/v1alpha/{" - + "name=properties/*/rollupPropertySourceLi" - + "nks/*}\022\367\001\n\035ListRollupPropertySourceLinks" - + "\022D.google.analytics.admin.v1alpha.ListRo" - + "llupPropertySourceLinksRequest\032E.google." - + "analytics.admin.v1alpha.ListRollupProper" - + "tySourceLinksResponse\"I\332A\006parent\202\323\344\223\002:\0228" - + "/v1alpha/{parent=properties/*}/rollupPro" - + "pertySourceLinks\022\246\002\n\036CreateRollupPropert" - + "ySourceLink\022E.google.analytics.admin.v1a" - + "lpha.CreateRollupPropertySourceLinkReque" - + "st\0328.google.analytics.admin.v1alpha.Roll" - + "upPropertySourceLink\"\202\001\332A\"parent,rollup_" - + "property_source_link\202\323\344\223\002W\"8/v1alpha/{pa" - + "rent=properties/*}/rollupPropertySourceL" - + "inks:\033rollup_property_source_link\022\310\001\n\036De" - + "leteRollupPropertySourceLink\022E.google.an" - + "alytics.admin.v1alpha.DeleteRollupProper" - + "tySourceLinkRequest\032\026.google.protobuf.Em" - + "pty\"G\332A\004name\202\323\344\223\002:*8/v1alpha/{name=prope" - + "rties/*/rollupPropertySourceLinks/*}\022\306\001\n" - + "\024ProvisionSubproperty\022;.google.analytics" - + ".admin.v1alpha.ProvisionSubpropertyReque" - + "st\032<.google.analytics.admin.v1alpha.Prov" - + "isionSubpropertyResponse\"3\202\323\344\223\002-\"(/v1alp" - + "ha/properties:provisionSubproperty:\001*\022\227\002" - + "\n\034CreateSubpropertyEventFilter\022C.google." - + "analytics.admin.v1alpha.CreateSubpropert" - + "yEventFilterRequest\0326.google.analytics.a" - + "dmin.v1alpha.SubpropertyEventFilter\"z\332A\037" - + "parent,subproperty_event_filter\202\323\344\223\002R\"6/" - + "v1alpha/{parent=properties/*}/subpropert" - + "yEventFilters:\030subproperty_event_filter\022" - + "\334\001\n\031GetSubpropertyEventFilter\022@.google.a" - + "nalytics.admin.v1alpha.GetSubpropertyEve" - + "ntFilterRequest\0326.google.analytics.admin" - + ".v1alpha.SubpropertyEventFilter\"E\332A\004name" - + "\202\323\344\223\0028\0226/v1alpha/{name=properties/*/subp" - + "ropertyEventFilters/*}\022\357\001\n\033ListSubproper" - + "tyEventFilters\022B.google.analytics.admin." - + "v1alpha.ListSubpropertyEventFiltersReque" - + "st\032C.google.analytics.admin.v1alpha.List" - + "SubpropertyEventFiltersResponse\"G\332A\006pare" - + "nt\202\323\344\223\0028\0226/v1alpha/{parent=properties/*}" - + "/subpropertyEventFilters\022\266\002\n\034UpdateSubpr" - + "opertyEventFilter\022C.google.analytics.adm" - + "in.v1alpha.UpdateSubpropertyEventFilterR" - + "equest\0326.google.analytics.admin.v1alpha." - + "SubpropertyEventFilter\"\230\001\332A$subproperty_" - + "event_filter,update_mask\202\323\344\223\002k2O/v1alpha" - + "/{subproperty_event_filter.name=properti" - + "es/*/subpropertyEventFilters/*}:\030subprop" - + "erty_event_filter\022\302\001\n\034DeleteSubpropertyE" - + "ventFilter\022C.google.analytics.admin.v1al" - + "pha.DeleteSubpropertyEventFilterRequest\032" - + "\026.google.protobuf.Empty\"E\332A\004name\202\323\344\223\0028*6" - + "/v1alpha/{name=properties/*/subpropertyE" - + "ventFilters/*}\022\235\002\n\035CreateReportingDataAn" - + "notation\022D.google.analytics.admin.v1alph" - + "a.CreateReportingDataAnnotationRequest\0327" + + ".admin.v1alpha.EventEditRule\"\202\001\332A\033event_" + + "edit_rule,update_mask\202\323\344\223\002^2K/v1alpha/{e" + + "vent_edit_rule.name=properties/*/dataStr" + + "eams/*/eventEditRules/*}:\017event_edit_rul" + + "e\022\265\001\n\023DeleteEventEditRule\022:.google.analy" + + "tics.admin.v1alpha.DeleteEventEditRuleRe" + + "quest\032\026.google.protobuf.Empty\"J\332A\004name\202\323" + + "\344\223\002=*;/v1alpha/{name=properties/*/dataSt" + + "reams/*/eventEditRules/*}\022\275\001\n\025ReorderEve" + + "ntEditRules\022<.google.analytics.admin.v1a" + + "lpha.ReorderEventEditRulesRequest\032\026.goog" + + "le.protobuf.Empty\"N\202\323\344\223\002H\"C/v1alpha/{par" + + "ent=properties/*/dataStreams/*}/eventEdi" + + "tRules:reorder:\001*\022\272\002\n\033UpdateDataRedactio" + + "nSettings\022B.google.analytics.admin.v1alp" + + "ha.UpdateDataRedactionSettingsRequest\0325." + + "google.analytics.admin.v1alpha.DataRedac" + + "tionSettings\"\237\001\332A#data_redaction_setting" + + "s,update_mask\202\323\344\223\002s2X/v1alpha/{data_reda" + + "ction_settings.name=properties/*/dataStr" + + "eams/*/dataRedactionSettings}:\027data_reda" + + "ction_settings\022\343\001\n\030GetDataRedactionSetti" + + "ngs\022?.google.analytics.admin.v1alpha.Get" + + "DataRedactionSettingsRequest\0325.google.an" + + "alytics.admin.v1alpha.DataRedactionSetti" + + "ngs\"O\332A\004name\202\323\344\223\002B\022@/v1alpha/{name=prope" + + "rties/*/dataStreams/*/dataRedactionSetti" + + "ngs}\022\304\001\n\023GetCalculatedMetric\022:.google.an" + + "alytics.admin.v1alpha.GetCalculatedMetri" + + "cRequest\0320.google.analytics.admin.v1alph" + + "a.CalculatedMetric\"?\332A\004name\202\323\344\223\0022\0220/v1al" + + "pha/{name=properties/*/calculatedMetrics" + + "/*}\022\206\002\n\026CreateCalculatedMetric\022=.google." + + "analytics.admin.v1alpha.CreateCalculated" + + "MetricRequest\0320.google.analytics.admin.v" + + "1alpha.CalculatedMetric\"{\332A-parent,calcu" + + "lated_metric,calculated_metric_id\202\323\344\223\002E\"" + + "0/v1alpha/{parent=properties/*}/calculat" + + "edMetrics:\021calculated_metric\022\327\001\n\025ListCal" + + "culatedMetrics\022<.google.analytics.admin." + + "v1alpha.ListCalculatedMetricsRequest\032=.g" + + "oogle.analytics.admin.v1alpha.ListCalcul" + + "atedMetricsResponse\"A\332A\006parent\202\323\344\223\0022\0220/v" + + "1alpha/{parent=properties/*}/calculatedM" + + "etrics\022\210\002\n\026UpdateCalculatedMetric\022=.goog" + + "le.analytics.admin.v1alpha.UpdateCalcula" + + "tedMetricRequest\0320.google.analytics.admi" + + "n.v1alpha.CalculatedMetric\"}\332A\035calculate" + + "d_metric,update_mask\202\323\344\223\002W2B/v1alpha/{ca" + + "lculated_metric.name=properties/*/calcul" + + "atedMetrics/*}:\021calculated_metric\022\260\001\n\026De" + + "leteCalculatedMetric\022=.google.analytics." + + "admin.v1alpha.DeleteCalculatedMetricRequ" + + "est\032\026.google.protobuf.Empty\"?\332A\004name\202\323\344\223" + + "\0022*0/v1alpha/{name=properties/*/calculat" + + "edMetrics/*}\022\306\001\n\024CreateRollupProperty\022;." + + "google.analytics.admin.v1alpha.CreateRol" + + "lupPropertyRequest\032<.google.analytics.ad" + + "min.v1alpha.CreateRollupPropertyResponse" + + "\"3\202\323\344\223\002-\"(/v1alpha/properties:createRoll" + + "upProperty:\001*\022\344\001\n\033GetRollupPropertySourc" + + "eLink\022B.google.analytics.admin.v1alpha.G" + + "etRollupPropertySourceLinkRequest\0328.goog" + + "le.analytics.admin.v1alpha.RollupPropert" + + "ySourceLink\"G\332A\004name\202\323\344\223\002:\0228/v1alpha/{na" + + "me=properties/*/rollupPropertySourceLink" + + "s/*}\022\367\001\n\035ListRollupPropertySourceLinks\022D" + + ".google.analytics.admin.v1alpha.ListRoll" + + "upPropertySourceLinksRequest\032E.google.an" + + "alytics.admin.v1alpha.ListRollupProperty" + + "SourceLinksResponse\"I\332A\006parent\202\323\344\223\002:\0228/v" + + "1alpha/{parent=properties/*}/rollupPrope" + + "rtySourceLinks\022\246\002\n\036CreateRollupPropertyS" + + "ourceLink\022E.google.analytics.admin.v1alp" + + "ha.CreateRollupPropertySourceLinkRequest" + + "\0328.google.analytics.admin.v1alpha.Rollup" + + "PropertySourceLink\"\202\001\332A\"parent,rollup_pr" + + "operty_source_link\202\323\344\223\002W\"8/v1alpha/{pare" + + "nt=properties/*}/rollupPropertySourceLin" + + "ks:\033rollup_property_source_link\022\310\001\n\036Dele" + + "teRollupPropertySourceLink\022E.google.anal" + + "ytics.admin.v1alpha.DeleteRollupProperty" + + "SourceLinkRequest\032\026.google.protobuf.Empt" + + "y\"G\332A\004name\202\323\344\223\002:*8/v1alpha/{name=propert" + + "ies/*/rollupPropertySourceLinks/*}\022\306\001\n\024P" + + "rovisionSubproperty\022;.google.analytics.a" + + "dmin.v1alpha.ProvisionSubpropertyRequest" + + "\032<.google.analytics.admin.v1alpha.Provis" + + "ionSubpropertyResponse\"3\202\323\344\223\002-\"(/v1alpha" + + "/properties:provisionSubproperty:\001*\022\227\002\n\034" + + "CreateSubpropertyEventFilter\022C.google.an" + + "alytics.admin.v1alpha.CreateSubpropertyE" + + "ventFilterRequest\0326.google.analytics.adm" + + "in.v1alpha.SubpropertyEventFilter\"z\332A\037pa" + + "rent,subproperty_event_filter\202\323\344\223\002R\"6/v1" + + "alpha/{parent=properties/*}/subpropertyE" + + "ventFilters:\030subproperty_event_filter\022\334\001" + + "\n\031GetSubpropertyEventFilter\022@.google.ana" + + "lytics.admin.v1alpha.GetSubpropertyEvent" + + "FilterRequest\0326.google.analytics.admin.v" + + "1alpha.SubpropertyEventFilter\"E\332A\004name\202\323" + + "\344\223\0028\0226/v1alpha/{name=properties/*/subpro" + + "pertyEventFilters/*}\022\357\001\n\033ListSubproperty" + + "EventFilters\022B.google.analytics.admin.v1" + + "alpha.ListSubpropertyEventFiltersRequest" + + "\032C.google.analytics.admin.v1alpha.ListSu" + + "bpropertyEventFiltersResponse\"G\332A\006parent" + + "\202\323\344\223\0028\0226/v1alpha/{parent=properties/*}/s" + + "ubpropertyEventFilters\022\266\002\n\034UpdateSubprop" + + "ertyEventFilter\022C.google.analytics.admin" + + ".v1alpha.UpdateSubpropertyEventFilterReq" + + "uest\0326.google.analytics.admin.v1alpha.Su" + + "bpropertyEventFilter\"\230\001\332A$subproperty_ev" + + "ent_filter,update_mask\202\323\344\223\002k2O/v1alpha/{" + + "subproperty_event_filter.name=properties" + + "/*/subpropertyEventFilters/*}:\030subproper" + + "ty_event_filter\022\302\001\n\034DeleteSubpropertyEve" + + "ntFilter\022C.google.analytics.admin.v1alph" + + "a.DeleteSubpropertyEventFilterRequest\032\026." + + "google.protobuf.Empty\"E\332A\004name\202\323\344\223\0028*6/v" + + "1alpha/{name=properties/*/subpropertyEve" + + "ntFilters/*}\022\235\002\n\035CreateReportingDataAnno" + + "tation\022D.google.analytics.admin.v1alpha." + + "CreateReportingDataAnnotationRequest\0327.g" + + "oogle.analytics.admin.v1alpha.ReportingD" + + "ataAnnotation\"}\332A parent,reporting_data_" + + "annotation\202\323\344\223\002T\"7/v1alpha/{parent=prope" + + "rties/*}/reportingDataAnnotations:\031repor" + + "ting_data_annotation\022\340\001\n\032GetReportingDat" + + "aAnnotation\022A.google.analytics.admin.v1a" + + "lpha.GetReportingDataAnnotationRequest\0327" + ".google.analytics.admin.v1alpha.Reportin" - + "gDataAnnotation\"}\332A parent,reporting_dat" - + "a_annotation\202\323\344\223\002T\"7/v1alpha/{parent=pro" - + "perties/*}/reportingDataAnnotations:\031rep" - + "orting_data_annotation\022\340\001\n\032GetReportingD" - + "ataAnnotation\022A.google.analytics.admin.v" - + "1alpha.GetReportingDataAnnotationRequest" - + "\0327.google.analytics.admin.v1alpha.Report" - + "ingDataAnnotation\"F\332A\004name\202\323\344\223\0029\0227/v1alp" - + "ha/{name=properties/*/reportingDataAnnot" - + "ations/*}\022\363\001\n\034ListReportingDataAnnotatio" - + "ns\022C.google.analytics.admin.v1alpha.List" - + "ReportingDataAnnotationsRequest\032D.google" - + ".analytics.admin.v1alpha.ListReportingDa" - + "taAnnotationsResponse\"H\332A\006parent\202\323\344\223\0029\0227" - + "/v1alpha/{parent=properties/*}/reporting" - + "DataAnnotations\022\275\002\n\035UpdateReportingDataA" - + "nnotation\022D.google.analytics.admin.v1alp" - + "ha.UpdateReportingDataAnnotationRequest\032" - + "7.google.analytics.admin.v1alpha.Reporti" - + "ngDataAnnotation\"\234\001\332A%reporting_data_ann" - + "otation,update_mask\202\323\344\223\002n2Q/v1alpha/{rep" - + "orting_data_annotation.name=properties/*" - + "/reportingDataAnnotations/*}:\031reporting_" - + "data_annotation\022\305\001\n\035DeleteReportingDataA" - + "nnotation\022D.google.analytics.admin.v1alp" - + "ha.DeleteReportingDataAnnotationRequest\032" - + "\026.google.protobuf.Empty\"F\332A\004name\202\323\344\223\0029*7" - + "/v1alpha/{name=properties/*/reportingDat" - + "aAnnotations/*}\022\316\001\n\022SubmitUserDeletion\0229" - + ".google.analytics.admin.v1alpha.SubmitUs" - + "erDeletionRequest\032:.google.analytics.adm" - + "in.v1alpha.SubmitUserDeletionResponse\"A\332" - + "A\004name\202\323\344\223\0024\"//v1alpha/{name=properties/" - + "*}:submitUserDeletion:\001*\022\353\001\n\032ListSubprop" - + "ertySyncConfigs\022A.google.analytics.admin" - + ".v1alpha.ListSubpropertySyncConfigsReque" - + "st\032B.google.analytics.admin.v1alpha.List" - + "SubpropertySyncConfigsResponse\"F\332A\006paren" - + "t\202\323\344\223\0027\0225/v1alpha/{parent=properties/*}/" - + "subpropertySyncConfigs\022\257\002\n\033UpdateSubprop" - + "ertySyncConfig\022B.google.analytics.admin." - + "v1alpha.UpdateSubpropertySyncConfigReque" - + "st\0325.google.analytics.admin.v1alpha.Subp", - "ropertySyncConfig\"\224\001\332A#subproperty_sync_" - + "config,update_mask\202\323\344\223\002h2M/v1alpha/{subp" - + "roperty_sync_config.name=properties/*/su" - + "bpropertySyncConfigs/*}:\027subproperty_syn" - + "c_config\022\330\001\n\030GetSubpropertySyncConfig\022?." - + "google.analytics.admin.v1alpha.GetSubpro" - + "pertySyncConfigRequest\0325.google.analytic" - + "s.admin.v1alpha.SubpropertySyncConfig\"D\332" - + "A\004name\202\323\344\223\0027\0225/v1alpha/{name=properties/" - + "*/subpropertySyncConfigs/*}\022\345\001\n\034GetRepor" - + "tingIdentitySettings\022C.google.analytics." - + "admin.v1alpha.GetReportingIdentitySettin" - + "gsRequest\0329.google.analytics.admin.v1alp" - + "ha.ReportingIdentitySettings\"E\332A\004name\202\323\344" - + "\223\0028\0226/v1alpha/{name=properties/*/reporti" - + "ngIdentitySettings}\022\341\001\n\033GetUserProvidedD" - + "ataSettings\022B.google.analytics.admin.v1a" - + "lpha.GetUserProvidedDataSettingsRequest\032" - + "8.google.analytics.admin.v1alpha.UserPro" - + "videdDataSettings\"D\332A\004name\202\323\344\223\0027\0225/v1alp" - + "ha/{name=properties/*/userProvidedDataSe" - + "ttings}\032\374\001\312A\035analyticsadmin.googleapis.c" - + "om\322A\330\001https://www.googleapis.com/auth/an" - + "alytics.edit,https://www.googleapis.com/" - + "auth/analytics.manage.users,https://www." - + "googleapis.com/auth/analytics.manage.use" - + "rs.readonly,https://www.googleapis.com/a" - + "uth/analytics.readonlyB{\n\"com.google.ana" - + "lytics.admin.v1alphaB\023AnalyticsAdminProt" - + "oP\001Z>cloud.google.com/go/analytics/admin" - + "/apiv1alpha/adminpb;adminpbb\006proto3" + + "gDataAnnotation\"F\332A\004name\202\323\344\223\0029\0227/v1alpha" + + "/{name=properties/*/reportingDataAnnotat" + + "ions/*}\022\363\001\n\034ListReportingDataAnnotations" + + "\022C.google.analytics.admin.v1alpha.ListRe" + + "portingDataAnnotationsRequest\032D.google.a" + + "nalytics.admin.v1alpha.ListReportingData" + + "AnnotationsResponse\"H\332A\006parent\202\323\344\223\0029\0227/v" + + "1alpha/{parent=properties/*}/reportingDa" + + "taAnnotations\022\275\002\n\035UpdateReportingDataAnn" + + "otation\022D.google.analytics.admin.v1alpha" + + ".UpdateReportingDataAnnotationRequest\0327." + + "google.analytics.admin.v1alpha.Reporting" + + "DataAnnotation\"\234\001\332A%reporting_data_annot" + + "ation,update_mask\202\323\344\223\002n2Q/v1alpha/{repor" + + "ting_data_annotation.name=properties/*/r" + + "eportingDataAnnotations/*}:\031reporting_da" + + "ta_annotation\022\305\001\n\035DeleteReportingDataAnn" + + "otation\022D.google.analytics.admin.v1alpha" + + ".DeleteReportingDataAnnotationRequest\032\026." + + "google.protobuf.Empty\"F\332A\004name\202\323\344\223\0029*7/v" + + "1alpha/{name=properties/*/reportingDataA" + + "nnotations/*}\022\316\001\n\022SubmitUserDeletion\0229.g" + + "oogle.analytics.admin.v1alpha.SubmitUser" + + "DeletionRequest\032:.google.analytics.admin" + + ".v1alpha.SubmitUserDeletionResponse\"A\332A\004" + + "name\202\323\344\223\0024\"//v1alpha/{name=properties/*}" + + ":submitUserDeletion:\001*\022\353\001\n\032ListSubproper" + + "tySyncConfigs\022A.google.analytics.admin.v" + + "1alpha.ListSubpropertySyncConfigsRequest" + + "\032B.google.analytics.admin.v1alpha.ListSu" + + "bpropertySyncConfigsResponse\"F\332A\006parent\202", + "\323\344\223\0027\0225/v1alpha/{parent=properties/*}/su" + + "bpropertySyncConfigs\022\257\002\n\033UpdateSubproper" + + "tySyncConfig\022B.google.analytics.admin.v1" + + "alpha.UpdateSubpropertySyncConfigRequest" + + "\0325.google.analytics.admin.v1alpha.Subpro" + + "pertySyncConfig\"\224\001\332A#subproperty_sync_co" + + "nfig,update_mask\202\323\344\223\002h2M/v1alpha/{subpro" + + "perty_sync_config.name=properties/*/subp" + + "ropertySyncConfigs/*}:\027subproperty_sync_" + + "config\022\330\001\n\030GetSubpropertySyncConfig\022?.go" + + "ogle.analytics.admin.v1alpha.GetSubprope" + + "rtySyncConfigRequest\0325.google.analytics." + + "admin.v1alpha.SubpropertySyncConfig\"D\332A\004" + + "name\202\323\344\223\0027\0225/v1alpha/{name=properties/*/" + + "subpropertySyncConfigs/*}\022\345\001\n\034GetReporti" + + "ngIdentitySettings\022C.google.analytics.ad" + + "min.v1alpha.GetReportingIdentitySettings" + + "Request\0329.google.analytics.admin.v1alpha" + + ".ReportingIdentitySettings\"E\332A\004name\202\323\344\223\002" + + "8\0226/v1alpha/{name=properties/*/reporting" + + "IdentitySettings}\022\310\002\n\037UpdateReportingIde" + + "ntitySettings\022F.google.analytics.admin.v" + + "1alpha.UpdateReportingIdentitySettingsRe" + + "quest\0329.google.analytics.admin.v1alpha.R" + + "eportingIdentitySettings\"\241\001\332A\'reporting_" + + "identity_settings,update_mask\202\323\344\223\002q2R/v1" + + "alpha/{reporting_identity_settings.name=" + + "properties/*/reportingIdentitySettings}:" + + "\033reporting_identity_settings\022\341\001\n\033GetUser" + + "ProvidedDataSettings\022B.google.analytics." + + "admin.v1alpha.GetUserProvidedDataSetting" + + "sRequest\0328.google.analytics.admin.v1alph" + + "a.UserProvidedDataSettings\"D\332A\004name\202\323\344\223\002" + + "7\0225/v1alpha/{name=properties/*/userProvi" + + "dedDataSettings}\032\374\001\312A\035analyticsadmin.goo" + + "gleapis.com\322A\330\001https://www.googleapis.co" + + "m/auth/analytics.edit,https://www.google" + + "apis.com/auth/analytics.manage.users,htt" + + "ps://www.googleapis.com/auth/analytics.m" + + "anage.users.readonly,https://www.googlea" + + "pis.com/auth/analytics.readonlyB{\n\"com.g" + + "oogle.analytics.admin.v1alphaB\023Analytics" + + "AdminProtoP\001Z>cloud.google.com/go/analyt" + + "ics/admin/apiv1alpha/adminpb;adminpbb\006pr" + + "oto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -4083,8 +4101,16 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new java.lang.String[] { "Name", }); - internal_static_google_analytics_admin_v1alpha_GetUserProvidedDataSettingsRequest_descriptor = + internal_static_google_analytics_admin_v1alpha_UpdateReportingIdentitySettingsRequest_descriptor = getDescriptor().getMessageType(193); + internal_static_google_analytics_admin_v1alpha_UpdateReportingIdentitySettingsRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessage.FieldAccessorTable( + internal_static_google_analytics_admin_v1alpha_UpdateReportingIdentitySettingsRequest_descriptor, + new java.lang.String[] { + "ReportingIdentitySettings", "UpdateMask", + }); + internal_static_google_analytics_admin_v1alpha_GetUserProvidedDataSettingsRequest_descriptor = + getDescriptor().getMessageType(194); internal_static_google_analytics_admin_v1alpha_GetUserProvidedDataSettingsRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_google_analytics_admin_v1alpha_GetUserProvidedDataSettingsRequest_descriptor, diff --git a/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/PropertySummary.java b/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/PropertySummary.java index decb5b26bcaf..926777d57581 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/PropertySummary.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/PropertySummary.java @@ -281,6 +281,26 @@ public com.google.protobuf.ByteString getParentBytes() { } } + public static final int CAN_EDIT_FIELD_NUMBER = 5; + private boolean canEdit_ = false; + + /** + * + * + *
+   * If true, then the user has a Google Analytics role that permits them to
+   * edit the property.
+   * 
+ * + * bool can_edit = 5; + * + * @return The canEdit. + */ + @java.lang.Override + public boolean getCanEdit() { + return canEdit_; + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -308,6 +328,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { com.google.protobuf.GeneratedMessage.writeString(output, 4, parent_); } + if (canEdit_ != false) { + output.writeBool(5, canEdit_); + } getUnknownFields().writeTo(output); } @@ -330,6 +353,9 @@ public int getSerializedSize() { if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { size += com.google.protobuf.GeneratedMessage.computeStringSize(4, parent_); } + if (canEdit_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(5, canEdit_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -350,6 +376,7 @@ public boolean equals(final java.lang.Object obj) { if (!getDisplayName().equals(other.getDisplayName())) return false; if (propertyType_ != other.propertyType_) return false; if (!getParent().equals(other.getParent())) return false; + if (getCanEdit() != other.getCanEdit()) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -369,6 +396,8 @@ public int hashCode() { hash = (53 * hash) + propertyType_; hash = (37 * hash) + PARENT_FIELD_NUMBER; hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + CAN_EDIT_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getCanEdit()); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -513,6 +542,7 @@ public Builder clear() { displayName_ = ""; propertyType_ = 0; parent_ = ""; + canEdit_ = false; return this; } @@ -561,6 +591,9 @@ private void buildPartial0(com.google.analytics.admin.v1alpha.PropertySummary re if (((from_bitField0_ & 0x00000008) != 0)) { result.parent_ = parent_; } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.canEdit_ = canEdit_; + } } @java.lang.Override @@ -594,6 +627,9 @@ public Builder mergeFrom(com.google.analytics.admin.v1alpha.PropertySummary othe bitField0_ |= 0x00000008; onChanged(); } + if (other.getCanEdit() != false) { + setCanEdit(other.getCanEdit()); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -644,6 +680,12 @@ public Builder mergeFrom( bitField0_ |= 0x00000008; break; } // case 34 + case 40: + { + canEdit_ = input.readBool(); + bitField0_ |= 0x00000010; + break; + } // case 40 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { @@ -1121,6 +1163,65 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) { return this; } + private boolean canEdit_; + + /** + * + * + *
+     * If true, then the user has a Google Analytics role that permits them to
+     * edit the property.
+     * 
+ * + * bool can_edit = 5; + * + * @return The canEdit. + */ + @java.lang.Override + public boolean getCanEdit() { + return canEdit_; + } + + /** + * + * + *
+     * If true, then the user has a Google Analytics role that permits them to
+     * edit the property.
+     * 
+ * + * bool can_edit = 5; + * + * @param value The canEdit to set. + * @return This builder for chaining. + */ + public Builder setCanEdit(boolean value) { + + canEdit_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * If true, then the user has a Google Analytics role that permits them to
+     * edit the property.
+     * 
+ * + * bool can_edit = 5; + * + * @return This builder for chaining. + */ + public Builder clearCanEdit() { + bitField0_ = (bitField0_ & ~0x00000010); + canEdit_ = false; + onChanged(); + return this; + } + // @@protoc_insertion_point(builder_scope:google.analytics.admin.v1alpha.PropertySummary) } diff --git a/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/PropertySummaryOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/PropertySummaryOrBuilder.java index d43abced655c..04a41f9285f5 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/PropertySummaryOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/PropertySummaryOrBuilder.java @@ -141,4 +141,18 @@ public interface PropertySummaryOrBuilder * @return The bytes for parent. */ com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * If true, then the user has a Google Analytics role that permits them to
+   * edit the property.
+   * 
+ * + * bool can_edit = 5; + * + * @return The canEdit. + */ + boolean getCanEdit(); } diff --git a/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/ResourcesProto.java b/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/ResourcesProto.java index c9088665a89c..5482bc2b6690 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/ResourcesProto.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/ResourcesProto.java @@ -347,50 +347,49 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\022property_summaries\030\004 \003(\013" + "2/.google.analytics.admin.v1alpha.PropertySummary:w\352At\n" + ",analyticsadmin.googleapis.com/AccountSummary\022\"accountSummaries/{" - + "account_summary}*\020accountSummaries2\016accountSummary\"\273\001\n" + + "account_summary}*\020accountSummaries2\016accountSummary\"\315\001\n" + "\017PropertySummary\022=\n" + "\010property\030\001 \001(\tB+\372A(\n" + "&analyticsadmin.googleapis.com/Property\022\024\n" + "\014display_name\030\002 \001(\t\022C\n\r" + "property_type\030\003" + " \001(\0162,.google.analytics.admin.v1alpha.PropertyType\022\016\n" - + "\006parent\030\004 \001(\t\"\305\002\n" + + "\006parent\030\004 \001(\t\022\020\n" + + "\010can_edit\030\005 \001(\010\"\305\002\n" + "\031MeasurementProtocolSecret\022\021\n" + "\004name\030\001 \001(\tB\003\340A\010\022\031\n" + "\014display_name\030\002 \001(\tB\003\340A\002\022\031\n" + "\014secret_value\030\003 \001(\tB\003\340A\003:\336\001\352A\332\001\n" - + "7analyticsadmin.googleapis.com/MeasurementProtoco" - + "lSecret\022hproperties/{property}/dataStreams/{data_stream}/measurementProtocolSecr" - + "ets/{measurement_protocol_secret}*\032measu" - + "rementProtocolSecrets2\031measurementProtocolSecret\"\310\004\n" + + "7analyticsadmin.googleapis.com/MeasurementProtocolSecret\022hproperties/{p" + + "roperty}/dataStreams/{data_stream}/measurementProtocolSecrets/{measurement_proto" + + "col_secret}*\032measurementProtocolSecrets2\031measurementProtocolSecret\"\310\004\n" + " SKAdNetworkConversionValueSchema\022\021\n" + "\004name\030\001 \001(\tB\003\340A\010\022P\n" - + "\023postback_window_one\030\002" - + " \001(\0132..google.analytics.admin.v1alpha.PostbackWindowB\003\340A\002\022K\n" - + "\023postback_window_two\030\003" - + " \001(\0132..google.analytics.admin.v1alpha.PostbackWindow\022M\n" - + "\025postback_window_three\030\004" - + " \001(\0132..google.analytics.admin.v1alpha.PostbackWindow\022\037\n" + + "\023postback_window_one\030\002 \001(\0132..google" + + ".analytics.admin.v1alpha.PostbackWindowB\003\340A\002\022K\n" + + "\023postback_window_two\030\003 \001(\0132..goog" + + "le.analytics.admin.v1alpha.PostbackWindow\022M\n" + + "\025postback_window_three\030\004 \001(\0132..googl" + + "e.analytics.admin.v1alpha.PostbackWindow\022\037\n" + "\027apply_conversion_values\030\005 \001(\010:\201\002\352A\375\001\n" - + ">analyticsadmin.googleapis.com/SKAdNetworkConversionValue" - + "Schema\022vproperties/{property}/dataStreams/{data_stream}/sKAdNetworkConversionVal" - + "ueSchema/{skadnetwork_conversion_value_schema}*!skAdNetworkConversionValueSchemas2" + + ">analyticsadmin.googleapis.com/SKAdNetworkConversionValueSchema\022vproperties/{pr" + + "operty}/dataStreams/{data_stream}/sKAdNetworkConversionValueSchema/{skadnetwork_" + + "conversion_value_schema}*!skAdNetworkConversionValueSchemas2" + " skAdNetworkConversionValueSchema\"\207\001\n" + "\016PostbackWindow\022K\n" - + "\021conversion_values\030\001 \003(" - + "\01320.google.analytics.admin.v1alpha.ConversionValues\022(\n" + + "\021conversion_values\030\001" + + " \003(\01320.google.analytics.admin.v1alpha.ConversionValues\022(\n" + " postback_window_settings_enabled\030\002 \001(\010\"\364\001\n" + "\020ConversionValues\022\024\n" + "\014display_name\030\001 \001(\t\022\027\n\n" + "fine_value\030\002 \001(\005H\000\210\001\001\022F\n" - + "\014coarse_value\030\003" - + " \001(\0162+.google.analytics.admin.v1alpha.CoarseValueB\003\340A\002\022D\n" - + "\016event_mappings\030\004" - + " \003(\0132,.google.analytics.admin.v1alpha.EventMapping\022\024\n" + + "\014coarse_value\030\003 \001(" + + "\0162+.google.analytics.admin.v1alpha.CoarseValueB\003\340A\002\022D\n" + + "\016event_mappings\030\004 \003(\0132,.go" + + "ogle.analytics.admin.v1alpha.EventMapping\022\024\n" + "\014lock_enabled\030\005 \001(\010B\r\n" + "\013_fine_value\"\357\001\n" - + "\014EventMapping\022\027\n" - + "\n" + + "\014EventMapping\022\027\n\n" + "event_name\030\001 \001(\tB\003\340A\002\022\034\n" + "\017min_event_count\030\002 \001(\003H\000\210\001\001\022\034\n" + "\017max_event_count\030\003 \001(\003H\001\210\001\001\022\034\n" @@ -406,73 +405,73 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "actor_type\030\003 \001(\0162).google.analytics.admin.v1alpha.ActorType\022\030\n" + "\020user_actor_email\030\004 \001(\t\022\030\n" + "\020changes_filtered\030\005 \001(\010\022D\n" - + "\007changes\030\006 \003(\01323" - + ".google.analytics.admin.v1alpha.ChangeHistoryChange\"\231\026\n" + + "\007changes\030\006" + + " \003(\01323.google.analytics.admin.v1alpha.ChangeHistoryChange\"\231\026\n" + "\023ChangeHistoryChange\022\020\n" + "\010resource\030\001 \001(\t\022:\n" + "\006action\030\002 \001(\0162*.google.analytics.admin.v1alpha.ActionType\022i\n" - + "\026resource_before_change\030\003 \001(\0132I.google.analy" - + "tics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource\022h\n" - + "\025resource_after_change\030\004 \001(\0132I.google.analytics.admin.v1a" - + "lpha.ChangeHistoryChange.ChangeHistoryResource\032\336\023\n" + + "\026resource_before_change\030\003 \001(\0132I.google.analytics.admin.v1alpha.Cha" + + "ngeHistoryChange.ChangeHistoryResource\022h\n" + + "\025resource_after_change\030\004 \001(\0132I.google.a" + + "nalytics.admin.v1alpha.ChangeHistoryChange.ChangeHistoryResource\032\336\023\n" + "\025ChangeHistoryResource\022:\n" + "\007account\030\001 \001(\0132\'.google.analytics.admin.v1alpha.AccountH\000\022<\n" + "\010property\030\002 \001(\0132(.google.analytics.admin.v1alpha.PropertyH\000\022E\n\r" - + "firebase_link\030\006" - + " \001(\0132,.google.analytics.admin.v1alpha.FirebaseLinkH\000\022H\n" + + "firebase_link\030\006 \001(\0132,.go" + + "ogle.analytics.admin.v1alpha.FirebaseLinkH\000\022H\n" + "\017google_ads_link\030\007" + " \001(\0132-.google.analytics.admin.v1alpha.GoogleAdsLinkH\000\022X\n" - + "\027google_signals_settings\030\010" - + " \001(\01325.google.analytics.admin.v1alpha.GoogleSignalsSettingsH\000\022j\n" - + "!display_video_360_advertiser_link\030\t \001(\0132=.googl" - + "e.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkH\000\022{\n" + + "\027google_signals_settings\030\010 \001(\01325.google." + + "analytics.admin.v1alpha.GoogleSignalsSettingsH\000\022j\n" + + "!display_video_360_advertiser_link\030\t" + + " \001(\0132=.google.analytics.admin.v1alpha.DisplayVideo360AdvertiserLinkH\000\022{\n" + "*display_video_360_advertiser_link_proposal\030\n" - + " \001(\0132E.google.a" - + "nalytics.admin.v1alpha.DisplayVideo360AdvertiserLinkProposalH\000\022K\n" + + " \001(\0132E.google.analytics.admin.v1alpha" + + ".DisplayVideo360AdvertiserLinkProposalH\000\022K\n" + "\020conversion_event\030\013" + " \001(\0132/.google.analytics.admin.v1alpha.ConversionEventH\000\022`\n" - + "\033measurement_protocol_secret\030\014" - + " \001(\01329.google.analytics.admin.v1alpha.MeasurementProtocolSecretH\000\022K\n" + + "\033measurement_protocol_secret\030\014 \001(\01329.goo" + + "gle.analytics.admin.v1alpha.MeasurementProtocolSecretH\000\022K\n" + "\020custom_dimension\030\r" + " \001(\0132/.google.analytics.admin.v1alpha.CustomDimensionH\000\022E\n\r" - + "custom_metric\030\016" - + " \001(\0132,.google.analytics.admin.v1alpha.CustomMetricH\000\022X\n" - + "\027data_retention_settings\030\017" - + " \001(\01325.google.analytics.admin.v1alpha.DataRetentionSettingsH\000\022O\n" - + "\023search_ads_360_link\030\020" - + " \001(\01320.google.analytics.admin.v1alpha.SearchAds360LinkH\000\022A\n" - + "\013data_stream\030\022" - + " \001(\0132*.google.analytics.admin.v1alpha.DataStreamH\000\022S\n" - + "\024attribution_settings\030\024" - + " \001(\01323.google.analytics.admin.v1alpha.AttributionSettingsH\000\022L\n" - + "\021expanded_data_set\030\025" - + " \001(\0132/.google.analytics.admin.v1alpha.ExpandedDataSetH\000\022E\n\r" + + "custom_metric\030\016 \001(\0132,.go" + + "ogle.analytics.admin.v1alpha.CustomMetricH\000\022X\n" + + "\027data_retention_settings\030\017 \001(\01325.g" + + "oogle.analytics.admin.v1alpha.DataRetentionSettingsH\000\022O\n" + + "\023search_ads_360_link\030\020 \001" + + "(\01320.google.analytics.admin.v1alpha.SearchAds360LinkH\000\022A\n" + + "\013data_stream\030\022 \001(\0132*.go" + + "ogle.analytics.admin.v1alpha.DataStreamH\000\022S\n" + + "\024attribution_settings\030\024 \001(\01323.google" + + ".analytics.admin.v1alpha.AttributionSettingsH\000\022L\n" + + "\021expanded_data_set\030\025 \001(\0132/.goog" + + "le.analytics.admin.v1alpha.ExpandedDataSetH\000\022E\n\r" + "channel_group\030\026" + " \001(\0132,.google.analytics.admin.v1alpha.ChannelGroupH\000\022E\n\r" - + "bigquery_link\030\027 \001(\013" - + "2,.google.analytics.admin.v1alpha.BigQueryLinkH\000\022d\n" - + "\035enhanced_measurement_settings\030\030" - + " \001(\0132;.google.analytics.admin.v1alpha.EnhancedMeasurementSettingsH\000\022X\n" - + "\027data_redaction_settings\030\031 \001(\01325.google.analyti" - + "cs.admin.v1alpha.DataRedactionSettingsH\000\022o\n" - + "#skadnetwork_conversion_value_schema\030\032" - + " \001(\0132@.google.analytics.admin.v1alpha.SKAdNetworkConversionValueSchemaH\000\022C\n" - + "\014adsense_link\030\033" - + " \001(\0132+.google.analytics.admin.v1alpha.AdSenseLinkH\000\022<\n" + + "bigquery_link\030\027" + + " \001(\0132,.google.analytics.admin.v1alpha.BigQueryLinkH\000\022d\n" + + "\035enhanced_measurement_settings\030\030 \001(\0132;.google.analy" + + "tics.admin.v1alpha.EnhancedMeasurementSettingsH\000\022X\n" + + "\027data_redaction_settings\030\031 \001(" + + "\01325.google.analytics.admin.v1alpha.DataRedactionSettingsH\000\022o\n" + + "#skadnetwork_conversion_value_schema\030\032 \001(\0132@.google.analyti" + + "cs.admin.v1alpha.SKAdNetworkConversionValueSchemaH\000\022C\n" + + "\014adsense_link\030\033 \001(\0132+.goog" + + "le.analytics.admin.v1alpha.AdSenseLinkH\000\022<\n" + "\010audience\030\034 \001(\0132(.google.analytics.admin.v1alpha.AudienceH\000\022L\n" - + "\021event_create_rule\030\035 \001(\0132/.google" - + ".analytics.admin.v1alpha.EventCreateRuleH\000\022=\n" + + "\021event_create_rule\030\035" + + " \001(\0132/.google.analytics.admin.v1alpha.EventCreateRuleH\000\022=\n" + "\tkey_event\030\036 \001(\0132(.google.analytics.admin.v1alpha.KeyEventH\000\022M\n" - + "\021calculated_metric\030\037" - + " \001(\01320.google.analytics.admin.v1alpha.CalculatedMetricH\000\022\\\n" - + "\031reporting_data_annotation\030 \001(\01327.google.analytics.a" - + "dmin.v1alpha.ReportingDataAnnotationH\000\022X\n" - + "\027subproperty_sync_config\030! \001(\01325.google" - + ".analytics.admin.v1alpha.SubpropertySyncConfigH\000\022`\n" - + "\033reporting_identity_settings\030\"" - + " \001(\01329.google.analytics.admin.v1alpha.ReportingIdentitySettingsH\000\022_\n" - + "\033user_provided_data_settings\030# \001(\01328.google.analyti" - + "cs.admin.v1alpha.UserProvidedDataSettingsH\000B\n\n" + + "\021calculated_metric\030\037 \001(\01320.google." + + "analytics.admin.v1alpha.CalculatedMetricH\000\022\\\n" + + "\031reporting_data_annotation\030 \001(\01327." + + "google.analytics.admin.v1alpha.ReportingDataAnnotationH\000\022X\n" + + "\027subproperty_sync_config\030!" + + " \001(\01325.google.analytics.admin.v1alpha.SubpropertySyncConfigH\000\022`\n" + + "\033reporting_identity_settings\030\" \001(\01329.google.analyti" + + "cs.admin.v1alpha.ReportingIdentitySettingsH\000\022_\n" + + "\033user_provided_data_settings\030# \001(" + + "\01328.google.analytics.admin.v1alpha.UserProvidedDataSettingsH\000B\n\n" + "\010resource\"\236\004\n" + "\035DisplayVideo360AdvertiserLink\022\021\n" + "\004name\030\001 \001(\tB\003\340A\010\022\032\n\r" @@ -484,15 +483,14 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + " \001(\0132\032.google.protobuf.BoolValueB\003\340A\005\022B\n" + "\031cost_data_sharing_enabled\030\006" + " \001(\0132\032.google.protobuf.BoolValueB\003\340A\005:\332\001\352A\326\001\n" - + ";analyticsadmin.googleapis.com/DisplayVideo360Adverti" - + "serLink\022Xproperties/{property}/displayVideo360AdvertiserLinks/{display_video_360" - + "_advertiser_link}*\036displayVideo360Advert" - + "iserLinks2\035displayVideo360AdvertiserLink\"\331\005\n" + + ";analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLink\022Xproperties/{p" + + "roperty}/displayVideo360AdvertiserLinks/{display_video_360_advertiser_link}*\036dis" + + "playVideo360AdvertiserLinks2\035displayVideo360AdvertiserLink\"\331\005\n" + "%DisplayVideo360AdvertiserLinkProposal\022\021\n" + "\004name\030\001 \001(\tB\003\340A\010\022\032\n\r" + "advertiser_id\030\002 \001(\tB\003\340A\005\022d\n" - + "\034link_proposal_status_details\030\003" - + " \001(\01329.google.analytics.admin.v1alpha.LinkProposalStatusDetailsB\003\340A\003\022$\n" + + "\034link_proposal_status_details\030\003 \001(\01329.google.analy" + + "tics.admin.v1alpha.LinkProposalStatusDetailsB\003\340A\003\022$\n" + "\027advertiser_display_name\030\004 \001(\tB\003\340A\003\022\035\n" + "\020validation_email\030\005 \001(\tB\003\340A\004\022D\n" + "\033ads_personalization_enabled\030\006" @@ -501,10 +499,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + " \001(\0132\032.google.protobuf.BoolValueB\003\340A\005\022B\n" + "\031cost_data_sharing_enabled\030\010" + " \001(\0132\032.google.protobuf.BoolValueB\003\340A\005:\203\002\352A\377\001\n" - + "Canalyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal\022iproperties/{" - + "property}/displayVideo360AdvertiserLinkProposals/{display_video_360_advertiser_l" - + "ink_proposal}*&displayVideo360Advertiser" - + "LinkProposals2%displayVideo360AdvertiserLinkProposal\"\217\004\n" + + "Canalyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProp" + + "osal\022iproperties/{property}/displayVideo360AdvertiserLinkProposals/{display_vide" + + "o_360_advertiser_link_proposal}*&display" + + "Video360AdvertiserLinkProposals2%displayVideo360AdvertiserLinkProposal\"\217\004\n" + "\020SearchAds360Link\022\021\n" + "\004name\030\001 \001(\tB\003\340A\010\022\032\n\r" + "advertiser_id\030\002 \001(\tB\003\340A\005\022F\n" @@ -517,15 +515,15 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + " \001(\0132\032.google.protobuf.BoolValue\022>\n" + "\032site_stats_sharing_enabled\030\007" + " \001(\0132\032.google.protobuf.BoolValue:\230\001\352A\224\001\n" - + ".analyticsadmin.googleapis.com/SearchAds360Li" - + "nk\022=properties/{property}/searchAds360Li" - + "nks/{search_ads_360_link}*\021searchAds360Links2\020searchAds360Link\"\374\001\n" + + ".analyticsadmin.googleapis.com/SearchAds360Link\022=properties/{proper" + + "ty}/searchAds360Links/{search_ads_360_li" + + "nk}*\021searchAds360Links2\020searchAds360Link\"\374\001\n" + "\031LinkProposalStatusDetails\022l\n" - + " link_proposal_initiating_product\030\001 \001(\0162=.google.analytics.admin." - + "v1alpha.LinkProposalInitiatingProductB\003\340A\003\022\034\n" + + " link_proposal_initiating_product\030\001 \001(\0162=.googl" + + "e.analytics.admin.v1alpha.LinkProposalInitiatingProductB\003\340A\003\022\034\n" + "\017requestor_email\030\002 \001(\tB\003\340A\003\022S\n" - + "\023link_proposal_state\030\003 \001(\01621.google.analytics" - + ".admin.v1alpha.LinkProposalStateB\003\340A\003\"\205\006\n" + + "\023link_proposal_state\030\003 \001(\0162" + + "1.google.analytics.admin.v1alpha.LinkProposalStateB\003\340A\003\"\205\006\n" + "\017ConversionEvent\022\021\n" + "\004name\030\001 \001(\tB\003\340A\010\022\027\n\n" + "event_name\030\002 \001(\tB\003\340A\005\0224\n" @@ -533,10 +531,11 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022\026\n" + "\tdeletable\030\004 \001(\010B\003\340A\003\022\023\n" + "\006custom\030\005 \001(\010B\003\340A\003\022f\n" - + "\017counting_method\030\006 \001(\0162H.google.analy" - + "tics.admin.v1alpha.ConversionEvent.ConversionCountingMethodB\003\340A\001\022r\n" - + "\030default_conversion_value\030\007 \001(\0132F.google.analytics.ad" - + "min.v1alpha.ConversionEvent.DefaultConversionValueB\003\340A\001H\000\210\001\001\032d\n" + + "\017counting_method\030\006 \001(\0162H.google.analytics.admin.v1alpha.Con" + + "versionEvent.ConversionCountingMethodB\003\340A\001\022r\n" + + "\030default_conversion_value\030\007 \001(\0132F.g" + + "oogle.analytics.admin.v1alpha.Conversion" + + "Event.DefaultConversionValueB\003\340A\001H\000\210\001\001\032d\n" + "\026DefaultConversionValue\022\022\n" + "\005value\030\001 \001(\001H\000\210\001\001\022\032\n\r" + "currency_code\030\002 \001(\tH\001\210\001\001B\010\n" @@ -546,8 +545,9 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "&CONVERSION_COUNTING_METHOD_UNSPECIFIED\020\000\022\022\n" + "\016ONCE_PER_EVENT\020\001\022\024\n" + "\020ONCE_PER_SESSION\020\002:\221\001\352A\215\001\n" - + "-analyticsadmin.googleapis.com/ConversionEvent\0229properties/{property}/conver" - + "sionEvents/{conversion_event}*\020conversionEvents2\017conversionEventB\033\n" + + "-analyticsadmin.googleapis.com/ConversionEvent\0229properties" + + "/{property}/conversionEvents/{conversion" + + "_event}*\020conversionEvents2\017conversionEventB\033\n" + "\031_default_conversion_value\"\327\004\n" + "\010KeyEvent\022\021\n" + "\004name\030\001 \001(\tB\003\340A\003\022\027\n\n" @@ -556,10 +556,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022\026\n" + "\tdeletable\030\004 \001(\010B\003\340A\003\022\023\n" + "\006custom\030\005 \001(\010B\003\340A\003\022U\n" - + "\017counting_method\030\006 \001(\01627.goo" - + "gle.analytics.admin.v1alpha.KeyEvent.CountingMethodB\003\340A\002\022Q\n\r" - + "default_value\030\007 \001(\0132" - + "5.google.analytics.admin.v1alpha.KeyEvent.DefaultValueB\003\340A\001\032F\n" + + "\017counting_method\030\006" + + " \001(\01627.google.analytics.admin.v1alpha.KeyEvent.CountingMethodB\003\340A\002\022Q\n\r" + + "default_value\030\007" + + " \001(\01325.google.analytics.admin.v1alpha.KeyEvent.DefaultValueB\003\340A\001\032F\n" + "\014DefaultValue\022\032\n\r" + "numeric_value\030\001 \001(\001B\003\340A\002\022\032\n\r" + "currency_code\030\002 \001(\tB\003\340A\002\"[\n" @@ -567,42 +567,43 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\033COUNTING_METHOD_UNSPECIFIED\020\000\022\022\n" + "\016ONCE_PER_EVENT\020\001\022\024\n" + "\020ONCE_PER_SESSION\020\002:m\352Aj\n" - + "&analytics" - + "admin.googleapis.com/KeyEvent\022+properties/{property}/keyEvents/{key_event}*" + + "&analyticsadmin.googleapis.com/K" + + "eyEvent\022+properties/{property}/keyEvents/{key_event}*" + "\tkeyEvents2\010keyEvent\"\240\002\n" + "\025GoogleSignalsSettings\022\021\n" + "\004name\030\001 \001(\tB\003\340A\003\022A\n" + "\005state\030\003 \001(\01622.google.analytics.admin.v1alpha.GoogleSignalsState\022J\n" - + "\007consent\030\004 \001(\01624.google.analyt" - + "ics.admin.v1alpha.GoogleSignalsConsentB\003\340A\003:e\352Ab\n" - + "3analyticsadmin.googleapis.com/" - + "GoogleSignalsSettings\022+properties/{property}/googleSignalsSettings\"\341\003\n" + + "\007consent\030\004 \001" + + "(\01624.google.analytics.admin.v1alpha.GoogleSignalsConsentB\003\340A\003:e\352Ab\n" + + "3analyticsadmin.googleapis.com/GoogleSignalsSettings\022" + + "+properties/{property}/googleSignalsSettings\"\341\003\n" + "\017CustomDimension\022\021\n" + "\004name\030\001 \001(\tB\003\340A\010\022\036\n" + "\016parameter_name\030\002 \001(\tB\006\340A\002\340A\005\022\031\n" + "\014display_name\030\003 \001(\tB\003\340A\002\022\030\n" + "\013description\030\004 \001(\tB\003\340A\001\022U\n" - + "\005scope\030\005" - + " \001(\0162>.google.analytics.admin.v1alpha.CustomDimension.DimensionScopeB\006\340A\002\340A\005\022)\n" + + "\005scope\030\005 \001(\0162>.google.analyti" + + "cs.admin.v1alpha.CustomDimension.DimensionScopeB\006\340A\002\340A\005\022)\n" + "\034disallow_ads_personalization\030\006 \001(\010B\003\340A\001\"P\n" + "\016DimensionScope\022\037\n" + "\033DIMENSION_SCOPE_UNSPECIFIED\020\000\022\t\n" + "\005EVENT\020\001\022\010\n" + "\004USER\020\002\022\010\n" + "\004ITEM\020\003:\221\001\352A\215\001\n" - + "-analyticsadmin.googleapis.com/CustomDimension\0229properties/{property}/" - + "customDimensions/{custom_dimension}*\020customDimensions2\017customDimension\"\343\006\n" + + "-analyticsadmin.googleapis.com/CustomDimension\0229prop" + + "erties/{property}/customDimensions/{cust" + + "om_dimension}*\020customDimensions2\017customDimension\"\343\006\n" + "\014CustomMetric\022\021\n" + "\004name\030\001 \001(\tB\003\340A\010\022\036\n" + "\016parameter_name\030\002 \001(\tB\006\340A\002\340A\005\022\031\n" + "\014display_name\030\003 \001(\tB\003\340A\002\022\030\n" + "\013description\030\004 \001(\tB\003\340A\001\022[\n" - + "\020measurement_unit\030\005 \001(\0162<.google.analytics.adm" - + "in.v1alpha.CustomMetric.MeasurementUnitB\003\340A\002\022O\n" - + "\005scope\030\006 \001(\01628.google.analytics.a" - + "dmin.v1alpha.CustomMetric.MetricScopeB\006\340A\002\340A\005\022f\n" - + "\026restricted_metric_type\030\010 \003(\0162A." - + "google.analytics.admin.v1alpha.CustomMetric.RestrictedMetricTypeB\003\340A\001\"\267\001\n" + + "\020measurement_unit\030\005 \001(\0162<.go" + + "ogle.analytics.admin.v1alpha.CustomMetric.MeasurementUnitB\003\340A\002\022O\n" + + "\005scope\030\006 \001(\01628." + + "google.analytics.admin.v1alpha.CustomMetric.MetricScopeB\006\340A\002\340A\005\022f\n" + + "\026restricted_metric_type\030\010 \003(\0162A.google.analytics.admin" + + ".v1alpha.CustomMetric.RestrictedMetricTypeB\003\340A\001\"\267\001\n" + "\017MeasurementUnit\022 \n" + "\034MEASUREMENT_UNIT_UNSPECIFIED\020\000\022\014\n" + "\010STANDARD\020\001\022\014\n" @@ -623,18 +624,18 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\"RESTRICTED_METRIC_TYPE_UNSPECIFIED\020\000\022\r\n" + "\tCOST_DATA\020\001\022\020\n" + "\014REVENUE_DATA\020\002:\201\001\352A~\n" - + "*analyticsadmin.googleapi" - + "s.com/CustomMetric\0223properties/{property}/customMetrics/{custom_metric}*\r" + + "*analyticsadmin.googleapis.com/CustomMetric\0223pr" + + "operties/{property}/customMetrics/{custom_metric}*\r" + "customMetrics2\014customMetric\"\247\006\n" + "\020CalculatedMetric\022\021\n" + "\004name\030\001 \001(\tB\003\340A\010\022\030\n" + "\013description\030\002 \001(\tB\003\340A\001\022\031\n" + "\014display_name\030\003 \001(\tB\003\340A\002\022!\n" + "\024calculated_metric_id\030\004 \001(\tB\003\340A\003\022U\n" - + "\013metric_unit\030\005" - + " \001(\0162;.google.analytics.admin.v1alpha.CalculatedMetric.MetricUnitB\003\340A\002\022j\n" - + "\026restricted_metric_type\030\006 \003(\0162E.google.ana" - + "lytics.admin.v1alpha.CalculatedMetric.RestrictedMetricTypeB\003\340A\003\022\024\n" + + "\013metric_unit\030\005 \001(\0162;.google.ana" + + "lytics.admin.v1alpha.CalculatedMetric.MetricUnitB\003\340A\002\022j\n" + + "\026restricted_metric_type\030\006 \003(\0162E.google.analytics.admin.v1alpha.C" + + "alculatedMetric.RestrictedMetricTypeB\003\340A\003\022\024\n" + "\007formula\030\007 \001(\tB\003\340A\002\022%\n" + "\030invalid_metric_reference\030\t \001(\010B\003\340A\003\"\255\001\n\n" + "MetricUnit\022\033\n" @@ -654,14 +655,15 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\"RESTRICTED_METRIC_TYPE_UNSPECIFIED\020\000\022\r\n" + "\tCOST_DATA\020\001\022\020\n" + "\014REVENUE_DATA\020\002:\226\001\352A\222\001\n" - + ".analyticsadmin.googleapis.com/CalculatedMetric\022;properties/{property}/calc" - + "ulatedMetrics/{calculated_metric}*\021calculatedMetrics2\020calculatedMetric\"\342\004\n" + + ".analyticsadmin.googleapis.com/CalculatedMetric\022;properti" + + "es/{property}/calculatedMetrics/{calcula" + + "ted_metric}*\021calculatedMetrics2\020calculatedMetric\"\342\004\n" + "\025DataRetentionSettings\022\021\n" + "\004name\030\001 \001(\tB\003\340A\010\022j\n" - + "\024event_data_retention\030\002 \001(\0162G.google.analy" - + "tics.admin.v1alpha.DataRetentionSettings.RetentionDurationB\003\340A\002\022i\n" - + "\023user_data_retention\030\004 \001(\0162G.google.analytics.admin.v1" - + "alpha.DataRetentionSettings.RetentionDurationB\003\340A\002\022\'\n" + + "\024event_data_retention\030\002 \001(\0162G.google.analytics.admin.v1alpha.Dat" + + "aRetentionSettings.RetentionDurationB\003\340A\002\022i\n" + + "\023user_data_retention\030\004 \001(\0162G.google." + + "analytics.admin.v1alpha.DataRetentionSettings.RetentionDurationB\003\340A\002\022\'\n" + "\037reset_user_data_on_new_activity\030\003 \001(\010\"\236\001\n" + "\021RetentionDuration\022\"\n" + "\036RETENTION_DURATION_UNSPECIFIED\020\000\022\016\n\n" @@ -670,23 +672,22 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\021TWENTY_SIX_MONTHS\020\004\022\027\n" + "\023THIRTY_EIGHT_MONTHS\020\005\022\020\n" + "\014FIFTY_MONTHS\020\006:\224\001\352A\220\001\n" - + "3analyticsadmin.googleapis.com/DataRetentionSettings\022+proper" - + "ties/{property}/dataRetentionSettings*\025d" - + "ataRetentionSettings2\025dataRetentionSettings\"\374\013\n" + + "3analyticsadmin.googleapis.com/DataRetentionSettings\022+properties/{property}/dataRe" + + "tentionSettings*\025dataRetentionSettings2\025dataRetentionSettings\"\374\013\n" + "\023AttributionSettings\022\021\n" + "\004name\030\001 \001(\tB\003\340A\003\022\227\001\n" - + ",acquisition_conversion_event_lookback_window\030\002 \001(\0162\\.google.analytics" - + ".admin.v1alpha.AttributionSettings.Acqui" - + "sitionConversionEventLookbackWindowB\003\340A\002\022\213\001\n" - + "&other_conversion_event_lookback_window\030\003" - + " \001(\0162V.google.analytics.admin.v1alp" - + "ha.AttributionSettings.OtherConversionEventLookbackWindowB\003\340A\002\022w\n" - + "\033reporting_attribution_model\030\004 \001(\0162M.google.analytics.a" - + "dmin.v1alpha.AttributionSettings.Reporti", - "ngAttributionModelB\003\340A\002\022\206\001\n" - + "$ads_web_conversion_data_export_scope\030\005 \001(\0162S.google." - + "analytics.admin.v1alpha.AttributionSetti" - + "ngs.AdsWebConversionDataExportScopeB\003\340A\002\"\333\001\n" + + ",acquisition_conversion_event_lookback_window\030\002 \001(\0162" + + "\\.google.analytics.admin.v1alpha.Attribu" + + "tionSettings.AcquisitionConversionEventLookbackWindowB\003\340A\002\022\213\001\n" + + "&other_conversion_event_lookback_window\030\003 \001(\0162V.google.ana" + + "lytics.admin.v1alpha.AttributionSettings" + + ".OtherConversionEventLookbackWindowB\003\340A\002\022w\n" + + "\033reporting_attribution_model\030\004 \001(\0162M." + + "google.analytics.admin.v1alpha.Attributi", + "onSettings.ReportingAttributionModelB\003\340A\002\022\206\001\n" + + "$ads_web_conversion_data_export_scope\030\005" + + " \001(\0162S.google.analytics.admin.v1alph" + + "a.AttributionSettings.AdsWebConversionDataExportScopeB\003\340A\002\"\333\001\n" + "(AcquisitionConversionEventLookbackWindow\022<\n" + "8ACQUISITION_CONVERSION_EVENT_LOOKBACK_WINDOW_UNSPECIFIED\020\000\0227\n" + "3ACQUISITION_CONVERSION_EVENT_LOOKBACK_WINDOW_7_DAYS\020\001\0228\n" @@ -706,15 +707,16 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\020NOT_SELECTED_YET\020\001\022\035\n" + "\031PAID_AND_ORGANIC_CHANNELS\020\002\022\030\n" + "\024GOOGLE_PAID_CHANNELS\020\003:a\352A^\n" - + "1analyticsadmin.googleapis.com/Attr" - + "ibutionSettings\022)properties/{property}/attributionSettings\"\361\001\n\r" + + "1analyticsadmin.g" + + "oogleapis.com/AttributionSettings\022)properties/{property}/attributionSettings\"\361\001\n" + + "\r" + "AccessBinding\022\016\n" + "\004user\030\002 \001(\tH\000\022\021\n" + "\004name\030\001 \001(\tB\003\340A\003\022\r\n" + "\005roles\030\003 \003(\t:\234\001\352A\230\001\n" - + "+analyticsadmin.googleapis.com/AccessBinding\0222accounts/{account}/a" - + "ccessBindings/{access_binding}\0225properti" - + "es/{property}/accessBindings/{access_binding}B\017\n\r" + + "+analyticsadmin.googleapis.com/AccessBinding\0222ac" + + "counts/{account}/accessBindings/{access_" + + "binding}\0225properties/{property}/accessBindings/{access_binding}B\017\n\r" + "access_target\"\252\003\n" + "\014BigQueryLink\022\021\n" + "\004name\030\001 \001(\tB\003\340A\003\022\024\n" @@ -729,8 +731,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\017excluded_events\030\010 \003(\t\022 \n" + "\020dataset_location\030\n" + " \001(\tB\006\340A\005\340A\002:d\352Aa\n" - + "*analyticsadmin.googleapis.com/BigQueryLink\0223" - + "properties/{property}/bigQueryLinks/{bigquery_link}\"\363\003\n" + + "*analyticsadmin.googleapis." + + "com/BigQueryLink\0223properties/{property}/bigQueryLinks/{bigquery_link}\"\363\003\n" + "\033EnhancedMeasurementSettings\022\021\n" + "\004name\030\001 \001(\tB\003\340A\003\022\026\n" + "\016stream_enabled\030\002 \001(\010\022\027\n" @@ -744,35 +746,36 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\026search_query_parameter\030\n" + " \001(\tB\003\340A\002\022\033\n" + "\023uri_query_parameter\030\013 \001(\t:\214\001\352A\210\001\n" - + "9analyticsadmin.googleapis.com/EnhancedMeasurementSettings\022Kpr" - + "operties/{property}/dataStreams/{data_stream}/enhancedMeasurementSettings\"\225\002\n" + + "9analyticsadmin.googleapis.com/EnhancedMeasu" + + "rementSettings\022Kproperties/{property}/da" + + "taStreams/{data_stream}/enhancedMeasurementSettings\"\225\002\n" + "\025DataRedactionSettings\022\021\n" + "\004name\030\001 \001(\tB\003\340A\003\022\037\n" + "\027email_redaction_enabled\030\002 \001(\010\022)\n" + "!query_parameter_redaction_enabled\030\003 \001(\010\022\034\n" + "\024query_parameter_keys\030\004 \003(\t:\177\352A|\n" - + "3analyticsadmin.googleapis.com/DataRedactionSettin" - + "gs\022Eproperties/{property}/dataStreams/{data_stream}/dataRedactionSettings\"\240\001\n" + + "3analyticsadmin.googleapis.com/DataRedactionSettings\022Eproperties/{proper" + + "ty}/dataStreams/{data_stream}/dataRedactionSettings\"\240\001\n" + "\013AdSenseLink\022\021\n" + "\004name\030\001 \001(\tB\003\340A\003\022\033\n" + "\016ad_client_code\030\002 \001(\tB\003\340A\005:a\352A^\n" - + ")analyticsadmin.g" - + "oogleapis.com/AdSenseLink\0221properties/{property}/adSenseLinks/{adsense_link}\"\216\002\n" + + ")analyticsadmin.googleapis.com/AdSenseL" + + "ink\0221properties/{property}/adSenseLinks/{adsense_link}\"\216\002\n" + "\030RollupPropertySourceLink\022\021\n" + "\004name\030\001 \001(\tB\003\340A\003\022\034\n" + "\017source_property\030\002 \001(\tB\003\340A\005:\300\001\352A\274\001\n" - + "6analyticsadmin.googleapis.com/RollupPropertySourceLink\022Mproperties/{property}" - + "/rollupPropertySourceLinks/{rollup_prope" - + "rty_source_link}*\031rollupPropertySourceLinks2\030rollupPropertySourceLink\"\366\005\n" + + "6analyticsadmin.googleapis.com/RollupPropertySourceLink\022Mpro" + + "perties/{property}/rollupPropertySourceLinks/{rollup_property_source_link}*\031roll" + + "upPropertySourceLinks2\030rollupPropertySourceLink\"\366\005\n" + "\027ReportingDataAnnotation\022,\n" + "\017annotation_date\030\004 \001(\0132\021.google.type.DateH\000\022b\n" - + "\025annotation_date_range\030\005 \001(\0132A.google.analytics.admin." - + "v1alpha.ReportingDataAnnotation.DateRangeH\000\022\024\n" + + "\025annotation_date_range\030\005 \001(\0132A.googl" + + "e.analytics.admin.v1alpha.ReportingDataAnnotation.DateRangeH\000\022\024\n" + "\004name\030\001 \001(\tB\006\340A\010\340A\002\022\022\n" + "\005title\030\002 \001(\tB\003\340A\002\022\030\n" + "\013description\030\003 \001(\tB\003\340A\001\022Q\n" - + "\005color\030\006" - + " \001(\0162=.google.analytics.admin.v1alpha.ReportingDataAnnotation.ColorB\003\340A\002\022\035\n" + + "\005color\030\006 \001(\0162=.google.analyt" + + "ics.admin.v1alpha.ReportingDataAnnotation.ColorB\003\340A\002\022\035\n" + "\020system_generated\030\007 \001(\010B\003\340A\003\032a\n" + "\tDateRange\022*\n\n" + "start_date\030\001 \001(\0132\021.google.type.DateB\003\340A\002\022(\n" @@ -786,48 +789,47 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\003RED\020\005\022\010\n" + "\004CYAN\020\006\022\n\n" + "\006ORANGE\020\007:\272\001\352A\266\001\n" - + "5analyticsadmin.googleapis.com/ReportingDataAnnotation\022Jproperties/{property}/rep" - + "ortingDataAnnotations/{reporting_data_an" - + "notation}*\030reportingDataAnnotations2\027reportingDataAnnotationB\010\n" + + "5analyticsadmin.googleapis.com/ReportingDataAnnotation\022Jpropert" + + "ies/{property}/reportingDataAnnotations/{reporting_data_annotation}*\030reportingDa" + + "taAnnotations2\027reportingDataAnnotationB\010\n" + "\006target\"\322\003\n" + "\025SubpropertySyncConfig\022\024\n" + "\004name\030\001 \001(\tB\006\340A\010\340A\003\022!\n" + "\021apply_to_property\030\002 \001(\tB\006\340A\005\340A\003\022}\n" - + "%custom_dimension_and_metric_sync_mode\030\003 \001(\016" - + "2I.google.analytics.admin.v1alpha.Subpro" - + "pertySyncConfig.SynchronizationModeB\003\340A\002\"N\n" + + "%custom_dimension_and_metric_sync_mode\030\003 \001(\0162I.google.analytics.ad" + + "min.v1alpha.SubpropertySyncConfig.SynchronizationModeB\003\340A\002\"N\n" + "\023SynchronizationMode\022$\n" + " SYNCHRONIZATION_MODE_UNSPECIFIED\020\000\022\010\n" + "\004NONE\020\001\022\007\n" + "\003ALL\020\002:\260\001\352A\254\001\n" - + "3analyticsadmin.googleapis.com/SubpropertySyncConfig\022Fproperties/{proper" - + "ty}/subpropertySyncConfigs/{subproperty_" - + "sync_config}*\026subpropertySyncConfigs2\025subpropertySyncConfig\"\257\003\n" + + "3analyticsadmin.googleapis.com/SubpropertySyncConfig\022F" + + "properties/{property}/subpropertySyncConfigs/{subproperty_sync_config}*\026subprope" + + "rtySyncConfigs2\025subpropertySyncConfig\"\257\003\n" + "\031ReportingIdentitySettings\022\024\n" + "\004name\030\001 \001(\tB\006\340A\010\340A\003\022g\n" - + "\022reporting_identity\030\002 \001(\0162K.google.analytics.a" - + "dmin.v1alpha.ReportingIdentitySettings.ReportingIdentity\"l\n" + + "\022reporting_identity\030\002 \001(\0162K." + + "google.analytics.admin.v1alpha.ReportingIdentitySettings.ReportingIdentity\"l\n" + "\021ReportingIdentity\022*\n" + "&IDENTITY_BLENDING_STRATEGY_UNSPECIFIED\020\000\022\013\n" + "\007BLENDED\020\001\022\014\n" + "\010OBSERVED\020\002\022\020\n" + "\014DEVICE_BASED\020\003:\244\001\352A\240\001\n" - + "7analyticsadmin.googleapis.com/ReportingIdentitySettings\022/properti" - + "es/{property}/reportingIdentitySettings*" - + "\031reportingIdentitySettings2\031reportingIdentitySettings\"\301\002\n" + + "7analyticsadmin.googleapis.com/ReportingIdentity" + + "Settings\022/properties/{property}/reportin" + + "gIdentitySettings*\031reportingIdentitySettings2\031reportingIdentitySettings\"\301\002\n" + "\030UserProvidedDataSettings\022\021\n" + "\004name\030\001 \001(\tB\003\340A\010\0222\n" + "%user_provided_data_collection_enabled\030\002 \001(\010B\003\340A\001\022;\n" + ".automatically_detected_data_collection_enabled\030\003" + " \001(\010B\003\340A\001:\240\001\352A\234\001\n" - + "6analyticsadmin.googleapis.com/UserProvidedDataSettings\022.p" - + "roperties/{property}/userProvidedDataSet" - + "tings*\030userProvidedDataSettings2\030userProvidedDataSettings*\252\004\n" + + "6analyticsadmin.googleapis.com/UserProvidedDataSettings\022.properties/{property}/u" + + "serProvidedDataSettings*\030userProvidedDataSettings2\030userProvidedDataSettings*\252\004\n" + "\020IndustryCategory\022!\n" + "\035INDUSTRY_CATEGORY_UNSPECIFIED\020\000\022\016\n\n" + "AUTOMOTIVE\020\001\022#\n" + "\037BUSINESS_AND_INDUSTRIAL_MARKETS\020\002\022\013\n" - + "\007FINANCE\020\003\022\016\n\n" + + "\007FINANCE\020\003\022\016\n" + + "\n" + "HEALTHCARE\020\004\022\016\n\n" + "TECHNOLOGY\020\005\022\n\n" + "\006TRAVEL\020\006\022\t\n" @@ -870,7 +872,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\031ChangeHistoryResourceType\022,\n" + "(CHANGE_HISTORY_RESOURCE_TYPE_UNSPECIFIED\020\000\022\013\n" + "\007ACCOUNT\020\001\022\014\n" - + "\010PROPERTY\020\002\022\021\n\r" + + "\010PROPERTY\020\002\022\021\n" + + "\r" + "FIREBASE_LINK\020\006\022\023\n" + "\017GOOGLE_ADS_LINK\020\007\022\033\n" + "\027GOOGLE_SIGNALS_SETTINGS\020\010\022\024\n" @@ -931,10 +934,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\020COARSE_VALUE_LOW\020\001\022\027\n" + "\023COARSE_VALUE_MEDIUM\020\002\022\025\n" + "\021COARSE_VALUE_HIGH\020\003B\313\001\n" - + "\"com.google.analytics.admin.v1alphaB\016ResourcesPro" - + "toP\001Z>cloud.google.com/go/analytics/admin/apiv1alpha/adminpb;adminpb\352AR\n" - + "2marketingplatformadmin.googleapis.com/Organizat" - + "ion\022\034organizations/{organization}b\006proto3" + + "\"com.google.analytics.admin.v1alphaB\016ResourcesProtoP\001Z>cloud.google.com" + + "/go/analytics/admin/apiv1alpha/adminpb;adminpb\352AR\n" + + "2marketingplatformadmin.googleapis.com/Organization\022\034organizations/{or" + + "ganization}b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -1081,7 +1084,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_google_analytics_admin_v1alpha_PropertySummary_descriptor, new java.lang.String[] { - "Property", "DisplayName", "PropertyType", "Parent", + "Property", "DisplayName", "PropertyType", "Parent", "CanEdit", }); internal_static_google_analytics_admin_v1alpha_MeasurementProtocolSecret_descriptor = getDescriptor().getMessageType(9); diff --git a/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/UpdateReportingIdentitySettingsRequest.java b/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/UpdateReportingIdentitySettingsRequest.java new file mode 100644 index 000000000000..e4c59c5baa04 --- /dev/null +++ b/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/UpdateReportingIdentitySettingsRequest.java @@ -0,0 +1,1109 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/analytics/admin/v1alpha/analytics_admin.proto +// Protobuf Java Version: 4.33.2 + +package com.google.analytics.admin.v1alpha; + +/** + * + * + *
+ * Request message for UpdateReportingIdentitySettings RPC.
+ * 
+ * + * Protobuf type {@code google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest} + */ +@com.google.protobuf.Generated +public final class UpdateReportingIdentitySettingsRequest + extends com.google.protobuf.GeneratedMessage + implements + // @@protoc_insertion_point(message_implements:google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest) + UpdateReportingIdentitySettingsRequestOrBuilder { + private static final long serialVersionUID = 0L; + + static { + com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion( + com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC, + /* major= */ 4, + /* minor= */ 33, + /* patch= */ 2, + /* suffix= */ "", + "UpdateReportingIdentitySettingsRequest"); + } + + // Use UpdateReportingIdentitySettingsRequest.newBuilder() to construct. + private UpdateReportingIdentitySettingsRequest( + com.google.protobuf.GeneratedMessage.Builder builder) { + super(builder); + } + + private UpdateReportingIdentitySettingsRequest() {} + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.analytics.admin.v1alpha.AnalyticsAdminProto + .internal_static_google_analytics_admin_v1alpha_UpdateReportingIdentitySettingsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.analytics.admin.v1alpha.AnalyticsAdminProto + .internal_static_google_analytics_admin_v1alpha_UpdateReportingIdentitySettingsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest.class, + com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest.Builder + .class); + } + + private int bitField0_; + public static final int REPORTING_IDENTITY_SETTINGS_FIELD_NUMBER = 1; + private com.google.analytics.admin.v1alpha.ReportingIdentitySettings reportingIdentitySettings_; + + /** + * + * + *
+   * Required. The reporting identity settings to update.
+   * The settings' `name` field is used to identify the settings.
+   * 
+ * + * + * .google.analytics.admin.v1alpha.ReportingIdentitySettings reporting_identity_settings = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the reportingIdentitySettings field is set. + */ + @java.lang.Override + public boolean hasReportingIdentitySettings() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Required. The reporting identity settings to update.
+   * The settings' `name` field is used to identify the settings.
+   * 
+ * + * + * .google.analytics.admin.v1alpha.ReportingIdentitySettings reporting_identity_settings = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The reportingIdentitySettings. + */ + @java.lang.Override + public com.google.analytics.admin.v1alpha.ReportingIdentitySettings + getReportingIdentitySettings() { + return reportingIdentitySettings_ == null + ? com.google.analytics.admin.v1alpha.ReportingIdentitySettings.getDefaultInstance() + : reportingIdentitySettings_; + } + + /** + * + * + *
+   * Required. The reporting identity settings to update.
+   * The settings' `name` field is used to identify the settings.
+   * 
+ * + * + * .google.analytics.admin.v1alpha.ReportingIdentitySettings reporting_identity_settings = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.analytics.admin.v1alpha.ReportingIdentitySettingsOrBuilder + getReportingIdentitySettingsOrBuilder() { + return reportingIdentitySettings_ == null + ? com.google.analytics.admin.v1alpha.ReportingIdentitySettings.getDefaultInstance() + : reportingIdentitySettings_; + } + + public static final int UPDATE_MASK_FIELD_NUMBER = 2; + private com.google.protobuf.FieldMask updateMask_; + + /** + * + * + *
+   * Optional. The list of fields to be updated. Field names must be in snake
+   * case (for example, "field_to_update"). Omitted fields will not be updated.
+   * To replace the entire entity, use one path with the string "*" to match all
+   * fields. If omitted, the service will treat it as an implied field mask
+   * equivalent to all fields that are populated.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the updateMask field is set. + */ + @java.lang.Override + public boolean hasUpdateMask() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Optional. The list of fields to be updated. Field names must be in snake
+   * case (for example, "field_to_update"). Omitted fields will not be updated.
+   * To replace the entire entity, use one path with the string "*" to match all
+   * fields. If omitted, the service will treat it as an implied field mask
+   * equivalent to all fields that are populated.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The updateMask. + */ + @java.lang.Override + public com.google.protobuf.FieldMask getUpdateMask() { + return updateMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : updateMask_; + } + + /** + * + * + *
+   * Optional. The list of fields to be updated. Field names must be in snake
+   * case (for example, "field_to_update"). Omitted fields will not be updated.
+   * To replace the entire entity, use one path with the string "*" to match all
+   * fields. If omitted, the service will treat it as an implied field mask
+   * equivalent to all fields that are populated.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() { + return updateMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : updateMask_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(1, getReportingIdentitySettings()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(2, getUpdateMask()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (((bitField0_ & 0x00000001) != 0)) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 1, getReportingIdentitySettings()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getUpdateMask()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj + instanceof com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest)) { + return super.equals(obj); + } + com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest other = + (com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest) obj; + + if (hasReportingIdentitySettings() != other.hasReportingIdentitySettings()) return false; + if (hasReportingIdentitySettings()) { + if (!getReportingIdentitySettings().equals(other.getReportingIdentitySettings())) + return false; + } + if (hasUpdateMask() != other.hasUpdateMask()) return false; + if (hasUpdateMask()) { + if (!getUpdateMask().equals(other.getUpdateMask())) return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasReportingIdentitySettings()) { + hash = (37 * hash) + REPORTING_IDENTITY_SETTINGS_FIELD_NUMBER; + hash = (53 * hash) + getReportingIdentitySettings().hashCode(); + } + if (hasUpdateMask()) { + hash = (37 * hash) + UPDATE_MASK_FIELD_NUMBER; + hash = (53 * hash) + getUpdateMask().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input); + } + + public static com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessage.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder( + com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * + * + *
+   * Request message for UpdateReportingIdentitySettings RPC.
+   * 
+ * + * Protobuf type {@code google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder + implements + // @@protoc_insertion_point(builder_implements:google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest) + com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.analytics.admin.v1alpha.AnalyticsAdminProto + .internal_static_google_analytics_admin_v1alpha_UpdateReportingIdentitySettingsRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.analytics.admin.v1alpha.AnalyticsAdminProto + .internal_static_google_analytics_admin_v1alpha_UpdateReportingIdentitySettingsRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest.class, + com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest.Builder + .class); + } + + // Construct using + // com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetReportingIdentitySettingsFieldBuilder(); + internalGetUpdateMaskFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + reportingIdentitySettings_ = null; + if (reportingIdentitySettingsBuilder_ != null) { + reportingIdentitySettingsBuilder_.dispose(); + reportingIdentitySettingsBuilder_ = null; + } + updateMask_ = null; + if (updateMaskBuilder_ != null) { + updateMaskBuilder_.dispose(); + updateMaskBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.analytics.admin.v1alpha.AnalyticsAdminProto + .internal_static_google_analytics_admin_v1alpha_UpdateReportingIdentitySettingsRequest_descriptor; + } + + @java.lang.Override + public com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest + getDefaultInstanceForType() { + return com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest build() { + com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest + buildPartial() { + com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest result = + new com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest result) { + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.reportingIdentitySettings_ = + reportingIdentitySettingsBuilder_ == null + ? reportingIdentitySettings_ + : reportingIdentitySettingsBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.updateMask_ = updateMaskBuilder_ == null ? updateMask_ : updateMaskBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + result.bitField0_ |= to_bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest) { + return mergeFrom( + (com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest other) { + if (other + == com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest + .getDefaultInstance()) return this; + if (other.hasReportingIdentitySettings()) { + mergeReportingIdentitySettings(other.getReportingIdentitySettings()); + } + if (other.hasUpdateMask()) { + mergeUpdateMask(other.getUpdateMask()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage( + internalGetReportingIdentitySettingsFieldBuilder().getBuilder(), + extensionRegistry); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + input.readMessage( + internalGetUpdateMaskFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000002; + break; + } // case 18 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private com.google.analytics.admin.v1alpha.ReportingIdentitySettings reportingIdentitySettings_; + private com.google.protobuf.SingleFieldBuilder< + com.google.analytics.admin.v1alpha.ReportingIdentitySettings, + com.google.analytics.admin.v1alpha.ReportingIdentitySettings.Builder, + com.google.analytics.admin.v1alpha.ReportingIdentitySettingsOrBuilder> + reportingIdentitySettingsBuilder_; + + /** + * + * + *
+     * Required. The reporting identity settings to update.
+     * The settings' `name` field is used to identify the settings.
+     * 
+ * + * + * .google.analytics.admin.v1alpha.ReportingIdentitySettings reporting_identity_settings = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the reportingIdentitySettings field is set. + */ + public boolean hasReportingIdentitySettings() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+     * Required. The reporting identity settings to update.
+     * The settings' `name` field is used to identify the settings.
+     * 
+ * + * + * .google.analytics.admin.v1alpha.ReportingIdentitySettings reporting_identity_settings = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The reportingIdentitySettings. + */ + public com.google.analytics.admin.v1alpha.ReportingIdentitySettings + getReportingIdentitySettings() { + if (reportingIdentitySettingsBuilder_ == null) { + return reportingIdentitySettings_ == null + ? com.google.analytics.admin.v1alpha.ReportingIdentitySettings.getDefaultInstance() + : reportingIdentitySettings_; + } else { + return reportingIdentitySettingsBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Required. The reporting identity settings to update.
+     * The settings' `name` field is used to identify the settings.
+     * 
+ * + * + * .google.analytics.admin.v1alpha.ReportingIdentitySettings reporting_identity_settings = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setReportingIdentitySettings( + com.google.analytics.admin.v1alpha.ReportingIdentitySettings value) { + if (reportingIdentitySettingsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + reportingIdentitySettings_ = value; + } else { + reportingIdentitySettingsBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The reporting identity settings to update.
+     * The settings' `name` field is used to identify the settings.
+     * 
+ * + * + * .google.analytics.admin.v1alpha.ReportingIdentitySettings reporting_identity_settings = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setReportingIdentitySettings( + com.google.analytics.admin.v1alpha.ReportingIdentitySettings.Builder builderForValue) { + if (reportingIdentitySettingsBuilder_ == null) { + reportingIdentitySettings_ = builderForValue.build(); + } else { + reportingIdentitySettingsBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The reporting identity settings to update.
+     * The settings' `name` field is used to identify the settings.
+     * 
+ * + * + * .google.analytics.admin.v1alpha.ReportingIdentitySettings reporting_identity_settings = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeReportingIdentitySettings( + com.google.analytics.admin.v1alpha.ReportingIdentitySettings value) { + if (reportingIdentitySettingsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) + && reportingIdentitySettings_ != null + && reportingIdentitySettings_ + != com.google.analytics.admin.v1alpha.ReportingIdentitySettings + .getDefaultInstance()) { + getReportingIdentitySettingsBuilder().mergeFrom(value); + } else { + reportingIdentitySettings_ = value; + } + } else { + reportingIdentitySettingsBuilder_.mergeFrom(value); + } + if (reportingIdentitySettings_ != null) { + bitField0_ |= 0x00000001; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Required. The reporting identity settings to update.
+     * The settings' `name` field is used to identify the settings.
+     * 
+ * + * + * .google.analytics.admin.v1alpha.ReportingIdentitySettings reporting_identity_settings = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearReportingIdentitySettings() { + bitField0_ = (bitField0_ & ~0x00000001); + reportingIdentitySettings_ = null; + if (reportingIdentitySettingsBuilder_ != null) { + reportingIdentitySettingsBuilder_.dispose(); + reportingIdentitySettingsBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Required. The reporting identity settings to update.
+     * The settings' `name` field is used to identify the settings.
+     * 
+ * + * + * .google.analytics.admin.v1alpha.ReportingIdentitySettings reporting_identity_settings = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.analytics.admin.v1alpha.ReportingIdentitySettings.Builder + getReportingIdentitySettingsBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return internalGetReportingIdentitySettingsFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Required. The reporting identity settings to update.
+     * The settings' `name` field is used to identify the settings.
+     * 
+ * + * + * .google.analytics.admin.v1alpha.ReportingIdentitySettings reporting_identity_settings = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.analytics.admin.v1alpha.ReportingIdentitySettingsOrBuilder + getReportingIdentitySettingsOrBuilder() { + if (reportingIdentitySettingsBuilder_ != null) { + return reportingIdentitySettingsBuilder_.getMessageOrBuilder(); + } else { + return reportingIdentitySettings_ == null + ? com.google.analytics.admin.v1alpha.ReportingIdentitySettings.getDefaultInstance() + : reportingIdentitySettings_; + } + } + + /** + * + * + *
+     * Required. The reporting identity settings to update.
+     * The settings' `name` field is used to identify the settings.
+     * 
+ * + * + * .google.analytics.admin.v1alpha.ReportingIdentitySettings reporting_identity_settings = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.analytics.admin.v1alpha.ReportingIdentitySettings, + com.google.analytics.admin.v1alpha.ReportingIdentitySettings.Builder, + com.google.analytics.admin.v1alpha.ReportingIdentitySettingsOrBuilder> + internalGetReportingIdentitySettingsFieldBuilder() { + if (reportingIdentitySettingsBuilder_ == null) { + reportingIdentitySettingsBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.analytics.admin.v1alpha.ReportingIdentitySettings, + com.google.analytics.admin.v1alpha.ReportingIdentitySettings.Builder, + com.google.analytics.admin.v1alpha.ReportingIdentitySettingsOrBuilder>( + getReportingIdentitySettings(), getParentForChildren(), isClean()); + reportingIdentitySettings_ = null; + } + return reportingIdentitySettingsBuilder_; + } + + private com.google.protobuf.FieldMask updateMask_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder> + updateMaskBuilder_; + + /** + * + * + *
+     * Optional. The list of fields to be updated. Field names must be in snake
+     * case (for example, "field_to_update"). Omitted fields will not be updated.
+     * To replace the entire entity, use one path with the string "*" to match all
+     * fields. If omitted, the service will treat it as an implied field mask
+     * equivalent to all fields that are populated.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the updateMask field is set. + */ + public boolean hasUpdateMask() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+     * Optional. The list of fields to be updated. Field names must be in snake
+     * case (for example, "field_to_update"). Omitted fields will not be updated.
+     * To replace the entire entity, use one path with the string "*" to match all
+     * fields. If omitted, the service will treat it as an implied field mask
+     * equivalent to all fields that are populated.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The updateMask. + */ + public com.google.protobuf.FieldMask getUpdateMask() { + if (updateMaskBuilder_ == null) { + return updateMask_ == null + ? com.google.protobuf.FieldMask.getDefaultInstance() + : updateMask_; + } else { + return updateMaskBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Optional. The list of fields to be updated. Field names must be in snake
+     * case (for example, "field_to_update"). Omitted fields will not be updated.
+     * To replace the entire entity, use one path with the string "*" to match all
+     * fields. If omitted, the service will treat it as an implied field mask
+     * equivalent to all fields that are populated.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setUpdateMask(com.google.protobuf.FieldMask value) { + if (updateMaskBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateMask_ = value; + } else { + updateMaskBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The list of fields to be updated. Field names must be in snake
+     * case (for example, "field_to_update"). Omitted fields will not be updated.
+     * To replace the entire entity, use one path with the string "*" to match all
+     * fields. If omitted, the service will treat it as an implied field mask
+     * equivalent to all fields that are populated.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setUpdateMask(com.google.protobuf.FieldMask.Builder builderForValue) { + if (updateMaskBuilder_ == null) { + updateMask_ = builderForValue.build(); + } else { + updateMaskBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The list of fields to be updated. Field names must be in snake
+     * case (for example, "field_to_update"). Omitted fields will not be updated.
+     * To replace the entire entity, use one path with the string "*" to match all
+     * fields. If omitted, the service will treat it as an implied field mask
+     * equivalent to all fields that are populated.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeUpdateMask(com.google.protobuf.FieldMask value) { + if (updateMaskBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) + && updateMask_ != null + && updateMask_ != com.google.protobuf.FieldMask.getDefaultInstance()) { + getUpdateMaskBuilder().mergeFrom(value); + } else { + updateMask_ = value; + } + } else { + updateMaskBuilder_.mergeFrom(value); + } + if (updateMask_ != null) { + bitField0_ |= 0x00000002; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Optional. The list of fields to be updated. Field names must be in snake
+     * case (for example, "field_to_update"). Omitted fields will not be updated.
+     * To replace the entire entity, use one path with the string "*" to match all
+     * fields. If omitted, the service will treat it as an implied field mask
+     * equivalent to all fields that are populated.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearUpdateMask() { + bitField0_ = (bitField0_ & ~0x00000002); + updateMask_ = null; + if (updateMaskBuilder_ != null) { + updateMaskBuilder_.dispose(); + updateMaskBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The list of fields to be updated. Field names must be in snake
+     * case (for example, "field_to_update"). Omitted fields will not be updated.
+     * To replace the entire entity, use one path with the string "*" to match all
+     * fields. If omitted, the service will treat it as an implied field mask
+     * equivalent to all fields that are populated.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.protobuf.FieldMask.Builder getUpdateMaskBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return internalGetUpdateMaskFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Optional. The list of fields to be updated. Field names must be in snake
+     * case (for example, "field_to_update"). Omitted fields will not be updated.
+     * To replace the entire entity, use one path with the string "*" to match all
+     * fields. If omitted, the service will treat it as an implied field mask
+     * equivalent to all fields that are populated.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() { + if (updateMaskBuilder_ != null) { + return updateMaskBuilder_.getMessageOrBuilder(); + } else { + return updateMask_ == null + ? com.google.protobuf.FieldMask.getDefaultInstance() + : updateMask_; + } + } + + /** + * + * + *
+     * Optional. The list of fields to be updated. Field names must be in snake
+     * case (for example, "field_to_update"). Omitted fields will not be updated.
+     * To replace the entire entity, use one path with the string "*" to match all
+     * fields. If omitted, the service will treat it as an implied field mask
+     * equivalent to all fields that are populated.
+     * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder> + internalGetUpdateMaskFieldBuilder() { + if (updateMaskBuilder_ == null) { + updateMaskBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder>( + getUpdateMask(), getParentForChildren(), isClean()); + updateMask_ = null; + } + return updateMaskBuilder_; + } + + // @@protoc_insertion_point(builder_scope:google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest) + } + + // @@protoc_insertion_point(class_scope:google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest) + private static final com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest(); + } + + public static com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public UpdateReportingIdentitySettingsRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/UpdateReportingIdentitySettingsRequestOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/UpdateReportingIdentitySettingsRequestOrBuilder.java new file mode 100644 index 000000000000..2133c1a0ceef --- /dev/null +++ b/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/java/com/google/analytics/admin/v1alpha/UpdateReportingIdentitySettingsRequestOrBuilder.java @@ -0,0 +1,127 @@ +/* + * Copyright 2026 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 + * + * 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 by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: google/analytics/admin/v1alpha/analytics_admin.proto +// Protobuf Java Version: 4.33.2 + +package com.google.analytics.admin.v1alpha; + +@com.google.protobuf.Generated +public interface UpdateReportingIdentitySettingsRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. The reporting identity settings to update.
+   * The settings' `name` field is used to identify the settings.
+   * 
+ * + * + * .google.analytics.admin.v1alpha.ReportingIdentitySettings reporting_identity_settings = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the reportingIdentitySettings field is set. + */ + boolean hasReportingIdentitySettings(); + + /** + * + * + *
+   * Required. The reporting identity settings to update.
+   * The settings' `name` field is used to identify the settings.
+   * 
+ * + * + * .google.analytics.admin.v1alpha.ReportingIdentitySettings reporting_identity_settings = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The reportingIdentitySettings. + */ + com.google.analytics.admin.v1alpha.ReportingIdentitySettings getReportingIdentitySettings(); + + /** + * + * + *
+   * Required. The reporting identity settings to update.
+   * The settings' `name` field is used to identify the settings.
+   * 
+ * + * + * .google.analytics.admin.v1alpha.ReportingIdentitySettings reporting_identity_settings = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.analytics.admin.v1alpha.ReportingIdentitySettingsOrBuilder + getReportingIdentitySettingsOrBuilder(); + + /** + * + * + *
+   * Optional. The list of fields to be updated. Field names must be in snake
+   * case (for example, "field_to_update"). Omitted fields will not be updated.
+   * To replace the entire entity, use one path with the string "*" to match all
+   * fields. If omitted, the service will treat it as an implied field mask
+   * equivalent to all fields that are populated.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the updateMask field is set. + */ + boolean hasUpdateMask(); + + /** + * + * + *
+   * Optional. The list of fields to be updated. Field names must be in snake
+   * case (for example, "field_to_update"). Omitted fields will not be updated.
+   * To replace the entire entity, use one path with the string "*" to match all
+   * fields. If omitted, the service will treat it as an implied field mask
+   * equivalent to all fields that are populated.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The updateMask. + */ + com.google.protobuf.FieldMask getUpdateMask(); + + /** + * + * + *
+   * Optional. The list of fields to be updated. Field names must be in snake
+   * case (for example, "field_to_update"). Omitted fields will not be updated.
+   * To replace the entire entity, use one path with the string "*" to match all
+   * fields. If omitted, the service will treat it as an implied field mask
+   * equivalent to all fields that are populated.
+   * 
+ * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder(); +} diff --git a/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/proto/google/analytics/admin/v1alpha/analytics_admin.proto b/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/proto/google/analytics/admin/v1alpha/analytics_admin.proto index af2055300082..2293f93e23a8 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/proto/google/analytics/admin/v1alpha/analytics_admin.proto +++ b/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/proto/google/analytics/admin/v1alpha/analytics_admin.proto @@ -1611,6 +1611,17 @@ service AnalyticsAdminService { option (google.api.method_signature) = "name"; } + // Updates the reporting identity settings for this property. + rpc UpdateReportingIdentitySettings(UpdateReportingIdentitySettingsRequest) + returns (ReportingIdentitySettings) { + option (google.api.http) = { + patch: "/v1alpha/{reporting_identity_settings.name=properties/*/reportingIdentitySettings}" + body: "reporting_identity_settings" + }; + option (google.api.method_signature) = + "reporting_identity_settings,update_mask"; + } + // Looks up settings related to user-provided data for a property. rpc GetUserProvidedDataSettings(GetUserProvidedDataSettingsRequest) returns (UserProvidedDataSettings) { @@ -4636,6 +4647,22 @@ message GetReportingIdentitySettingsRequest { ]; } +// Request message for UpdateReportingIdentitySettings RPC. +message UpdateReportingIdentitySettingsRequest { + // Required. The reporting identity settings to update. + // The settings' `name` field is used to identify the settings. + ReportingIdentitySettings reporting_identity_settings = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. The list of fields to be updated. Field names must be in snake + // case (for example, "field_to_update"). Omitted fields will not be updated. + // To replace the entire entity, use one path with the string "*" to match all + // fields. If omitted, the service will treat it as an implied field mask + // equivalent to all fields that are populated. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = OPTIONAL]; +} + // Request message for GetUserProvidedDataSettings RPC message GetUserProvidedDataSettingsRequest { // Required. The name of the user provided data settings to retrieve. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/proto/google/analytics/admin/v1alpha/resources.proto b/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/proto/google/analytics/admin/v1alpha/resources.proto index d253a61e5c84..62a589c8bdab 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/proto/google/analytics/admin/v1alpha/resources.proto +++ b/java-analytics-admin/proto-google-analytics-admin-v1alpha/src/main/proto/google/analytics/admin/v1alpha/resources.proto @@ -791,6 +791,10 @@ message PropertySummary { // Format: accounts/{account}, properties/{property} // Example: "accounts/100", "properties/200" string parent = 4; + + // If true, then the user has a Google Analytics role that permits them to + // edit the property. + bool can_edit = 5; } // A secret value used for sending hits to Measurement Protocol. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/pom.xml b/java-analytics-admin/proto-google-analytics-admin-v1beta/pom.xml index 32d462a38366..b8d1edf905ca 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/pom.xml +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-analytics-admin-v1beta - 0.103.0 + 0.104.0 proto-google-analytics-admin-v1beta Proto library for google-analytics-admin com.google.analytics google-analytics-admin-parent - 0.103.0 + 0.104.0 diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/Account.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/Account.java index 7923d6f472b6..16eb2145f519 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/Account.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/Account.java @@ -83,12 +83,12 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * * *
-   * Output only. Resource name of this account.
+   * Identifier. Resource name of this account.
    * Format: accounts/{account}
    * Example: "accounts/100"
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -109,12 +109,12 @@ public java.lang.String getName() { * * *
-   * Output only. Resource name of this account.
+   * Identifier. Resource name of this account.
    * Format: accounts/{account}
    * Example: "accounts/100"
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -909,12 +909,12 @@ public Builder mergeFrom( * * *
-     * Output only. Resource name of this account.
+     * Identifier. Resource name of this account.
      * Format: accounts/{account}
      * Example: "accounts/100"
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -934,12 +934,12 @@ public java.lang.String getName() { * * *
-     * Output only. Resource name of this account.
+     * Identifier. Resource name of this account.
      * Format: accounts/{account}
      * Example: "accounts/100"
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -959,12 +959,12 @@ public com.google.protobuf.ByteString getNameBytes() { * * *
-     * Output only. Resource name of this account.
+     * Identifier. Resource name of this account.
      * Format: accounts/{account}
      * Example: "accounts/100"
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The name to set. * @return This builder for chaining. @@ -983,12 +983,12 @@ public Builder setName(java.lang.String value) { * * *
-     * Output only. Resource name of this account.
+     * Identifier. Resource name of this account.
      * Format: accounts/{account}
      * Example: "accounts/100"
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return This builder for chaining. */ @@ -1003,12 +1003,12 @@ public Builder clearName() { * * *
-     * Output only. Resource name of this account.
+     * Identifier. Resource name of this account.
      * Format: accounts/{account}
      * Example: "accounts/100"
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The bytes for name to set. * @return This builder for chaining. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/AccountOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/AccountOrBuilder.java index e836e68ba5c7..1e217a25dc9e 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/AccountOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/AccountOrBuilder.java @@ -30,12 +30,12 @@ public interface AccountOrBuilder * * *
-   * Output only. Resource name of this account.
+   * Identifier. Resource name of this account.
    * Format: accounts/{account}
    * Example: "accounts/100"
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -45,12 +45,12 @@ public interface AccountOrBuilder * * *
-   * Output only. Resource name of this account.
+   * Identifier. Resource name of this account.
    * Format: accounts/{account}
    * Example: "accounts/100"
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/AccountSummary.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/AccountSummary.java index ee355d67b266..ed2a0180c6c2 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/AccountSummary.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/AccountSummary.java @@ -83,12 +83,12 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * * *
-   * Resource name for this account summary.
+   * Identifier. Resource name for this account summary.
    * Format: accountSummaries/{account_id}
    * Example: "accountSummaries/1000"
    * 
* - * string name = 1; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -109,12 +109,12 @@ public java.lang.String getName() { * * *
-   * Resource name for this account summary.
+   * Identifier. Resource name for this account summary.
    * Format: accountSummaries/{account_id}
    * Example: "accountSummaries/1000"
    * 
* - * string name = 1; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -758,12 +758,12 @@ public Builder mergeFrom( * * *
-     * Resource name for this account summary.
+     * Identifier. Resource name for this account summary.
      * Format: accountSummaries/{account_id}
      * Example: "accountSummaries/1000"
      * 
* - * string name = 1; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -783,12 +783,12 @@ public java.lang.String getName() { * * *
-     * Resource name for this account summary.
+     * Identifier. Resource name for this account summary.
      * Format: accountSummaries/{account_id}
      * Example: "accountSummaries/1000"
      * 
* - * string name = 1; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -808,12 +808,12 @@ public com.google.protobuf.ByteString getNameBytes() { * * *
-     * Resource name for this account summary.
+     * Identifier. Resource name for this account summary.
      * Format: accountSummaries/{account_id}
      * Example: "accountSummaries/1000"
      * 
* - * string name = 1; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The name to set. * @return This builder for chaining. @@ -832,12 +832,12 @@ public Builder setName(java.lang.String value) { * * *
-     * Resource name for this account summary.
+     * Identifier. Resource name for this account summary.
      * Format: accountSummaries/{account_id}
      * Example: "accountSummaries/1000"
      * 
* - * string name = 1; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return This builder for chaining. */ @@ -852,12 +852,12 @@ public Builder clearName() { * * *
-     * Resource name for this account summary.
+     * Identifier. Resource name for this account summary.
      * Format: accountSummaries/{account_id}
      * Example: "accountSummaries/1000"
      * 
* - * string name = 1; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The bytes for name to set. * @return This builder for chaining. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/AccountSummaryOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/AccountSummaryOrBuilder.java index d1460ea498b4..46bcdde1f71f 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/AccountSummaryOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/AccountSummaryOrBuilder.java @@ -30,12 +30,12 @@ public interface AccountSummaryOrBuilder * * *
-   * Resource name for this account summary.
+   * Identifier. Resource name for this account summary.
    * Format: accountSummaries/{account_id}
    * Example: "accountSummaries/1000"
    * 
* - * string name = 1; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -45,12 +45,12 @@ public interface AccountSummaryOrBuilder * * *
-   * Resource name for this account summary.
+   * Identifier. Resource name for this account summary.
    * Format: accountSummaries/{account_id}
    * Example: "accountSummaries/1000"
    * 
* - * string name = 1; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/AnalyticsAdminProto.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/AnalyticsAdminProto.java index d8418a4554f2..715268e2ef26 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/AnalyticsAdminProto.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/AnalyticsAdminProto.java @@ -362,10 +362,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\005quota\030\005 \001(\0132*.google.analytics.admin.v1beta.AccessQuota\"P\n" + "\021GetAccountRequest\022;\n" + "\004name\030\001 \001(\tB-\340A\002\372A\'\n" - + "%analyticsadmin.googleapis.com/Account\"R\n" - + "\023ListAccountsRequest\022\021\n" - + "\tpage_size\030\001 \001(\005\022\022\n\n" - + "page_token\030\002 \001(\t\022\024\n" + + "%analyticsadmin.googleapis.com/Account\"\\\n" + + "\023ListAccountsRequest\022\026\n" + + "\tpage_size\030\001 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\002 \001(\tB\003\340A\001\022\024\n" + "\014show_deleted\030\003 \001(\010\"i\n" + "\024ListAccountsResponse\0228\n" + "\010accounts\030\001 \003(\0132&.google.analytics.admin.v1beta.Account\022\027\n" @@ -374,8 +374,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\004name\030\001 \001(\tB-\340A\002\372A\'\n" + "%analyticsadmin.googleapis.com/Account\"\212\001\n" + "\024UpdateAccountRequest\022<\n" - + "\007account\030\001 \001(\0132&.g" - + "oogle.analytics.admin.v1beta.AccountB\003\340A\002\0224\n" + + "\007account\030\001" + + " \001(\0132&.google.analytics.admin.v1beta.AccountB\003\340A\002\0224\n" + "\013update_mask\030\002 \001(\0132\032.google.protobuf.FieldMaskB\003\340A\002\"n\n" + "\035ProvisionAccountTicketRequest\0227\n" + "\007account\030\001 \001(\0132&.google.analytics.admin.v1beta.Account\022\024\n" @@ -384,38 +384,38 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\021account_ticket_id\030\001 \001(\t\"R\n" + "\022GetPropertyRequest\022<\n" + "\004name\030\001 \001(\tB.\340A\002\372A(\n" - + "&analyticsadmin.googleapis.com/Property\"i\n" + + "&analyticsadmin.googleapis.com/Property\"s\n" + "\025ListPropertiesRequest\022\023\n" - + "\006filter\030\001 \001(\tB\003\340A\002\022\021\n" - + "\tpage_size\030\002 \001(\005\022\022\n\n" - + "page_token\030\003 \001(\t\022\024\n" + + "\006filter\030\001 \001(\tB\003\340A\002\022\026\n" + + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\003 \001(\tB\003\340A\001\022\024\n" + "\014show_deleted\030\004 \001(\010\"n\n" + "\026ListPropertiesResponse\022;\n\n" + "properties\030\001 \003(\0132\'.google.analytics.admin.v1beta.Property\022\027\n" + "\017next_page_token\030\002 \001(\t\"\215\001\n" + "\025UpdatePropertyRequest\022>\n" - + "\010property\030\001" - + " \001(\0132\'.google.analytics.admin.v1beta.PropertyB\003\340A\002\0224\n" + + "\010property\030\001 \001(\0132\'.go" + + "ogle.analytics.admin.v1beta.PropertyB\003\340A\002\0224\n" + "\013update_mask\030\002 \001(\0132\032.google.protobuf.FieldMaskB\003\340A\002\"W\n" + "\025CreatePropertyRequest\022>\n" - + "\010property\030\001 \001(\0132\'" - + ".google.analytics.admin.v1beta.PropertyB\003\340A\002\"U\n" + + "\010property\030\001" + + " \001(\0132\'.google.analytics.admin.v1beta.PropertyB\003\340A\002\"U\n" + "\025DeletePropertyRequest\022<\n" + "\004name\030\001 \001(\tB.\340A\002\372A(\n" + "&analyticsadmin.googleapis.com/Property\"\250\001\n" + "\031CreateFirebaseLinkRequest\022B\n" - + "\006parent\030\001 \001(" - + "\tB2\340A\002\372A,\022*analyticsadmin.googleapis.com/FirebaseLink\022G\n\r" - + "firebase_link\030\002" - + " \001(\0132+.google.analytics.admin.v1beta.FirebaseLinkB\003\340A\002\"]\n" + + "\006parent\030\001 \001(\tB2\340" + + "A\002\372A,\022*analyticsadmin.googleapis.com/FirebaseLink\022G\n\r" + + "firebase_link\030\002 \001(\0132+.googl" + + "e.analytics.admin.v1beta.FirebaseLinkB\003\340A\002\"]\n" + "\031DeleteFirebaseLinkRequest\022@\n" + "\004name\030\001 \001(\tB2\340A\002\372A,\n" - + "*analyticsadmin.googleapis.com/FirebaseLink\"\205\001\n" + + "*analyticsadmin.googleapis.com/FirebaseLink\"\217\001\n" + "\030ListFirebaseLinksRequest\022B\n" + "\006parent\030\001 \001(" - + "\tB2\340A\002\372A,\022*analyticsadmin.googleapis.com/FirebaseLink\022\021\n" - + "\tpage_size\030\002 \001(\005\022\022\n\n" - + "page_token\030\003 \001(\t\"y\n" + + "\tB2\340A\002\372A,\022*analyticsadmin.googleapis.com/FirebaseLink\022\026\n" + + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\003 \001(\tB\003\340A\001\"y\n" + "\031ListFirebaseLinksResponse\022C\n" + "\016firebase_links\030\001" + " \003(\0132+.google.analytics.admin.v1beta.FirebaseLink\022\027\n" @@ -426,30 +426,30 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\017google_ads_link\030\002" + " \001(\0132,.google.analytics.admin.v1beta.GoogleAdsLinkB\003\340A\002\"\231\001\n" + "\032UpdateGoogleAdsLinkRequest\022E\n" - + "\017google_ads_link\030\001" - + " \001(\0132,.google.analytics.admin.v1beta.GoogleAdsLink\0224\n" + + "\017google_ads_link\030\001 \001(\0132," + + ".google.analytics.admin.v1beta.GoogleAdsLink\0224\n" + "\013update_mask\030\002 \001(\0132\032.google.protobuf.FieldMaskB\003\340A\002\"_\n" + "\032DeleteGoogleAdsLinkRequest\022A\n" + "\004name\030\001 \001(\tB3\340A\002\372A-\n" - + "+analyticsadmin.googleapis.com/GoogleAdsLink\"\207\001\n" + + "+analyticsadmin.googleapis.com/GoogleAdsLink\"\221\001\n" + "\031ListGoogleAdsLinksRequest\022C\n" + "\006parent\030\001 \001(" - + "\tB3\340A\002\372A-\022+analyticsadmin.googleapis.com/GoogleAdsLink\022\021\n" - + "\tpage_size\030\002 \001(\005\022\022\n\n" - + "page_token\030\003 \001(\t\"}\n" + + "\tB3\340A\002\372A-\022+analyticsadmin.googleapis.com/GoogleAdsLink\022\026\n" + + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\003 \001(\tB\003\340A\001\"}\n" + "\032ListGoogleAdsLinksResponse\022F\n" + "\020google_ads_links\030\001 \003(\0132" + ",.google.analytics.admin.v1beta.GoogleAdsLink\022\027\n" + "\017next_page_token\030\002 \001(\t\"h\n" + "\035GetDataSharingSettingsRequest\022G\n" + "\004name\030\001 \001(\tB9\340A\002\372A3\n" - + "1analyticsadmin.googleapis.com/DataSharingSettings\"D\n" - + "\033ListAccountSummariesRequest\022\021\n" - + "\tpage_size\030\001 \001(\005\022\022\n\n" - + "page_token\030\002 \001(\t\"\201\001\n" + + "1analyticsadmin.googleapis.com/DataSharingSettings\"N\n" + + "\033ListAccountSummariesRequest\022\026\n" + + "\tpage_size\030\001 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\002 \001(\tB\003\340A\001\"\201\001\n" + "\034ListAccountSummariesResponse\022H\n" - + "\021account_summaries\030\001" - + " \003(\0132-.google.analytics.admin.v1beta.AccountSummary\022\027\n" + + "\021account_summaries\030\001 \003(\0132-.g" + + "oogle.analytics.admin.v1beta.AccountSummary\022\027\n" + "\017next_page_token\030\002 \001(\t\"\206\001\n" + "$AcknowledgeUserDataCollectionRequest\022@\n" + "\010property\030\001 \001(\tB.\340A\002\372A(\n" @@ -461,10 +461,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "%analyticsadmin.googleapis.com/Account\022@\n" + "\010property\030\002 \001(\tB.\340A\001\372A(\n" + "&analyticsadmin.googleapis.com/Property\022T\n\r" - + "resource_type\030\003 \003(\01628.google.anal" - + "ytics.admin.v1beta.ChangeHistoryResourceTypeB\003\340A\001\022>\n" - + "\006action\030\004" - + " \003(\0162).google.analytics.admin.v1beta.ActionTypeB\003\340A\001\022\030\n" + + "resource_type\030\003 \003(\01628.g" + + "oogle.analytics.admin.v1beta.ChangeHistoryResourceTypeB\003\340A\001\022>\n" + + "\006action\030\004 \003(\0162).go" + + "ogle.analytics.admin.v1beta.ActionTypeB\003\340A\001\022\030\n" + "\013actor_email\030\005 \003(\tB\003\340A\001\022=\n" + "\024earliest_change_time\030\006" + " \001(\0132\032.google.protobuf.TimestampB\003\340A\001\022;\n" @@ -473,57 +473,57 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\tpage_size\030\010 \001(\005B\003\340A\001\022\027\n\n" + "page_token\030\t \001(\tB\003\340A\001\"\216\001\n" + "!SearchChangeHistoryEventsResponse\022P\n" - + "\025change_history_events\030\001" - + " \003(\01321.google.analytics.admin.v1beta.ChangeHistoryEvent\022\027\n" + + "\025change_history_events\030\001 \003(\01321.google" + + ".analytics.admin.v1beta.ChangeHistoryEvent\022\027\n" + "\017next_page_token\030\002 \001(\t\"t\n" + "#GetMeasurementProtocolSecretRequest\022M\n" + "\004name\030\001 \001(\tB?\340A\002\372A9\n" + "7analyticsadmin.googleapis.com/MeasurementProtocolSecret\"\335\001\n" + "&CreateMeasurementProtocolSecretRequest\022O\n" - + "\006parent\030\001 \001(\tB?\340A\002\372" - + "A9\0227analyticsadmin.googleapis.com/MeasurementProtocolSecret\022b\n" - + "\033measurement_protocol_secret\030\002 \001(\01328.google.analytics.admi" - + "n.v1beta.MeasurementProtocolSecretB\003\340A\002\"w\n" + + "\006parent\030\001 \001(" + + "\tB?\340A\002\372A9\0227analyticsadmin.googleapis.com/MeasurementProtocolSecret\022b\n" + + "\033measurement_protocol_secret\030\002 \001(\01328.google.anal" + + "ytics.admin.v1beta.MeasurementProtocolSecretB\003\340A\002\"w\n" + "&DeleteMeasurementProtocolSecretRequest\022M\n" + "\004name\030\001 \001(\tB?\340A\002\372A9\n" + "7analyticsadmin.googleapis.com/MeasurementProtocolSecret\"\302\001\n" + "&UpdateMeasurementProtocolSecretRequest\022b\n" - + "\033measurement_protocol_secret\030\001 \001(\013" - + "28.google.analytics.admin.v1beta.MeasurementProtocolSecretB\003\340A\002\0224\n" + + "\033measurement_protocol_secret\030\001" + + " \001(\01328.google.analytics.admin.v1beta.MeasurementProtocolSecretB\003\340A\002\0224\n" + "\013update_mask\030\002" - + " \001(\0132\032.google.protobuf.FieldMaskB\003\340A\002\"\237\001\n" + + " \001(\0132\032.google.protobuf.FieldMaskB\003\340A\002\"\251\001\n" + "%ListMeasurementProtocolSecretsRequest\022O\n" - + "\006parent\030\001 \001(\tB?\340A\002\372A9\0227analyticsadmin." - + "googleapis.com/MeasurementProtocolSecret\022\021\n" - + "\tpage_size\030\002 \001(\005\022\022\n\n" - + "page_token\030\003 \001(\t\"\241\001\n" + + "\006parent\030\001 \001(\tB?\340A\002\372A9\0227analy" + + "ticsadmin.googleapis.com/MeasurementProtocolSecret\022\026\n" + + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\003 \001(\tB\003\340A\001\"\241\001\n" + "&ListMeasurementProtocolSecretsResponse\022^\n" - + "\034measurement_protocol_secrets\030\001 \003(\013" - + "28.google.analytics.admin.v1beta.MeasurementProtocolSecret\022\027\n" + + "\034measurement_protocol_secrets\030\001 \003(\01328.google.analytics." + + "admin.v1beta.MeasurementProtocolSecret\022\027\n" + "\017next_page_token\030\002 \001(\t\"\264\001\n" + "\034CreateConversionEventRequest\022M\n" - + "\020conversion_event\030\001" - + " \001(\0132..google.analytics.admin.v1beta.ConversionEventB\003\340A\002\022E\n" - + "\006parent\030\002 \001(" - + "\tB5\340A\002\372A/\022-analyticsadmin.googleapis.com/ConversionEvent\"\243\001\n" + + "\020conversion_event\030\001 \001" + + "(\0132..google.analytics.admin.v1beta.ConversionEventB\003\340A\002\022E\n" + + "\006parent\030\002 \001(\tB5\340A\002\372A/\022" + + "-analyticsadmin.googleapis.com/ConversionEvent\"\243\001\n" + "\034UpdateConversionEventRequest\022M\n" - + "\020conversion_event\030\001" - + " \001(\0132..google.analytics.admin.v1beta.ConversionEventB\003\340A\002\0224\n" + + "\020conversion_event\030\001 \001(\0132..google.analy" + + "tics.admin.v1beta.ConversionEventB\003\340A\002\0224\n" + "\013update_mask\030\002 \001(\0132\032.google.protobuf.FieldMaskB\003\340A\002\"`\n" + "\031GetConversionEventRequest\022C\n" + "\004name\030\001 \001(\tB5\340A\002\372A/\n" + "-analyticsadmin.googleapis.com/ConversionEvent\"c\n" + "\034DeleteConversionEventRequest\022C\n" + "\004name\030\001 \001(\tB5\340A\002\372A/\n" - + "-analyticsadmin.googleapis.com/ConversionEvent\"\213\001\n" + + "-analyticsadmin.googleapis.com/ConversionEvent\"\225\001\n" + "\033ListConversionEventsRequest\022E\n" - + "\006parent\030\001 \001(\tB" - + "5\340A\002\372A/\022-analyticsadmin.googleapis.com/ConversionEvent\022\021\n" - + "\tpage_size\030\002 \001(\005\022\022\n\n" - + "page_token\030\003 \001(\t\"\202\001\n" + + "\006parent\030\001 \001(" + + "\tB5\340A\002\372A/\022-analyticsadmin.googleapis.com/ConversionEvent\022\026\n" + + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\003 \001(\tB\003\340A\001\"\202\001\n" + "\034ListConversionEventsResponse\022I\n" - + "\021conversion_events\030\001 \003(\0132..goog" - + "le.analytics.admin.v1beta.ConversionEvent\022\027\n" + + "\021conversion_events\030\001" + + " \003(\0132..google.analytics.admin.v1beta.ConversionEvent\022\027\n" + "\017next_page_token\030\002 \001(\t\"\230\001\n" + "\025CreateKeyEventRequest\022?\n" + "\tkey_event\030\001" @@ -539,33 +539,33 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "&analyticsadmin.googleapis.com/KeyEvent\"U\n" + "\025DeleteKeyEventRequest\022<\n" + "\004name\030\001 \001(\tB.\340A\002\372A(\n" - + "&analyticsadmin.googleapis.com/KeyEvent\"}\n" + + "&analyticsadmin.googleapis.com/KeyEvent\"\207\001\n" + "\024ListKeyEventsRequest\022>\n" + "\006parent\030\001 \001(" - + "\tB.\340A\002\372A(\022&analyticsadmin.googleapis.com/KeyEvent\022\021\n" - + "\tpage_size\030\002 \001(\005\022\022\n\n" - + "page_token\030\003 \001(\t\"m\n" + + "\tB.\340A\002\372A(\022&analyticsadmin.googleapis.com/KeyEvent\022\026\n" + + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\003 \001(\tB\003\340A\001\"m\n" + "\025ListKeyEventsResponse\022;\n\n" + "key_events\030\001 \003(\0132\'.google.analytics.admin.v1beta.KeyEvent\022\027\n" + "\017next_page_token\030\002 \001(\t\"\264\001\n" + "\034CreateCustomDimensionRequest\022E\n" - + "\006parent\030\001 \001(\tB5\340A\002\372A/\022-analyt" - + "icsadmin.googleapis.com/CustomDimension\022M\n" - + "\020custom_dimension\030\002 \001(\0132..google.analy" - + "tics.admin.v1beta.CustomDimensionB\003\340A\002\"\236\001\n" + + "\006parent\030\001 \001(\tB5\340A\002\372A/\022-analy" + + "ticsadmin.googleapis.com/CustomDimension\022M\n" + + "\020custom_dimension\030\002 \001(\0132..google.anal" + + "ytics.admin.v1beta.CustomDimensionB\003\340A\002\"\236\001\n" + "\034UpdateCustomDimensionRequest\022H\n" + "\020custom_dimension\030\001" + " \001(\0132..google.analytics.admin.v1beta.CustomDimension\0224\n" + "\013update_mask\030\002" - + " \001(\0132\032.google.protobuf.FieldMaskB\003\340A\002\"\213\001\n" + + " \001(\0132\032.google.protobuf.FieldMaskB\003\340A\002\"\225\001\n" + "\033ListCustomDimensionsRequest\022E\n" + "\006parent\030\001 \001(" - + "\tB5\340A\002\372A/\022-analyticsadmin.googleapis.com/CustomDimension\022\021\n" - + "\tpage_size\030\002 \001(\005\022\022\n\n" - + "page_token\030\003 \001(\t\"\202\001\n" + + "\tB5\340A\002\372A/\022-analyticsadmin.googleapis.com/CustomDimension\022\026\n" + + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + + "page_token\030\003 \001(\tB\003\340A\001\"\202\001\n" + "\034ListCustomDimensionsResponse\022I\n" - + "\021custom_dimensions\030\001 \003(" - + "\0132..google.analytics.admin.v1beta.CustomDimension\022\027\n" + + "\021custom_dimensions\030\001" + + " \003(\0132..google.analytics.admin.v1beta.CustomDimension\022\027\n" + "\017next_page_token\030\002 \001(\t\"d\n" + "\035ArchiveCustomDimensionRequest\022C\n" + "\004name\030\001 \001(\tB5\340A\002\372A/\n" @@ -574,10 +574,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\004name\030\001 \001(\tB5\340A\002\372A/\n" + "-analyticsadmin.googleapis.com/CustomDimension\"\250\001\n" + "\031CreateCustomMetricRequest\022B\n" - + "\006parent\030\001 \001(\t" - + "B2\340A\002\372A,\022*analyticsadmin.googleapis.com/CustomMetric\022G\n\r" - + "custom_metric\030\002 \001(\0132+.go" - + "ogle.analytics.admin.v1beta.CustomMetricB\003\340A\002\"\225\001\n" + + "\006parent\030\001 \001(" + + "\tB2\340A\002\372A,\022*analyticsadmin.googleapis.com/CustomMetric\022G\n\r" + + "custom_metric\030\002" + + " \001(\0132+.google.analytics.admin.v1beta.CustomMetricB\003\340A\002\"\225\001\n" + "\031UpdateCustomMetricRequest\022B\n\r" + "custom_metric\030\001 \001(\0132+.google.analytics.admin.v1beta.CustomMetric\0224\n" + "\013update_mask\030\002" @@ -588,8 +588,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\tpage_size\030\002 \001(\005\022\022\n\n" + "page_token\030\003 \001(\t\"y\n" + "\031ListCustomMetricsResponse\022C\n" - + "\016custom_metrics\030\001" - + " \003(\0132+.google.analytics.admin.v1beta.CustomMetric\022\027\n" + + "\016custom_metrics\030\001 \003(\0132+." + + "google.analytics.admin.v1beta.CustomMetric\022\027\n" + "\017next_page_token\030\002 \001(\t\"^\n" + "\032ArchiveCustomMetricRequest\022@\n" + "\004name\030\001 \001(\tB2\340A\002\372A,\n" @@ -601,13 +601,13 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\004name\030\001 \001(\tB;\340A\002\372A5\n" + "3analyticsadmin.googleapis.com/DataRetentionSettings\"\266\001\n" + "\"UpdateDataRetentionSettingsRequest\022Z\n" - + "\027data_retention_settings\030\001 \001(\01324.google.anal" - + "ytics.admin.v1beta.DataRetentionSettingsB\003\340A\002\0224\n" + + "\027data_retention_settings\030\001 \001(\01324." + + "google.analytics.admin.v1beta.DataRetentionSettingsB\003\340A\002\0224\n" + "\013update_mask\030\002" + " \001(\0132\032.google.protobuf.FieldMaskB\003\340A\002\"\240\001\n" + "\027CreateDataStreamRequest\022@\n" - + "\006parent\030\001 \001(" - + "\tB0\340A\002\372A*\022(analyticsadmin.googleapis.com/DataStream\022C\n" + + "\006parent\030\001 \001(\tB0\340A\002\372" + + "A*\022(analyticsadmin.googleapis.com/DataStream\022C\n" + "\013data_stream\030\002" + " \001(\0132).google.analytics.admin.v1beta.DataStreamB\003\340A\002\"Y\n" + "\027DeleteDataStreamRequest\022>\n" @@ -618,267 +618,267 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\013update_mask\030\002" + " \001(\0132\032.google.protobuf.FieldMaskB\003\340A\002\"\201\001\n" + "\026ListDataStreamsRequest\022@\n" - + "\006parent\030\001 \001(" - + "\tB0\340A\002\372A*\022(analyticsadmin.googleapis.com/DataStream\022\021\n" + + "\006parent\030\001 \001(\tB0\340A\002\372A" + + "*\022(analyticsadmin.googleapis.com/DataStream\022\021\n" + "\tpage_size\030\002 \001(\005\022\022\n\n" + "page_token\030\003 \001(\t\"s\n" + "\027ListDataStreamsResponse\022?\n" - + "\014data_streams\030\001 \003(\013" - + "2).google.analytics.admin.v1beta.DataStream\022\027\n" + + "\014data_streams\030\001" + + " \003(\0132).google.analytics.admin.v1beta.DataStream\022\027\n" + "\017next_page_token\030\002 \001(\t\"V\n" + "\024GetDataStreamRequest\022>\n" + "\004name\030\001 \001(\tB0\340A\002\372A*\n" + "(analyticsadmin.googleapis.com/DataStream2\357W\n" + "\025AnalyticsAdminService\022\220\001\n\n" - + "GetAccount\0220.google.analytics.admin.v1beta.GetAccount" - + "Request\032&.google.analytics.admin.v1beta." - + "Account\"(\332A\004name\202\323\344\223\002\033\022\031/v1beta/{name=accounts/*}\022\221\001\n" - + "\014ListAccounts\0222.google.analytics.admin.v1beta.ListAccountsRequest\0323" - + ".google.analytics.admin.v1beta.ListAccou" - + "ntsResponse\"\030\202\323\344\223\002\022\022\020/v1beta/accounts\022\206\001\n\r" - + "DeleteAccount\0223.google.analytics.admin" - + ".v1beta.DeleteAccountRequest\032\026.google.pr" - + "otobuf.Empty\"(\332A\004name\202\323\344\223\002\033*\031/v1beta/{name=accounts/*}\022\266\001\n\r" - + "UpdateAccount\0223.google.analytics.admin.v1beta.UpdateAccountRe" - + "quest\032&.google.analytics.admin.v1beta.Ac" - + "count\"H\332A\023account,update_mask\202\323\344\223\002,2!/v1" - + "beta/{account.name=accounts/*}:\007account\022\311\001\n" - + "\026ProvisionAccountTicket\022<.google.analytics.admin.v1beta.ProvisionAccountTicke" - + "tRequest\032=.google.analytics.admin.v1beta" - + ".ProvisionAccountTicketResponse\"2\202\323\344\223\002,\"" - + "\'/v1beta/accounts:provisionAccountTicket:\001*\022\261\001\n" - + "\024ListAccountSummaries\022:.google.analytics.admin.v1beta.ListAccountSummarie" - + "sRequest\032;.google.analytics.admin.v1beta.ListAccountSummariesResponse\"" + + "GetAccount\0220.google.analytics.admin.v1beta" + + ".GetAccountRequest\032&.google.analytics.ad" + + "min.v1beta.Account\"(\332A\004name\202\323\344\223\002\033\022\031/v1beta/{name=accounts/*}\022\221\001\n" + + "\014ListAccounts\0222.google.analytics.admin.v1beta.ListAccoun" + + "tsRequest\0323.google.analytics.admin.v1bet" + + "a.ListAccountsResponse\"\030\202\323\344\223\002\022\022\020/v1beta/accounts\022\206\001\n\r" + + "DeleteAccount\0223.google.analytics.admin.v1beta.DeleteAccountRequest\032" + + "\026.google.protobuf.Empty\"(\332A\004name\202\323\344\223\002\033*\031/v1beta/{name=accounts/*}\022\266\001\n\r" + + "UpdateAccount\0223.google.analytics.admin.v1beta.Upda" + + "teAccountRequest\032&.google.analytics.admi" + + "n.v1beta.Account\"H\332A\023account,update_mask" + + "\202\323\344\223\002,2!/v1beta/{account.name=accounts/*}:\007account\022\311\001\n" + + "\026ProvisionAccountTicket\022<.google.analytics.admin.v1beta.ProvisionA" + + "ccountTicketRequest\032=.google.analytics.admin.v1beta.ProvisionAccountTicketRespon" + + "se\"2\202\323\344\223\002,\"\'/v1beta/accounts:provisionAccountTicket:\001*\022\261\001\n" + + "\024ListAccountSummaries\022:.google.analytics.admin.v1beta.ListAcco" + + "untSummariesRequest\032;.google.analytics.admin.v1beta.ListAccountSummariesResponse\"" + " \202\323\344\223\002\032\022\030/v1beta/accountSummaries\022\225\001\n" - + "\013GetProperty\0221.google.analytics.admin.v1beta.GetPrope" - + "rtyRequest\032\'.google.analytics.admin.v1be" - + "ta.Property\"*\332A\004name\202\323\344\223\002\035\022\033/v1beta/{name=properties/*}\022\231\001\n" - + "\016ListProperties\0224.google.analytics.admin.v1beta.ListPropertie" - + "sRequest\0325.google.analytics.admin.v1beta" - + ".ListPropertiesResponse\"\032\202\323\344\223\002\024\022\022/v1beta/properties\022\240\001\n" - + "\016CreateProperty\0224.google.analytics.admin.v1beta.CreatePropertyReq" - + "uest\032\'.google.analytics.admin.v1beta.Pro" - + "perty\"/\332A\010property\202\323\344\223\002\036\"\022/v1beta/properties:\010property\022\233\001\n" - + "\016DeleteProperty\0224.google.analytics.admin.v1beta.DeleteProperty" - + "Request\032\'.google.analytics.admin.v1beta." - + "Property\"*\332A\004name\202\323\344\223\002\035*\033/v1beta/{name=properties/*}\022\276\001\n" - + "\016UpdateProperty\0224.google.analytics.admin.v1beta.UpdatePropertyRe" - + "quest\032\'.google.analytics.admin.v1beta.Pr" - + "operty\"M\332A\024property,update_mask\202\323\344\223\00202$/" - + "v1beta/{property.name=properties/*}:\010property\022\326\001\n" - + "\022CreateFirebaseLink\0228.google.analytics.admin.v1beta.CreateFirebaseLinkR" - + "equest\032+.google.analytics.admin.v1beta.F" - + "irebaseLink\"Y\332A\024parent,firebase_link\202\323\344\223" - + "\002<\"+/v1beta/{parent=properties/*}/firebaseLinks:\r" + + "\013GetProperty\0221.google.analytics.admin.v1be" + + "ta.GetPropertyRequest\032\'.google.analytics" + + ".admin.v1beta.Property\"*\332A\004name\202\323\344\223\002\035\022\033/v1beta/{name=properties/*}\022\231\001\n" + + "\016ListProperties\0224.google.analytics.admin.v1beta.Li" + + "stPropertiesRequest\0325.google.analytics.a" + + "dmin.v1beta.ListPropertiesResponse\"\032\202\323\344\223\002\024\022\022/v1beta/properties\022\240\001\n" + + "\016CreateProperty\0224.google.analytics.admin.v1beta.Create" + + "PropertyRequest\032\'.google.analytics.admin" + + ".v1beta.Property\"/\332A\010property\202\323\344\223\002\036\"\022/v1beta/properties:\010property\022\233\001\n" + + "\016DeleteProperty\0224.google.analytics.admin.v1beta.Del" + + "etePropertyRequest\032\'.google.analytics.ad" + + "min.v1beta.Property\"*\332A\004name\202\323\344\223\002\035*\033/v1beta/{name=properties/*}\022\276\001\n" + + "\016UpdateProperty\0224.google.analytics.admin.v1beta.Updat" + + "ePropertyRequest\032\'.google.analytics.admi" + + "n.v1beta.Property\"M\332A\024property,update_ma" + + "sk\202\323\344\223\00202$/v1beta/{property.name=properties/*}:\010property\022\326\001\n" + + "\022CreateFirebaseLink\0228.google.analytics.admin.v1beta.CreateFi" + + "rebaseLinkRequest\032+.google.analytics.adm" + + "in.v1beta.FirebaseLink\"Y\332A\024parent,fireba" + + "se_link\202\323\344\223\002<\"+/v1beta/{parent=properties/*}/firebaseLinks:\r" + "firebase_link\022\242\001\n" - + "\022DeleteFirebaseLink\0228.google.analytics.admin.v1beta.De" - + "leteFirebaseLinkRequest\032\026.google.protobu" - + "f.Empty\":\332A\004name\202\323\344\223\002-*+/v1beta/{name=properties/*/firebaseLinks/*}\022\304\001\n" - + "\021ListFirebaseLinks\0227.google.analytics.admin.v1bet" - + "a.ListFirebaseLinksRequest\0328.google.analytics.admin.v1beta.ListFirebaseLinksResp" - + "onse\"<\332A\006parent\202\323\344\223\002-\022+/v1beta/{parent=properties/*}/firebaseLinks\022\336\001\n" - + "\023CreateGoogleAdsLink\0229.google.analytics.admin.v1be" - + "ta.CreateGoogleAdsLinkRequest\032,.google.a" - + "nalytics.admin.v1beta.GoogleAdsLink\"^\332A\026" - + "parent,google_ads_link\202\323\344\223\002?\",/v1beta/{p" - + "arent=properties/*}/googleAdsLinks:\017google_ads_link\022\363\001\n" - + "\023UpdateGoogleAdsLink\0229.google.analytics.admin.v1beta.UpdateGoogle" - + "AdsLinkRequest\032,.google.analytics.admin." - + "v1beta.GoogleAdsLink\"s\332A\033google_ads_link" - + ",update_mask\202\323\344\223\002O221/v" - + "1beta/{key_event.name=properties/*/keyEv" - + "ents/*}:\tkey_event\022\241\001\n\013GetKeyEvent\0221.goo" - + "gle.analytics.admin.v1beta.GetKeyEventRe" - + "quest\032\'.google.analytics.admin.v1beta.Ke" - + "yEvent\"6\332A\004name\202\323\344\223\002)\022\'/v1beta/{name=pro" - + "perties/*/keyEvents/*}\022\226\001\n\016DeleteKeyEven" - + "t\0224.google.analytics.admin.v1beta.Delete" - + "KeyEventRequest\032\026.google.protobuf.Empty\"" - + "6\332A\004name\202\323\344\223\002)*\'/v1beta/{name=properties" - + "/*/keyEvents/*}\022\264\001\n\rListKeyEvents\0223.goog" - + "le.analytics.admin.v1beta.ListKeyEventsR" - + "equest\0324.google.analytics.admin.v1beta.L" - + "istKeyEventsResponse\"8\332A\006parent\202\323\344\223\002)\022\'/" - + "v1beta/{parent=properties/*}/keyEvents\022\350" - + "\001\n\025CreateCustomDimension\022;.google.analyt" - + "ics.admin.v1beta.CreateCustomDimensionRe" - + "quest\032..google.analytics.admin.v1beta.Cu" - + "stomDimension\"b\332A\027parent,custom_dimensio" - + "n\202\323\344\223\002B\"./v1beta/{parent=properties/*}/c" - + "ustomDimensions:\020custom_dimension\022\376\001\n\025Up" - + "dateCustomDimension\022;.google.analytics.a" - + "dmin.v1beta.UpdateCustomDimensionRequest" - + "\032..google.analytics.admin.v1beta.CustomD" - + "imension\"x\332A\034custom_dimension,update_mas" - + "k\202\323\344\223\002S2?/v1beta/{custom_dimension.name=" - + "properties/*/customDimensions/*}:\020custom" - + "_dimension\022\320\001\n\024ListCustomDimensions\022:.go" - + "ogle.analytics.admin.v1beta.ListCustomDi" - + "mensionsRequest\032;.google.analytics.admin" - + ".v1beta.ListCustomDimensionsResponse\"?\332A" - + "\006parent\202\323\344\223\0020\022./v1beta/{parent=propertie" - + "s/*}/customDimensions\022\270\001\n\026ArchiveCustomD" - + "imension\022<.google.analytics.admin.v1beta" - + ".ArchiveCustomDimensionRequest\032\026.google." - + "protobuf.Empty\"H\332A\004name\202\323\344\223\002;\"6/v1beta/{" - + "name=properties/*/customDimensions/*}:ar" - + "chive:\001*\022\275\001\n\022GetCustomDimension\0228.google" - + ".analytics.admin.v1beta.GetCustomDimensi" - + "onRequest\032..google.analytics.admin.v1bet" - + "a.CustomDimension\"=\332A\004name\202\323\344\223\0020\022./v1bet" - + "a/{name=properties/*/customDimensions/*}" - + "\022\326\001\n\022CreateCustomMetric\0228.google.analyti" - + "cs.admin.v1beta.CreateCustomMetricReques" - + "t\032+.google.analytics.admin.v1beta.Custom" - + "Metric\"Y\332A\024parent,custom_metric\202\323\344\223\002<\"+/" - + "v1beta/{parent=properties/*}/customMetri" - + "cs:\rcustom_metric\022\351\001\n\022UpdateCustomMetric" - + "\0228.google.analytics.admin.v1beta.UpdateC" - + "ustomMetricRequest\032+.google.analytics.ad" - + "min.v1beta.CustomMetric\"l\332A\031custom_metri" - + "c,update_mask\202\323\344\223\002J29/v1beta/{custom_met" - + "ric.name=properties/*/customMetrics/*}:\r" - + "custom_metric\022\304\001\n\021ListCustomMetrics\0227.go" - + "ogle.analytics.admin.v1beta.ListCustomMe" - + "tricsRequest\0328.google.analytics.admin.v1" - + "beta.ListCustomMetricsResponse\"<\332A\006paren" - + "t\202\323\344\223\002-\022+/v1beta/{parent=properties/*}/c" - + "ustomMetrics\022\257\001\n\023ArchiveCustomMetric\0229.g" - + "oogle.analytics.admin.v1beta.ArchiveCust" - + "omMetricRequest\032\026.google.protobuf.Empty\"" - + "E\332A\004name\202\323\344\223\0028\"3/v1beta/{name=properties" - + "/*/customMetrics/*}:archive:\001*\022\261\001\n\017GetCu" - + "stomMetric\0225.google.analytics.admin.v1be" - + "ta.GetCustomMetricRequest\032+.google.analy" - + "tics.admin.v1beta.CustomMetric\":\332A\004name\202" - + "\323\344\223\002-\022+/v1beta/{name=properties/*/custom" - + "Metrics/*}\022\322\001\n\030GetDataRetentionSettings\022" - + ">.google.analytics.admin.v1beta.GetDataR" - + "etentionSettingsRequest\0324.google.analyti" - + "cs.admin.v1beta.DataRetentionSettings\"@\332" - + "A\004name\202\323\344\223\0023\0221/v1beta/{name=properties/*" - + "/dataRetentionSettings}\022\251\002\n\033UpdateDataRe" - + "tentionSettings\022A.google.analytics.admin" - + ".v1beta.UpdateDataRetentionSettingsReque" - + "st\0324.google.analytics.admin.v1beta.DataR" - + "etentionSettings\"\220\001\332A#data_retention_set" - + "tings,update_mask\202\323\344\223\002d2I/v1beta/{data_r" - + "etention_settings.name=properties/*/data" - + "RetentionSettings}:\027data_retention_setti" - + "ngs\022\312\001\n\020CreateDataStream\0226.google.analyt" - + "ics.admin.v1beta.CreateDataStreamRequest" - + "\032).google.analytics.admin.v1beta.DataStr" - + "eam\"S\332A\022parent,data_stream\202\323\344\223\0028\")/v1bet" - + "a/{parent=properties/*}/dataStreams:\013dat" - + "a_stream\022\234\001\n\020DeleteDataStream\0226.google.a" - + "nalytics.admin.v1beta.DeleteDataStreamRe" - + "quest\032\026.google.protobuf.Empty\"8\332A\004name\202\323" - + "\344\223\002+*)/v1beta/{name=properties/*/dataStr" - + "eams/*}\022\333\001\n\020UpdateDataStream\0226.google.an" - + "alytics.admin.v1beta.UpdateDataStreamReq" - + "uest\032).google.analytics.admin.v1beta.Dat" - + "aStream\"d\332A\027data_stream,update_mask\202\323\344\223\002" - + "D25/v1beta/{data_stream.name=properties/" - + "*/dataStreams/*}:\013data_stream\022\274\001\n\017ListDa" - + "taStreams\0225.google.analytics.admin.v1bet" - + "a.ListDataStreamsRequest\0326.google.analyt" - + "ics.admin.v1beta.ListDataStreamsResponse" - + "\":\332A\006parent\202\323\344\223\002+\022)/v1beta/{parent=prope" - + "rties/*}/dataStreams\022\251\001\n\rGetDataStream\0223" - + ".google.analytics.admin.v1beta.GetDataSt" + + "\022DeleteFirebaseLink\0228.google.analytics.admi" + + "n.v1beta.DeleteFirebaseLinkRequest\032\026.goo" + + "gle.protobuf.Empty\":\332A\004name\202\323\344\223\002-*+/v1be" + + "ta/{name=properties/*/firebaseLinks/*}\022\304\001\n" + + "\021ListFirebaseLinks\0227.google.analytics." + + "admin.v1beta.ListFirebaseLinksRequest\0328.google.analytics.admin.v1beta.ListFireba" + + "seLinksResponse\"<\332A\006parent\202\323\344\223\002-\022+/v1bet" + + "a/{parent=properties/*}/firebaseLinks\022\336\001\n" + + "\023CreateGoogleAdsLink\0229.google.analytics.admin.v1beta.CreateGoogleAdsLinkRequest" + + "\032,.google.analytics.admin.v1beta.GoogleA" + + "dsLink\"^\332A\026parent,google_ads_link\202\323\344\223\002?\"" + + ",/v1beta/{parent=properties/*}/googleAdsLinks:\017google_ads_link\022\363\001\n" + + "\023UpdateGoogleAdsLink\0229.google.analytics.admin.v1beta.U" + + "pdateGoogleAdsLinkRequest\032,.google.analy" + + "tics.admin.v1beta.GoogleAdsLink\"s\332A\033goog" + + "le_ads_link,update_mask\202\323\344\223\002O221/v1beta/{key_event.name=propert" + + "ies/*/keyEvents/*}:\tkey_event\022\241\001\n\013GetKey" + + "Event\0221.google.analytics.admin.v1beta.Ge" + + "tKeyEventRequest\032\'.google.analytics.admi" + + "n.v1beta.KeyEvent\"6\332A\004name\202\323\344\223\002)\022\'/v1bet" + + "a/{name=properties/*/keyEvents/*}\022\226\001\n\016De" + + "leteKeyEvent\0224.google.analytics.admin.v1" + + "beta.DeleteKeyEventRequest\032\026.google.prot" + + "obuf.Empty\"6\332A\004name\202\323\344\223\002)*\'/v1beta/{name" + + "=properties/*/keyEvents/*}\022\264\001\n\rListKeyEv" + + "ents\0223.google.analytics.admin.v1beta.Lis" + + "tKeyEventsRequest\0324.google.analytics.adm" + + "in.v1beta.ListKeyEventsResponse\"8\332A\006pare" + + "nt\202\323\344\223\002)\022\'/v1beta/{parent=properties/*}/" + + "keyEvents\022\350\001\n\025CreateCustomDimension\022;.go" + + "ogle.analytics.admin.v1beta.CreateCustom" + + "DimensionRequest\032..google.analytics.admi" + + "n.v1beta.CustomDimension\"b\332A\027parent,cust" + + "om_dimension\202\323\344\223\002B\"./v1beta/{parent=prop" + + "erties/*}/customDimensions:\020custom_dimen" + + "sion\022\376\001\n\025UpdateCustomDimension\022;.google." + + "analytics.admin.v1beta.UpdateCustomDimen" + + "sionRequest\032..google.analytics.admin.v1b" + + "eta.CustomDimension\"x\332A\034custom_dimension" + + ",update_mask\202\323\344\223\002S2?/v1beta/{custom_dime" + + "nsion.name=properties/*/customDimensions" + + "/*}:\020custom_dimension\022\320\001\n\024ListCustomDime" + + "nsions\022:.google.analytics.admin.v1beta.L" + + "istCustomDimensionsRequest\032;.google.anal" + + "ytics.admin.v1beta.ListCustomDimensionsR" + + "esponse\"?\332A\006parent\202\323\344\223\0020\022./v1beta/{paren" + + "t=properties/*}/customDimensions\022\270\001\n\026Arc" + + "hiveCustomDimension\022<.google.analytics.a" + + "dmin.v1beta.ArchiveCustomDimensionReques" + + "t\032\026.google.protobuf.Empty\"H\332A\004name\202\323\344\223\002;" + + "\"6/v1beta/{name=properties/*/customDimen" + + "sions/*}:archive:\001*\022\275\001\n\022GetCustomDimensi" + + "on\0228.google.analytics.admin.v1beta.GetCu" + + "stomDimensionRequest\032..google.analytics." + + "admin.v1beta.CustomDimension\"=\332A\004name\202\323\344" + + "\223\0020\022./v1beta/{name=properties/*/customDi" + + "mensions/*}\022\326\001\n\022CreateCustomMetric\0228.goo" + + "gle.analytics.admin.v1beta.CreateCustomM" + + "etricRequest\032+.google.analytics.admin.v1" + + "beta.CustomMetric\"Y\332A\024parent,custom_metr" + + "ic\202\323\344\223\002<\"+/v1beta/{parent=properties/*}/" + + "customMetrics:\rcustom_metric\022\351\001\n\022UpdateC" + + "ustomMetric\0228.google.analytics.admin.v1b" + + "eta.UpdateCustomMetricRequest\032+.google.a" + + "nalytics.admin.v1beta.CustomMetric\"l\332A\031c" + + "ustom_metric,update_mask\202\323\344\223\002J29/v1beta/" + + "{custom_metric.name=properties/*/customM" + + "etrics/*}:\rcustom_metric\022\304\001\n\021ListCustomM" + + "etrics\0227.google.analytics.admin.v1beta.L" + + "istCustomMetricsRequest\0328.google.analyti" + + "cs.admin.v1beta.ListCustomMetricsRespons" + + "e\"<\332A\006parent\202\323\344\223\002-\022+/v1beta/{parent=prop" + + "erties/*}/customMetrics\022\257\001\n\023ArchiveCusto" + + "mMetric\0229.google.analytics.admin.v1beta." + + "ArchiveCustomMetricRequest\032\026.google.prot" + + "obuf.Empty\"E\332A\004name\202\323\344\223\0028\"3/v1beta/{name" + + "=properties/*/customMetrics/*}:archive:\001" + + "*\022\261\001\n\017GetCustomMetric\0225.google.analytics" + + ".admin.v1beta.GetCustomMetricRequest\032+.g" + + "oogle.analytics.admin.v1beta.CustomMetri" + + "c\":\332A\004name\202\323\344\223\002-\022+/v1beta/{name=properti" + + "es/*/customMetrics/*}\022\322\001\n\030GetDataRetenti" + + "onSettings\022>.google.analytics.admin.v1be" + + "ta.GetDataRetentionSettingsRequest\0324.goo" + + "gle.analytics.admin.v1beta.DataRetention" + + "Settings\"@\332A\004name\202\323\344\223\0023\0221/v1beta/{name=p" + + "roperties/*/dataRetentionSettings}\022\251\002\n\033U" + + "pdateDataRetentionSettings\022A.google.anal" + + "ytics.admin.v1beta.UpdateDataRetentionSe" + + "ttingsRequest\0324.google.analytics.admin.v" + + "1beta.DataRetentionSettings\"\220\001\332A#data_re" + + "tention_settings,update_mask\202\323\344\223\002d2I/v1b" + + "eta/{data_retention_settings.name=proper" + + "ties/*/dataRetentionSettings}:\027data_rete" + + "ntion_settings\022\312\001\n\020CreateDataStream\0226.go" + + "ogle.analytics.admin.v1beta.CreateDataSt" + "reamRequest\032).google.analytics.admin.v1b" - + "eta.DataStream\"8\332A\004name\202\323\344\223\002+\022)/v1beta/{" - + "name=properties/*/dataStreams/*}\022\354\001\n\017Run" - + "AccessReport\0225.google.analytics.admin.v1" - + "beta.RunAccessReportRequest\0326.google.ana" - + "lytics.admin.v1beta.RunAccessReportRespo" - + "nse\"j\202\323\344\223\002d\"-/v1beta/{entity=properties/" - + "*}:runAccessReport:\001*Z0\"+/v1beta/{entity" - + "=accounts/*}:runAccessReport:\001*\032\204\001\312A\035ana" - + "lyticsadmin.googleapis.com\322Aahttps://www" - + ".googleapis.com/auth/analytics.edit,http" - + "s://www.googleapis.com/auth/analytics.re" - + "adonlyBy\n!com.google.analytics.admin.v1b" - + "etaB\023AnalyticsAdminProtoP\001Z=cloud.google" - + ".com/go/analytics/admin/apiv1beta/adminp" - + "b;adminpbb\006proto3" + + "eta.DataStream\"S\332A\022parent,data_stream\202\323\344" + + "\223\0028\")/v1beta/{parent=properties/*}/dataS" + + "treams:\013data_stream\022\234\001\n\020DeleteDataStream" + + "\0226.google.analytics.admin.v1beta.DeleteD" + + "ataStreamRequest\032\026.google.protobuf.Empty" + + "\"8\332A\004name\202\323\344\223\002+*)/v1beta/{name=propertie" + + "s/*/dataStreams/*}\022\333\001\n\020UpdateDataStream\022" + + "6.google.analytics.admin.v1beta.UpdateDa" + + "taStreamRequest\032).google.analytics.admin" + + ".v1beta.DataStream\"d\332A\027data_stream,updat" + + "e_mask\202\323\344\223\002D25/v1beta/{data_stream.name=" + + "properties/*/dataStreams/*}:\013data_stream" + + "\022\274\001\n\017ListDataStreams\0225.google.analytics." + + "admin.v1beta.ListDataStreamsRequest\0326.go" + + "ogle.analytics.admin.v1beta.ListDataStre" + + "amsResponse\":\332A\006parent\202\323\344\223\002+\022)/v1beta/{p" + + "arent=properties/*}/dataStreams\022\251\001\n\rGetD" + + "ataStream\0223.google.analytics.admin.v1bet" + + "a.GetDataStreamRequest\032).google.analytic" + + "s.admin.v1beta.DataStream\"8\332A\004name\202\323\344\223\002+" + + "\022)/v1beta/{name=properties/*/dataStreams" + + "/*}\022\354\001\n\017RunAccessReport\0225.google.analyti" + + "cs.admin.v1beta.RunAccessReportRequest\0326" + + ".google.analytics.admin.v1beta.RunAccess" + + "ReportResponse\"j\202\323\344\223\002d\"-/v1beta/{entity=" + + "properties/*}:runAccessReport:\001*Z0\"+/v1b" + + "eta/{entity=accounts/*}:runAccessReport:" + + "\001*\032\204\001\312A\035analyticsadmin.googleapis.com\322Aa" + + "https://www.googleapis.com/auth/analytic" + + "s.edit,https://www.googleapis.com/auth/a" + + "nalytics.readonlyBy\n!com.google.analytic" + + "s.admin.v1betaB\023AnalyticsAdminProtoP\001Z=c" + + "loud.google.com/go/analytics/admin/apiv1" + + "beta/adminpb;adminpbb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ConversionEvent.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ConversionEvent.java index 5b61bd772959..64653d2dc83f 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ConversionEvent.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ConversionEvent.java @@ -1154,11 +1154,11 @@ public com.google.protobuf.Parser getParserForType() { * * *
-   * Output only. Resource name of this conversion event.
+   * Identifier. Resource name of this conversion event.
    * Format: properties/{property}/conversionEvents/{conversion_event}
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -1179,11 +1179,11 @@ public java.lang.String getName() { * * *
-   * Output only. Resource name of this conversion event.
+   * Identifier. Resource name of this conversion event.
    * Format: properties/{property}/conversionEvents/{conversion_event}
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -1959,11 +1959,11 @@ public Builder mergeFrom( * * *
-     * Output only. Resource name of this conversion event.
+     * Identifier. Resource name of this conversion event.
      * Format: properties/{property}/conversionEvents/{conversion_event}
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -1983,11 +1983,11 @@ public java.lang.String getName() { * * *
-     * Output only. Resource name of this conversion event.
+     * Identifier. Resource name of this conversion event.
      * Format: properties/{property}/conversionEvents/{conversion_event}
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -2007,11 +2007,11 @@ public com.google.protobuf.ByteString getNameBytes() { * * *
-     * Output only. Resource name of this conversion event.
+     * Identifier. Resource name of this conversion event.
      * Format: properties/{property}/conversionEvents/{conversion_event}
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The name to set. * @return This builder for chaining. @@ -2030,11 +2030,11 @@ public Builder setName(java.lang.String value) { * * *
-     * Output only. Resource name of this conversion event.
+     * Identifier. Resource name of this conversion event.
      * Format: properties/{property}/conversionEvents/{conversion_event}
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return This builder for chaining. */ @@ -2049,11 +2049,11 @@ public Builder clearName() { * * *
-     * Output only. Resource name of this conversion event.
+     * Identifier. Resource name of this conversion event.
      * Format: properties/{property}/conversionEvents/{conversion_event}
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The bytes for name to set. * @return This builder for chaining. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ConversionEventOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ConversionEventOrBuilder.java index 8dc3f3fa2038..f835a0d376f6 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ConversionEventOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ConversionEventOrBuilder.java @@ -30,11 +30,11 @@ public interface ConversionEventOrBuilder * * *
-   * Output only. Resource name of this conversion event.
+   * Identifier. Resource name of this conversion event.
    * Format: properties/{property}/conversionEvents/{conversion_event}
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -44,11 +44,11 @@ public interface ConversionEventOrBuilder * * *
-   * Output only. Resource name of this conversion event.
+   * Identifier. Resource name of this conversion event.
    * Format: properties/{property}/conversionEvents/{conversion_event}
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/CustomDimension.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/CustomDimension.java index 526331316dbe..e0196448d595 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/CustomDimension.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/CustomDimension.java @@ -277,11 +277,11 @@ private DimensionScope(int value) { * * *
-   * Output only. Resource name for this CustomDimension resource.
+   * Identifier. Resource name for this CustomDimension resource.
    * Format: properties/{property}/customDimensions/{customDimension}
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -302,11 +302,11 @@ public java.lang.String getName() { * * *
-   * Output only. Resource name for this CustomDimension resource.
+   * Identifier. Resource name for this CustomDimension resource.
    * Format: properties/{property}/customDimensions/{customDimension}
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -1021,11 +1021,11 @@ public Builder mergeFrom( * * *
-     * Output only. Resource name for this CustomDimension resource.
+     * Identifier. Resource name for this CustomDimension resource.
      * Format: properties/{property}/customDimensions/{customDimension}
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -1045,11 +1045,11 @@ public java.lang.String getName() { * * *
-     * Output only. Resource name for this CustomDimension resource.
+     * Identifier. Resource name for this CustomDimension resource.
      * Format: properties/{property}/customDimensions/{customDimension}
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -1069,11 +1069,11 @@ public com.google.protobuf.ByteString getNameBytes() { * * *
-     * Output only. Resource name for this CustomDimension resource.
+     * Identifier. Resource name for this CustomDimension resource.
      * Format: properties/{property}/customDimensions/{customDimension}
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The name to set. * @return This builder for chaining. @@ -1092,11 +1092,11 @@ public Builder setName(java.lang.String value) { * * *
-     * Output only. Resource name for this CustomDimension resource.
+     * Identifier. Resource name for this CustomDimension resource.
      * Format: properties/{property}/customDimensions/{customDimension}
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return This builder for chaining. */ @@ -1111,11 +1111,11 @@ public Builder clearName() { * * *
-     * Output only. Resource name for this CustomDimension resource.
+     * Identifier. Resource name for this CustomDimension resource.
      * Format: properties/{property}/customDimensions/{customDimension}
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The bytes for name to set. * @return This builder for chaining. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/CustomDimensionOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/CustomDimensionOrBuilder.java index beb357d9e747..06e57b52035c 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/CustomDimensionOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/CustomDimensionOrBuilder.java @@ -30,11 +30,11 @@ public interface CustomDimensionOrBuilder * * *
-   * Output only. Resource name for this CustomDimension resource.
+   * Identifier. Resource name for this CustomDimension resource.
    * Format: properties/{property}/customDimensions/{customDimension}
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -44,11 +44,11 @@ public interface CustomDimensionOrBuilder * * *
-   * Output only. Resource name for this CustomDimension resource.
+   * Identifier. Resource name for this CustomDimension resource.
    * Format: properties/{property}/customDimensions/{customDimension}
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/CustomMetric.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/CustomMetric.java index 5ecd84685b4b..df7960c04b57 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/CustomMetric.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/CustomMetric.java @@ -762,11 +762,11 @@ private RestrictedMetricType(int value) { * * *
-   * Output only. Resource name for this CustomMetric resource.
+   * Identifier. Resource name for this CustomMetric resource.
    * Format: properties/{property}/customMetrics/{customMetric}
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -787,11 +787,11 @@ public java.lang.String getName() { * * *
-   * Output only. Resource name for this CustomMetric resource.
+   * Identifier. Resource name for this CustomMetric resource.
    * Format: properties/{property}/customMetrics/{customMetric}
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -1710,11 +1710,11 @@ public Builder mergeFrom( * * *
-     * Output only. Resource name for this CustomMetric resource.
+     * Identifier. Resource name for this CustomMetric resource.
      * Format: properties/{property}/customMetrics/{customMetric}
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -1734,11 +1734,11 @@ public java.lang.String getName() { * * *
-     * Output only. Resource name for this CustomMetric resource.
+     * Identifier. Resource name for this CustomMetric resource.
      * Format: properties/{property}/customMetrics/{customMetric}
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -1758,11 +1758,11 @@ public com.google.protobuf.ByteString getNameBytes() { * * *
-     * Output only. Resource name for this CustomMetric resource.
+     * Identifier. Resource name for this CustomMetric resource.
      * Format: properties/{property}/customMetrics/{customMetric}
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The name to set. * @return This builder for chaining. @@ -1781,11 +1781,11 @@ public Builder setName(java.lang.String value) { * * *
-     * Output only. Resource name for this CustomMetric resource.
+     * Identifier. Resource name for this CustomMetric resource.
      * Format: properties/{property}/customMetrics/{customMetric}
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return This builder for chaining. */ @@ -1800,11 +1800,11 @@ public Builder clearName() { * * *
-     * Output only. Resource name for this CustomMetric resource.
+     * Identifier. Resource name for this CustomMetric resource.
      * Format: properties/{property}/customMetrics/{customMetric}
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The bytes for name to set. * @return This builder for chaining. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/CustomMetricOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/CustomMetricOrBuilder.java index 625e80a00427..ef611f3b16f3 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/CustomMetricOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/CustomMetricOrBuilder.java @@ -30,11 +30,11 @@ public interface CustomMetricOrBuilder * * *
-   * Output only. Resource name for this CustomMetric resource.
+   * Identifier. Resource name for this CustomMetric resource.
    * Format: properties/{property}/customMetrics/{customMetric}
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -44,11 +44,11 @@ public interface CustomMetricOrBuilder * * *
-   * Output only. Resource name for this CustomMetric resource.
+   * Identifier. Resource name for this CustomMetric resource.
    * Format: properties/{property}/customMetrics/{customMetric}
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataRetentionSettings.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataRetentionSettings.java index c5e6212c280e..d54999f0075d 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataRetentionSettings.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataRetentionSettings.java @@ -330,11 +330,11 @@ private RetentionDuration(int value) { * * *
-   * Output only. Resource name for this DataRetentionSetting resource.
+   * Identifier. Resource name for this DataRetentionSetting resource.
    * Format: properties/{property}/dataRetentionSettings
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -355,11 +355,11 @@ public java.lang.String getName() { * * *
-   * Output only. Resource name for this DataRetentionSetting resource.
+   * Identifier. Resource name for this DataRetentionSetting resource.
    * Format: properties/{property}/dataRetentionSettings
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -881,11 +881,11 @@ public Builder mergeFrom( * * *
-     * Output only. Resource name for this DataRetentionSetting resource.
+     * Identifier. Resource name for this DataRetentionSetting resource.
      * Format: properties/{property}/dataRetentionSettings
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -905,11 +905,11 @@ public java.lang.String getName() { * * *
-     * Output only. Resource name for this DataRetentionSetting resource.
+     * Identifier. Resource name for this DataRetentionSetting resource.
      * Format: properties/{property}/dataRetentionSettings
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -929,11 +929,11 @@ public com.google.protobuf.ByteString getNameBytes() { * * *
-     * Output only. Resource name for this DataRetentionSetting resource.
+     * Identifier. Resource name for this DataRetentionSetting resource.
      * Format: properties/{property}/dataRetentionSettings
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The name to set. * @return This builder for chaining. @@ -952,11 +952,11 @@ public Builder setName(java.lang.String value) { * * *
-     * Output only. Resource name for this DataRetentionSetting resource.
+     * Identifier. Resource name for this DataRetentionSetting resource.
      * Format: properties/{property}/dataRetentionSettings
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return This builder for chaining. */ @@ -971,11 +971,11 @@ public Builder clearName() { * * *
-     * Output only. Resource name for this DataRetentionSetting resource.
+     * Identifier. Resource name for this DataRetentionSetting resource.
      * Format: properties/{property}/dataRetentionSettings
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The bytes for name to set. * @return This builder for chaining. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataRetentionSettingsOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataRetentionSettingsOrBuilder.java index 06d985330c34..bf18b49fa049 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataRetentionSettingsOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataRetentionSettingsOrBuilder.java @@ -30,11 +30,11 @@ public interface DataRetentionSettingsOrBuilder * * *
-   * Output only. Resource name for this DataRetentionSetting resource.
+   * Identifier. Resource name for this DataRetentionSetting resource.
    * Format: properties/{property}/dataRetentionSettings
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -44,11 +44,11 @@ public interface DataRetentionSettingsOrBuilder * * *
-   * Output only. Resource name for this DataRetentionSetting resource.
+   * Identifier. Resource name for this DataRetentionSetting resource.
    * Format: properties/{property}/dataRetentionSettings
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataSharingSettings.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataSharingSettings.java index afc8ab4bd8f2..2ab92e88e2e7 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataSharingSettings.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataSharingSettings.java @@ -80,12 +80,12 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * * *
-   * Output only. Resource name.
+   * Identifier. Resource name.
    * Format: accounts/{account}/dataSharingSettings
    * Example: "accounts/1000/dataSharingSettings"
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -106,12 +106,12 @@ public java.lang.String getName() { * * *
-   * Output only. Resource name.
+   * Identifier. Resource name.
    * Format: accounts/{account}/dataSharingSettings
    * Example: "accounts/1000/dataSharingSettings"
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -135,8 +135,12 @@ public com.google.protobuf.ByteString getNameBytes() { * * *
-   * Allows Google support to access the data in order to help troubleshoot
-   * issues.
+   * Allows Google technical support representatives access to your Google
+   * Analytics data and account when necessary to provide service and find
+   * solutions to technical issues.
+   *
+   * This field maps to the "Technical support" field in the Google Analytics
+   * Admin UI.
    * 
* * bool sharing_with_google_support_enabled = 2; @@ -155,9 +159,15 @@ public boolean getSharingWithGoogleSupportEnabled() { * * *
-   * Allows Google sales teams that are assigned to the customer to access the
-   * data in order to suggest configuration changes to improve results.
-   * Sales team restrictions still apply when enabled.
+   * Allows Google access to your Google Analytics account data, including
+   * account usage and configuration data, product spending, and users
+   * associated with your Google Analytics account, so that Google can help you
+   * make the most of Google products, providing you with insights, offers,
+   * recommendations, and optimization tips across Google Analytics and other
+   * Google products for business.
+   *
+   * This field maps to the "Recommendations for your business" field in the
+   * Google Analytics Admin UI.
    * 
* * bool sharing_with_google_assigned_sales_enabled = 3; @@ -176,15 +186,18 @@ public boolean getSharingWithGoogleAssignedSalesEnabled() { * * *
-   * Allows any of Google sales to access the data in order to suggest
-   * configuration changes to improve results.
+   * Deprecated. This field is no longer used and always returns false.
    * 
* - * bool sharing_with_google_any_sales_enabled = 4; + * bool sharing_with_google_any_sales_enabled = 4 [deprecated = true]; * + * @deprecated + * google.analytics.admin.v1beta.DataSharingSettings.sharing_with_google_any_sales_enabled is + * deprecated. See google/analytics/admin/v1beta/resources.proto;l=561 * @return The sharingWithGoogleAnySalesEnabled. */ @java.lang.Override + @java.lang.Deprecated public boolean getSharingWithGoogleAnySalesEnabled() { return sharingWithGoogleAnySalesEnabled_; } @@ -197,6 +210,9 @@ public boolean getSharingWithGoogleAnySalesEnabled() { * *
    * Allows Google to use the data to improve other Google products or services.
+   *
+   * This fields maps to the "Google products & services" field in the Google
+   * Analytics Admin UI.
    * 
* * bool sharing_with_google_products_enabled = 5; @@ -215,7 +231,14 @@ public boolean getSharingWithGoogleProductsEnabled() { * * *
-   * Allows Google to share the data anonymously in aggregate form with others.
+   * Enable features like predictions, modeled data, and benchmarking that can
+   * provide you with richer business insights when you contribute aggregated
+   * measurement data. The data you share (including information about the
+   * property from which it is shared) is aggregated and de-identified before
+   * being used to generate business insights.
+   *
+   * This field maps to the "Modeling contributions & business insights" field
+   * in the Google Analytics Admin UI.
    * 
* * bool sharing_with_others_enabled = 6; @@ -675,12 +698,12 @@ public Builder mergeFrom( * * *
-     * Output only. Resource name.
+     * Identifier. Resource name.
      * Format: accounts/{account}/dataSharingSettings
      * Example: "accounts/1000/dataSharingSettings"
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -700,12 +723,12 @@ public java.lang.String getName() { * * *
-     * Output only. Resource name.
+     * Identifier. Resource name.
      * Format: accounts/{account}/dataSharingSettings
      * Example: "accounts/1000/dataSharingSettings"
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -725,12 +748,12 @@ public com.google.protobuf.ByteString getNameBytes() { * * *
-     * Output only. Resource name.
+     * Identifier. Resource name.
      * Format: accounts/{account}/dataSharingSettings
      * Example: "accounts/1000/dataSharingSettings"
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The name to set. * @return This builder for chaining. @@ -749,12 +772,12 @@ public Builder setName(java.lang.String value) { * * *
-     * Output only. Resource name.
+     * Identifier. Resource name.
      * Format: accounts/{account}/dataSharingSettings
      * Example: "accounts/1000/dataSharingSettings"
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return This builder for chaining. */ @@ -769,12 +792,12 @@ public Builder clearName() { * * *
-     * Output only. Resource name.
+     * Identifier. Resource name.
      * Format: accounts/{account}/dataSharingSettings
      * Example: "accounts/1000/dataSharingSettings"
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The bytes for name to set. * @return This builder for chaining. @@ -796,8 +819,12 @@ public Builder setNameBytes(com.google.protobuf.ByteString value) { * * *
-     * Allows Google support to access the data in order to help troubleshoot
-     * issues.
+     * Allows Google technical support representatives access to your Google
+     * Analytics data and account when necessary to provide service and find
+     * solutions to technical issues.
+     *
+     * This field maps to the "Technical support" field in the Google Analytics
+     * Admin UI.
      * 
* * bool sharing_with_google_support_enabled = 2; @@ -813,8 +840,12 @@ public boolean getSharingWithGoogleSupportEnabled() { * * *
-     * Allows Google support to access the data in order to help troubleshoot
-     * issues.
+     * Allows Google technical support representatives access to your Google
+     * Analytics data and account when necessary to provide service and find
+     * solutions to technical issues.
+     *
+     * This field maps to the "Technical support" field in the Google Analytics
+     * Admin UI.
      * 
* * bool sharing_with_google_support_enabled = 2; @@ -834,8 +865,12 @@ public Builder setSharingWithGoogleSupportEnabled(boolean value) { * * *
-     * Allows Google support to access the data in order to help troubleshoot
-     * issues.
+     * Allows Google technical support representatives access to your Google
+     * Analytics data and account when necessary to provide service and find
+     * solutions to technical issues.
+     *
+     * This field maps to the "Technical support" field in the Google Analytics
+     * Admin UI.
      * 
* * bool sharing_with_google_support_enabled = 2; @@ -855,9 +890,15 @@ public Builder clearSharingWithGoogleSupportEnabled() { * * *
-     * Allows Google sales teams that are assigned to the customer to access the
-     * data in order to suggest configuration changes to improve results.
-     * Sales team restrictions still apply when enabled.
+     * Allows Google access to your Google Analytics account data, including
+     * account usage and configuration data, product spending, and users
+     * associated with your Google Analytics account, so that Google can help you
+     * make the most of Google products, providing you with insights, offers,
+     * recommendations, and optimization tips across Google Analytics and other
+     * Google products for business.
+     *
+     * This field maps to the "Recommendations for your business" field in the
+     * Google Analytics Admin UI.
      * 
* * bool sharing_with_google_assigned_sales_enabled = 3; @@ -873,9 +914,15 @@ public boolean getSharingWithGoogleAssignedSalesEnabled() { * * *
-     * Allows Google sales teams that are assigned to the customer to access the
-     * data in order to suggest configuration changes to improve results.
-     * Sales team restrictions still apply when enabled.
+     * Allows Google access to your Google Analytics account data, including
+     * account usage and configuration data, product spending, and users
+     * associated with your Google Analytics account, so that Google can help you
+     * make the most of Google products, providing you with insights, offers,
+     * recommendations, and optimization tips across Google Analytics and other
+     * Google products for business.
+     *
+     * This field maps to the "Recommendations for your business" field in the
+     * Google Analytics Admin UI.
      * 
* * bool sharing_with_google_assigned_sales_enabled = 3; @@ -895,9 +942,15 @@ public Builder setSharingWithGoogleAssignedSalesEnabled(boolean value) { * * *
-     * Allows Google sales teams that are assigned to the customer to access the
-     * data in order to suggest configuration changes to improve results.
-     * Sales team restrictions still apply when enabled.
+     * Allows Google access to your Google Analytics account data, including
+     * account usage and configuration data, product spending, and users
+     * associated with your Google Analytics account, so that Google can help you
+     * make the most of Google products, providing you with insights, offers,
+     * recommendations, and optimization tips across Google Analytics and other
+     * Google products for business.
+     *
+     * This field maps to the "Recommendations for your business" field in the
+     * Google Analytics Admin UI.
      * 
* * bool sharing_with_google_assigned_sales_enabled = 3; @@ -917,15 +970,18 @@ public Builder clearSharingWithGoogleAssignedSalesEnabled() { * * *
-     * Allows any of Google sales to access the data in order to suggest
-     * configuration changes to improve results.
+     * Deprecated. This field is no longer used and always returns false.
      * 
* - * bool sharing_with_google_any_sales_enabled = 4; + * bool sharing_with_google_any_sales_enabled = 4 [deprecated = true]; * + * @deprecated + * google.analytics.admin.v1beta.DataSharingSettings.sharing_with_google_any_sales_enabled + * is deprecated. See google/analytics/admin/v1beta/resources.proto;l=561 * @return The sharingWithGoogleAnySalesEnabled. */ @java.lang.Override + @java.lang.Deprecated public boolean getSharingWithGoogleAnySalesEnabled() { return sharingWithGoogleAnySalesEnabled_; } @@ -934,15 +990,18 @@ public boolean getSharingWithGoogleAnySalesEnabled() { * * *
-     * Allows any of Google sales to access the data in order to suggest
-     * configuration changes to improve results.
+     * Deprecated. This field is no longer used and always returns false.
      * 
* - * bool sharing_with_google_any_sales_enabled = 4; + * bool sharing_with_google_any_sales_enabled = 4 [deprecated = true]; * + * @deprecated + * google.analytics.admin.v1beta.DataSharingSettings.sharing_with_google_any_sales_enabled + * is deprecated. See google/analytics/admin/v1beta/resources.proto;l=561 * @param value The sharingWithGoogleAnySalesEnabled to set. * @return This builder for chaining. */ + @java.lang.Deprecated public Builder setSharingWithGoogleAnySalesEnabled(boolean value) { sharingWithGoogleAnySalesEnabled_ = value; @@ -955,14 +1014,17 @@ public Builder setSharingWithGoogleAnySalesEnabled(boolean value) { * * *
-     * Allows any of Google sales to access the data in order to suggest
-     * configuration changes to improve results.
+     * Deprecated. This field is no longer used and always returns false.
      * 
* - * bool sharing_with_google_any_sales_enabled = 4; + * bool sharing_with_google_any_sales_enabled = 4 [deprecated = true]; * + * @deprecated + * google.analytics.admin.v1beta.DataSharingSettings.sharing_with_google_any_sales_enabled + * is deprecated. See google/analytics/admin/v1beta/resources.proto;l=561 * @return This builder for chaining. */ + @java.lang.Deprecated public Builder clearSharingWithGoogleAnySalesEnabled() { bitField0_ = (bitField0_ & ~0x00000008); sharingWithGoogleAnySalesEnabled_ = false; @@ -977,6 +1039,9 @@ public Builder clearSharingWithGoogleAnySalesEnabled() { * *
      * Allows Google to use the data to improve other Google products or services.
+     *
+     * This fields maps to the "Google products & services" field in the Google
+     * Analytics Admin UI.
      * 
* * bool sharing_with_google_products_enabled = 5; @@ -993,6 +1058,9 @@ public boolean getSharingWithGoogleProductsEnabled() { * *
      * Allows Google to use the data to improve other Google products or services.
+     *
+     * This fields maps to the "Google products & services" field in the Google
+     * Analytics Admin UI.
      * 
* * bool sharing_with_google_products_enabled = 5; @@ -1013,6 +1081,9 @@ public Builder setSharingWithGoogleProductsEnabled(boolean value) { * *
      * Allows Google to use the data to improve other Google products or services.
+     *
+     * This fields maps to the "Google products & services" field in the Google
+     * Analytics Admin UI.
      * 
* * bool sharing_with_google_products_enabled = 5; @@ -1032,7 +1103,14 @@ public Builder clearSharingWithGoogleProductsEnabled() { * * *
-     * Allows Google to share the data anonymously in aggregate form with others.
+     * Enable features like predictions, modeled data, and benchmarking that can
+     * provide you with richer business insights when you contribute aggregated
+     * measurement data. The data you share (including information about the
+     * property from which it is shared) is aggregated and de-identified before
+     * being used to generate business insights.
+     *
+     * This field maps to the "Modeling contributions & business insights" field
+     * in the Google Analytics Admin UI.
      * 
* * bool sharing_with_others_enabled = 6; @@ -1048,7 +1126,14 @@ public boolean getSharingWithOthersEnabled() { * * *
-     * Allows Google to share the data anonymously in aggregate form with others.
+     * Enable features like predictions, modeled data, and benchmarking that can
+     * provide you with richer business insights when you contribute aggregated
+     * measurement data. The data you share (including information about the
+     * property from which it is shared) is aggregated and de-identified before
+     * being used to generate business insights.
+     *
+     * This field maps to the "Modeling contributions & business insights" field
+     * in the Google Analytics Admin UI.
      * 
* * bool sharing_with_others_enabled = 6; @@ -1068,7 +1153,14 @@ public Builder setSharingWithOthersEnabled(boolean value) { * * *
-     * Allows Google to share the data anonymously in aggregate form with others.
+     * Enable features like predictions, modeled data, and benchmarking that can
+     * provide you with richer business insights when you contribute aggregated
+     * measurement data. The data you share (including information about the
+     * property from which it is shared) is aggregated and de-identified before
+     * being used to generate business insights.
+     *
+     * This field maps to the "Modeling contributions & business insights" field
+     * in the Google Analytics Admin UI.
      * 
* * bool sharing_with_others_enabled = 6; diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataSharingSettingsOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataSharingSettingsOrBuilder.java index fdbe21868c1d..e9536302590b 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataSharingSettingsOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataSharingSettingsOrBuilder.java @@ -30,12 +30,12 @@ public interface DataSharingSettingsOrBuilder * * *
-   * Output only. Resource name.
+   * Identifier. Resource name.
    * Format: accounts/{account}/dataSharingSettings
    * Example: "accounts/1000/dataSharingSettings"
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -45,12 +45,12 @@ public interface DataSharingSettingsOrBuilder * * *
-   * Output only. Resource name.
+   * Identifier. Resource name.
    * Format: accounts/{account}/dataSharingSettings
    * Example: "accounts/1000/dataSharingSettings"
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -60,8 +60,12 @@ public interface DataSharingSettingsOrBuilder * * *
-   * Allows Google support to access the data in order to help troubleshoot
-   * issues.
+   * Allows Google technical support representatives access to your Google
+   * Analytics data and account when necessary to provide service and find
+   * solutions to technical issues.
+   *
+   * This field maps to the "Technical support" field in the Google Analytics
+   * Admin UI.
    * 
* * bool sharing_with_google_support_enabled = 2; @@ -74,9 +78,15 @@ public interface DataSharingSettingsOrBuilder * * *
-   * Allows Google sales teams that are assigned to the customer to access the
-   * data in order to suggest configuration changes to improve results.
-   * Sales team restrictions still apply when enabled.
+   * Allows Google access to your Google Analytics account data, including
+   * account usage and configuration data, product spending, and users
+   * associated with your Google Analytics account, so that Google can help you
+   * make the most of Google products, providing you with insights, offers,
+   * recommendations, and optimization tips across Google Analytics and other
+   * Google products for business.
+   *
+   * This field maps to the "Recommendations for your business" field in the
+   * Google Analytics Admin UI.
    * 
* * bool sharing_with_google_assigned_sales_enabled = 3; @@ -89,14 +99,17 @@ public interface DataSharingSettingsOrBuilder * * *
-   * Allows any of Google sales to access the data in order to suggest
-   * configuration changes to improve results.
+   * Deprecated. This field is no longer used and always returns false.
    * 
* - * bool sharing_with_google_any_sales_enabled = 4; + * bool sharing_with_google_any_sales_enabled = 4 [deprecated = true]; * + * @deprecated + * google.analytics.admin.v1beta.DataSharingSettings.sharing_with_google_any_sales_enabled is + * deprecated. See google/analytics/admin/v1beta/resources.proto;l=561 * @return The sharingWithGoogleAnySalesEnabled. */ + @java.lang.Deprecated boolean getSharingWithGoogleAnySalesEnabled(); /** @@ -104,6 +117,9 @@ public interface DataSharingSettingsOrBuilder * *
    * Allows Google to use the data to improve other Google products or services.
+   *
+   * This fields maps to the "Google products & services" field in the Google
+   * Analytics Admin UI.
    * 
* * bool sharing_with_google_products_enabled = 5; @@ -116,7 +132,14 @@ public interface DataSharingSettingsOrBuilder * * *
-   * Allows Google to share the data anonymously in aggregate form with others.
+   * Enable features like predictions, modeled data, and benchmarking that can
+   * provide you with richer business insights when you contribute aggregated
+   * measurement data. The data you share (including information about the
+   * property from which it is shared) is aggregated and de-identified before
+   * being used to generate business insights.
+   *
+   * This field maps to the "Modeling contributions & business insights" field
+   * in the Google Analytics Admin UI.
    * 
* * bool sharing_with_others_enabled = 6; diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataStream.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataStream.java index c32c737571aa..e54ae09174ea 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataStream.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataStream.java @@ -3307,12 +3307,12 @@ public com.google.analytics.admin.v1beta.DataStream.IosAppStreamData getIosAppSt * * *
-   * Output only. Resource name of this Data Stream.
+   * Identifier. Resource name of this Data Stream.
    * Format: properties/{property_id}/dataStreams/{stream_id}
    * Example: "properties/1000/dataStreams/2000"
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -3333,12 +3333,12 @@ public java.lang.String getName() { * * *
-   * Output only. Resource name of this Data Stream.
+   * Identifier. Resource name of this Data Stream.
    * Format: properties/{property_id}/dataStreams/{stream_id}
    * Example: "properties/1000/dataStreams/2000"
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -4880,12 +4880,12 @@ public Builder clearIosAppStreamData() { * * *
-     * Output only. Resource name of this Data Stream.
+     * Identifier. Resource name of this Data Stream.
      * Format: properties/{property_id}/dataStreams/{stream_id}
      * Example: "properties/1000/dataStreams/2000"
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -4905,12 +4905,12 @@ public java.lang.String getName() { * * *
-     * Output only. Resource name of this Data Stream.
+     * Identifier. Resource name of this Data Stream.
      * Format: properties/{property_id}/dataStreams/{stream_id}
      * Example: "properties/1000/dataStreams/2000"
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -4930,12 +4930,12 @@ public com.google.protobuf.ByteString getNameBytes() { * * *
-     * Output only. Resource name of this Data Stream.
+     * Identifier. Resource name of this Data Stream.
      * Format: properties/{property_id}/dataStreams/{stream_id}
      * Example: "properties/1000/dataStreams/2000"
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The name to set. * @return This builder for chaining. @@ -4954,12 +4954,12 @@ public Builder setName(java.lang.String value) { * * *
-     * Output only. Resource name of this Data Stream.
+     * Identifier. Resource name of this Data Stream.
      * Format: properties/{property_id}/dataStreams/{stream_id}
      * Example: "properties/1000/dataStreams/2000"
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return This builder for chaining. */ @@ -4974,12 +4974,12 @@ public Builder clearName() { * * *
-     * Output only. Resource name of this Data Stream.
+     * Identifier. Resource name of this Data Stream.
      * Format: properties/{property_id}/dataStreams/{stream_id}
      * Example: "properties/1000/dataStreams/2000"
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The bytes for name to set. * @return This builder for chaining. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataStreamOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataStreamOrBuilder.java index 0bd738bd483d..d834ad7b4416 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataStreamOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/DataStreamOrBuilder.java @@ -161,12 +161,12 @@ public interface DataStreamOrBuilder * * *
-   * Output only. Resource name of this Data Stream.
+   * Identifier. Resource name of this Data Stream.
    * Format: properties/{property_id}/dataStreams/{stream_id}
    * Example: "properties/1000/dataStreams/2000"
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -176,12 +176,12 @@ public interface DataStreamOrBuilder * * *
-   * Output only. Resource name of this Data Stream.
+   * Identifier. Resource name of this Data Stream.
    * Format: properties/{property_id}/dataStreams/{stream_id}
    * Example: "properties/1000/dataStreams/2000"
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/FirebaseLink.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/FirebaseLink.java index d115fbb36fbe..3486e19ee6c9 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/FirebaseLink.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/FirebaseLink.java @@ -81,10 +81,10 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * * *
-   * Output only. Example format: properties/1234/firebaseLinks/5678
+   * Identifier. Example format: properties/1234/firebaseLinks/5678
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -105,10 +105,10 @@ public java.lang.String getName() { * * *
-   * Output only. Example format: properties/1234/firebaseLinks/5678
+   * Identifier. Example format: properties/1234/firebaseLinks/5678
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -625,10 +625,10 @@ public Builder mergeFrom( * * *
-     * Output only. Example format: properties/1234/firebaseLinks/5678
+     * Identifier. Example format: properties/1234/firebaseLinks/5678
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -648,10 +648,10 @@ public java.lang.String getName() { * * *
-     * Output only. Example format: properties/1234/firebaseLinks/5678
+     * Identifier. Example format: properties/1234/firebaseLinks/5678
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -671,10 +671,10 @@ public com.google.protobuf.ByteString getNameBytes() { * * *
-     * Output only. Example format: properties/1234/firebaseLinks/5678
+     * Identifier. Example format: properties/1234/firebaseLinks/5678
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The name to set. * @return This builder for chaining. @@ -693,10 +693,10 @@ public Builder setName(java.lang.String value) { * * *
-     * Output only. Example format: properties/1234/firebaseLinks/5678
+     * Identifier. Example format: properties/1234/firebaseLinks/5678
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return This builder for chaining. */ @@ -711,10 +711,10 @@ public Builder clearName() { * * *
-     * Output only. Example format: properties/1234/firebaseLinks/5678
+     * Identifier. Example format: properties/1234/firebaseLinks/5678
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The bytes for name to set. * @return This builder for chaining. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/FirebaseLinkOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/FirebaseLinkOrBuilder.java index 30e504762d4a..b7add34cb06f 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/FirebaseLinkOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/FirebaseLinkOrBuilder.java @@ -30,10 +30,10 @@ public interface FirebaseLinkOrBuilder * * *
-   * Output only. Example format: properties/1234/firebaseLinks/5678
+   * Identifier. Example format: properties/1234/firebaseLinks/5678
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -43,10 +43,10 @@ public interface FirebaseLinkOrBuilder * * *
-   * Output only. Example format: properties/1234/firebaseLinks/5678
+   * Identifier. Example format: properties/1234/firebaseLinks/5678
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/GoogleAdsLink.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/GoogleAdsLink.java index 67907d19fb9f..7b66e0a10fc0 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/GoogleAdsLink.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/GoogleAdsLink.java @@ -82,13 +82,13 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * * *
-   * Output only. Format:
+   * Identifier. Format:
    * properties/{propertyId}/googleAdsLinks/{googleAdsLinkId}
    *
    * Note: googleAdsLinkId is not the Google Ads customer ID.
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -109,13 +109,13 @@ public java.lang.String getName() { * * *
-   * Output only. Format:
+   * Identifier. Format:
    * properties/{propertyId}/googleAdsLinks/{googleAdsLinkId}
    *
    * Note: googleAdsLinkId is not the Google Ads customer ID.
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -930,13 +930,13 @@ public Builder mergeFrom( * * *
-     * Output only. Format:
+     * Identifier. Format:
      * properties/{propertyId}/googleAdsLinks/{googleAdsLinkId}
      *
      * Note: googleAdsLinkId is not the Google Ads customer ID.
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -956,13 +956,13 @@ public java.lang.String getName() { * * *
-     * Output only. Format:
+     * Identifier. Format:
      * properties/{propertyId}/googleAdsLinks/{googleAdsLinkId}
      *
      * Note: googleAdsLinkId is not the Google Ads customer ID.
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -982,13 +982,13 @@ public com.google.protobuf.ByteString getNameBytes() { * * *
-     * Output only. Format:
+     * Identifier. Format:
      * properties/{propertyId}/googleAdsLinks/{googleAdsLinkId}
      *
      * Note: googleAdsLinkId is not the Google Ads customer ID.
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The name to set. * @return This builder for chaining. @@ -1007,13 +1007,13 @@ public Builder setName(java.lang.String value) { * * *
-     * Output only. Format:
+     * Identifier. Format:
      * properties/{propertyId}/googleAdsLinks/{googleAdsLinkId}
      *
      * Note: googleAdsLinkId is not the Google Ads customer ID.
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return This builder for chaining. */ @@ -1028,13 +1028,13 @@ public Builder clearName() { * * *
-     * Output only. Format:
+     * Identifier. Format:
      * properties/{propertyId}/googleAdsLinks/{googleAdsLinkId}
      *
      * Note: googleAdsLinkId is not the Google Ads customer ID.
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The bytes for name to set. * @return This builder for chaining. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/GoogleAdsLinkOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/GoogleAdsLinkOrBuilder.java index 16dc55c0de42..f035e1cd9326 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/GoogleAdsLinkOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/GoogleAdsLinkOrBuilder.java @@ -30,13 +30,13 @@ public interface GoogleAdsLinkOrBuilder * * *
-   * Output only. Format:
+   * Identifier. Format:
    * properties/{propertyId}/googleAdsLinks/{googleAdsLinkId}
    *
    * Note: googleAdsLinkId is not the Google Ads customer ID.
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -46,13 +46,13 @@ public interface GoogleAdsLinkOrBuilder * * *
-   * Output only. Format:
+   * Identifier. Format:
    * properties/{propertyId}/googleAdsLinks/{googleAdsLinkId}
    *
    * Note: googleAdsLinkId is not the Google Ads customer ID.
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListAccountSummariesRequest.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListAccountSummariesRequest.java index 1f4a45ed158c..0acb74324465 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListAccountSummariesRequest.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListAccountSummariesRequest.java @@ -77,13 +77,13 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * * *
-   * The maximum number of AccountSummary resources to return. The service may
-   * return fewer than this value, even if there are additional pages.
-   * If unspecified, at most 50 resources will be returned.
-   * The maximum value is 200; (higher values will be coerced to the maximum)
+   * Optional. The maximum number of AccountSummary resources to return. The
+   * service may return fewer than this value, even if there are additional
+   * pages. If unspecified, at most 50 resources will be returned. The maximum
+   * value is 200; (higher values will be coerced to the maximum)
    * 
* - * int32 page_size = 1; + * int32 page_size = 1 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -101,13 +101,13 @@ public int getPageSize() { * * *
-   * A page token, received from a previous `ListAccountSummaries` call.
-   * Provide this to retrieve the subsequent page.
-   * When paginating, all other parameters provided to `ListAccountSummaries`
-   * must match the call that provided the page token.
+   * Optional. A page token, received from a previous `ListAccountSummaries`
+   * call. Provide this to retrieve the subsequent page. When paginating, all
+   * other parameters provided to `ListAccountSummaries` must match the call
+   * that provided the page token.
    * 
* - * string page_token = 2; + * string page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -128,13 +128,13 @@ public java.lang.String getPageToken() { * * *
-   * A page token, received from a previous `ListAccountSummaries` call.
-   * Provide this to retrieve the subsequent page.
-   * When paginating, all other parameters provided to `ListAccountSummaries`
-   * must match the call that provided the page token.
+   * Optional. A page token, received from a previous `ListAccountSummaries`
+   * call. Provide this to retrieve the subsequent page. When paginating, all
+   * other parameters provided to `ListAccountSummaries` must match the call
+   * that provided the page token.
    * 
* - * string page_token = 2; + * string page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ @@ -493,13 +493,13 @@ public Builder mergeFrom( * * *
-     * The maximum number of AccountSummary resources to return. The service may
-     * return fewer than this value, even if there are additional pages.
-     * If unspecified, at most 50 resources will be returned.
-     * The maximum value is 200; (higher values will be coerced to the maximum)
+     * Optional. The maximum number of AccountSummary resources to return. The
+     * service may return fewer than this value, even if there are additional
+     * pages. If unspecified, at most 50 resources will be returned. The maximum
+     * value is 200; (higher values will be coerced to the maximum)
      * 
* - * int32 page_size = 1; + * int32 page_size = 1 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -512,13 +512,13 @@ public int getPageSize() { * * *
-     * The maximum number of AccountSummary resources to return. The service may
-     * return fewer than this value, even if there are additional pages.
-     * If unspecified, at most 50 resources will be returned.
-     * The maximum value is 200; (higher values will be coerced to the maximum)
+     * Optional. The maximum number of AccountSummary resources to return. The
+     * service may return fewer than this value, even if there are additional
+     * pages. If unspecified, at most 50 resources will be returned. The maximum
+     * value is 200; (higher values will be coerced to the maximum)
      * 
* - * int32 page_size = 1; + * int32 page_size = 1 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The pageSize to set. * @return This builder for chaining. @@ -535,13 +535,13 @@ public Builder setPageSize(int value) { * * *
-     * The maximum number of AccountSummary resources to return. The service may
-     * return fewer than this value, even if there are additional pages.
-     * If unspecified, at most 50 resources will be returned.
-     * The maximum value is 200; (higher values will be coerced to the maximum)
+     * Optional. The maximum number of AccountSummary resources to return. The
+     * service may return fewer than this value, even if there are additional
+     * pages. If unspecified, at most 50 resources will be returned. The maximum
+     * value is 200; (higher values will be coerced to the maximum)
      * 
* - * int32 page_size = 1; + * int32 page_size = 1 [(.google.api.field_behavior) = OPTIONAL]; * * @return This builder for chaining. */ @@ -558,13 +558,13 @@ public Builder clearPageSize() { * * *
-     * A page token, received from a previous `ListAccountSummaries` call.
-     * Provide this to retrieve the subsequent page.
-     * When paginating, all other parameters provided to `ListAccountSummaries`
-     * must match the call that provided the page token.
+     * Optional. A page token, received from a previous `ListAccountSummaries`
+     * call. Provide this to retrieve the subsequent page. When paginating, all
+     * other parameters provided to `ListAccountSummaries` must match the call
+     * that provided the page token.
      * 
* - * string page_token = 2; + * string page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -584,13 +584,13 @@ public java.lang.String getPageToken() { * * *
-     * A page token, received from a previous `ListAccountSummaries` call.
-     * Provide this to retrieve the subsequent page.
-     * When paginating, all other parameters provided to `ListAccountSummaries`
-     * must match the call that provided the page token.
+     * Optional. A page token, received from a previous `ListAccountSummaries`
+     * call. Provide this to retrieve the subsequent page. When paginating, all
+     * other parameters provided to `ListAccountSummaries` must match the call
+     * that provided the page token.
      * 
* - * string page_token = 2; + * string page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ @@ -610,13 +610,13 @@ public com.google.protobuf.ByteString getPageTokenBytes() { * * *
-     * A page token, received from a previous `ListAccountSummaries` call.
-     * Provide this to retrieve the subsequent page.
-     * When paginating, all other parameters provided to `ListAccountSummaries`
-     * must match the call that provided the page token.
+     * Optional. A page token, received from a previous `ListAccountSummaries`
+     * call. Provide this to retrieve the subsequent page. When paginating, all
+     * other parameters provided to `ListAccountSummaries` must match the call
+     * that provided the page token.
      * 
* - * string page_token = 2; + * string page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The pageToken to set. * @return This builder for chaining. @@ -635,13 +635,13 @@ public Builder setPageToken(java.lang.String value) { * * *
-     * A page token, received from a previous `ListAccountSummaries` call.
-     * Provide this to retrieve the subsequent page.
-     * When paginating, all other parameters provided to `ListAccountSummaries`
-     * must match the call that provided the page token.
+     * Optional. A page token, received from a previous `ListAccountSummaries`
+     * call. Provide this to retrieve the subsequent page. When paginating, all
+     * other parameters provided to `ListAccountSummaries` must match the call
+     * that provided the page token.
      * 
* - * string page_token = 2; + * string page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return This builder for chaining. */ @@ -656,13 +656,13 @@ public Builder clearPageToken() { * * *
-     * A page token, received from a previous `ListAccountSummaries` call.
-     * Provide this to retrieve the subsequent page.
-     * When paginating, all other parameters provided to `ListAccountSummaries`
-     * must match the call that provided the page token.
+     * Optional. A page token, received from a previous `ListAccountSummaries`
+     * call. Provide this to retrieve the subsequent page. When paginating, all
+     * other parameters provided to `ListAccountSummaries` must match the call
+     * that provided the page token.
      * 
* - * string page_token = 2; + * string page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The bytes for pageToken to set. * @return This builder for chaining. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListAccountSummariesRequestOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListAccountSummariesRequestOrBuilder.java index d76cbaa070ad..cb2913a96b72 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListAccountSummariesRequestOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListAccountSummariesRequestOrBuilder.java @@ -30,13 +30,13 @@ public interface ListAccountSummariesRequestOrBuilder * * *
-   * The maximum number of AccountSummary resources to return. The service may
-   * return fewer than this value, even if there are additional pages.
-   * If unspecified, at most 50 resources will be returned.
-   * The maximum value is 200; (higher values will be coerced to the maximum)
+   * Optional. The maximum number of AccountSummary resources to return. The
+   * service may return fewer than this value, even if there are additional
+   * pages. If unspecified, at most 50 resources will be returned. The maximum
+   * value is 200; (higher values will be coerced to the maximum)
    * 
* - * int32 page_size = 1; + * int32 page_size = 1 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -46,13 +46,13 @@ public interface ListAccountSummariesRequestOrBuilder * * *
-   * A page token, received from a previous `ListAccountSummaries` call.
-   * Provide this to retrieve the subsequent page.
-   * When paginating, all other parameters provided to `ListAccountSummaries`
-   * must match the call that provided the page token.
+   * Optional. A page token, received from a previous `ListAccountSummaries`
+   * call. Provide this to retrieve the subsequent page. When paginating, all
+   * other parameters provided to `ListAccountSummaries` must match the call
+   * that provided the page token.
    * 
* - * string page_token = 2; + * string page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -62,13 +62,13 @@ public interface ListAccountSummariesRequestOrBuilder * * *
-   * A page token, received from a previous `ListAccountSummaries` call.
-   * Provide this to retrieve the subsequent page.
-   * When paginating, all other parameters provided to `ListAccountSummaries`
-   * must match the call that provided the page token.
+   * Optional. A page token, received from a previous `ListAccountSummaries`
+   * call. Provide this to retrieve the subsequent page. When paginating, all
+   * other parameters provided to `ListAccountSummaries` must match the call
+   * that provided the page token.
    * 
* - * string page_token = 2; + * string page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListAccountsRequest.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListAccountsRequest.java index bc739e9c9bc7..987c7e2eacb9 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListAccountsRequest.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListAccountsRequest.java @@ -77,13 +77,13 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * * *
-   * The maximum number of resources to return. The service may return
+   * Optional. The maximum number of resources to return. The service may return
    * fewer than this value, even if there are additional pages.
    * If unspecified, at most 50 resources will be returned.
    * The maximum value is 200; (higher values will be coerced to the maximum)
    * 
* - * int32 page_size = 1; + * int32 page_size = 1 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -101,13 +101,13 @@ public int getPageSize() { * * *
-   * A page token, received from a previous `ListAccounts` call.
+   * Optional. A page token, received from a previous `ListAccounts` call.
    * Provide this to retrieve the subsequent page.
    * When paginating, all other parameters provided to `ListAccounts` must
    * match the call that provided the page token.
    * 
* - * string page_token = 2; + * string page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -128,13 +128,13 @@ public java.lang.String getPageToken() { * * *
-   * A page token, received from a previous `ListAccounts` call.
+   * Optional. A page token, received from a previous `ListAccounts` call.
    * Provide this to retrieve the subsequent page.
    * When paginating, all other parameters provided to `ListAccounts` must
    * match the call that provided the page token.
    * 
* - * string page_token = 2; + * string page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ @@ -533,13 +533,13 @@ public Builder mergeFrom( * * *
-     * The maximum number of resources to return. The service may return
+     * Optional. The maximum number of resources to return. The service may return
      * fewer than this value, even if there are additional pages.
      * If unspecified, at most 50 resources will be returned.
      * The maximum value is 200; (higher values will be coerced to the maximum)
      * 
* - * int32 page_size = 1; + * int32 page_size = 1 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -552,13 +552,13 @@ public int getPageSize() { * * *
-     * The maximum number of resources to return. The service may return
+     * Optional. The maximum number of resources to return. The service may return
      * fewer than this value, even if there are additional pages.
      * If unspecified, at most 50 resources will be returned.
      * The maximum value is 200; (higher values will be coerced to the maximum)
      * 
* - * int32 page_size = 1; + * int32 page_size = 1 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The pageSize to set. * @return This builder for chaining. @@ -575,13 +575,13 @@ public Builder setPageSize(int value) { * * *
-     * The maximum number of resources to return. The service may return
+     * Optional. The maximum number of resources to return. The service may return
      * fewer than this value, even if there are additional pages.
      * If unspecified, at most 50 resources will be returned.
      * The maximum value is 200; (higher values will be coerced to the maximum)
      * 
* - * int32 page_size = 1; + * int32 page_size = 1 [(.google.api.field_behavior) = OPTIONAL]; * * @return This builder for chaining. */ @@ -598,13 +598,13 @@ public Builder clearPageSize() { * * *
-     * A page token, received from a previous `ListAccounts` call.
+     * Optional. A page token, received from a previous `ListAccounts` call.
      * Provide this to retrieve the subsequent page.
      * When paginating, all other parameters provided to `ListAccounts` must
      * match the call that provided the page token.
      * 
* - * string page_token = 2; + * string page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -624,13 +624,13 @@ public java.lang.String getPageToken() { * * *
-     * A page token, received from a previous `ListAccounts` call.
+     * Optional. A page token, received from a previous `ListAccounts` call.
      * Provide this to retrieve the subsequent page.
      * When paginating, all other parameters provided to `ListAccounts` must
      * match the call that provided the page token.
      * 
* - * string page_token = 2; + * string page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ @@ -650,13 +650,13 @@ public com.google.protobuf.ByteString getPageTokenBytes() { * * *
-     * A page token, received from a previous `ListAccounts` call.
+     * Optional. A page token, received from a previous `ListAccounts` call.
      * Provide this to retrieve the subsequent page.
      * When paginating, all other parameters provided to `ListAccounts` must
      * match the call that provided the page token.
      * 
* - * string page_token = 2; + * string page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The pageToken to set. * @return This builder for chaining. @@ -675,13 +675,13 @@ public Builder setPageToken(java.lang.String value) { * * *
-     * A page token, received from a previous `ListAccounts` call.
+     * Optional. A page token, received from a previous `ListAccounts` call.
      * Provide this to retrieve the subsequent page.
      * When paginating, all other parameters provided to `ListAccounts` must
      * match the call that provided the page token.
      * 
* - * string page_token = 2; + * string page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return This builder for chaining. */ @@ -696,13 +696,13 @@ public Builder clearPageToken() { * * *
-     * A page token, received from a previous `ListAccounts` call.
+     * Optional. A page token, received from a previous `ListAccounts` call.
      * Provide this to retrieve the subsequent page.
      * When paginating, all other parameters provided to `ListAccounts` must
      * match the call that provided the page token.
      * 
* - * string page_token = 2; + * string page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The bytes for pageToken to set. * @return This builder for chaining. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListAccountsRequestOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListAccountsRequestOrBuilder.java index 7e96de060cd0..bb83518340f8 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListAccountsRequestOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListAccountsRequestOrBuilder.java @@ -30,13 +30,13 @@ public interface ListAccountsRequestOrBuilder * * *
-   * The maximum number of resources to return. The service may return
+   * Optional. The maximum number of resources to return. The service may return
    * fewer than this value, even if there are additional pages.
    * If unspecified, at most 50 resources will be returned.
    * The maximum value is 200; (higher values will be coerced to the maximum)
    * 
* - * int32 page_size = 1; + * int32 page_size = 1 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -46,13 +46,13 @@ public interface ListAccountsRequestOrBuilder * * *
-   * A page token, received from a previous `ListAccounts` call.
+   * Optional. A page token, received from a previous `ListAccounts` call.
    * Provide this to retrieve the subsequent page.
    * When paginating, all other parameters provided to `ListAccounts` must
    * match the call that provided the page token.
    * 
* - * string page_token = 2; + * string page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -62,13 +62,13 @@ public interface ListAccountsRequestOrBuilder * * *
-   * A page token, received from a previous `ListAccounts` call.
+   * Optional. A page token, received from a previous `ListAccounts` call.
    * Provide this to retrieve the subsequent page.
    * When paginating, all other parameters provided to `ListAccounts` must
    * match the call that provided the page token.
    * 
* - * string page_token = 2; + * string page_token = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListConversionEventsRequest.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListConversionEventsRequest.java index db4b45b3cd57..c04ec8e3c1ce 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListConversionEventsRequest.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListConversionEventsRequest.java @@ -137,12 +137,12 @@ public com.google.protobuf.ByteString getParentBytes() { * * *
-   * The maximum number of resources to return.
+   * Optional. The maximum number of resources to return.
    * If unspecified, at most 50 resources will be returned.
    * The maximum value is 200; (higher values will be coerced to the maximum)
    * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -160,13 +160,13 @@ public int getPageSize() { * * *
-   * A page token, received from a previous `ListConversionEvents` call.
-   * Provide this to retrieve the subsequent page.
-   * When paginating, all other parameters provided to `ListConversionEvents`
-   * must match the call that provided the page token.
+   * Optional. A page token, received from a previous `ListConversionEvents`
+   * call. Provide this to retrieve the subsequent page. When paginating, all
+   * other parameters provided to `ListConversionEvents` must match the call
+   * that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -187,13 +187,13 @@ public java.lang.String getPageToken() { * * *
-   * A page token, received from a previous `ListConversionEvents` call.
-   * Provide this to retrieve the subsequent page.
-   * When paginating, all other parameters provided to `ListConversionEvents`
-   * must match the call that provided the page token.
+   * Optional. A page token, received from a previous `ListConversionEvents`
+   * call. Provide this to retrieve the subsequent page. When paginating, all
+   * other parameters provided to `ListConversionEvents` must match the call
+   * that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ @@ -702,12 +702,12 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) { * * *
-     * The maximum number of resources to return.
+     * Optional. The maximum number of resources to return.
      * If unspecified, at most 50 resources will be returned.
      * The maximum value is 200; (higher values will be coerced to the maximum)
      * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -720,12 +720,12 @@ public int getPageSize() { * * *
-     * The maximum number of resources to return.
+     * Optional. The maximum number of resources to return.
      * If unspecified, at most 50 resources will be returned.
      * The maximum value is 200; (higher values will be coerced to the maximum)
      * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The pageSize to set. * @return This builder for chaining. @@ -742,12 +742,12 @@ public Builder setPageSize(int value) { * * *
-     * The maximum number of resources to return.
+     * Optional. The maximum number of resources to return.
      * If unspecified, at most 50 resources will be returned.
      * The maximum value is 200; (higher values will be coerced to the maximum)
      * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return This builder for chaining. */ @@ -764,13 +764,13 @@ public Builder clearPageSize() { * * *
-     * A page token, received from a previous `ListConversionEvents` call.
-     * Provide this to retrieve the subsequent page.
-     * When paginating, all other parameters provided to `ListConversionEvents`
-     * must match the call that provided the page token.
+     * Optional. A page token, received from a previous `ListConversionEvents`
+     * call. Provide this to retrieve the subsequent page. When paginating, all
+     * other parameters provided to `ListConversionEvents` must match the call
+     * that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -790,13 +790,13 @@ public java.lang.String getPageToken() { * * *
-     * A page token, received from a previous `ListConversionEvents` call.
-     * Provide this to retrieve the subsequent page.
-     * When paginating, all other parameters provided to `ListConversionEvents`
-     * must match the call that provided the page token.
+     * Optional. A page token, received from a previous `ListConversionEvents`
+     * call. Provide this to retrieve the subsequent page. When paginating, all
+     * other parameters provided to `ListConversionEvents` must match the call
+     * that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ @@ -816,13 +816,13 @@ public com.google.protobuf.ByteString getPageTokenBytes() { * * *
-     * A page token, received from a previous `ListConversionEvents` call.
-     * Provide this to retrieve the subsequent page.
-     * When paginating, all other parameters provided to `ListConversionEvents`
-     * must match the call that provided the page token.
+     * Optional. A page token, received from a previous `ListConversionEvents`
+     * call. Provide this to retrieve the subsequent page. When paginating, all
+     * other parameters provided to `ListConversionEvents` must match the call
+     * that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The pageToken to set. * @return This builder for chaining. @@ -841,13 +841,13 @@ public Builder setPageToken(java.lang.String value) { * * *
-     * A page token, received from a previous `ListConversionEvents` call.
-     * Provide this to retrieve the subsequent page.
-     * When paginating, all other parameters provided to `ListConversionEvents`
-     * must match the call that provided the page token.
+     * Optional. A page token, received from a previous `ListConversionEvents`
+     * call. Provide this to retrieve the subsequent page. When paginating, all
+     * other parameters provided to `ListConversionEvents` must match the call
+     * that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return This builder for chaining. */ @@ -862,13 +862,13 @@ public Builder clearPageToken() { * * *
-     * A page token, received from a previous `ListConversionEvents` call.
-     * Provide this to retrieve the subsequent page.
-     * When paginating, all other parameters provided to `ListConversionEvents`
-     * must match the call that provided the page token.
+     * Optional. A page token, received from a previous `ListConversionEvents`
+     * call. Provide this to retrieve the subsequent page. When paginating, all
+     * other parameters provided to `ListConversionEvents` must match the call
+     * that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The bytes for pageToken to set. * @return This builder for chaining. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListConversionEventsRequestOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListConversionEventsRequestOrBuilder.java index 75fa06bff867..303a183633e1 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListConversionEventsRequestOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListConversionEventsRequestOrBuilder.java @@ -62,12 +62,12 @@ public interface ListConversionEventsRequestOrBuilder * * *
-   * The maximum number of resources to return.
+   * Optional. The maximum number of resources to return.
    * If unspecified, at most 50 resources will be returned.
    * The maximum value is 200; (higher values will be coerced to the maximum)
    * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -77,13 +77,13 @@ public interface ListConversionEventsRequestOrBuilder * * *
-   * A page token, received from a previous `ListConversionEvents` call.
-   * Provide this to retrieve the subsequent page.
-   * When paginating, all other parameters provided to `ListConversionEvents`
-   * must match the call that provided the page token.
+   * Optional. A page token, received from a previous `ListConversionEvents`
+   * call. Provide this to retrieve the subsequent page. When paginating, all
+   * other parameters provided to `ListConversionEvents` must match the call
+   * that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -93,13 +93,13 @@ public interface ListConversionEventsRequestOrBuilder * * *
-   * A page token, received from a previous `ListConversionEvents` call.
-   * Provide this to retrieve the subsequent page.
-   * When paginating, all other parameters provided to `ListConversionEvents`
-   * must match the call that provided the page token.
+   * Optional. A page token, received from a previous `ListConversionEvents`
+   * call. Provide this to retrieve the subsequent page. When paginating, all
+   * other parameters provided to `ListConversionEvents` must match the call
+   * that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListCustomDimensionsRequest.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListCustomDimensionsRequest.java index 6d1c3bd34279..91e99b18dbce 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListCustomDimensionsRequest.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListCustomDimensionsRequest.java @@ -135,12 +135,12 @@ public com.google.protobuf.ByteString getParentBytes() { * * *
-   * The maximum number of resources to return.
+   * Optional. The maximum number of resources to return.
    * If unspecified, at most 50 resources will be returned.
    * The maximum value is 200 (higher values will be coerced to the maximum).
    * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -158,14 +158,14 @@ public int getPageSize() { * * *
-   * A page token, received from a previous `ListCustomDimensions` call.
-   * Provide this to retrieve the subsequent page.
+   * Optional. A page token, received from a previous `ListCustomDimensions`
+   * call. Provide this to retrieve the subsequent page.
    *
    * When paginating, all other parameters provided to `ListCustomDimensions`
    * must match the call that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -186,14 +186,14 @@ public java.lang.String getPageToken() { * * *
-   * A page token, received from a previous `ListCustomDimensions` call.
-   * Provide this to retrieve the subsequent page.
+   * Optional. A page token, received from a previous `ListCustomDimensions`
+   * call. Provide this to retrieve the subsequent page.
    *
    * When paginating, all other parameters provided to `ListCustomDimensions`
    * must match the call that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ @@ -697,12 +697,12 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) { * * *
-     * The maximum number of resources to return.
+     * Optional. The maximum number of resources to return.
      * If unspecified, at most 50 resources will be returned.
      * The maximum value is 200 (higher values will be coerced to the maximum).
      * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -715,12 +715,12 @@ public int getPageSize() { * * *
-     * The maximum number of resources to return.
+     * Optional. The maximum number of resources to return.
      * If unspecified, at most 50 resources will be returned.
      * The maximum value is 200 (higher values will be coerced to the maximum).
      * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The pageSize to set. * @return This builder for chaining. @@ -737,12 +737,12 @@ public Builder setPageSize(int value) { * * *
-     * The maximum number of resources to return.
+     * Optional. The maximum number of resources to return.
      * If unspecified, at most 50 resources will be returned.
      * The maximum value is 200 (higher values will be coerced to the maximum).
      * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return This builder for chaining. */ @@ -759,14 +759,14 @@ public Builder clearPageSize() { * * *
-     * A page token, received from a previous `ListCustomDimensions` call.
-     * Provide this to retrieve the subsequent page.
+     * Optional. A page token, received from a previous `ListCustomDimensions`
+     * call. Provide this to retrieve the subsequent page.
      *
      * When paginating, all other parameters provided to `ListCustomDimensions`
      * must match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -786,14 +786,14 @@ public java.lang.String getPageToken() { * * *
-     * A page token, received from a previous `ListCustomDimensions` call.
-     * Provide this to retrieve the subsequent page.
+     * Optional. A page token, received from a previous `ListCustomDimensions`
+     * call. Provide this to retrieve the subsequent page.
      *
      * When paginating, all other parameters provided to `ListCustomDimensions`
      * must match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ @@ -813,14 +813,14 @@ public com.google.protobuf.ByteString getPageTokenBytes() { * * *
-     * A page token, received from a previous `ListCustomDimensions` call.
-     * Provide this to retrieve the subsequent page.
+     * Optional. A page token, received from a previous `ListCustomDimensions`
+     * call. Provide this to retrieve the subsequent page.
      *
      * When paginating, all other parameters provided to `ListCustomDimensions`
      * must match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The pageToken to set. * @return This builder for chaining. @@ -839,14 +839,14 @@ public Builder setPageToken(java.lang.String value) { * * *
-     * A page token, received from a previous `ListCustomDimensions` call.
-     * Provide this to retrieve the subsequent page.
+     * Optional. A page token, received from a previous `ListCustomDimensions`
+     * call. Provide this to retrieve the subsequent page.
      *
      * When paginating, all other parameters provided to `ListCustomDimensions`
      * must match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return This builder for chaining. */ @@ -861,14 +861,14 @@ public Builder clearPageToken() { * * *
-     * A page token, received from a previous `ListCustomDimensions` call.
-     * Provide this to retrieve the subsequent page.
+     * Optional. A page token, received from a previous `ListCustomDimensions`
+     * call. Provide this to retrieve the subsequent page.
      *
      * When paginating, all other parameters provided to `ListCustomDimensions`
      * must match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The bytes for pageToken to set. * @return This builder for chaining. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListCustomDimensionsRequestOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListCustomDimensionsRequestOrBuilder.java index ad7e39424549..9ca5d9fd8a7b 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListCustomDimensionsRequestOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListCustomDimensionsRequestOrBuilder.java @@ -60,12 +60,12 @@ public interface ListCustomDimensionsRequestOrBuilder * * *
-   * The maximum number of resources to return.
+   * Optional. The maximum number of resources to return.
    * If unspecified, at most 50 resources will be returned.
    * The maximum value is 200 (higher values will be coerced to the maximum).
    * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -75,14 +75,14 @@ public interface ListCustomDimensionsRequestOrBuilder * * *
-   * A page token, received from a previous `ListCustomDimensions` call.
-   * Provide this to retrieve the subsequent page.
+   * Optional. A page token, received from a previous `ListCustomDimensions`
+   * call. Provide this to retrieve the subsequent page.
    *
    * When paginating, all other parameters provided to `ListCustomDimensions`
    * must match the call that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -92,14 +92,14 @@ public interface ListCustomDimensionsRequestOrBuilder * * *
-   * A page token, received from a previous `ListCustomDimensions` call.
-   * Provide this to retrieve the subsequent page.
+   * Optional. A page token, received from a previous `ListCustomDimensions`
+   * call. Provide this to retrieve the subsequent page.
    *
    * When paginating, all other parameters provided to `ListCustomDimensions`
    * must match the call that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListFirebaseLinksRequest.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListFirebaseLinksRequest.java index 9a5d24628d5b..fa79aaef40ab 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListFirebaseLinksRequest.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListFirebaseLinksRequest.java @@ -139,13 +139,13 @@ public com.google.protobuf.ByteString getParentBytes() { * * *
-   * The maximum number of resources to return. The service may return
+   * Optional. The maximum number of resources to return. The service may return
    * fewer than this value, even if there are additional pages.
    * If unspecified, at most 50 resources will be returned.
    * The maximum value is 200; (higher values will be coerced to the maximum)
    * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -163,13 +163,13 @@ public int getPageSize() { * * *
-   * A page token, received from a previous `ListFirebaseLinks` call.
+   * Optional. A page token, received from a previous `ListFirebaseLinks` call.
    * Provide this to retrieve the subsequent page.
    * When paginating, all other parameters provided to `ListFirebaseLinks` must
    * match the call that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -190,13 +190,13 @@ public java.lang.String getPageToken() { * * *
-   * A page token, received from a previous `ListFirebaseLinks` call.
+   * Optional. A page token, received from a previous `ListFirebaseLinks` call.
    * Provide this to retrieve the subsequent page.
    * When paginating, all other parameters provided to `ListFirebaseLinks` must
    * match the call that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ @@ -707,13 +707,13 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) { * * *
-     * The maximum number of resources to return. The service may return
+     * Optional. The maximum number of resources to return. The service may return
      * fewer than this value, even if there are additional pages.
      * If unspecified, at most 50 resources will be returned.
      * The maximum value is 200; (higher values will be coerced to the maximum)
      * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -726,13 +726,13 @@ public int getPageSize() { * * *
-     * The maximum number of resources to return. The service may return
+     * Optional. The maximum number of resources to return. The service may return
      * fewer than this value, even if there are additional pages.
      * If unspecified, at most 50 resources will be returned.
      * The maximum value is 200; (higher values will be coerced to the maximum)
      * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The pageSize to set. * @return This builder for chaining. @@ -749,13 +749,13 @@ public Builder setPageSize(int value) { * * *
-     * The maximum number of resources to return. The service may return
+     * Optional. The maximum number of resources to return. The service may return
      * fewer than this value, even if there are additional pages.
      * If unspecified, at most 50 resources will be returned.
      * The maximum value is 200; (higher values will be coerced to the maximum)
      * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return This builder for chaining. */ @@ -772,13 +772,13 @@ public Builder clearPageSize() { * * *
-     * A page token, received from a previous `ListFirebaseLinks` call.
+     * Optional. A page token, received from a previous `ListFirebaseLinks` call.
      * Provide this to retrieve the subsequent page.
      * When paginating, all other parameters provided to `ListFirebaseLinks` must
      * match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -798,13 +798,13 @@ public java.lang.String getPageToken() { * * *
-     * A page token, received from a previous `ListFirebaseLinks` call.
+     * Optional. A page token, received from a previous `ListFirebaseLinks` call.
      * Provide this to retrieve the subsequent page.
      * When paginating, all other parameters provided to `ListFirebaseLinks` must
      * match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ @@ -824,13 +824,13 @@ public com.google.protobuf.ByteString getPageTokenBytes() { * * *
-     * A page token, received from a previous `ListFirebaseLinks` call.
+     * Optional. A page token, received from a previous `ListFirebaseLinks` call.
      * Provide this to retrieve the subsequent page.
      * When paginating, all other parameters provided to `ListFirebaseLinks` must
      * match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The pageToken to set. * @return This builder for chaining. @@ -849,13 +849,13 @@ public Builder setPageToken(java.lang.String value) { * * *
-     * A page token, received from a previous `ListFirebaseLinks` call.
+     * Optional. A page token, received from a previous `ListFirebaseLinks` call.
      * Provide this to retrieve the subsequent page.
      * When paginating, all other parameters provided to `ListFirebaseLinks` must
      * match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return This builder for chaining. */ @@ -870,13 +870,13 @@ public Builder clearPageToken() { * * *
-     * A page token, received from a previous `ListFirebaseLinks` call.
+     * Optional. A page token, received from a previous `ListFirebaseLinks` call.
      * Provide this to retrieve the subsequent page.
      * When paginating, all other parameters provided to `ListFirebaseLinks` must
      * match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The bytes for pageToken to set. * @return This builder for chaining. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListFirebaseLinksRequestOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListFirebaseLinksRequestOrBuilder.java index ea61d3bc236f..0b186a4b2f74 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListFirebaseLinksRequestOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListFirebaseLinksRequestOrBuilder.java @@ -64,13 +64,13 @@ public interface ListFirebaseLinksRequestOrBuilder * * *
-   * The maximum number of resources to return. The service may return
+   * Optional. The maximum number of resources to return. The service may return
    * fewer than this value, even if there are additional pages.
    * If unspecified, at most 50 resources will be returned.
    * The maximum value is 200; (higher values will be coerced to the maximum)
    * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -80,13 +80,13 @@ public interface ListFirebaseLinksRequestOrBuilder * * *
-   * A page token, received from a previous `ListFirebaseLinks` call.
+   * Optional. A page token, received from a previous `ListFirebaseLinks` call.
    * Provide this to retrieve the subsequent page.
    * When paginating, all other parameters provided to `ListFirebaseLinks` must
    * match the call that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -96,13 +96,13 @@ public interface ListFirebaseLinksRequestOrBuilder * * *
-   * A page token, received from a previous `ListFirebaseLinks` call.
+   * Optional. A page token, received from a previous `ListFirebaseLinks` call.
    * Provide this to retrieve the subsequent page.
    * When paginating, all other parameters provided to `ListFirebaseLinks` must
    * match the call that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListGoogleAdsLinksRequest.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListGoogleAdsLinksRequest.java index 69ee64e10c5e..1098b63c6b97 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListGoogleAdsLinksRequest.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListGoogleAdsLinksRequest.java @@ -135,12 +135,12 @@ public com.google.protobuf.ByteString getParentBytes() { * * *
-   * The maximum number of resources to return.
+   * Optional. The maximum number of resources to return.
    * If unspecified, at most 50 resources will be returned.
    * The maximum value is 200 (higher values will be coerced to the maximum).
    * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -158,14 +158,14 @@ public int getPageSize() { * * *
-   * A page token, received from a previous `ListGoogleAdsLinks` call.
+   * Optional. A page token, received from a previous `ListGoogleAdsLinks` call.
    * Provide this to retrieve the subsequent page.
    *
    * When paginating, all other parameters provided to `ListGoogleAdsLinks` must
    * match the call that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -186,14 +186,14 @@ public java.lang.String getPageToken() { * * *
-   * A page token, received from a previous `ListGoogleAdsLinks` call.
+   * Optional. A page token, received from a previous `ListGoogleAdsLinks` call.
    * Provide this to retrieve the subsequent page.
    *
    * When paginating, all other parameters provided to `ListGoogleAdsLinks` must
    * match the call that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ @@ -694,12 +694,12 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) { * * *
-     * The maximum number of resources to return.
+     * Optional. The maximum number of resources to return.
      * If unspecified, at most 50 resources will be returned.
      * The maximum value is 200 (higher values will be coerced to the maximum).
      * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -712,12 +712,12 @@ public int getPageSize() { * * *
-     * The maximum number of resources to return.
+     * Optional. The maximum number of resources to return.
      * If unspecified, at most 50 resources will be returned.
      * The maximum value is 200 (higher values will be coerced to the maximum).
      * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The pageSize to set. * @return This builder for chaining. @@ -734,12 +734,12 @@ public Builder setPageSize(int value) { * * *
-     * The maximum number of resources to return.
+     * Optional. The maximum number of resources to return.
      * If unspecified, at most 50 resources will be returned.
      * The maximum value is 200 (higher values will be coerced to the maximum).
      * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return This builder for chaining. */ @@ -756,14 +756,14 @@ public Builder clearPageSize() { * * *
-     * A page token, received from a previous `ListGoogleAdsLinks` call.
+     * Optional. A page token, received from a previous `ListGoogleAdsLinks` call.
      * Provide this to retrieve the subsequent page.
      *
      * When paginating, all other parameters provided to `ListGoogleAdsLinks` must
      * match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -783,14 +783,14 @@ public java.lang.String getPageToken() { * * *
-     * A page token, received from a previous `ListGoogleAdsLinks` call.
+     * Optional. A page token, received from a previous `ListGoogleAdsLinks` call.
      * Provide this to retrieve the subsequent page.
      *
      * When paginating, all other parameters provided to `ListGoogleAdsLinks` must
      * match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ @@ -810,14 +810,14 @@ public com.google.protobuf.ByteString getPageTokenBytes() { * * *
-     * A page token, received from a previous `ListGoogleAdsLinks` call.
+     * Optional. A page token, received from a previous `ListGoogleAdsLinks` call.
      * Provide this to retrieve the subsequent page.
      *
      * When paginating, all other parameters provided to `ListGoogleAdsLinks` must
      * match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The pageToken to set. * @return This builder for chaining. @@ -836,14 +836,14 @@ public Builder setPageToken(java.lang.String value) { * * *
-     * A page token, received from a previous `ListGoogleAdsLinks` call.
+     * Optional. A page token, received from a previous `ListGoogleAdsLinks` call.
      * Provide this to retrieve the subsequent page.
      *
      * When paginating, all other parameters provided to `ListGoogleAdsLinks` must
      * match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return This builder for chaining. */ @@ -858,14 +858,14 @@ public Builder clearPageToken() { * * *
-     * A page token, received from a previous `ListGoogleAdsLinks` call.
+     * Optional. A page token, received from a previous `ListGoogleAdsLinks` call.
      * Provide this to retrieve the subsequent page.
      *
      * When paginating, all other parameters provided to `ListGoogleAdsLinks` must
      * match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The bytes for pageToken to set. * @return This builder for chaining. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListGoogleAdsLinksRequestOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListGoogleAdsLinksRequestOrBuilder.java index 695192660ee1..bd262b2e4f1a 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListGoogleAdsLinksRequestOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListGoogleAdsLinksRequestOrBuilder.java @@ -60,12 +60,12 @@ public interface ListGoogleAdsLinksRequestOrBuilder * * *
-   * The maximum number of resources to return.
+   * Optional. The maximum number of resources to return.
    * If unspecified, at most 50 resources will be returned.
    * The maximum value is 200 (higher values will be coerced to the maximum).
    * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -75,14 +75,14 @@ public interface ListGoogleAdsLinksRequestOrBuilder * * *
-   * A page token, received from a previous `ListGoogleAdsLinks` call.
+   * Optional. A page token, received from a previous `ListGoogleAdsLinks` call.
    * Provide this to retrieve the subsequent page.
    *
    * When paginating, all other parameters provided to `ListGoogleAdsLinks` must
    * match the call that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -92,14 +92,14 @@ public interface ListGoogleAdsLinksRequestOrBuilder * * *
-   * A page token, received from a previous `ListGoogleAdsLinks` call.
+   * Optional. A page token, received from a previous `ListGoogleAdsLinks` call.
    * Provide this to retrieve the subsequent page.
    *
    * When paginating, all other parameters provided to `ListGoogleAdsLinks` must
    * match the call that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListKeyEventsRequest.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListKeyEventsRequest.java index 4c15a3a9f46f..6896989d29ff 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListKeyEventsRequest.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListKeyEventsRequest.java @@ -137,12 +137,12 @@ public com.google.protobuf.ByteString getParentBytes() { * * *
-   * The maximum number of resources to return.
+   * Optional. The maximum number of resources to return.
    * If unspecified, at most 50 resources will be returned.
    * The maximum value is 200; (higher values will be coerced to the maximum)
    * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -160,13 +160,13 @@ public int getPageSize() { * * *
-   * A page token, received from a previous `ListKeyEvents` call.
+   * Optional. A page token, received from a previous `ListKeyEvents` call.
    * Provide this to retrieve the subsequent page.
    * When paginating, all other parameters provided to `ListKeyEvents`
    * must match the call that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -187,13 +187,13 @@ public java.lang.String getPageToken() { * * *
-   * A page token, received from a previous `ListKeyEvents` call.
+   * Optional. A page token, received from a previous `ListKeyEvents` call.
    * Provide this to retrieve the subsequent page.
    * When paginating, all other parameters provided to `ListKeyEvents`
    * must match the call that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ @@ -699,12 +699,12 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) { * * *
-     * The maximum number of resources to return.
+     * Optional. The maximum number of resources to return.
      * If unspecified, at most 50 resources will be returned.
      * The maximum value is 200; (higher values will be coerced to the maximum)
      * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -717,12 +717,12 @@ public int getPageSize() { * * *
-     * The maximum number of resources to return.
+     * Optional. The maximum number of resources to return.
      * If unspecified, at most 50 resources will be returned.
      * The maximum value is 200; (higher values will be coerced to the maximum)
      * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The pageSize to set. * @return This builder for chaining. @@ -739,12 +739,12 @@ public Builder setPageSize(int value) { * * *
-     * The maximum number of resources to return.
+     * Optional. The maximum number of resources to return.
      * If unspecified, at most 50 resources will be returned.
      * The maximum value is 200; (higher values will be coerced to the maximum)
      * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return This builder for chaining. */ @@ -761,13 +761,13 @@ public Builder clearPageSize() { * * *
-     * A page token, received from a previous `ListKeyEvents` call.
+     * Optional. A page token, received from a previous `ListKeyEvents` call.
      * Provide this to retrieve the subsequent page.
      * When paginating, all other parameters provided to `ListKeyEvents`
      * must match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -787,13 +787,13 @@ public java.lang.String getPageToken() { * * *
-     * A page token, received from a previous `ListKeyEvents` call.
+     * Optional. A page token, received from a previous `ListKeyEvents` call.
      * Provide this to retrieve the subsequent page.
      * When paginating, all other parameters provided to `ListKeyEvents`
      * must match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ @@ -813,13 +813,13 @@ public com.google.protobuf.ByteString getPageTokenBytes() { * * *
-     * A page token, received from a previous `ListKeyEvents` call.
+     * Optional. A page token, received from a previous `ListKeyEvents` call.
      * Provide this to retrieve the subsequent page.
      * When paginating, all other parameters provided to `ListKeyEvents`
      * must match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The pageToken to set. * @return This builder for chaining. @@ -838,13 +838,13 @@ public Builder setPageToken(java.lang.String value) { * * *
-     * A page token, received from a previous `ListKeyEvents` call.
+     * Optional. A page token, received from a previous `ListKeyEvents` call.
      * Provide this to retrieve the subsequent page.
      * When paginating, all other parameters provided to `ListKeyEvents`
      * must match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return This builder for chaining. */ @@ -859,13 +859,13 @@ public Builder clearPageToken() { * * *
-     * A page token, received from a previous `ListKeyEvents` call.
+     * Optional. A page token, received from a previous `ListKeyEvents` call.
      * Provide this to retrieve the subsequent page.
      * When paginating, all other parameters provided to `ListKeyEvents`
      * must match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The bytes for pageToken to set. * @return This builder for chaining. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListKeyEventsRequestOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListKeyEventsRequestOrBuilder.java index 708847f236b9..9135771c73eb 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListKeyEventsRequestOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListKeyEventsRequestOrBuilder.java @@ -62,12 +62,12 @@ public interface ListKeyEventsRequestOrBuilder * * *
-   * The maximum number of resources to return.
+   * Optional. The maximum number of resources to return.
    * If unspecified, at most 50 resources will be returned.
    * The maximum value is 200; (higher values will be coerced to the maximum)
    * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -77,13 +77,13 @@ public interface ListKeyEventsRequestOrBuilder * * *
-   * A page token, received from a previous `ListKeyEvents` call.
+   * Optional. A page token, received from a previous `ListKeyEvents` call.
    * Provide this to retrieve the subsequent page.
    * When paginating, all other parameters provided to `ListKeyEvents`
    * must match the call that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -93,13 +93,13 @@ public interface ListKeyEventsRequestOrBuilder * * *
-   * A page token, received from a previous `ListKeyEvents` call.
+   * Optional. A page token, received from a previous `ListKeyEvents` call.
    * Provide this to retrieve the subsequent page.
    * When paginating, all other parameters provided to `ListKeyEvents`
    * must match the call that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListMeasurementProtocolSecretsRequest.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListMeasurementProtocolSecretsRequest.java index 2ed397f8e111..32772e5f0e68 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListMeasurementProtocolSecretsRequest.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListMeasurementProtocolSecretsRequest.java @@ -141,12 +141,12 @@ public com.google.protobuf.ByteString getParentBytes() { * * *
-   * The maximum number of resources to return.
+   * Optional. The maximum number of resources to return.
    * If unspecified, at most 10 resources will be returned.
    * The maximum value is 10. Higher values will be coerced to the maximum.
    * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -164,13 +164,14 @@ public int getPageSize() { * * *
-   * A page token, received from a previous `ListMeasurementProtocolSecrets`
-   * call. Provide this to retrieve the subsequent page. When paginating, all
-   * other parameters provided to `ListMeasurementProtocolSecrets` must match
-   * the call that provided the page token.
+   * Optional. A page token, received from a previous
+   * `ListMeasurementProtocolSecrets` call. Provide this to retrieve the
+   * subsequent page. When paginating, all other parameters provided to
+   * `ListMeasurementProtocolSecrets` must match the call that provided the page
+   * token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -191,13 +192,14 @@ public java.lang.String getPageToken() { * * *
-   * A page token, received from a previous `ListMeasurementProtocolSecrets`
-   * call. Provide this to retrieve the subsequent page. When paginating, all
-   * other parameters provided to `ListMeasurementProtocolSecrets` must match
-   * the call that provided the page token.
+   * Optional. A page token, received from a previous
+   * `ListMeasurementProtocolSecrets` call. Provide this to retrieve the
+   * subsequent page. When paginating, all other parameters provided to
+   * `ListMeasurementProtocolSecrets` must match the call that provided the page
+   * token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ @@ -719,12 +721,12 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) { * * *
-     * The maximum number of resources to return.
+     * Optional. The maximum number of resources to return.
      * If unspecified, at most 10 resources will be returned.
      * The maximum value is 10. Higher values will be coerced to the maximum.
      * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -737,12 +739,12 @@ public int getPageSize() { * * *
-     * The maximum number of resources to return.
+     * Optional. The maximum number of resources to return.
      * If unspecified, at most 10 resources will be returned.
      * The maximum value is 10. Higher values will be coerced to the maximum.
      * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The pageSize to set. * @return This builder for chaining. @@ -759,12 +761,12 @@ public Builder setPageSize(int value) { * * *
-     * The maximum number of resources to return.
+     * Optional. The maximum number of resources to return.
      * If unspecified, at most 10 resources will be returned.
      * The maximum value is 10. Higher values will be coerced to the maximum.
      * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return This builder for chaining. */ @@ -781,13 +783,14 @@ public Builder clearPageSize() { * * *
-     * A page token, received from a previous `ListMeasurementProtocolSecrets`
-     * call. Provide this to retrieve the subsequent page. When paginating, all
-     * other parameters provided to `ListMeasurementProtocolSecrets` must match
-     * the call that provided the page token.
+     * Optional. A page token, received from a previous
+     * `ListMeasurementProtocolSecrets` call. Provide this to retrieve the
+     * subsequent page. When paginating, all other parameters provided to
+     * `ListMeasurementProtocolSecrets` must match the call that provided the page
+     * token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -807,13 +810,14 @@ public java.lang.String getPageToken() { * * *
-     * A page token, received from a previous `ListMeasurementProtocolSecrets`
-     * call. Provide this to retrieve the subsequent page. When paginating, all
-     * other parameters provided to `ListMeasurementProtocolSecrets` must match
-     * the call that provided the page token.
+     * Optional. A page token, received from a previous
+     * `ListMeasurementProtocolSecrets` call. Provide this to retrieve the
+     * subsequent page. When paginating, all other parameters provided to
+     * `ListMeasurementProtocolSecrets` must match the call that provided the page
+     * token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ @@ -833,13 +837,14 @@ public com.google.protobuf.ByteString getPageTokenBytes() { * * *
-     * A page token, received from a previous `ListMeasurementProtocolSecrets`
-     * call. Provide this to retrieve the subsequent page. When paginating, all
-     * other parameters provided to `ListMeasurementProtocolSecrets` must match
-     * the call that provided the page token.
+     * Optional. A page token, received from a previous
+     * `ListMeasurementProtocolSecrets` call. Provide this to retrieve the
+     * subsequent page. When paginating, all other parameters provided to
+     * `ListMeasurementProtocolSecrets` must match the call that provided the page
+     * token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The pageToken to set. * @return This builder for chaining. @@ -858,13 +863,14 @@ public Builder setPageToken(java.lang.String value) { * * *
-     * A page token, received from a previous `ListMeasurementProtocolSecrets`
-     * call. Provide this to retrieve the subsequent page. When paginating, all
-     * other parameters provided to `ListMeasurementProtocolSecrets` must match
-     * the call that provided the page token.
+     * Optional. A page token, received from a previous
+     * `ListMeasurementProtocolSecrets` call. Provide this to retrieve the
+     * subsequent page. When paginating, all other parameters provided to
+     * `ListMeasurementProtocolSecrets` must match the call that provided the page
+     * token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return This builder for chaining. */ @@ -879,13 +885,14 @@ public Builder clearPageToken() { * * *
-     * A page token, received from a previous `ListMeasurementProtocolSecrets`
-     * call. Provide this to retrieve the subsequent page. When paginating, all
-     * other parameters provided to `ListMeasurementProtocolSecrets` must match
-     * the call that provided the page token.
+     * Optional. A page token, received from a previous
+     * `ListMeasurementProtocolSecrets` call. Provide this to retrieve the
+     * subsequent page. When paginating, all other parameters provided to
+     * `ListMeasurementProtocolSecrets` must match the call that provided the page
+     * token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The bytes for pageToken to set. * @return This builder for chaining. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListMeasurementProtocolSecretsRequestOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListMeasurementProtocolSecretsRequestOrBuilder.java index c4b2c6a339ef..d1f643c8eae7 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListMeasurementProtocolSecretsRequestOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListMeasurementProtocolSecretsRequestOrBuilder.java @@ -64,12 +64,12 @@ public interface ListMeasurementProtocolSecretsRequestOrBuilder * * *
-   * The maximum number of resources to return.
+   * Optional. The maximum number of resources to return.
    * If unspecified, at most 10 resources will be returned.
    * The maximum value is 10. Higher values will be coerced to the maximum.
    * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -79,13 +79,14 @@ public interface ListMeasurementProtocolSecretsRequestOrBuilder * * *
-   * A page token, received from a previous `ListMeasurementProtocolSecrets`
-   * call. Provide this to retrieve the subsequent page. When paginating, all
-   * other parameters provided to `ListMeasurementProtocolSecrets` must match
-   * the call that provided the page token.
+   * Optional. A page token, received from a previous
+   * `ListMeasurementProtocolSecrets` call. Provide this to retrieve the
+   * subsequent page. When paginating, all other parameters provided to
+   * `ListMeasurementProtocolSecrets` must match the call that provided the page
+   * token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -95,13 +96,14 @@ public interface ListMeasurementProtocolSecretsRequestOrBuilder * * *
-   * A page token, received from a previous `ListMeasurementProtocolSecrets`
-   * call. Provide this to retrieve the subsequent page. When paginating, all
-   * other parameters provided to `ListMeasurementProtocolSecrets` must match
-   * the call that provided the page token.
+   * Optional. A page token, received from a previous
+   * `ListMeasurementProtocolSecrets` call. Provide this to retrieve the
+   * subsequent page. When paginating, all other parameters provided to
+   * `ListMeasurementProtocolSecrets` must match the call that provided the page
+   * token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListPropertiesRequest.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListPropertiesRequest.java index 5ae791789b2b..07a0c86993b9 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListPropertiesRequest.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListPropertiesRequest.java @@ -161,13 +161,13 @@ public com.google.protobuf.ByteString getFilterBytes() { * * *
-   * The maximum number of resources to return. The service may return
+   * Optional. The maximum number of resources to return. The service may return
    * fewer than this value, even if there are additional pages.
    * If unspecified, at most 50 resources will be returned.
    * The maximum value is 200; (higher values will be coerced to the maximum)
    * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -185,13 +185,13 @@ public int getPageSize() { * * *
-   * A page token, received from a previous `ListProperties` call.
+   * Optional. A page token, received from a previous `ListProperties` call.
    * Provide this to retrieve the subsequent page.
    * When paginating, all other parameters provided to `ListProperties` must
    * match the call that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -212,13 +212,13 @@ public java.lang.String getPageToken() { * * *
-   * A page token, received from a previous `ListProperties` call.
+   * Optional. A page token, received from a previous `ListProperties` call.
    * Provide this to retrieve the subsequent page.
    * When paginating, all other parameters provided to `ListProperties` must
    * match the call that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ @@ -827,13 +827,13 @@ public Builder setFilterBytes(com.google.protobuf.ByteString value) { * * *
-     * The maximum number of resources to return. The service may return
+     * Optional. The maximum number of resources to return. The service may return
      * fewer than this value, even if there are additional pages.
      * If unspecified, at most 50 resources will be returned.
      * The maximum value is 200; (higher values will be coerced to the maximum)
      * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -846,13 +846,13 @@ public int getPageSize() { * * *
-     * The maximum number of resources to return. The service may return
+     * Optional. The maximum number of resources to return. The service may return
      * fewer than this value, even if there are additional pages.
      * If unspecified, at most 50 resources will be returned.
      * The maximum value is 200; (higher values will be coerced to the maximum)
      * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The pageSize to set. * @return This builder for chaining. @@ -869,13 +869,13 @@ public Builder setPageSize(int value) { * * *
-     * The maximum number of resources to return. The service may return
+     * Optional. The maximum number of resources to return. The service may return
      * fewer than this value, even if there are additional pages.
      * If unspecified, at most 50 resources will be returned.
      * The maximum value is 200; (higher values will be coerced to the maximum)
      * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return This builder for chaining. */ @@ -892,13 +892,13 @@ public Builder clearPageSize() { * * *
-     * A page token, received from a previous `ListProperties` call.
+     * Optional. A page token, received from a previous `ListProperties` call.
      * Provide this to retrieve the subsequent page.
      * When paginating, all other parameters provided to `ListProperties` must
      * match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -918,13 +918,13 @@ public java.lang.String getPageToken() { * * *
-     * A page token, received from a previous `ListProperties` call.
+     * Optional. A page token, received from a previous `ListProperties` call.
      * Provide this to retrieve the subsequent page.
      * When paginating, all other parameters provided to `ListProperties` must
      * match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ @@ -944,13 +944,13 @@ public com.google.protobuf.ByteString getPageTokenBytes() { * * *
-     * A page token, received from a previous `ListProperties` call.
+     * Optional. A page token, received from a previous `ListProperties` call.
      * Provide this to retrieve the subsequent page.
      * When paginating, all other parameters provided to `ListProperties` must
      * match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The pageToken to set. * @return This builder for chaining. @@ -969,13 +969,13 @@ public Builder setPageToken(java.lang.String value) { * * *
-     * A page token, received from a previous `ListProperties` call.
+     * Optional. A page token, received from a previous `ListProperties` call.
      * Provide this to retrieve the subsequent page.
      * When paginating, all other parameters provided to `ListProperties` must
      * match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return This builder for chaining. */ @@ -990,13 +990,13 @@ public Builder clearPageToken() { * * *
-     * A page token, received from a previous `ListProperties` call.
+     * Optional. A page token, received from a previous `ListProperties` call.
      * Provide this to retrieve the subsequent page.
      * When paginating, all other parameters provided to `ListProperties` must
      * match the call that provided the page token.
      * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @param value The bytes for pageToken to set. * @return This builder for chaining. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListPropertiesRequestOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListPropertiesRequestOrBuilder.java index 688d85d5598e..6ff2d8622b8e 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListPropertiesRequestOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ListPropertiesRequestOrBuilder.java @@ -86,13 +86,13 @@ public interface ListPropertiesRequestOrBuilder * * *
-   * The maximum number of resources to return. The service may return
+   * Optional. The maximum number of resources to return. The service may return
    * fewer than this value, even if there are additional pages.
    * If unspecified, at most 50 resources will be returned.
    * The maximum value is 200; (higher values will be coerced to the maximum)
    * 
* - * int32 page_size = 2; + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageSize. */ @@ -102,13 +102,13 @@ public interface ListPropertiesRequestOrBuilder * * *
-   * A page token, received from a previous `ListProperties` call.
+   * Optional. A page token, received from a previous `ListProperties` call.
    * Provide this to retrieve the subsequent page.
    * When paginating, all other parameters provided to `ListProperties` must
    * match the call that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The pageToken. */ @@ -118,13 +118,13 @@ public interface ListPropertiesRequestOrBuilder * * *
-   * A page token, received from a previous `ListProperties` call.
+   * Optional. A page token, received from a previous `ListProperties` call.
    * Provide this to retrieve the subsequent page.
    * When paginating, all other parameters provided to `ListProperties` must
    * match the call that provided the page token.
    * 
* - * string page_token = 3; + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; * * @return The bytes for pageToken. */ diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/MeasurementProtocolSecret.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/MeasurementProtocolSecret.java index 0f7bde7a9142..8906a2e4c94a 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/MeasurementProtocolSecret.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/MeasurementProtocolSecret.java @@ -81,12 +81,12 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * * *
-   * Output only. Resource name of this secret. This secret may be a child of
-   * any type of stream. Format:
+   * Identifier. Resource name of this secret. This secret may be a child of any
+   * type of stream. Format:
    * properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -107,12 +107,12 @@ public java.lang.String getName() { * * *
-   * Output only. Resource name of this secret. This secret may be a child of
-   * any type of stream. Format:
+   * Identifier. Resource name of this secret. This secret may be a child of any
+   * type of stream. Format:
    * properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -604,12 +604,12 @@ public Builder mergeFrom( * * *
-     * Output only. Resource name of this secret. This secret may be a child of
-     * any type of stream. Format:
+     * Identifier. Resource name of this secret. This secret may be a child of any
+     * type of stream. Format:
      * properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -629,12 +629,12 @@ public java.lang.String getName() { * * *
-     * Output only. Resource name of this secret. This secret may be a child of
-     * any type of stream. Format:
+     * Identifier. Resource name of this secret. This secret may be a child of any
+     * type of stream. Format:
      * properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -654,12 +654,12 @@ public com.google.protobuf.ByteString getNameBytes() { * * *
-     * Output only. Resource name of this secret. This secret may be a child of
-     * any type of stream. Format:
+     * Identifier. Resource name of this secret. This secret may be a child of any
+     * type of stream. Format:
      * properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The name to set. * @return This builder for chaining. @@ -678,12 +678,12 @@ public Builder setName(java.lang.String value) { * * *
-     * Output only. Resource name of this secret. This secret may be a child of
-     * any type of stream. Format:
+     * Identifier. Resource name of this secret. This secret may be a child of any
+     * type of stream. Format:
      * properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return This builder for chaining. */ @@ -698,12 +698,12 @@ public Builder clearName() { * * *
-     * Output only. Resource name of this secret. This secret may be a child of
-     * any type of stream. Format:
+     * Identifier. Resource name of this secret. This secret may be a child of any
+     * type of stream. Format:
      * properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The bytes for name to set. * @return This builder for chaining. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/MeasurementProtocolSecretOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/MeasurementProtocolSecretOrBuilder.java index b59ccee35f4e..07ca4ca3048b 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/MeasurementProtocolSecretOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/MeasurementProtocolSecretOrBuilder.java @@ -30,12 +30,12 @@ public interface MeasurementProtocolSecretOrBuilder * * *
-   * Output only. Resource name of this secret. This secret may be a child of
-   * any type of stream. Format:
+   * Identifier. Resource name of this secret. This secret may be a child of any
+   * type of stream. Format:
    * properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -45,12 +45,12 @@ public interface MeasurementProtocolSecretOrBuilder * * *
-   * Output only. Resource name of this secret. This secret may be a child of
-   * any type of stream. Format:
+   * Identifier. Resource name of this secret. This secret may be a child of any
+   * type of stream. Format:
    * properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/Property.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/Property.java index d657c7570fb4..f78ca54feec1 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/Property.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/Property.java @@ -88,12 +88,12 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * * *
-   * Output only. Resource name of this property.
+   * Identifier. Resource name of this property.
    * Format: properties/{property_id}
    * Example: "properties/1000"
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -114,12 +114,12 @@ public java.lang.String getName() { * * *
-   * Output only. Resource name of this property.
+   * Identifier. Resource name of this property.
    * Format: properties/{property_id}
    * Example: "properties/1000"
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -1446,12 +1446,12 @@ public Builder mergeFrom( * * *
-     * Output only. Resource name of this property.
+     * Identifier. Resource name of this property.
      * Format: properties/{property_id}
      * Example: "properties/1000"
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -1471,12 +1471,12 @@ public java.lang.String getName() { * * *
-     * Output only. Resource name of this property.
+     * Identifier. Resource name of this property.
      * Format: properties/{property_id}
      * Example: "properties/1000"
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ @@ -1496,12 +1496,12 @@ public com.google.protobuf.ByteString getNameBytes() { * * *
-     * Output only. Resource name of this property.
+     * Identifier. Resource name of this property.
      * Format: properties/{property_id}
      * Example: "properties/1000"
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The name to set. * @return This builder for chaining. @@ -1520,12 +1520,12 @@ public Builder setName(java.lang.String value) { * * *
-     * Output only. Resource name of this property.
+     * Identifier. Resource name of this property.
      * Format: properties/{property_id}
      * Example: "properties/1000"
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return This builder for chaining. */ @@ -1540,12 +1540,12 @@ public Builder clearName() { * * *
-     * Output only. Resource name of this property.
+     * Identifier. Resource name of this property.
      * Format: properties/{property_id}
      * Example: "properties/1000"
      * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @param value The bytes for name to set. * @return This builder for chaining. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/PropertyOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/PropertyOrBuilder.java index a2b2524ec7eb..f2c93200639a 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/PropertyOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/PropertyOrBuilder.java @@ -30,12 +30,12 @@ public interface PropertyOrBuilder * * *
-   * Output only. Resource name of this property.
+   * Identifier. Resource name of this property.
    * Format: properties/{property_id}
    * Example: "properties/1000"
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The name. */ @@ -45,12 +45,12 @@ public interface PropertyOrBuilder * * *
-   * Output only. Resource name of this property.
+   * Identifier. Resource name of this property.
    * Format: properties/{property_id}
    * Example: "properties/1000"
    * 
* - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; * * @return The bytes for name. */ diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/PropertySummary.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/PropertySummary.java index eb23bd54c899..b7177a604d33 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/PropertySummary.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/PropertySummary.java @@ -281,6 +281,26 @@ public com.google.protobuf.ByteString getParentBytes() { } } + public static final int CAN_EDIT_FIELD_NUMBER = 5; + private boolean canEdit_ = false; + + /** + * + * + *
+   * If true, then the user has a Google Analytics role that permits them to
+   * edit the property.
+   * 
+ * + * bool can_edit = 5; + * + * @return The canEdit. + */ + @java.lang.Override + public boolean getCanEdit() { + return canEdit_; + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -308,6 +328,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { com.google.protobuf.GeneratedMessage.writeString(output, 4, parent_); } + if (canEdit_ != false) { + output.writeBool(5, canEdit_); + } getUnknownFields().writeTo(output); } @@ -330,6 +353,9 @@ public int getSerializedSize() { if (!com.google.protobuf.GeneratedMessage.isStringEmpty(parent_)) { size += com.google.protobuf.GeneratedMessage.computeStringSize(4, parent_); } + if (canEdit_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(5, canEdit_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -350,6 +376,7 @@ public boolean equals(final java.lang.Object obj) { if (!getDisplayName().equals(other.getDisplayName())) return false; if (propertyType_ != other.propertyType_) return false; if (!getParent().equals(other.getParent())) return false; + if (getCanEdit() != other.getCanEdit()) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -369,6 +396,8 @@ public int hashCode() { hash = (53 * hash) + propertyType_; hash = (37 * hash) + PARENT_FIELD_NUMBER; hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + CAN_EDIT_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getCanEdit()); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -513,6 +542,7 @@ public Builder clear() { displayName_ = ""; propertyType_ = 0; parent_ = ""; + canEdit_ = false; return this; } @@ -561,6 +591,9 @@ private void buildPartial0(com.google.analytics.admin.v1beta.PropertySummary res if (((from_bitField0_ & 0x00000008) != 0)) { result.parent_ = parent_; } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.canEdit_ = canEdit_; + } } @java.lang.Override @@ -594,6 +627,9 @@ public Builder mergeFrom(com.google.analytics.admin.v1beta.PropertySummary other bitField0_ |= 0x00000008; onChanged(); } + if (other.getCanEdit() != false) { + setCanEdit(other.getCanEdit()); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -644,6 +680,12 @@ public Builder mergeFrom( bitField0_ |= 0x00000008; break; } // case 34 + case 40: + { + canEdit_ = input.readBool(); + bitField0_ |= 0x00000010; + break; + } // case 40 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { @@ -1121,6 +1163,65 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) { return this; } + private boolean canEdit_; + + /** + * + * + *
+     * If true, then the user has a Google Analytics role that permits them to
+     * edit the property.
+     * 
+ * + * bool can_edit = 5; + * + * @return The canEdit. + */ + @java.lang.Override + public boolean getCanEdit() { + return canEdit_; + } + + /** + * + * + *
+     * If true, then the user has a Google Analytics role that permits them to
+     * edit the property.
+     * 
+ * + * bool can_edit = 5; + * + * @param value The canEdit to set. + * @return This builder for chaining. + */ + public Builder setCanEdit(boolean value) { + + canEdit_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * If true, then the user has a Google Analytics role that permits them to
+     * edit the property.
+     * 
+ * + * bool can_edit = 5; + * + * @return This builder for chaining. + */ + public Builder clearCanEdit() { + bitField0_ = (bitField0_ & ~0x00000010); + canEdit_ = false; + onChanged(); + return this; + } + // @@protoc_insertion_point(builder_scope:google.analytics.admin.v1beta.PropertySummary) } diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/PropertySummaryOrBuilder.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/PropertySummaryOrBuilder.java index 3b177221eadc..9ae5fa0eb801 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/PropertySummaryOrBuilder.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/PropertySummaryOrBuilder.java @@ -141,4 +141,18 @@ public interface PropertySummaryOrBuilder * @return The bytes for parent. */ com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
+   * If true, then the user has a Google Analytics role that permits them to
+   * edit the property.
+   * 
+ * + * bool can_edit = 5; + * + * @return The canEdit. + */ + boolean getCanEdit(); } diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ResourcesProto.java b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ResourcesProto.java index 3153eddd8455..c5ddc532c08c 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ResourcesProto.java +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/java/com/google/analytics/admin/v1beta/ResourcesProto.java @@ -142,9 +142,9 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "s.proto\022\035google.analytics.admin.v1beta\032\037" + "google/api/field_behavior.proto\032\031google/" + "api/resource.proto\032\037google/protobuf/time" - + "stamp.proto\032\036google/protobuf/wrappers.proto\"\344\002\n" + + "stamp.proto\032\036google/protobuf/wrappers.proto\"\367\002\n" + "\007Account\022\021\n" - + "\004name\030\001 \001(\tB\003\340A\003\0224\n" + + "\004name\030\001 \001(\tB\003\340A\010\0224\n" + "\013create_time\030\002 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n" + "\013update_time\030\003" + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022\031\n" @@ -152,19 +152,20 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\013region_code\030\005 \001(\t\022\024\n" + "\007deleted\030\006 \001(\010B\003\340A\003\022T\n" + "\020gmp_organization\030\007 \001(\tB:\340A\003\372A4\n" - + "2marketingplatformadmin.googleapis.com/Organization:>\352A;\n" - + "%analyticsadmin.googleapis.com/Account\022\022accounts/{account}\"\266\005\n" + + "2marketingplatformadmin.googleapis.com/Organization:Q\352AN\n" + + "%analyticsadmin." + + "googleapis.com/Account\022\022accounts/{account}*\010accounts2\007account\"\314\005\n" + "\010Property\022\021\n" - + "\004name\030\001 \001(\tB\003\340A\003\022G\n\r" - + "property_type\030\016" - + " \001(\0162+.google.analytics.admin.v1beta.PropertyTypeB\003\340A\005\0224\n" + + "\004name\030\001 \001(\tB\003\340A\010\022G\n\r" + + "property_type\030\016 \001(\0162+.g" + + "oogle.analytics.admin.v1beta.PropertyTypeB\003\340A\005\0224\n" + "\013create_time\030\003 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n" + "\013update_time\030\004" + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022\023\n" + "\006parent\030\002 \001(\tB\003\340A\005\022\031\n" + "\014display_name\030\005 \001(\tB\003\340A\002\022J\n" - + "\021industry_category\030\006" - + " \001(\0162/.google.analytics.admin.v1beta.IndustryCategory\022\026\n" + + "\021industry_category\030\006 \001(\0162/.google.a" + + "nalytics.admin.v1beta.IndustryCategory\022\026\n" + "\ttime_zone\030\007 \001(\tB\003\340A\002\022\025\n\r" + "currency_code\030\010 \001(\t\022G\n\r" + "service_level\030\n" @@ -173,18 +174,19 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\013expire_time\030\014 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022>\n" + "\007account\030\r" + " \001(\tB-\340A\005\372A\'\n" - + "%analyticsadmin.googleapis.com/Account:B\352A?\n" - + "&analyticsadmin.googleapis.com/Property\022\025properties/{property}\"\360\007\n\n" + + "%analyticsadmin.googleapis.com/Account:X\352AU\n" + + "&analyticsadmin.googleapis.com/Property\022\025properties/{property}*\n" + + "properties2\010property\"\211\010\n\n" + "DataStream\022R\n" - + "\017web_stream_data\030\006 \001(\01327.google.analytics.a" - + "dmin.v1beta.DataStream.WebStreamDataH\000\022a\n" - + "\027android_app_stream_data\030\007 \001(\0132>.google" - + ".analytics.admin.v1beta.DataStream.AndroidAppStreamDataH\000\022Y\n" + + "\017web_stream_data\030\006 \001(\01327.google.analytics." + + "admin.v1beta.DataStream.WebStreamDataH\000\022a\n" + + "\027android_app_stream_data\030\007 \001(\0132>.googl" + + "e.analytics.admin.v1beta.DataStream.AndroidAppStreamDataH\000\022Y\n" + "\023ios_app_stream_data\030\010" + " \001(\0132:.google.analytics.admin.v1beta.DataStream.IosAppStreamDataH\000\022\021\n" - + "\004name\030\001 \001(\tB\003\340A\003\022N\n" - + "\004type\030\002 \001(\01628.google.analytics" - + ".admin.v1beta.DataStream.DataStreamTypeB\006\340A\005\340A\002\022\024\n" + + "\004name\030\001 \001(\tB\003\340A\010\022N\n" + + "\004type\030\002 \001(\01628.google.analytic" + + "s.admin.v1beta.DataStream.DataStreamTypeB\006\340A\005\340A\002\022\024\n" + "\014display_name\030\003 \001(\t\0224\n" + "\013create_time\030\004 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n" + "\013update_time\030\005" @@ -203,113 +205,119 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\034DATA_STREAM_TYPE_UNSPECIFIED\020\000\022\023\n" + "\017WEB_DATA_STREAM\020\001\022\033\n" + "\027ANDROID_APP_DATA_STREAM\020\002\022\027\n" - + "\023IOS_APP_DATA_STREAM\020\003:^\352A[\n" - + "(analyticsadmin.googleapis.com/Data" - + "Stream\022/properties/{property}/dataStreams/{data_stream}B\r\n" - + "\013stream_data\"\323\001\n" + + "\023IOS_APP_DATA_STREAM\020\003:w\352At\n" + + "(analyticsadmin.googleapis.com/Dat" + + "aStream\022/properties/{property}/dataStreams/{data_stream}*\013dataStreams2\n" + + "dataStreamB\r\n" + + "\013stream_data\"\361\001\n" + "\014FirebaseLink\022\021\n" - + "\004name\030\001 \001(\tB\003\340A\003\022\024\n" + + "\004name\030\001 \001(\tB\003\340A\010\022\024\n" + "\007project\030\002 \001(\tB\003\340A\005\0224\n" + "\013create_time\030\003" - + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003:d\352Aa\n" - + "*analyticsadmin.googleapis.com/FirebaseLink\0223propert" - + "ies/{property}/firebaseLinks/{firebase_link}\"\230\003\n\r" + + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003:\201\001\352A~\n" + + "*analyticsadmin.googleapi" + + "s.com/FirebaseLink\0223properties/{property}/firebaseLinks/{firebase_link}*\r" + + "firebaseLinks2\014firebaseLink\"\271\003\n\r" + "GoogleAdsLink\022\021\n" - + "\004name\030\001 \001(\tB\003\340A\003\022\030\n" + + "\004name\030\001 \001(\tB\003\340A\010\022\030\n" + "\013customer_id\030\003 \001(\tB\003\340A\005\022\037\n" + "\022can_manage_clients\030\004 \001(\010B\003\340A\003\022?\n" + "\033ads_personalization_enabled\030\005" + " \001(\0132\032.google.protobuf.BoolValue\0224\n" + "\013create_time\030\007 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n" + "\013update_time\030\010 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022\"\n" - + "\025creator_email_address\030\t \001(\tB\003\340A\003:h\352Ae\n" - + "+analyticsadmin.googleapis.com/GoogleAdsLink\022" - + "6properties/{property}/googleAdsLinks/{google_ads_link}\"\353\002\n" + + "\025creator_email_address\030\t \001(\tB\003\340A\003:\210\001\352A\204\001\n" + + "+analyticsadmin.googleapis.com/GoogleAdsLink\0226properties/{property}" + + "/googleAdsLinks/{google_ads_link}*\016googleAdsLinks2\r" + + "googleAdsLink\"\233\003\n" + "\023DataSharingSettings\022\021\n" - + "\004name\030\001 \001(\tB\003\340A\003\022+\n" + + "\004name\030\001 \001(\tB\003\340A\010\022+\n" + "#sharing_with_google_support_enabled\030\002 \001(\010\0222\n" - + "*sharing_with_google_assigned_sales_enabled\030\003 \001(\010\022-\n" - + "%sharing_with_google_any_sales_enabled\030\004 \001(\010\022,\n" + + "*sharing_with_google_assigned_sales_enabled\030\003 \001(\010\0221\n" + + "%sharing_with_google_any_sales_enabled\030\004 \001(\010B\002\030\001\022,\n" + "$sharing_with_google_products_enabled\030\005 \001(\010\022#\n" - + "\033sharing_with_others_enabled\030\006 \001(\010:^\352A[\n" - + "1analyticsadmin.googleapis.co" - + "m/DataSharingSettings\022&accounts/{account}/dataSharingSettings\"\224\002\n" - + "\016AccountSummary\022\014\n" - + "\004name\030\001 \001(\t\022;\n" + + "\033sharing_with_others_enabled\030\006 \001(\010:\211\001\352A\205\001\n" + + "1analyticsadmin.googleapis.com/DataSharingSettings\022&ac" + + "counts/{account}/dataSharingSettings*\023da" + + "taSharingSettings2\023dataSharingSettings\"\273\002\n" + + "\016AccountSummary\022\021\n" + + "\004name\030\001 \001(\tB\003\340A\010\022;\n" + "\007account\030\002 \001(\tB*\372A\'\n" + "%analyticsadmin.googleapis.com/Account\022\024\n" + "\014display_name\030\003 \001(\t\022J\n" - + "\022property_summaries\030\004" - + " \003(\0132..google.analytics.admin.v1beta.PropertySummary:U\352AR\n" - + ",analyticsadmin.googl" - + "eapis.com/AccountSummary\022\"accountSummaries/{account_summary}\"\272\001\n" + + "\022property_summaries\030\004 \003(\0132..google.ana" + + "lytics.admin.v1beta.PropertySummary:w\352At\n" + + ",analyticsadmin.googleapis.com/AccountS" + + "ummary\022\"accountSummaries/{account_summary}*\020accountSummaries2\016accountSummary\"\314\001\n" + "\017PropertySummary\022=\n" + "\010property\030\001 \001(\tB+\372A(\n" + "&analyticsadmin.googleapis.com/Property\022\024\n" + "\014display_name\030\002 \001(\t\022B\n\r" + "property_type\030\003 \001(\0162+.google.analytics.admin.v1beta.PropertyType\022\016\n" - + "\006parent\030\004 \001(\t\"\216\002\n" + + "\006parent\030\004 \001(\t\022\020\n" + + "\010can_edit\030\005 \001(\010\"\305\002\n" + "\031MeasurementProtocolSecret\022\021\n" - + "\004name\030\001 \001(\tB\003\340A\003\022\031\n" + + "\004name\030\001 \001(\tB\003\340A\010\022\031\n" + "\014display_name\030\002 \001(\tB\003\340A\002\022\031\n" - + "\014secret_value\030\003 \001(\tB\003\340A\003:\247\001\352A\243\001\n" - + "7analyticsadmin.googleapis.com/MeasurementProtocolSecret\022hproperties/{property}/" - + "dataStreams/{data_stream}/measurementPro" - + "tocolSecrets/{measurement_protocol_secret}\"\210\002\n" + + "\014secret_value\030\003 \001(\tB\003\340A\003:\336\001\352A\332\001\n" + + "7analyticsadmin.googleapis.com/MeasurementProt" + + "ocolSecret\022hproperties/{property}/dataStreams/{data_stream}/measurementProtocolS" + + "ecrets/{measurement_protocol_secret}*\032me" + + "asurementProtocolSecrets2\031measurementProtocolSecret\"\210\002\n" + "\022ChangeHistoryEvent\022\n\n" + "\002id\030\001 \001(\t\022/\n" + "\013change_time\030\002 \001(\0132\032.google.protobuf.Timestamp\022<\n\n" + "actor_type\030\003 \001(\0162(.google.analytics.admin.v1beta.ActorType\022\030\n" + "\020user_actor_email\030\004 \001(\t\022\030\n" + "\020changes_filtered\030\005 \001(\010\022C\n" - + "\007changes\030\006" - + " \003(\01322.google.analytics.admin.v1beta.ChangeHistoryChange\"\252\007\n" + + "\007changes\030\006 \003(\01322.google.anal" + + "ytics.admin.v1beta.ChangeHistoryChange\"\252\007\n" + "\023ChangeHistoryChange\022\020\n" + "\010resource\030\001 \001(\t\0229\n" + "\006action\030\002 \001(\0162).google.analytics.admin.v1beta.ActionType\022h\n" - + "\026resource_before_change\030\003 \001" - + "(\0132H.google.analytics.admin.v1beta.ChangeHistoryChange.ChangeHistoryResource\022g\n" - + "\025resource_after_change\030\004 \001(\0132H.google.ana" - + "lytics.admin.v1beta.ChangeHistoryChange.ChangeHistoryResource\032\362\004\n" + + "\026resource_before_change\030\003 \001(\0132H.google.analytics.admin.v1b" + + "eta.ChangeHistoryChange.ChangeHistoryResource\022g\n" + + "\025resource_after_change\030\004 \001(\0132H.g" + + "oogle.analytics.admin.v1beta.ChangeHistoryChange.ChangeHistoryResource\032\362\004\n" + "\025ChangeHistoryResource\0229\n" + "\007account\030\001 \001(\0132&.google.analytics.admin.v1beta.AccountH\000\022;\n" + "\010property\030\002 \001(\0132\'.google.analytics.admin.v1beta.PropertyH\000\022D\n\r" - + "firebase_link\030\006" - + " \001(\0132+.google.analytics.admin.v1beta.FirebaseLinkH\000\022G\n" - + "\017google_ads_link\030\007" - + " \001(\0132,.google.analytics.admin.v1beta.GoogleAdsLinkH\000\022J\n" + + "firebase_link\030\006 \001(\0132" + + "+.google.analytics.admin.v1beta.FirebaseLinkH\000\022G\n" + + "\017google_ads_link\030\007 \001(\0132,.google" + + ".analytics.admin.v1beta.GoogleAdsLinkH\000\022J\n" + "\020conversion_event\030\013" + " \001(\0132..google.analytics.admin.v1beta.ConversionEventH\000\022_\n" - + "\033measurement_protocol_secret\030\014 \001(\01328.google.analyti" - + "cs.admin.v1beta.MeasurementProtocolSecretH\000\022W\n" - + "\027data_retention_settings\030\017 \001(\01324.g" - + "oogle.analytics.admin.v1beta.DataRetentionSettingsH\000\022@\n" - + "\013data_stream\030\022 \001(\0132).google.analytics.admin.v1beta.DataStreamH\000B\n" - + "\n" - + "\010resource\"\336\005\n" + + "\033measurement_protocol_secret\030\014 \001(\01328.googl" + + "e.analytics.admin.v1beta.MeasurementProtocolSecretH\000\022W\n" + + "\027data_retention_settings\030\017" + + " \001(\01324.google.analytics.admin.v1beta.DataRetentionSettingsH\000\022@\n" + + "\013data_stream\030\022 \001(\0132).google.analytics.admin.v1beta.DataStreamH\000B\n\n" + + "\010resource\"\203\006\n" + "\017ConversionEvent\022\021\n" - + "\004name\030\001 \001(\tB\003\340A\003\022\027\n\n" + + "\004name\030\001 \001(\tB\003\340A\010\022\027\n\n" + "event_name\030\002 \001(\tB\003\340A\005\0224\n" + "\013create_time\030\003" + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022\026\n" + "\tdeletable\030\004 \001(\010B\003\340A\003\022\023\n" + "\006custom\030\005 \001(\010B\003\340A\003\022e\n" - + "\017counting_method\030\006 \001(\0162G" - + ".google.analytics.admin.v1beta.ConversionEvent.ConversionCountingMethodB\003\340A\001\022q\n" - + "\030default_conversion_value\030\007 \001(\0132E.google." - + "analytics.admin.v1beta.ConversionEvent.DefaultConversionValueB\003\340A\001H\000\210\001\001\032d\n" + + "\017counting_method\030\006 \001(\0162G.google.analytics.admin.v1beta." + + "ConversionEvent.ConversionCountingMethodB\003\340A\001\022q\n" + + "\030default_conversion_value\030\007 \001(\0132" + + "E.google.analytics.admin.v1beta.Conversi" + + "onEvent.DefaultConversionValueB\003\340A\001H\000\210\001\001\032d\n" + "\026DefaultConversionValue\022\022\n" - + "\005value\030\001 \001(\001H\000\210\001\001\022\032\n" - + "\r" + + "\005value\030\001 \001(\001H\000\210\001\001\022\032\n\r" + "currency_code\030\002 \001(\tH\001\210\001\001B\010\n" + "\006_valueB\020\n" + "\016_currency_code\"p\n" + "\030ConversionCountingMethod\022*\n" + "&CONVERSION_COUNTING_METHOD_UNSPECIFIED\020\000\022\022\n" + "\016ONCE_PER_EVENT\020\001\022\024\n" - + "\020ONCE_PER_SESSION\020\002:m\352Aj\n" - + "-analyticsadmin.googleapis.com/ConversionEvent\0229properties/{propert" - + "y}/conversionEvents/{conversion_event}B\033\n" + + "\020ONCE_PER_SESSION\020\002:\221\001\352A\215\001\n" + + "-analyticsadmin.googleapis.com/ConversionEvent\0229properti" + + "es/{property}/conversionEvents/{conversi" + + "on_event}*\020conversionEvents2\017conversionEventB\033\n" + "\031_default_conversion_value\"\325\004\n" + "\010KeyEvent\022\021\n" + "\004name\030\001 \001(\tB\003\340A\003\022\027\n\n" @@ -329,34 +337,35 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\033COUNTING_METHOD_UNSPECIFIED\020\000\022\022\n" + "\016ONCE_PER_EVENT\020\001\022\024\n" + "\020ONCE_PER_SESSION\020\002:m\352Aj\n" - + "&analyticsadmin.googleapis.com/KeyEven" - + "t\022+properties/{property}/keyEvents/{key_event}*\tkeyEvents2\010keyEvent\"\273\003\n" + + "&analyticsadmin.googleapis.com/K" + + "eyEvent\022+properties/{property}/keyEvents/{key_event}*" + + "\tkeyEvents2\010keyEvent\"\340\003\n" + "\017CustomDimension\022\021\n" - + "\004name\030\001 \001(\tB\003\340A\003\022\036\n" + + "\004name\030\001 \001(\tB\003\340A\010\022\036\n" + "\016parameter_name\030\002 \001(\tB\006\340A\002\340A\005\022\031\n" + "\014display_name\030\003 \001(\tB\003\340A\002\022\030\n" + "\013description\030\004 \001(\tB\003\340A\001\022T\n" - + "\005scope\030\005" - + " \001(\0162=.google.analytics.admin.v1beta.CustomDimension.DimensionScopeB\006\340A\002\340A\005\022)\n" + + "\005scope\030\005 \001(\0162=.google.analytics.admin.v1" + + "beta.CustomDimension.DimensionScopeB\006\340A\002\340A\005\022)\n" + "\034disallow_ads_personalization\030\006 \001(\010B\003\340A\001\"P\n" + "\016DimensionScope\022\037\n" + "\033DIMENSION_SCOPE_UNSPECIFIED\020\000\022\t\n" + "\005EVENT\020\001\022\010\n" + "\004USER\020\002\022\010\n" - + "\004ITEM\020\003:m\352Aj\n" - + "-analyticsadmin.googleapis.com/C" - + "ustomDimension\0229properties/{property}/customDimensions/{custom_dimension}\"\302\006\n" + + "\004ITEM\020\003:\221\001\352A\215\001\n" + + "-analyticsadmin.googleapis.com/CustomDimension\0229properties/{prop" + + "erty}/customDimensions/{custom_dimension}*\020customDimensions2\017customDimension\"\340\006\n" + "\014CustomMetric\022\021\n" - + "\004name\030\001 \001(\tB\003\340A\003\022\036\n" + + "\004name\030\001 \001(\tB\003\340A\010\022\036\n" + "\016parameter_name\030\002 \001(\tB\006\340A\002\340A\005\022\031\n" + "\014display_name\030\003 \001(\tB\003\340A\002\022\030\n" + "\013description\030\004 \001(\tB\003\340A\001\022Z\n" - + "\020measurement_unit\030\005 \001(\0162;.google.analytics." - + "admin.v1beta.CustomMetric.MeasurementUnitB\003\340A\002\022N\n" - + "\005scope\030\006 \001(\01627.google.analytics" - + ".admin.v1beta.CustomMetric.MetricScopeB\006\340A\002\340A\005\022e\n" - + "\026restricted_metric_type\030\010 \003(\0162@" - + ".google.analytics.admin.v1beta.CustomMetric.RestrictedMetricTypeB\003\340A\001\"\267\001\n" + + "\020measurement_unit\030\005 \001(\0162;.google.analyti" + + "cs.admin.v1beta.CustomMetric.MeasurementUnitB\003\340A\002\022N\n" + + "\005scope\030\006 \001(\01627.google.analyt" + + "ics.admin.v1beta.CustomMetric.MetricScopeB\006\340A\002\340A\005\022e\n" + + "\026restricted_metric_type\030\010 \003(" + + "\0162@.google.analytics.admin.v1beta.CustomMetric.RestrictedMetricTypeB\003\340A\001\"\267\001\n" + "\017MeasurementUnit\022 \n" + "\034MEASUREMENT_UNIT_UNSPECIFIED\020\000\022\014\n" + "\010STANDARD\020\001\022\014\n" @@ -376,15 +385,16 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\024RestrictedMetricType\022&\n" + "\"RESTRICTED_METRIC_TYPE_UNSPECIFIED\020\000\022\r\n" + "\tCOST_DATA\020\001\022\020\n" - + "\014REVENUE_DATA\020\002:d\352Aa\n" - + "*analyticsadmin.googleapis" - + ".com/CustomMetric\0223properties/{property}/customMetrics/{custom_metric}\"\260\004\n" + + "\014REVENUE_DATA\020\002:\201\001\352A~\n" + + "*analyticsadmin.google" + + "apis.com/CustomMetric\0223properties/{property}/customMetrics/{custom_metric}*\r" + + "customMetrics2\014customMetric\"\340\004\n" + "\025DataRetentionSettings\022\021\n" - + "\004name\030\001 \001(\tB\003\340A\003\022i\n" - + "\024event_data_retention\030\002 \001(\0162F.google.analy" - + "tics.admin.v1beta.DataRetentionSettings.RetentionDurationB\003\340A\002\022h\n" - + "\023user_data_retention\030\004 \001(\0162F.google.analytics.admin.v1b" - + "eta.DataRetentionSettings.RetentionDurationB\003\340A\002\022\'\n" + + "\004name\030\001 \001(\tB\003\340A\010\022i\n" + + "\024event_data_retention\030\002 \001(\0162F.google.analytics.ad" + + "min.v1beta.DataRetentionSettings.RetentionDurationB\003\340A\002\022h\n" + + "\023user_data_retention\030\004 \001(\0162F.google.analytics.admin.v1beta.Dat" + + "aRetentionSettings.RetentionDurationB\003\340A\002\022\'\n" + "\037reset_user_data_on_new_activity\030\003 \001(\010\"\236\001\n" + "\021RetentionDuration\022\"\n" + "\036RETENTION_DURATION_UNSPECIFIED\020\000\022\016\n\n" @@ -392,9 +402,9 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\017FOURTEEN_MONTHS\020\003\022\025\n" + "\021TWENTY_SIX_MONTHS\020\004\022\027\n" + "\023THIRTY_EIGHT_MONTHS\020\005\022\020\n" - + "\014FIFTY_MONTHS\020\006:e\352Ab\n" - + "3analyticsadmin.googleap" - + "is.com/DataRetentionSettings\022+properties/{property}/dataRetentionSettings*\252\004\n" + + "\014FIFTY_MONTHS\020\006:\224\001\352A\220\001\n" + + "3analyticsadmin.googleapis.com/DataRetentionSettings\022+properties/{pro" + + "perty}/dataRetentionSettings*\025dataRetentionSettings2\025dataRetentionSettings*\252\004\n" + "\020IndustryCategory\022!\n" + "\035INDUSTRY_CATEGORY_UNSPECIFIED\020\000\022\016\n\n" + "AUTOMOTIVE\020\001\022#\n" @@ -462,10 +472,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\026PROPERTY_TYPE_ORDINARY\020\001\022\035\n" + "\031PROPERTY_TYPE_SUBPROPERTY\020\002\022\030\n" + "\024PROPERTY_TYPE_ROLLUP\020\003B\311\001\n" - + "!com.google.analytics.admin.v1betaB\016ResourcesProtoP\001Z=cloud.goog" - + "le.com/go/analytics/admin/apiv1beta/adminpb;adminpb\352AR\n" - + "2marketingplatformadmin.googleapis.com/Organization\022\034organization" - + "s/{organization}b\006proto3" + + "!com.google.analytics.admin.v1betaB\016ResourcesProtoP\001Z=cloud.goo" + + "gle.com/go/analytics/admin/apiv1beta/adminpb;adminpb\352AR\n" + + "2marketingplatformadmin.googleapis.com/Organization\022\034organizatio" + + "ns/{organization}b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -599,7 +609,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_google_analytics_admin_v1beta_PropertySummary_descriptor, new java.lang.String[] { - "Property", "DisplayName", "PropertyType", "Parent", + "Property", "DisplayName", "PropertyType", "Parent", "CanEdit", }); internal_static_google_analytics_admin_v1beta_MeasurementProtocolSecret_descriptor = getDescriptor().getMessageType(8); diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/proto/google/analytics/admin/v1beta/access_report.proto b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/proto/google/analytics/admin/v1beta/access_report.proto index 38c25d7cbb94..b73ebc29d774 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/proto/google/analytics/admin/v1beta/access_report.proto +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/proto/google/analytics/admin/v1beta/access_report.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/proto/google/analytics/admin/v1beta/analytics_admin.proto b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/proto/google/analytics/admin/v1beta/analytics_admin.proto index 7f61587d964d..78ec8e40db36 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/proto/google/analytics/admin/v1beta/analytics_admin.proto +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/proto/google/analytics/admin/v1beta/analytics_admin.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -736,17 +736,17 @@ message GetAccountRequest { // Request message for ListAccounts RPC. message ListAccountsRequest { - // The maximum number of resources to return. The service may return + // Optional. The maximum number of resources to return. The service may return // fewer than this value, even if there are additional pages. // If unspecified, at most 50 resources will be returned. // The maximum value is 200; (higher values will be coerced to the maximum) - int32 page_size = 1; + int32 page_size = 1 [(google.api.field_behavior) = OPTIONAL]; - // A page token, received from a previous `ListAccounts` call. + // Optional. A page token, received from a previous `ListAccounts` call. // Provide this to retrieve the subsequent page. // When paginating, all other parameters provided to `ListAccounts` must // match the call that provided the page token. - string page_token = 2; + string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; // Whether to include soft-deleted (ie: "trashed") Accounts in the // results. Accounts can be inspected to determine whether they are deleted or @@ -840,17 +840,17 @@ message ListPropertiesRequest { // ``` string filter = 1 [(google.api.field_behavior) = REQUIRED]; - // The maximum number of resources to return. The service may return + // Optional. The maximum number of resources to return. The service may return // fewer than this value, even if there are additional pages. // If unspecified, at most 50 resources will be returned. // The maximum value is 200; (higher values will be coerced to the maximum) - int32 page_size = 2; + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; - // A page token, received from a previous `ListProperties` call. + // Optional. A page token, received from a previous `ListProperties` call. // Provide this to retrieve the subsequent page. // When paginating, all other parameters provided to `ListProperties` must // match the call that provided the page token. - string page_token = 3; + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; // Whether to include soft-deleted (ie: "trashed") Properties in the // results. Properties can be inspected to determine whether they are deleted @@ -944,17 +944,17 @@ message ListFirebaseLinksRequest { } ]; - // The maximum number of resources to return. The service may return + // Optional. The maximum number of resources to return. The service may return // fewer than this value, even if there are additional pages. // If unspecified, at most 50 resources will be returned. // The maximum value is 200; (higher values will be coerced to the maximum) - int32 page_size = 2; + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; - // A page token, received from a previous `ListFirebaseLinks` call. + // Optional. A page token, received from a previous `ListFirebaseLinks` call. // Provide this to retrieve the subsequent page. // When paginating, all other parameters provided to `ListFirebaseLinks` must // match the call that provided the page token. - string page_token = 3; + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; } // Response message for ListFirebaseLinks RPC @@ -1017,17 +1017,17 @@ message ListGoogleAdsLinksRequest { } ]; - // The maximum number of resources to return. + // Optional. The maximum number of resources to return. // If unspecified, at most 50 resources will be returned. // The maximum value is 200 (higher values will be coerced to the maximum). - int32 page_size = 2; + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; - // A page token, received from a previous `ListGoogleAdsLinks` call. + // Optional. A page token, received from a previous `ListGoogleAdsLinks` call. // Provide this to retrieve the subsequent page. // // When paginating, all other parameters provided to `ListGoogleAdsLinks` must // match the call that provided the page token. - string page_token = 3; + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; } // Response message for ListGoogleAdsLinks RPC. @@ -1056,17 +1056,17 @@ message GetDataSharingSettingsRequest { // Request message for ListAccountSummaries RPC. message ListAccountSummariesRequest { - // The maximum number of AccountSummary resources to return. The service may - // return fewer than this value, even if there are additional pages. - // If unspecified, at most 50 resources will be returned. - // The maximum value is 200; (higher values will be coerced to the maximum) - int32 page_size = 1; + // Optional. The maximum number of AccountSummary resources to return. The + // service may return fewer than this value, even if there are additional + // pages. If unspecified, at most 50 resources will be returned. The maximum + // value is 200; (higher values will be coerced to the maximum) + int32 page_size = 1 [(google.api.field_behavior) = OPTIONAL]; - // A page token, received from a previous `ListAccountSummaries` call. - // Provide this to retrieve the subsequent page. - // When paginating, all other parameters provided to `ListAccountSummaries` - // must match the call that provided the page token. - string page_token = 2; + // Optional. A page token, received from a previous `ListAccountSummaries` + // call. Provide this to retrieve the subsequent page. When paginating, all + // other parameters provided to `ListAccountSummaries` must match the call + // that provided the page token. + string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; } // Response message for ListAccountSummaries RPC. @@ -1244,16 +1244,17 @@ message ListMeasurementProtocolSecretsRequest { } ]; - // The maximum number of resources to return. + // Optional. The maximum number of resources to return. // If unspecified, at most 10 resources will be returned. // The maximum value is 10. Higher values will be coerced to the maximum. - int32 page_size = 2; + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; - // A page token, received from a previous `ListMeasurementProtocolSecrets` - // call. Provide this to retrieve the subsequent page. When paginating, all - // other parameters provided to `ListMeasurementProtocolSecrets` must match - // the call that provided the page token. - string page_token = 3; + // Optional. A page token, received from a previous + // `ListMeasurementProtocolSecrets` call. Provide this to retrieve the + // subsequent page. When paginating, all other parameters provided to + // `ListMeasurementProtocolSecrets` must match the call that provided the page + // token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; } // Response message for ListMeasurementProtocolSecret RPC @@ -1332,16 +1333,16 @@ message ListConversionEventsRequest { } ]; - // The maximum number of resources to return. + // Optional. The maximum number of resources to return. // If unspecified, at most 50 resources will be returned. // The maximum value is 200; (higher values will be coerced to the maximum) - int32 page_size = 2; + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; - // A page token, received from a previous `ListConversionEvents` call. - // Provide this to retrieve the subsequent page. - // When paginating, all other parameters provided to `ListConversionEvents` - // must match the call that provided the page token. - string page_token = 3; + // Optional. A page token, received from a previous `ListConversionEvents` + // call. Provide this to retrieve the subsequent page. When paginating, all + // other parameters provided to `ListConversionEvents` must match the call + // that provided the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; } // Response message for ListConversionEvents RPC. @@ -1420,16 +1421,16 @@ message ListKeyEventsRequest { } ]; - // The maximum number of resources to return. + // Optional. The maximum number of resources to return. // If unspecified, at most 50 resources will be returned. // The maximum value is 200; (higher values will be coerced to the maximum) - int32 page_size = 2; + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; - // A page token, received from a previous `ListKeyEvents` call. + // Optional. A page token, received from a previous `ListKeyEvents` call. // Provide this to retrieve the subsequent page. // When paginating, all other parameters provided to `ListKeyEvents` // must match the call that provided the page token. - string page_token = 3; + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; } // Response message for ListKeyEvents RPC. @@ -1478,17 +1479,17 @@ message ListCustomDimensionsRequest { } ]; - // The maximum number of resources to return. + // Optional. The maximum number of resources to return. // If unspecified, at most 50 resources will be returned. // The maximum value is 200 (higher values will be coerced to the maximum). - int32 page_size = 2; + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; - // A page token, received from a previous `ListCustomDimensions` call. - // Provide this to retrieve the subsequent page. + // Optional. A page token, received from a previous `ListCustomDimensions` + // call. Provide this to retrieve the subsequent page. // // When paginating, all other parameters provided to `ListCustomDimensions` // must match the call that provided the page token. - string page_token = 3; + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; } // Response message for ListCustomDimensions RPC. diff --git a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/proto/google/analytics/admin/v1beta/resources.proto b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/proto/google/analytics/admin/v1beta/resources.proto index 7908fa764755..58fa6f965f34 100644 --- a/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/proto/google/analytics/admin/v1beta/resources.proto +++ b/java-analytics-admin/proto-google-analytics-admin-v1beta/src/main/proto/google/analytics/admin/v1beta/resources.proto @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -225,12 +225,14 @@ message Account { option (google.api.resource) = { type: "analyticsadmin.googleapis.com/Account" pattern: "accounts/{account}" + plural: "accounts" + singular: "account" }; - // Output only. Resource name of this account. + // Identifier. Resource name of this account. // Format: accounts/{account} // Example: "accounts/100" - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; // Output only. Time when this account was originally created. google.protobuf.Timestamp create_time = 2 @@ -266,12 +268,14 @@ message Property { option (google.api.resource) = { type: "analyticsadmin.googleapis.com/Property" pattern: "properties/{property}" + plural: "properties" + singular: "property" }; - // Output only. Resource name of this property. + // Identifier. Resource name of this property. // Format: properties/{property_id} // Example: "properties/1000" - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; // Immutable. The property type for this Property resource. When creating a // property, if the type is "PROPERTY_TYPE_UNSPECIFIED", then @@ -351,6 +355,8 @@ message DataStream { option (google.api.resource) = { type: "analyticsadmin.googleapis.com/DataStream" pattern: "properties/{property}/dataStreams/{data_stream}" + plural: "dataStreams" + singular: "dataStream" }; // Data specific to web streams. @@ -425,10 +431,10 @@ message DataStream { IosAppStreamData ios_app_stream_data = 8; } - // Output only. Resource name of this Data Stream. + // Identifier. Resource name of this Data Stream. // Format: properties/{property_id}/dataStreams/{stream_id} // Example: "properties/1000/dataStreams/2000" - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; // Required. Immutable. The type of this DataStream resource. DataStreamType type = 2 [ @@ -457,10 +463,12 @@ message FirebaseLink { option (google.api.resource) = { type: "analyticsadmin.googleapis.com/FirebaseLink" pattern: "properties/{property}/firebaseLinks/{firebase_link}" + plural: "firebaseLinks" + singular: "firebaseLink" }; - // Output only. Example format: properties/1234/firebaseLinks/5678 - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + // Identifier. Example format: properties/1234/firebaseLinks/5678 + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; // Immutable. Firebase project resource name. When creating a FirebaseLink, // you may provide this resource name using either a project number or project @@ -481,13 +489,15 @@ message GoogleAdsLink { option (google.api.resource) = { type: "analyticsadmin.googleapis.com/GoogleAdsLink" pattern: "properties/{property}/googleAdsLinks/{google_ads_link}" + plural: "googleAdsLinks" + singular: "googleAdsLink" }; - // Output only. Format: + // Identifier. Format: // properties/{propertyId}/googleAdsLinks/{googleAdsLinkId} // // Note: googleAdsLinkId is not the Google Ads customer ID. - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; // Immutable. Google Ads customer ID. string customer_id = 3 [(google.api.field_behavior) = IMMUTABLE]; @@ -520,30 +530,51 @@ message DataSharingSettings { option (google.api.resource) = { type: "analyticsadmin.googleapis.com/DataSharingSettings" pattern: "accounts/{account}/dataSharingSettings" + plural: "dataSharingSettings" + singular: "dataSharingSettings" }; - // Output only. Resource name. + // Identifier. Resource name. // Format: accounts/{account}/dataSharingSettings // Example: "accounts/1000/dataSharingSettings" - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; - // Allows Google support to access the data in order to help troubleshoot - // issues. + // Allows Google technical support representatives access to your Google + // Analytics data and account when necessary to provide service and find + // solutions to technical issues. + // + // This field maps to the "Technical support" field in the Google Analytics + // Admin UI. bool sharing_with_google_support_enabled = 2; - // Allows Google sales teams that are assigned to the customer to access the - // data in order to suggest configuration changes to improve results. - // Sales team restrictions still apply when enabled. + // Allows Google access to your Google Analytics account data, including + // account usage and configuration data, product spending, and users + // associated with your Google Analytics account, so that Google can help you + // make the most of Google products, providing you with insights, offers, + // recommendations, and optimization tips across Google Analytics and other + // Google products for business. + // + // This field maps to the "Recommendations for your business" field in the + // Google Analytics Admin UI. bool sharing_with_google_assigned_sales_enabled = 3; - // Allows any of Google sales to access the data in order to suggest - // configuration changes to improve results. - bool sharing_with_google_any_sales_enabled = 4; + // Deprecated. This field is no longer used and always returns false. + bool sharing_with_google_any_sales_enabled = 4 [deprecated = true]; // Allows Google to use the data to improve other Google products or services. + // + // This fields maps to the "Google products & services" field in the Google + // Analytics Admin UI. bool sharing_with_google_products_enabled = 5; - // Allows Google to share the data anonymously in aggregate form with others. + // Enable features like predictions, modeled data, and benchmarking that can + // provide you with richer business insights when you contribute aggregated + // measurement data. The data you share (including information about the + // property from which it is shared) is aggregated and de-identified before + // being used to generate business insights. + // + // This field maps to the "Modeling contributions & business insights" field + // in the Google Analytics Admin UI. bool sharing_with_others_enabled = 6; } @@ -553,12 +584,14 @@ message AccountSummary { option (google.api.resource) = { type: "analyticsadmin.googleapis.com/AccountSummary" pattern: "accountSummaries/{account_summary}" + plural: "accountSummaries" + singular: "accountSummary" }; - // Resource name for this account summary. + // Identifier. Resource name for this account summary. // Format: accountSummaries/{account_id} // Example: "accountSummaries/1000" - string name = 1; + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; // Resource name of account referred to by this account summary // Format: accounts/{account_id} @@ -595,6 +628,10 @@ message PropertySummary { // Format: accounts/{account}, properties/{property} // Example: "accounts/100", "properties/200" string parent = 4; + + // If true, then the user has a Google Analytics role that permits them to + // edit the property. + bool can_edit = 5; } // A secret value used for sending hits to Measurement Protocol. @@ -602,12 +639,14 @@ message MeasurementProtocolSecret { option (google.api.resource) = { type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" pattern: "properties/{property}/dataStreams/{data_stream}/measurementProtocolSecrets/{measurement_protocol_secret}" + plural: "measurementProtocolSecrets" + singular: "measurementProtocolSecret" }; - // Output only. Resource name of this secret. This secret may be a child of - // any type of stream. Format: + // Identifier. Resource name of this secret. This secret may be a child of any + // type of stream. Format: // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret} - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; // Required. Human-readable display name for this secret. string display_name = 2 [(google.api.field_behavior) = REQUIRED]; @@ -698,6 +737,8 @@ message ConversionEvent { option (google.api.resource) = { type: "analyticsadmin.googleapis.com/ConversionEvent" pattern: "properties/{property}/conversionEvents/{conversion_event}" + plural: "conversionEvents" + singular: "conversionEvent" }; // Defines a default value/currency for a conversion event. Both value and @@ -728,9 +769,9 @@ message ConversionEvent { ONCE_PER_SESSION = 2; } - // Output only. Resource name of this conversion event. + // Identifier. Resource name of this conversion event. // Format: properties/{property}/conversionEvents/{conversion_event} - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; // Immutable. The event name for this conversion event. // Examples: 'click', 'purchase' @@ -837,6 +878,8 @@ message CustomDimension { option (google.api.resource) = { type: "analyticsadmin.googleapis.com/CustomDimension" pattern: "properties/{property}/customDimensions/{custom_dimension}" + plural: "customDimensions" + singular: "customDimension" }; // Valid values for the scope of this dimension. @@ -854,9 +897,9 @@ message CustomDimension { ITEM = 3; } - // Output only. Resource name for this CustomDimension resource. + // Identifier. Resource name for this CustomDimension resource. // Format: properties/{property}/customDimensions/{customDimension} - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; // Required. Immutable. Tagging parameter name for this custom dimension. // @@ -905,6 +948,8 @@ message CustomMetric { option (google.api.resource) = { type: "analyticsadmin.googleapis.com/CustomMetric" pattern: "properties/{property}/customMetrics/{custom_metric}" + plural: "customMetrics" + singular: "customMetric" }; // Possible types of representing the custom metric's value. @@ -968,9 +1013,9 @@ message CustomMetric { REVENUE_DATA = 2; } - // Output only. Resource name for this CustomMetric resource. + // Identifier. Resource name for this CustomMetric resource. // Format: properties/{property}/customMetrics/{customMetric} - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; // Required. Immutable. Tagging name for this custom metric. // @@ -1016,6 +1061,8 @@ message DataRetentionSettings { option (google.api.resource) = { type: "analyticsadmin.googleapis.com/DataRetentionSettings" pattern: "properties/{property}/dataRetentionSettings" + plural: "dataRetentionSettings" + singular: "dataRetentionSettings" }; // Valid values for the data retention duration. @@ -1042,9 +1089,9 @@ message DataRetentionSettings { FIFTY_MONTHS = 6; } - // Output only. Resource name for this DataRetentionSetting resource. + // Identifier. Resource name for this DataRetentionSetting resource. // Format: properties/{property}/dataRetentionSettings - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; // Required. The length of time that event-level data is retained. RetentionDuration event_data_retention = 2 diff --git a/java-analytics-admin/samples/snippets/generated/com/google/analytics/admin/v1alpha/analyticsadminservice/updatereportingidentitysettings/AsyncUpdateReportingIdentitySettings.java b/java-analytics-admin/samples/snippets/generated/com/google/analytics/admin/v1alpha/analyticsadminservice/updatereportingidentitysettings/AsyncUpdateReportingIdentitySettings.java new file mode 100644 index 000000000000..fa45b3832e93 --- /dev/null +++ b/java-analytics-admin/samples/snippets/generated/com/google/analytics/admin/v1alpha/analyticsadminservice/updatereportingidentitysettings/AsyncUpdateReportingIdentitySettings.java @@ -0,0 +1,52 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.analytics.admin.v1alpha.samples; + +// [START analyticsadmin_v1alpha_generated_AnalyticsAdminService_UpdateReportingIdentitySettings_async] +import com.google.analytics.admin.v1alpha.AnalyticsAdminServiceClient; +import com.google.analytics.admin.v1alpha.ReportingIdentitySettings; +import com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest; +import com.google.api.core.ApiFuture; +import com.google.protobuf.FieldMask; + +public class AsyncUpdateReportingIdentitySettings { + + public static void main(String[] args) throws Exception { + asyncUpdateReportingIdentitySettings(); + } + + public static void asyncUpdateReportingIdentitySettings() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AnalyticsAdminServiceClient analyticsAdminServiceClient = + AnalyticsAdminServiceClient.create()) { + UpdateReportingIdentitySettingsRequest request = + UpdateReportingIdentitySettingsRequest.newBuilder() + .setReportingIdentitySettings(ReportingIdentitySettings.newBuilder().build()) + .setUpdateMask(FieldMask.newBuilder().build()) + .build(); + ApiFuture future = + analyticsAdminServiceClient.updateReportingIdentitySettingsCallable().futureCall(request); + // Do something. + ReportingIdentitySettings response = future.get(); + } + } +} +// [END analyticsadmin_v1alpha_generated_AnalyticsAdminService_UpdateReportingIdentitySettings_async] diff --git a/java-analytics-admin/samples/snippets/generated/com/google/analytics/admin/v1alpha/analyticsadminservice/updatereportingidentitysettings/SyncUpdateReportingIdentitySettings.java b/java-analytics-admin/samples/snippets/generated/com/google/analytics/admin/v1alpha/analyticsadminservice/updatereportingidentitysettings/SyncUpdateReportingIdentitySettings.java new file mode 100644 index 000000000000..4ba3da6dc896 --- /dev/null +++ b/java-analytics-admin/samples/snippets/generated/com/google/analytics/admin/v1alpha/analyticsadminservice/updatereportingidentitysettings/SyncUpdateReportingIdentitySettings.java @@ -0,0 +1,49 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.analytics.admin.v1alpha.samples; + +// [START analyticsadmin_v1alpha_generated_AnalyticsAdminService_UpdateReportingIdentitySettings_sync] +import com.google.analytics.admin.v1alpha.AnalyticsAdminServiceClient; +import com.google.analytics.admin.v1alpha.ReportingIdentitySettings; +import com.google.analytics.admin.v1alpha.UpdateReportingIdentitySettingsRequest; +import com.google.protobuf.FieldMask; + +public class SyncUpdateReportingIdentitySettings { + + public static void main(String[] args) throws Exception { + syncUpdateReportingIdentitySettings(); + } + + public static void syncUpdateReportingIdentitySettings() throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AnalyticsAdminServiceClient analyticsAdminServiceClient = + AnalyticsAdminServiceClient.create()) { + UpdateReportingIdentitySettingsRequest request = + UpdateReportingIdentitySettingsRequest.newBuilder() + .setReportingIdentitySettings(ReportingIdentitySettings.newBuilder().build()) + .setUpdateMask(FieldMask.newBuilder().build()) + .build(); + ReportingIdentitySettings response = + analyticsAdminServiceClient.updateReportingIdentitySettings(request); + } + } +} +// [END analyticsadmin_v1alpha_generated_AnalyticsAdminService_UpdateReportingIdentitySettings_sync] diff --git a/java-analytics-admin/samples/snippets/generated/com/google/analytics/admin/v1alpha/analyticsadminservice/updatereportingidentitysettings/SyncUpdateReportingIdentitySettingsReportingidentitysettingsFieldmask.java b/java-analytics-admin/samples/snippets/generated/com/google/analytics/admin/v1alpha/analyticsadminservice/updatereportingidentitysettings/SyncUpdateReportingIdentitySettingsReportingidentitysettingsFieldmask.java new file mode 100644 index 000000000000..d50bfb614ad2 --- /dev/null +++ b/java-analytics-admin/samples/snippets/generated/com/google/analytics/admin/v1alpha/analyticsadminservice/updatereportingidentitysettings/SyncUpdateReportingIdentitySettingsReportingidentitysettingsFieldmask.java @@ -0,0 +1,48 @@ +/* + * Copyright 2026 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 + * + * 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. + */ + +package com.google.analytics.admin.v1alpha.samples; + +// [START analyticsadmin_v1alpha_generated_AnalyticsAdminService_UpdateReportingIdentitySettings_ReportingidentitysettingsFieldmask_sync] +import com.google.analytics.admin.v1alpha.AnalyticsAdminServiceClient; +import com.google.analytics.admin.v1alpha.ReportingIdentitySettings; +import com.google.protobuf.FieldMask; + +public class SyncUpdateReportingIdentitySettingsReportingidentitysettingsFieldmask { + + public static void main(String[] args) throws Exception { + syncUpdateReportingIdentitySettingsReportingidentitysettingsFieldmask(); + } + + public static void syncUpdateReportingIdentitySettingsReportingidentitysettingsFieldmask() + throws Exception { + // This snippet has been automatically generated and should be regarded as a code template only. + // It will require modifications to work: + // - It may require correct/in-range values for request initialization. + // - It may require specifying regional endpoints when creating the service client as shown in + // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library + try (AnalyticsAdminServiceClient analyticsAdminServiceClient = + AnalyticsAdminServiceClient.create()) { + ReportingIdentitySettings reportingIdentitySettings = + ReportingIdentitySettings.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + ReportingIdentitySettings response = + analyticsAdminServiceClient.updateReportingIdentitySettings( + reportingIdentitySettings, updateMask); + } + } +} +// [END analyticsadmin_v1alpha_generated_AnalyticsAdminService_UpdateReportingIdentitySettings_ReportingidentitysettingsFieldmask_sync] diff --git a/java-analytics-data/.OwlBot-hermetic.yaml b/java-analytics-data/.OwlBot-hermetic.yaml deleted file mode 100644 index 01c77325e63d..000000000000 --- a/java-analytics-data/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-analytics-data/grpc-google-.*/src" -- "/java-analytics-data/proto-google-.*/src" -- "/java-analytics-data/google-.*/src" -- "/java-analytics-data/samples/snippets/generated" - -deep-preserve-regex: - - "/.*google-.*/src/main/java/.*/stub/Version.java" - -deep-copy-regex: -- source: "/google/analytics/data/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-analytics-data/$1/proto-google-analytics-data-$1/src" -- source: "/google/analytics/data/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-analytics-data/$1/grpc-google-analytics-data-$1/src" -- source: "/google/analytics/data/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-analytics-data/$1/google-analytics-data/src" -- source: "/google/analytics/data/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-analytics-data/$1/samples/snippets/generated" - -api-name: analyticsdata diff --git a/java-analytics-data/.repo-metadata.json b/java-analytics-data/.repo-metadata.json index 146bcb9c1121..fdf42f5433a4 100644 --- a/java-analytics-data/.repo-metadata.json +++ b/java-analytics-data/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "provides programmatic methods to access report data in Google Analytics App+Web properties.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-analytics-data/latest/overview", "release_level": "preview", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-analytics-data", diff --git a/java-analytics-data/google-analytics-data-bom/pom.xml b/java-analytics-data/google-analytics-data-bom/pom.xml index 063ae7cef0c5..cae0f33de6c0 100644 --- a/java-analytics-data/google-analytics-data-bom/pom.xml +++ b/java-analytics-data/google-analytics-data-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.analytics google-analytics-data-bom - 0.104.0 + 0.105.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.analytics google-analytics-data - 0.104.0 + 0.105.0 com.google.api.grpc grpc-google-analytics-data-v1beta - 0.104.0 + 0.105.0 com.google.api.grpc grpc-google-analytics-data-v1alpha - 0.104.0 + 0.105.0 com.google.api.grpc proto-google-analytics-data-v1beta - 0.104.0 + 0.105.0 com.google.api.grpc proto-google-analytics-data-v1alpha - 0.104.0 + 0.105.0
diff --git a/java-analytics-data/google-analytics-data/pom.xml b/java-analytics-data/google-analytics-data/pom.xml index ecfac3317998..9f70f50e3a0e 100644 --- a/java-analytics-data/google-analytics-data/pom.xml +++ b/java-analytics-data/google-analytics-data/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.analytics google-analytics-data - 0.104.0 + 0.105.0 jar Google Analytics Data provides programmatic methods to access report data in Google Analytics App+Web properties. com.google.analytics google-analytics-data-parent - 0.104.0 + 0.105.0 google-analytics-data diff --git a/java-analytics-data/google-analytics-data/src/main/java/com/google/analytics/data/v1alpha/stub/Version.java b/java-analytics-data/google-analytics-data/src/main/java/com/google/analytics/data/v1alpha/stub/Version.java index 04d758d410cd..b0559675556a 100644 --- a/java-analytics-data/google-analytics-data/src/main/java/com/google/analytics/data/v1alpha/stub/Version.java +++ b/java-analytics-data/google-analytics-data/src/main/java/com/google/analytics/data/v1alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-analytics-data:current} - static final String VERSION = "0.104.0"; + static final String VERSION = "0.105.0"; // {x-version-update-end} } diff --git a/java-analytics-data/google-analytics-data/src/main/java/com/google/analytics/data/v1beta/stub/Version.java b/java-analytics-data/google-analytics-data/src/main/java/com/google/analytics/data/v1beta/stub/Version.java index 30e10722d3a3..23e97b02cd10 100644 --- a/java-analytics-data/google-analytics-data/src/main/java/com/google/analytics/data/v1beta/stub/Version.java +++ b/java-analytics-data/google-analytics-data/src/main/java/com/google/analytics/data/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-analytics-data:current} - static final String VERSION = "0.104.0"; + static final String VERSION = "0.105.0"; // {x-version-update-end} } diff --git a/java-analytics-data/grpc-google-analytics-data-v1alpha/pom.xml b/java-analytics-data/grpc-google-analytics-data-v1alpha/pom.xml index 4029eff5f59e..47352d3cc479 100644 --- a/java-analytics-data/grpc-google-analytics-data-v1alpha/pom.xml +++ b/java-analytics-data/grpc-google-analytics-data-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-analytics-data-v1alpha - 0.104.0 + 0.105.0 grpc-google-analytics-data-v1alpha GRPC library for google-analytics-data com.google.analytics google-analytics-data-parent - 0.104.0 + 0.105.0 diff --git a/java-analytics-data/grpc-google-analytics-data-v1beta/pom.xml b/java-analytics-data/grpc-google-analytics-data-v1beta/pom.xml index 86ccd8ba7b3d..5abc3af396ee 100644 --- a/java-analytics-data/grpc-google-analytics-data-v1beta/pom.xml +++ b/java-analytics-data/grpc-google-analytics-data-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-analytics-data-v1beta - 0.104.0 + 0.105.0 grpc-google-analytics-data-v1beta GRPC library for grpc-google-analytics-data-v1beta com.google.analytics google-analytics-data-parent - 0.104.0 + 0.105.0 diff --git a/java-analytics-data/pom.xml b/java-analytics-data/pom.xml index 33cb3b4403d7..c59e35f31240 100644 --- a/java-analytics-data/pom.xml +++ b/java-analytics-data/pom.xml @@ -4,7 +4,7 @@ com.google.analytics google-analytics-data-parent pom - 0.104.0 + 0.105.0 Google Analytics Data Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.analytics google-analytics-data - 0.104.0 + 0.105.0 com.google.api.grpc proto-google-analytics-data-v1alpha - 0.104.0 + 0.105.0 com.google.api.grpc grpc-google-analytics-data-v1alpha - 0.104.0 + 0.105.0 com.google.api.grpc proto-google-analytics-data-v1beta - 0.104.0 + 0.105.0 com.google.api.grpc grpc-google-analytics-data-v1beta - 0.104.0 + 0.105.0 diff --git a/java-analytics-data/proto-google-analytics-data-v1alpha/pom.xml b/java-analytics-data/proto-google-analytics-data-v1alpha/pom.xml index 5ca1392d3f02..5fea44b233f4 100644 --- a/java-analytics-data/proto-google-analytics-data-v1alpha/pom.xml +++ b/java-analytics-data/proto-google-analytics-data-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-analytics-data-v1alpha - 0.104.0 + 0.105.0 proto-google-analytics-data-v1alpha Proto library for google-analytics-data com.google.analytics google-analytics-data-parent - 0.104.0 + 0.105.0 diff --git a/java-analytics-data/proto-google-analytics-data-v1beta/pom.xml b/java-analytics-data/proto-google-analytics-data-v1beta/pom.xml index 477930ed428a..79bb1f764fcb 100644 --- a/java-analytics-data/proto-google-analytics-data-v1beta/pom.xml +++ b/java-analytics-data/proto-google-analytics-data-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-analytics-data-v1beta - 0.104.0 + 0.105.0 proto-google-analytics-data-v1beta PROTO library for proto-google-analytics-data-v1beta com.google.analytics google-analytics-data-parent - 0.104.0 + 0.105.0 diff --git a/java-analyticshub/.OwlBot-hermetic.yaml b/java-analyticshub/.OwlBot-hermetic.yaml deleted file mode 100644 index 52b3e48efc60..000000000000 --- a/java-analyticshub/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,36 +0,0 @@ - -# 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. - -deep-remove-regex: -- "/java-analyticshub/grpc-google-.*/src" -- "/java-analyticshub/proto-google-.*/src" -- "/java-analyticshub/google-.*/src" -- "/java-analyticshub/samples/snippets/generated" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/cloud/bigquery/analyticshub/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-analyticshub/$1/proto-google-cloud-analyticshub-$1/src" -- source: "/google/cloud/bigquery/analyticshub/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-analyticshub/$1/grpc-google-cloud-analyticshub-$1/src" -- source: "/google/cloud/bigquery/analyticshub/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-analyticshub/$1/google-cloud-analyticshub/src" -- source: "/google/cloud/bigquery/analyticshub/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-analyticshub/$1/samples/snippets/generated" - -api-name: analyticshub diff --git a/java-analyticshub/.repo-metadata.json b/java-analyticshub/.repo-metadata.json index 1dd97f7a8c2c..42cf09465190 100644 --- a/java-analyticshub/.repo-metadata.json +++ b/java-analyticshub/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "TBD", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-analyticshub/latest/overview", "release_level": "stable", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-analyticshub", diff --git a/java-analyticshub/google-cloud-analyticshub-bom/pom.xml b/java-analyticshub/google-cloud-analyticshub-bom/pom.xml index 9a881bc81d44..f8f066c2cef4 100644 --- a/java-analyticshub/google-cloud-analyticshub-bom/pom.xml +++ b/java-analyticshub/google-cloud-analyticshub-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-analyticshub-bom - 0.90.0 + 0.91.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-analyticshub - 0.90.0 + 0.91.0 com.google.api.grpc grpc-google-cloud-analyticshub-v1 - 0.90.0 + 0.91.0 com.google.api.grpc proto-google-cloud-analyticshub-v1 - 0.90.0 + 0.91.0 diff --git a/java-analyticshub/google-cloud-analyticshub/pom.xml b/java-analyticshub/google-cloud-analyticshub/pom.xml index dd55a37f93c7..6db141ffc799 100644 --- a/java-analyticshub/google-cloud-analyticshub/pom.xml +++ b/java-analyticshub/google-cloud-analyticshub/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-analyticshub - 0.90.0 + 0.91.0 jar Google Analytics Hub API Analytics Hub API TBD com.google.cloud google-cloud-analyticshub-parent - 0.90.0 + 0.91.0 google-cloud-analyticshub diff --git a/java-analyticshub/google-cloud-analyticshub/src/main/java/com/google/cloud/bigquery/analyticshub/v1/stub/Version.java b/java-analyticshub/google-cloud-analyticshub/src/main/java/com/google/cloud/bigquery/analyticshub/v1/stub/Version.java index 2e395e60a7ce..bcbb28557bc5 100644 --- a/java-analyticshub/google-cloud-analyticshub/src/main/java/com/google/cloud/bigquery/analyticshub/v1/stub/Version.java +++ b/java-analyticshub/google-cloud-analyticshub/src/main/java/com/google/cloud/bigquery/analyticshub/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-analyticshub:current} - static final String VERSION = "0.90.0"; + static final String VERSION = "0.91.0"; // {x-version-update-end} } diff --git a/java-analyticshub/grpc-google-cloud-analyticshub-v1/pom.xml b/java-analyticshub/grpc-google-cloud-analyticshub-v1/pom.xml index b475bbce7795..0182cddea684 100644 --- a/java-analyticshub/grpc-google-cloud-analyticshub-v1/pom.xml +++ b/java-analyticshub/grpc-google-cloud-analyticshub-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-analyticshub-v1 - 0.90.0 + 0.91.0 grpc-google-cloud-analyticshub-v1 GRPC library for google-cloud-analyticshub com.google.cloud google-cloud-analyticshub-parent - 0.90.0 + 0.91.0 diff --git a/java-analyticshub/pom.xml b/java-analyticshub/pom.xml index 504092ac84ed..4146896d0a85 100644 --- a/java-analyticshub/pom.xml +++ b/java-analyticshub/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-analyticshub-parent pom - 0.90.0 + 0.91.0 Google Analytics Hub API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-analyticshub - 0.90.0 + 0.91.0 com.google.api.grpc grpc-google-cloud-analyticshub-v1 - 0.90.0 + 0.91.0 com.google.api.grpc proto-google-cloud-analyticshub-v1 - 0.90.0 + 0.91.0 diff --git a/java-analyticshub/proto-google-cloud-analyticshub-v1/pom.xml b/java-analyticshub/proto-google-cloud-analyticshub-v1/pom.xml index 64821c2aad87..611213e0833e 100644 --- a/java-analyticshub/proto-google-cloud-analyticshub-v1/pom.xml +++ b/java-analyticshub/proto-google-cloud-analyticshub-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-analyticshub-v1 - 0.90.0 + 0.91.0 proto-google-cloud-analyticshub-v1 Proto library for google-cloud-analyticshub com.google.cloud google-cloud-analyticshub-parent - 0.90.0 + 0.91.0 diff --git a/java-api-gateway/.OwlBot-hermetic.yaml b/java-api-gateway/.OwlBot-hermetic.yaml deleted file mode 100644 index 410f47678877..000000000000 --- a/java-api-gateway/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-api-gateway/samples/snippets/generated" -- "/java-api-gateway/grpc-google-.*/src" -- "/java-api-gateway/proto-google-.*/src" -- "/java-api-gateway/google-.*/src" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/cloud/apigateway/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-api-gateway/$1/proto-google-cloud-api-gateway-$1/src" -- source: "/google/cloud/apigateway/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-api-gateway/$1/grpc-google-cloud-api-gateway-$1/src" -- source: "/google/cloud/apigateway/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-api-gateway/$1/google-cloud-api-gateway/src" -- source: "/google/cloud/apigateway/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-api-gateway/$1/samples/snippets/generated" - -api-name: apigateway diff --git a/java-api-gateway/.repo-metadata.json b/java-api-gateway/.repo-metadata.json index 48b66cd01701..f9c4c9ab4535 100644 --- a/java-api-gateway/.repo-metadata.json +++ b/java-api-gateway/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "enables you to provide secure access to your backend services through a well-defined REST API that is consistent across all of your services, regardless of the service implementation. Clients consume your REST APIS to implement standalone apps for a mobile device or tablet, through apps running in a browser, or through any other type of app that can make a request to an HTTP endpoint.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-api-gateway/latest/overview", "release_level": "stable", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-api-gateway", diff --git a/java-api-gateway/google-cloud-api-gateway-bom/pom.xml b/java-api-gateway/google-cloud-api-gateway-bom/pom.xml index c4dd31d4e8aa..d6929640a0d5 100644 --- a/java-api-gateway/google-cloud-api-gateway-bom/pom.xml +++ b/java-api-gateway/google-cloud-api-gateway-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-api-gateway-bom - 2.93.0 + 2.94.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-api-gateway - 2.93.0 + 2.94.0 com.google.api.grpc grpc-google-cloud-api-gateway-v1 - 2.93.0 + 2.94.0 com.google.api.grpc proto-google-cloud-api-gateway-v1 - 2.93.0 + 2.94.0 diff --git a/java-api-gateway/google-cloud-api-gateway/pom.xml b/java-api-gateway/google-cloud-api-gateway/pom.xml index 0c651323d5c6..48f49165b5ec 100644 --- a/java-api-gateway/google-cloud-api-gateway/pom.xml +++ b/java-api-gateway/google-cloud-api-gateway/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-api-gateway - 2.93.0 + 2.94.0 jar Google API Gateway API Gateway enables you to provide secure access to your backend services through a well-defined REST API that is consistent across all of your services, regardless of the service implementation. Clients consume your REST APIS to implement standalone apps for a mobile device or tablet, through apps running in a browser, or through any other type of app that can make a request to an HTTP endpoint. com.google.cloud google-cloud-api-gateway-parent - 2.93.0 + 2.94.0 google-cloud-api-gateway diff --git a/java-api-gateway/google-cloud-api-gateway/src/main/java/com/google/cloud/apigateway/v1/stub/Version.java b/java-api-gateway/google-cloud-api-gateway/src/main/java/com/google/cloud/apigateway/v1/stub/Version.java index 4465f5cdbca4..b62054a109d2 100644 --- a/java-api-gateway/google-cloud-api-gateway/src/main/java/com/google/cloud/apigateway/v1/stub/Version.java +++ b/java-api-gateway/google-cloud-api-gateway/src/main/java/com/google/cloud/apigateway/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-api-gateway:current} - static final String VERSION = "2.93.0"; + static final String VERSION = "2.94.0"; // {x-version-update-end} } diff --git a/java-api-gateway/grpc-google-cloud-api-gateway-v1/pom.xml b/java-api-gateway/grpc-google-cloud-api-gateway-v1/pom.xml index 710622c204a9..011d3112b6cc 100644 --- a/java-api-gateway/grpc-google-cloud-api-gateway-v1/pom.xml +++ b/java-api-gateway/grpc-google-cloud-api-gateway-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-api-gateway-v1 - 2.93.0 + 2.94.0 grpc-google-cloud-api-gateway-v1 GRPC library for google-cloud-api-gateway com.google.cloud google-cloud-api-gateway-parent - 2.93.0 + 2.94.0 diff --git a/java-api-gateway/pom.xml b/java-api-gateway/pom.xml index ce99f3297072..7cb16aa6b707 100644 --- a/java-api-gateway/pom.xml +++ b/java-api-gateway/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-api-gateway-parent pom - 2.93.0 + 2.94.0 Google API Gateway Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-api-gateway - 2.93.0 + 2.94.0 com.google.api.grpc grpc-google-cloud-api-gateway-v1 - 2.93.0 + 2.94.0 com.google.api.grpc proto-google-cloud-api-gateway-v1 - 2.93.0 + 2.94.0 diff --git a/java-api-gateway/proto-google-cloud-api-gateway-v1/pom.xml b/java-api-gateway/proto-google-cloud-api-gateway-v1/pom.xml index a5d94cec9a53..6811b10d149e 100644 --- a/java-api-gateway/proto-google-cloud-api-gateway-v1/pom.xml +++ b/java-api-gateway/proto-google-cloud-api-gateway-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-api-gateway-v1 - 2.93.0 + 2.94.0 proto-google-cloud-api-gateway-v1 Proto library for google-cloud-api-gateway com.google.cloud google-cloud-api-gateway-parent - 2.93.0 + 2.94.0 diff --git a/java-apigee-connect/.OwlBot-hermetic.yaml b/java-apigee-connect/.OwlBot-hermetic.yaml deleted file mode 100644 index c5d378822b26..000000000000 --- a/java-apigee-connect/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-apigee-connect/samples/snippets/generated" -- "/java-apigee-connect/grpc-google-.*/src" -- "/java-apigee-connect/proto-google-.*/src" -- "/java-apigee-connect/google-.*/src" - -deep-preserve-regex: - - "/.*google-.*/src/main/java/.*/stub/Version.java" - -deep-copy-regex: -- source: "/google/cloud/apigeeconnect/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-apigee-connect/$1/proto-google-cloud-apigee-connect-$1/src" -- source: "/google/cloud/apigeeconnect/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-apigee-connect/$1/grpc-google-cloud-apigee-connect-$1/src" -- source: "/google/cloud/apigeeconnect/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-apigee-connect/$1/google-cloud-apigee-connect/src" -- source: "/google/cloud/apigeeconnect/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-apigee-connect/$1/samples/snippets/generated" - -api-name: apigeeconnect diff --git a/java-apigee-connect/.repo-metadata.json b/java-apigee-connect/.repo-metadata.json index bd9a7e0d6ced..3bface76c5f7 100644 --- a/java-apigee-connect/.repo-metadata.json +++ b/java-apigee-connect/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "allows the Apigee hybrid management plane to connect securely to the MART service in the runtime plane without requiring you to expose the MART endpoint on the internet.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-apigee-connect/latest/overview", "release_level": "stable", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-apigee-connect", diff --git a/java-apigee-connect/google-cloud-apigee-connect-bom/pom.xml b/java-apigee-connect/google-cloud-apigee-connect-bom/pom.xml index eeae9e2aa6c9..8ea13733ddc9 100644 --- a/java-apigee-connect/google-cloud-apigee-connect-bom/pom.xml +++ b/java-apigee-connect/google-cloud-apigee-connect-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-apigee-connect-bom - 2.93.0 + 2.94.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-apigee-connect - 2.93.0 + 2.94.0 com.google.api.grpc grpc-google-cloud-apigee-connect-v1 - 2.93.0 + 2.94.0 com.google.api.grpc proto-google-cloud-apigee-connect-v1 - 2.93.0 + 2.94.0 diff --git a/java-apigee-connect/google-cloud-apigee-connect/pom.xml b/java-apigee-connect/google-cloud-apigee-connect/pom.xml index 852ed0c22588..060a8ac02afb 100644 --- a/java-apigee-connect/google-cloud-apigee-connect/pom.xml +++ b/java-apigee-connect/google-cloud-apigee-connect/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-apigee-connect - 2.93.0 + 2.94.0 jar Google Apigee Connect Apigee Connect allows the Apigee hybrid management plane to connect securely to the MART service in the runtime plane without requiring you to expose the MART endpoint on the internet. com.google.cloud google-cloud-apigee-connect-parent - 2.93.0 + 2.94.0 google-cloud-apigee-connect diff --git a/java-apigee-connect/google-cloud-apigee-connect/src/main/java/com/google/cloud/apigeeconnect/v1/stub/Version.java b/java-apigee-connect/google-cloud-apigee-connect/src/main/java/com/google/cloud/apigeeconnect/v1/stub/Version.java index 5d06d86da665..72545fe36cf1 100644 --- a/java-apigee-connect/google-cloud-apigee-connect/src/main/java/com/google/cloud/apigeeconnect/v1/stub/Version.java +++ b/java-apigee-connect/google-cloud-apigee-connect/src/main/java/com/google/cloud/apigeeconnect/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-apigee-connect:current} - static final String VERSION = "2.93.0"; + static final String VERSION = "2.94.0"; // {x-version-update-end} } diff --git a/java-apigee-connect/grpc-google-cloud-apigee-connect-v1/pom.xml b/java-apigee-connect/grpc-google-cloud-apigee-connect-v1/pom.xml index 7c7d5947cc05..5c1d20bc51f6 100644 --- a/java-apigee-connect/grpc-google-cloud-apigee-connect-v1/pom.xml +++ b/java-apigee-connect/grpc-google-cloud-apigee-connect-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-apigee-connect-v1 - 2.93.0 + 2.94.0 grpc-google-cloud-apigee-connect-v1 GRPC library for google-cloud-apigee-connect com.google.cloud google-cloud-apigee-connect-parent - 2.93.0 + 2.94.0 diff --git a/java-apigee-connect/pom.xml b/java-apigee-connect/pom.xml index ac9f6e4d2a64..4344a3aa92d0 100644 --- a/java-apigee-connect/pom.xml +++ b/java-apigee-connect/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-apigee-connect-parent pom - 2.93.0 + 2.94.0 Google Apigee Connect Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-apigee-connect - 2.93.0 + 2.94.0 com.google.api.grpc grpc-google-cloud-apigee-connect-v1 - 2.93.0 + 2.94.0 com.google.api.grpc proto-google-cloud-apigee-connect-v1 - 2.93.0 + 2.94.0 diff --git a/java-apigee-connect/proto-google-cloud-apigee-connect-v1/pom.xml b/java-apigee-connect/proto-google-cloud-apigee-connect-v1/pom.xml index 0d9ce49954cd..c69f39ffbae4 100644 --- a/java-apigee-connect/proto-google-cloud-apigee-connect-v1/pom.xml +++ b/java-apigee-connect/proto-google-cloud-apigee-connect-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-apigee-connect-v1 - 2.93.0 + 2.94.0 proto-google-cloud-apigee-connect-v1 Proto library for google-cloud-apigee-connect com.google.cloud google-cloud-apigee-connect-parent - 2.93.0 + 2.94.0 diff --git a/java-apigee-registry/.OwlBot-hermetic.yaml b/java-apigee-registry/.OwlBot-hermetic.yaml deleted file mode 100644 index 1444f0ccaf15..000000000000 --- a/java-apigee-registry/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-apigee-registry/grpc-google-.*/src" -- "/java-apigee-registry/proto-google-.*/src" -- "/java-apigee-registry/google-.*/src" -- "/java-apigee-registry/samples/snippets/generated" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/cloud/apigeeregistry/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-apigee-registry/$1/proto-google-cloud-apigee-registry-$1/src" -- source: "/google/cloud/apigeeregistry/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-apigee-registry/$1/grpc-google-cloud-apigee-registry-$1/src" -- source: "/google/cloud/apigeeregistry/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-apigee-registry/$1/google-cloud-apigee-registry/src" -- source: "/google/cloud/apigeeregistry/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-apigee-registry/$1/samples/snippets/generated" -api-name: apigee-registry diff --git a/java-apigee-registry/.repo-metadata.json b/java-apigee-registry/.repo-metadata.json index e0b8be584775..716f80215cff 100644 --- a/java-apigee-registry/.repo-metadata.json +++ b/java-apigee-registry/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "allows teams to upload and share machine-readable descriptions of APIs that are in use and in development.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-apigee-registry/latest/overview", "release_level": "preview", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-apigee-registry", diff --git a/java-apigee-registry/google-cloud-apigee-registry-bom/pom.xml b/java-apigee-registry/google-cloud-apigee-registry-bom/pom.xml index 510fbbf83ffd..84d23ca69329 100644 --- a/java-apigee-registry/google-cloud-apigee-registry-bom/pom.xml +++ b/java-apigee-registry/google-cloud-apigee-registry-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-apigee-registry-bom - 0.93.0 + 0.94.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-apigee-registry - 0.93.0 + 0.94.0 com.google.api.grpc grpc-google-cloud-apigee-registry-v1 - 0.93.0 + 0.94.0 com.google.api.grpc proto-google-cloud-apigee-registry-v1 - 0.93.0 + 0.94.0 diff --git a/java-apigee-registry/google-cloud-apigee-registry/pom.xml b/java-apigee-registry/google-cloud-apigee-registry/pom.xml index 247676b3eeec..b5a38f7ad65e 100644 --- a/java-apigee-registry/google-cloud-apigee-registry/pom.xml +++ b/java-apigee-registry/google-cloud-apigee-registry/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-apigee-registry - 0.93.0 + 0.94.0 jar Google Registry API Registry API allows teams to upload and share machine-readable descriptions of APIs that are in use and in development. com.google.cloud google-cloud-apigee-registry-parent - 0.93.0 + 0.94.0 google-cloud-apigee-registry diff --git a/java-apigee-registry/google-cloud-apigee-registry/src/main/java/com/google/cloud/apigeeregistry/v1/stub/Version.java b/java-apigee-registry/google-cloud-apigee-registry/src/main/java/com/google/cloud/apigeeregistry/v1/stub/Version.java index 4dfb1273bb8b..ae287ec21435 100644 --- a/java-apigee-registry/google-cloud-apigee-registry/src/main/java/com/google/cloud/apigeeregistry/v1/stub/Version.java +++ b/java-apigee-registry/google-cloud-apigee-registry/src/main/java/com/google/cloud/apigeeregistry/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-apigee-registry:current} - static final String VERSION = "0.93.0"; + static final String VERSION = "0.94.0"; // {x-version-update-end} } diff --git a/java-apigee-registry/grpc-google-cloud-apigee-registry-v1/pom.xml b/java-apigee-registry/grpc-google-cloud-apigee-registry-v1/pom.xml index 5d41f4404efc..34d42baef2df 100644 --- a/java-apigee-registry/grpc-google-cloud-apigee-registry-v1/pom.xml +++ b/java-apigee-registry/grpc-google-cloud-apigee-registry-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-apigee-registry-v1 - 0.93.0 + 0.94.0 grpc-google-cloud-apigee-registry-v1 GRPC library for google-cloud-apigee-registry com.google.cloud google-cloud-apigee-registry-parent - 0.93.0 + 0.94.0 diff --git a/java-apigee-registry/pom.xml b/java-apigee-registry/pom.xml index 0c2f9133a9b2..662ff75c8484 100644 --- a/java-apigee-registry/pom.xml +++ b/java-apigee-registry/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-apigee-registry-parent pom - 0.93.0 + 0.94.0 Google Registry API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-apigee-registry - 0.93.0 + 0.94.0 com.google.api.grpc grpc-google-cloud-apigee-registry-v1 - 0.93.0 + 0.94.0 com.google.api.grpc proto-google-cloud-apigee-registry-v1 - 0.93.0 + 0.94.0 diff --git a/java-apigee-registry/proto-google-cloud-apigee-registry-v1/pom.xml b/java-apigee-registry/proto-google-cloud-apigee-registry-v1/pom.xml index caf77ef77433..e7578280dce7 100644 --- a/java-apigee-registry/proto-google-cloud-apigee-registry-v1/pom.xml +++ b/java-apigee-registry/proto-google-cloud-apigee-registry-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-apigee-registry-v1 - 0.93.0 + 0.94.0 proto-google-cloud-apigee-registry-v1 Proto library for google-cloud-apigee-registry com.google.cloud google-cloud-apigee-registry-parent - 0.93.0 + 0.94.0 diff --git a/java-apihub/.OwlBot-hermetic.yaml b/java-apihub/.OwlBot-hermetic.yaml deleted file mode 100644 index 86d34b927e2f..000000000000 --- a/java-apihub/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2024 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. - - -deep-remove-regex: -- "/java-apihub/grpc-google-.*/src" -- "/java-apihub/proto-google-.*/src" -- "/java-apihub/google-.*/src" -- "/java-apihub/samples/snippets/generated" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/cloud/apihub/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-apihub/$1/proto-google-cloud-apihub-$1/src" -- source: "/google/cloud/apihub/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-apihub/$1/grpc-google-cloud-apihub-$1/src" -- source: "/google/cloud/apihub/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-apihub/$1/google-cloud-apihub/src" -- source: "/google/cloud/apihub/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-apihub/$1/samples/snippets/generated" - -api-name: apihub \ No newline at end of file diff --git a/java-apihub/.repo-metadata.json b/java-apihub/.repo-metadata.json index 31a98ee05fee..2444ee32cd28 100644 --- a/java-apihub/.repo-metadata.json +++ b/java-apihub/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "API hub lets you consolidate and organize information about all of the APIs of interest to your organization. API hub lets you capture critical information about APIs that allows developers to discover and evaluate them easily and leverage the work of other teams wherever possible. API platform teams can use API hub to have visibility into and manage their portfolio of APIs.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-apihub/latest/overview", "release_level": "preview", - "transport": "http", + "transport": "rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-apihub", diff --git a/java-apihub/google-cloud-apihub-bom/pom.xml b/java-apihub/google-cloud-apihub-bom/pom.xml index 3052026b4d54..7a8d04ec6ded 100644 --- a/java-apihub/google-cloud-apihub-bom/pom.xml +++ b/java-apihub/google-cloud-apihub-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-apihub-bom - 0.46.0 + 0.47.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -27,12 +27,12 @@ com.google.cloud google-cloud-apihub - 0.46.0 + 0.47.0 com.google.api.grpc proto-google-cloud-apihub-v1 - 0.46.0 + 0.47.0 diff --git a/java-apihub/google-cloud-apihub/pom.xml b/java-apihub/google-cloud-apihub/pom.xml index a8f758256df7..137992fecfc3 100644 --- a/java-apihub/google-cloud-apihub/pom.xml +++ b/java-apihub/google-cloud-apihub/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-apihub - 0.46.0 + 0.47.0 jar Google API hub API API hub API API hub lets you consolidate and organize information about all of the APIs of interest to your organization. API hub lets you capture critical information about APIs that allows developers to discover and evaluate them easily and leverage the work of other teams wherever possible. API platform teams can use API hub to have visibility into and manage their portfolio of APIs. com.google.cloud google-cloud-apihub-parent - 0.46.0 + 0.47.0 google-cloud-apihub diff --git a/java-apihub/google-cloud-apihub/src/main/java/com/google/cloud/apihub/v1/stub/Version.java b/java-apihub/google-cloud-apihub/src/main/java/com/google/cloud/apihub/v1/stub/Version.java index 28c53b3b7ed4..0d48878505aa 100644 --- a/java-apihub/google-cloud-apihub/src/main/java/com/google/cloud/apihub/v1/stub/Version.java +++ b/java-apihub/google-cloud-apihub/src/main/java/com/google/cloud/apihub/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-apihub:current} - static final String VERSION = "0.46.0"; + static final String VERSION = "0.47.0"; // {x-version-update-end} } diff --git a/java-apihub/pom.xml b/java-apihub/pom.xml index 46acbb81f3cf..3d8f88a2bad4 100644 --- a/java-apihub/pom.xml +++ b/java-apihub/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-apihub-parent pom - 0.46.0 + 0.47.0 Google API hub API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,12 +30,12 @@ com.google.cloud google-cloud-apihub - 0.46.0 + 0.47.0 com.google.api.grpc proto-google-cloud-apihub-v1 - 0.46.0 + 0.47.0 diff --git a/java-apihub/proto-google-cloud-apihub-v1/pom.xml b/java-apihub/proto-google-cloud-apihub-v1/pom.xml index 0bbb08f76520..decc37f85bbe 100644 --- a/java-apihub/proto-google-cloud-apihub-v1/pom.xml +++ b/java-apihub/proto-google-cloud-apihub-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-apihub-v1 - 0.46.0 + 0.47.0 proto-google-cloud-apihub-v1 Proto library for google-cloud-apihub com.google.cloud google-cloud-apihub-parent - 0.46.0 + 0.47.0 diff --git a/java-apikeys/.OwlBot-hermetic.yaml b/java-apikeys/.OwlBot-hermetic.yaml deleted file mode 100644 index a20286624096..000000000000 --- a/java-apikeys/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# 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. - - -deep-remove-regex: -- "/java-apikeys/grpc-google-.*/src" -- "/java-apikeys/proto-google-.*/src" -- "/java-apikeys/google-.*/src" -- "/java-apikeys/samples/snippets/generated" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/api/apikeys/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-apikeys/$1/proto-google-cloud-apikeys-$1/src" -- source: "/google/api/apikeys/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-apikeys/$1/grpc-google-cloud-apikeys-$1/src" -- source: "/google/api/apikeys/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-apikeys/$1/google-cloud-apikeys/src" -- source: "/google/api/apikeys/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-apikeys/$1/samples/snippets/generated" - -api-name: apikeys diff --git a/java-apikeys/.repo-metadata.json b/java-apikeys/.repo-metadata.json index 5f26121d664c..76512a111a03 100644 --- a/java-apikeys/.repo-metadata.json +++ b/java-apikeys/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "API Keys lets you create and manage your API keys for your projects.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-apikeys/latest/overview", "release_level": "stable", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-apikeys", diff --git a/java-apikeys/google-cloud-apikeys-bom/pom.xml b/java-apikeys/google-cloud-apikeys-bom/pom.xml index fb4eff132730..492482bcdfe7 100644 --- a/java-apikeys/google-cloud-apikeys-bom/pom.xml +++ b/java-apikeys/google-cloud-apikeys-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-apikeys-bom - 0.91.0 + 0.92.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-apikeys - 0.91.0 + 0.92.0 com.google.api.grpc grpc-google-cloud-apikeys-v2 - 0.91.0 + 0.92.0 com.google.api.grpc proto-google-cloud-apikeys-v2 - 0.91.0 + 0.92.0 diff --git a/java-apikeys/google-cloud-apikeys/pom.xml b/java-apikeys/google-cloud-apikeys/pom.xml index 7dbef03b2d1d..fefb5c3be4e3 100644 --- a/java-apikeys/google-cloud-apikeys/pom.xml +++ b/java-apikeys/google-cloud-apikeys/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-apikeys - 0.91.0 + 0.92.0 jar Google API Keys API API Keys API API Keys lets you create and manage your API keys for your projects. com.google.cloud google-cloud-apikeys-parent - 0.91.0 + 0.92.0 google-cloud-apikeys diff --git a/java-apikeys/google-cloud-apikeys/src/main/java/com/google/api/apikeys/v2/stub/Version.java b/java-apikeys/google-cloud-apikeys/src/main/java/com/google/api/apikeys/v2/stub/Version.java index 1fbeabbaaab8..a7972434bbf8 100644 --- a/java-apikeys/google-cloud-apikeys/src/main/java/com/google/api/apikeys/v2/stub/Version.java +++ b/java-apikeys/google-cloud-apikeys/src/main/java/com/google/api/apikeys/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-apikeys:current} - static final String VERSION = "0.91.0"; + static final String VERSION = "0.92.0"; // {x-version-update-end} } diff --git a/java-apikeys/grpc-google-cloud-apikeys-v2/pom.xml b/java-apikeys/grpc-google-cloud-apikeys-v2/pom.xml index 9084f9fae43a..61da18729c91 100644 --- a/java-apikeys/grpc-google-cloud-apikeys-v2/pom.xml +++ b/java-apikeys/grpc-google-cloud-apikeys-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-apikeys-v2 - 0.91.0 + 0.92.0 grpc-google-cloud-apikeys-v2 GRPC library for google-cloud-apikeys com.google.cloud google-cloud-apikeys-parent - 0.91.0 + 0.92.0 diff --git a/java-apikeys/pom.xml b/java-apikeys/pom.xml index 6741d8820221..4ad94f0d6a95 100644 --- a/java-apikeys/pom.xml +++ b/java-apikeys/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-apikeys-parent pom - 0.91.0 + 0.92.0 Google API Keys API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-apikeys - 0.91.0 + 0.92.0 com.google.api.grpc grpc-google-cloud-apikeys-v2 - 0.91.0 + 0.92.0 com.google.api.grpc proto-google-cloud-apikeys-v2 - 0.91.0 + 0.92.0 diff --git a/java-apikeys/proto-google-cloud-apikeys-v2/pom.xml b/java-apikeys/proto-google-cloud-apikeys-v2/pom.xml index 0695158ef946..eaa2330dbf74 100644 --- a/java-apikeys/proto-google-cloud-apikeys-v2/pom.xml +++ b/java-apikeys/proto-google-cloud-apikeys-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-apikeys-v2 - 0.91.0 + 0.92.0 proto-google-cloud-apikeys-v2 Proto library for google-cloud-apikeys com.google.cloud google-cloud-apikeys-parent - 0.91.0 + 0.92.0 diff --git a/java-appengine-admin/.OwlBot-hermetic.yaml b/java-appengine-admin/.OwlBot-hermetic.yaml deleted file mode 100644 index 7bf30a296880..000000000000 --- a/java-appengine-admin/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-appengine-admin/grpc-google-.*/src" -- "/java-appengine-admin/proto-google-.*/src" -- "/java-appengine-admin/google-.*/src" -- "/java-appengine-admin/samples/snippets/generated" - -deep-preserve-regex: - - "/.*google-.*/src/main/java/.*/stub/Version.java" - -deep-copy-regex: -- source: "/google/appengine/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-appengine-admin/$1/proto-google-cloud-appengine-admin-$1/src" -- source: "/google/appengine/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-appengine-admin/$1/grpc-google-cloud-appengine-admin-$1/src" -- source: "/google/appengine/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-appengine-admin/$1/google-cloud-appengine-admin/src" -- source: "/google/appengine/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-appengine-admin/$1/samples/snippets/generated" - -api-name: appengine diff --git a/java-appengine-admin/.repo-metadata.json b/java-appengine-admin/.repo-metadata.json index 793e7427fd3e..1a166d25de28 100644 --- a/java-appengine-admin/.repo-metadata.json +++ b/java-appengine-admin/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "you to manage your App Engine applications.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-appengine-admin/latest/overview", "release_level": "stable", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-appengine-admin", diff --git a/java-appengine-admin/google-cloud-appengine-admin-bom/pom.xml b/java-appengine-admin/google-cloud-appengine-admin-bom/pom.xml index 7fe75132cbf0..65035d6344cd 100644 --- a/java-appengine-admin/google-cloud-appengine-admin-bom/pom.xml +++ b/java-appengine-admin/google-cloud-appengine-admin-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-appengine-admin-bom - 2.93.0 + 2.94.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-appengine-admin - 2.93.0 + 2.94.0 com.google.api.grpc grpc-google-cloud-appengine-admin-v1 - 2.93.0 + 2.94.0 com.google.api.grpc proto-google-cloud-appengine-admin-v1 - 2.93.0 + 2.94.0 diff --git a/java-appengine-admin/google-cloud-appengine-admin/pom.xml b/java-appengine-admin/google-cloud-appengine-admin/pom.xml index 99531895b48e..683f1f74ddfe 100644 --- a/java-appengine-admin/google-cloud-appengine-admin/pom.xml +++ b/java-appengine-admin/google-cloud-appengine-admin/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-appengine-admin - 2.93.0 + 2.94.0 jar Google App Engine Admin API App Engine Admin API you to manage your App Engine applications. com.google.cloud google-cloud-appengine-admin-parent - 2.93.0 + 2.94.0 google-cloud-appengine-admin diff --git a/java-appengine-admin/google-cloud-appengine-admin/src/main/java/com/google/appengine/v1/stub/Version.java b/java-appengine-admin/google-cloud-appengine-admin/src/main/java/com/google/appengine/v1/stub/Version.java index 0714296522d6..8982c69e3318 100644 --- a/java-appengine-admin/google-cloud-appengine-admin/src/main/java/com/google/appengine/v1/stub/Version.java +++ b/java-appengine-admin/google-cloud-appengine-admin/src/main/java/com/google/appengine/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-appengine-admin:current} - static final String VERSION = "2.93.0"; + static final String VERSION = "2.94.0"; // {x-version-update-end} } diff --git a/java-appengine-admin/grpc-google-cloud-appengine-admin-v1/pom.xml b/java-appengine-admin/grpc-google-cloud-appengine-admin-v1/pom.xml index 71dbe3fb1f8e..118ff4b5d034 100644 --- a/java-appengine-admin/grpc-google-cloud-appengine-admin-v1/pom.xml +++ b/java-appengine-admin/grpc-google-cloud-appengine-admin-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-appengine-admin-v1 - 2.93.0 + 2.94.0 grpc-google-cloud-appengine-admin-v1 GRPC library for google-cloud-appengine-admin com.google.cloud google-cloud-appengine-admin-parent - 2.93.0 + 2.94.0 diff --git a/java-appengine-admin/pom.xml b/java-appengine-admin/pom.xml index 999a166f1677..9c9e0988cf7a 100644 --- a/java-appengine-admin/pom.xml +++ b/java-appengine-admin/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-appengine-admin-parent pom - 2.93.0 + 2.94.0 Google App Engine Admin API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-appengine-admin - 2.93.0 + 2.94.0 com.google.api.grpc grpc-google-cloud-appengine-admin-v1 - 2.93.0 + 2.94.0 com.google.api.grpc proto-google-cloud-appengine-admin-v1 - 2.93.0 + 2.94.0 diff --git a/java-appengine-admin/proto-google-cloud-appengine-admin-v1/pom.xml b/java-appengine-admin/proto-google-cloud-appengine-admin-v1/pom.xml index cccd3ce256fc..ffae53958c77 100644 --- a/java-appengine-admin/proto-google-cloud-appengine-admin-v1/pom.xml +++ b/java-appengine-admin/proto-google-cloud-appengine-admin-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-appengine-admin-v1 - 2.93.0 + 2.94.0 proto-google-cloud-appengine-admin-v1 Proto library for google-cloud-appengine-admin com.google.cloud google-cloud-appengine-admin-parent - 2.93.0 + 2.94.0 diff --git a/java-apphub/.OwlBot-hermetic.yaml b/java-apphub/.OwlBot-hermetic.yaml deleted file mode 100644 index 4ec45152b5f3..000000000000 --- a/java-apphub/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,37 +0,0 @@ -# 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. - - -deep-remove-regex: -- "/java-apphub/grpc-google-.*/src" -- "/java-apphub/proto-google-.*/src" -- "/java-apphub/google-.*/src" -- "/java-apphub/samples/snippets/generated" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/cloud/apphub/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-apphub/$1/proto-google-cloud-apphub-$1/src" -- source: "/google/cloud/apphub/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-apphub/$1/grpc-google-cloud-apphub-$1/src" -- source: "/google/cloud/apphub/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-apphub/$1/google-cloud-apphub/src" -- source: "/google/cloud/apphub/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-apphub/$1/samples/snippets/generated" - - -api-name: apphub \ No newline at end of file diff --git a/java-apphub/.repo-metadata.json b/java-apphub/.repo-metadata.json index 8891e8265006..140e8ed30f30 100644 --- a/java-apphub/.repo-metadata.json +++ b/java-apphub/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "App Hub simplifies the process of building, running, and managing applications on Google Cloud.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-apphub/latest/overview", "release_level": "preview", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-apphub", diff --git a/java-apphub/google-cloud-apphub-bom/pom.xml b/java-apphub/google-cloud-apphub-bom/pom.xml index 15c038b0e3b6..4d10823390a2 100644 --- a/java-apphub/google-cloud-apphub-bom/pom.xml +++ b/java-apphub/google-cloud-apphub-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-apphub-bom - 0.57.0 + 0.58.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-apphub - 0.57.0 + 0.58.0 com.google.api.grpc grpc-google-cloud-apphub-v1 - 0.57.0 + 0.58.0 com.google.api.grpc proto-google-cloud-apphub-v1 - 0.57.0 + 0.58.0 diff --git a/java-apphub/google-cloud-apphub/pom.xml b/java-apphub/google-cloud-apphub/pom.xml index bd4bcc706717..70e46e01881e 100644 --- a/java-apphub/google-cloud-apphub/pom.xml +++ b/java-apphub/google-cloud-apphub/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-apphub - 0.57.0 + 0.58.0 jar Google App Hub API App Hub API App Hub simplifies the process of building, running, and managing applications on Google Cloud. com.google.cloud google-cloud-apphub-parent - 0.57.0 + 0.58.0 google-cloud-apphub diff --git a/java-apphub/google-cloud-apphub/src/main/java/com/google/cloud/apphub/v1/stub/Version.java b/java-apphub/google-cloud-apphub/src/main/java/com/google/cloud/apphub/v1/stub/Version.java index aa7ccf222404..7559c2d35096 100644 --- a/java-apphub/google-cloud-apphub/src/main/java/com/google/cloud/apphub/v1/stub/Version.java +++ b/java-apphub/google-cloud-apphub/src/main/java/com/google/cloud/apphub/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-apphub:current} - static final String VERSION = "0.57.0"; + static final String VERSION = "0.58.0"; // {x-version-update-end} } diff --git a/java-apphub/grpc-google-cloud-apphub-v1/pom.xml b/java-apphub/grpc-google-cloud-apphub-v1/pom.xml index 7c90c9d3db85..0b127a137c65 100644 --- a/java-apphub/grpc-google-cloud-apphub-v1/pom.xml +++ b/java-apphub/grpc-google-cloud-apphub-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-apphub-v1 - 0.57.0 + 0.58.0 grpc-google-cloud-apphub-v1 GRPC library for google-cloud-apphub com.google.cloud google-cloud-apphub-parent - 0.57.0 + 0.58.0 diff --git a/java-apphub/pom.xml b/java-apphub/pom.xml index 6addd406a0ec..cf16a9b80e4b 100644 --- a/java-apphub/pom.xml +++ b/java-apphub/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-apphub-parent pom - 0.57.0 + 0.58.0 Google App Hub API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-apphub - 0.57.0 + 0.58.0 com.google.api.grpc grpc-google-cloud-apphub-v1 - 0.57.0 + 0.58.0 com.google.api.grpc proto-google-cloud-apphub-v1 - 0.57.0 + 0.58.0 diff --git a/java-apphub/proto-google-cloud-apphub-v1/pom.xml b/java-apphub/proto-google-cloud-apphub-v1/pom.xml index b08b69654e33..27f97717e8f0 100644 --- a/java-apphub/proto-google-cloud-apphub-v1/pom.xml +++ b/java-apphub/proto-google-cloud-apphub-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-apphub-v1 - 0.57.0 + 0.58.0 proto-google-cloud-apphub-v1 Proto library for google-cloud-apphub com.google.cloud google-cloud-apphub-parent - 0.57.0 + 0.58.0 diff --git a/java-appoptimize/.OwlBot-hermetic.yaml b/java-appoptimize/.OwlBot-hermetic.yaml deleted file mode 100644 index 8c33a053fe62..000000000000 --- a/java-appoptimize/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2024 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. - - -deep-remove-regex: -- "/java-appoptimize/grpc-google-.*/src" -- "/java-appoptimize/proto-google-.*/src" -- "/java-appoptimize/google-.*/src" -- "/java-appoptimize/samples/snippets/generated" - -deep-preserve-regex: -- "/java-appoptimize/google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" -- "/.*google-.*/src/main/java/.*/stub/Version.java" - -deep-copy-regex: -- source: "/google/cloud/appoptimize/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-appoptimize/$1/proto-google-cloud-appoptimize-$1/src" -- source: "/google/cloud/appoptimize/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-appoptimize/$1/grpc-google-cloud-appoptimize-$1/src" -- source: "/google/cloud/appoptimize/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-appoptimize/$1/google-cloud-appoptimize/src" -- source: "/google/cloud/appoptimize/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-appoptimize/$1/samples/snippets/generated" - -api-name: appoptimize \ No newline at end of file diff --git a/java-appoptimize/.repo-metadata.json b/java-appoptimize/.repo-metadata.json index ab1b1e92abd3..1d32cd5c3519 100644 --- a/java-appoptimize/.repo-metadata.json +++ b/java-appoptimize/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "The App Optimize API provides developers and platform teams with tools to monitor, analyze, and improve the performance and cost-efficiency of their cloud applications.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-appoptimize/latest/overview", "release_level": "preview", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-appoptimize", diff --git a/java-appoptimize/google-cloud-appoptimize-bom/pom.xml b/java-appoptimize/google-cloud-appoptimize-bom/pom.xml index f8148b9fa9dd..3d1a70888b06 100644 --- a/java-appoptimize/google-cloud-appoptimize-bom/pom.xml +++ b/java-appoptimize/google-cloud-appoptimize-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-appoptimize-bom - 0.3.0 + 0.4.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-appoptimize - 0.3.0 + 0.4.0 com.google.api.grpc grpc-google-cloud-appoptimize-v1beta - 0.3.0 + 0.4.0 com.google.api.grpc proto-google-cloud-appoptimize-v1beta - 0.3.0 + 0.4.0 diff --git a/java-appoptimize/google-cloud-appoptimize/pom.xml b/java-appoptimize/google-cloud-appoptimize/pom.xml index 3bc33192ddb2..ac6d87926a0f 100644 --- a/java-appoptimize/google-cloud-appoptimize/pom.xml +++ b/java-appoptimize/google-cloud-appoptimize/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-appoptimize - 0.3.0 + 0.4.0 jar Google App Optimize API App Optimize API The App Optimize API provides developers and platform teams with tools to monitor, analyze, and improve the performance and cost-efficiency of their cloud applications. com.google.cloud google-cloud-appoptimize-parent - 0.3.0 + 0.4.0 google-cloud-appoptimize diff --git a/java-appoptimize/google-cloud-appoptimize/src/main/java/com/google/cloud/appoptimize/v1beta/stub/Version.java b/java-appoptimize/google-cloud-appoptimize/src/main/java/com/google/cloud/appoptimize/v1beta/stub/Version.java index 600ca39f8391..1dbc5ca9fdd6 100644 --- a/java-appoptimize/google-cloud-appoptimize/src/main/java/com/google/cloud/appoptimize/v1beta/stub/Version.java +++ b/java-appoptimize/google-cloud-appoptimize/src/main/java/com/google/cloud/appoptimize/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-appoptimize:current} - static final String VERSION = "0.3.0"; + static final String VERSION = "0.4.0"; // {x-version-update-end} } diff --git a/java-appoptimize/grpc-google-cloud-appoptimize-v1beta/pom.xml b/java-appoptimize/grpc-google-cloud-appoptimize-v1beta/pom.xml index 3f78859e9418..002fbe4f25ce 100644 --- a/java-appoptimize/grpc-google-cloud-appoptimize-v1beta/pom.xml +++ b/java-appoptimize/grpc-google-cloud-appoptimize-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-appoptimize-v1beta - 0.3.0 + 0.4.0 grpc-google-cloud-appoptimize-v1beta GRPC library for google-cloud-appoptimize com.google.cloud google-cloud-appoptimize-parent - 0.3.0 + 0.4.0 diff --git a/java-appoptimize/pom.xml b/java-appoptimize/pom.xml index aaa3702f3608..51b838eddd43 100644 --- a/java-appoptimize/pom.xml +++ b/java-appoptimize/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-appoptimize-parent pom - 0.3.0 + 0.4.0 Google App Optimize API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-appoptimize - 0.3.0 + 0.4.0 com.google.api.grpc grpc-google-cloud-appoptimize-v1beta - 0.3.0 + 0.4.0 com.google.api.grpc proto-google-cloud-appoptimize-v1beta - 0.3.0 + 0.4.0 diff --git a/java-appoptimize/proto-google-cloud-appoptimize-v1beta/pom.xml b/java-appoptimize/proto-google-cloud-appoptimize-v1beta/pom.xml index ec54efcf3b4d..f30e472a1619 100644 --- a/java-appoptimize/proto-google-cloud-appoptimize-v1beta/pom.xml +++ b/java-appoptimize/proto-google-cloud-appoptimize-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-appoptimize-v1beta - 0.3.0 + 0.4.0 proto-google-cloud-appoptimize-v1beta Proto library for google-cloud-appoptimize com.google.cloud google-cloud-appoptimize-parent - 0.3.0 + 0.4.0 diff --git a/java-area120-tables/.OwlBot-hermetic.yaml b/java-area120-tables/.OwlBot-hermetic.yaml deleted file mode 100644 index 336a6566afb2..000000000000 --- a/java-area120-tables/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-area120-tables/grpc-google-.*/src" -- "/java-area120-tables/proto-google-.*/src" -- "/java-area120-tables/google-.*/src" -- "/java-area120-tables/samples/snippets/generated" - -deep-preserve-regex: - - "/.*google-.*/src/main/java/.*/stub/Version.java" - -deep-copy-regex: -- source: "/google/area120/tables/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-area120-tables/$1/proto-google-area120-tables-$1/src" -- source: "/google/area120/tables/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-area120-tables/$1/grpc-google-area120-tables-$1/src" -- source: "/google/area120/tables/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-area120-tables/$1/google-area120-tables/src" -- source: "/google/area120/tables/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-area120-tables/$1/samples/snippets/generated" - -api-name: area120tables diff --git a/java-area120-tables/.repo-metadata.json b/java-area120-tables/.repo-metadata.json index d622f7666ece..ec0cdfe85e25 100644 --- a/java-area120-tables/.repo-metadata.json +++ b/java-area120-tables/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "provides programmatic methods to the Area 120 Tables API.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-area120-tables/latest/overview", "release_level": "preview", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-area120-tables", diff --git a/java-area120-tables/google-area120-tables-bom/pom.xml b/java-area120-tables/google-area120-tables-bom/pom.xml index d6f2ffae8585..f2f1a753e86e 100644 --- a/java-area120-tables/google-area120-tables-bom/pom.xml +++ b/java-area120-tables/google-area120-tables-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.area120 google-area120-tables-bom - 0.97.0 + 0.98.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.area120 google-area120-tables - 0.97.0 + 0.98.0 com.google.api.grpc grpc-google-area120-tables-v1alpha1 - 0.97.0 + 0.98.0 com.google.api.grpc proto-google-area120-tables-v1alpha1 - 0.97.0 + 0.98.0 diff --git a/java-area120-tables/google-area120-tables/pom.xml b/java-area120-tables/google-area120-tables/pom.xml index 394858e7da61..eb97f91bf9e6 100644 --- a/java-area120-tables/google-area120-tables/pom.xml +++ b/java-area120-tables/google-area120-tables/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.area120 google-area120-tables - 0.97.0 + 0.98.0 jar Google Area 120 Tables provides programmatic methods to the Area 120 Tables API. com.google.area120 google-area120-tables-parent - 0.97.0 + 0.98.0 google-area120-tables diff --git a/java-area120-tables/google-area120-tables/src/main/java/com/google/area120/tables/v1alpha/stub/Version.java b/java-area120-tables/google-area120-tables/src/main/java/com/google/area120/tables/v1alpha/stub/Version.java index 6b77e96346e5..0dac615061de 100644 --- a/java-area120-tables/google-area120-tables/src/main/java/com/google/area120/tables/v1alpha/stub/Version.java +++ b/java-area120-tables/google-area120-tables/src/main/java/com/google/area120/tables/v1alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-area120-tables:current} - static final String VERSION = "0.97.0"; + static final String VERSION = "0.98.0"; // {x-version-update-end} } diff --git a/java-area120-tables/grpc-google-area120-tables-v1alpha1/pom.xml b/java-area120-tables/grpc-google-area120-tables-v1alpha1/pom.xml index 729fefc416d8..6325dc413c35 100644 --- a/java-area120-tables/grpc-google-area120-tables-v1alpha1/pom.xml +++ b/java-area120-tables/grpc-google-area120-tables-v1alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-area120-tables-v1alpha1 - 0.97.0 + 0.98.0 grpc-google-area120-tables-v1alpha1 GRPC library for google-area120-tables com.google.area120 google-area120-tables-parent - 0.97.0 + 0.98.0 diff --git a/java-area120-tables/pom.xml b/java-area120-tables/pom.xml index b761e11b3a79..cd81bf9a79c5 100644 --- a/java-area120-tables/pom.xml +++ b/java-area120-tables/pom.xml @@ -4,7 +4,7 @@ com.google.area120 google-area120-tables-parent pom - 0.97.0 + 0.98.0 Google Area 120 Tables Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.area120 google-area120-tables - 0.97.0 + 0.98.0 com.google.api.grpc proto-google-area120-tables-v1alpha1 - 0.97.0 + 0.98.0 com.google.api.grpc grpc-google-area120-tables-v1alpha1 - 0.97.0 + 0.98.0 diff --git a/java-area120-tables/proto-google-area120-tables-v1alpha1/pom.xml b/java-area120-tables/proto-google-area120-tables-v1alpha1/pom.xml index 3064e1cf86d9..989f24a83de4 100644 --- a/java-area120-tables/proto-google-area120-tables-v1alpha1/pom.xml +++ b/java-area120-tables/proto-google-area120-tables-v1alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-area120-tables-v1alpha1 - 0.97.0 + 0.98.0 proto-google-area120-tables-v1alpha1 Proto library for google-area120-tables com.google.area120 google-area120-tables-parent - 0.97.0 + 0.98.0 diff --git a/java-artifact-registry/.OwlBot-hermetic.yaml b/java-artifact-registry/.OwlBot-hermetic.yaml deleted file mode 100644 index 064792d99ac9..000000000000 --- a/java-artifact-registry/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-artifact-registry/grpc-google-.*/src" -- "/java-artifact-registry/proto-google-.*/src" -- "/java-artifact-registry/google-.*/src" -- "/java-artifact-registry/samples/snippets/generated" - -deep-preserve-regex: - - "/.*google-.*/src/main/java/.*/stub/Version.java" - -deep-copy-regex: -- source: "/google/devtools/artifactregistry/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-artifact-registry/$1/proto-google-cloud-artifact-registry-$1/src" -- source: "/google/devtools/artifactregistry/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-artifact-registry/$1/grpc-google-cloud-artifact-registry-$1/src" -- source: "/google/devtools/artifactregistry/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-artifact-registry/$1/google-cloud-artifact-registry/src" -- source: "/google/devtools/artifactregistry/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-artifact-registry/$1/samples/snippets/generated" - -api-name: artifactregistry diff --git a/java-artifact-registry/.repo-metadata.json b/java-artifact-registry/.repo-metadata.json index 2abdb749f3fb..d7f1cea48eab 100644 --- a/java-artifact-registry/.repo-metadata.json +++ b/java-artifact-registry/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "provides a single place for your organization to manage container images and language packages (such as Maven and npm). It is fully integrated with Google Cloud's tooling and runtimes and comes with support for native artifact protocols. This makes it simple to integrate it with your CI/CD tooling to set up automated pipelines.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-artifact-registry/latest/overview", "release_level": "stable", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-artifact-registry", diff --git a/java-artifact-registry/google-cloud-artifact-registry-bom/pom.xml b/java-artifact-registry/google-cloud-artifact-registry-bom/pom.xml index 203d8496f329..e11265f4f0b4 100644 --- a/java-artifact-registry/google-cloud-artifact-registry-bom/pom.xml +++ b/java-artifact-registry/google-cloud-artifact-registry-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-artifact-registry-bom - 1.92.0 + 1.93.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-artifact-registry - 1.92.0 + 1.93.0 com.google.api.grpc grpc-google-cloud-artifact-registry-v1beta2 - 1.92.0 + 1.93.0 com.google.api.grpc grpc-google-cloud-artifact-registry-v1 - 1.92.0 + 1.93.0 com.google.api.grpc proto-google-cloud-artifact-registry-v1beta2 - 1.92.0 + 1.93.0 com.google.api.grpc proto-google-cloud-artifact-registry-v1 - 1.92.0 + 1.93.0 diff --git a/java-artifact-registry/google-cloud-artifact-registry/pom.xml b/java-artifact-registry/google-cloud-artifact-registry/pom.xml index 52b9ab8d3871..7e2eb0c1c158 100644 --- a/java-artifact-registry/google-cloud-artifact-registry/pom.xml +++ b/java-artifact-registry/google-cloud-artifact-registry/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-artifact-registry - 1.92.0 + 1.93.0 jar Google Artifact Registry provides a single place for your organization to manage container images and language packages (such as Maven and npm). It is fully integrated with Google Cloud's tooling and runtimes and comes with support for native artifact protocols. This makes it simple to integrate it with your CI/CD tooling to set up automated pipelines. com.google.cloud google-cloud-artifact-registry-parent - 1.92.0 + 1.93.0 google-cloud-artifact-registry diff --git a/java-artifact-registry/google-cloud-artifact-registry/src/main/java/com/google/devtools/artifactregistry/v1/stub/Version.java b/java-artifact-registry/google-cloud-artifact-registry/src/main/java/com/google/devtools/artifactregistry/v1/stub/Version.java index 349b2fce1825..1b96b0ea7a3c 100644 --- a/java-artifact-registry/google-cloud-artifact-registry/src/main/java/com/google/devtools/artifactregistry/v1/stub/Version.java +++ b/java-artifact-registry/google-cloud-artifact-registry/src/main/java/com/google/devtools/artifactregistry/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-artifact-registry:current} - static final String VERSION = "1.92.0"; + static final String VERSION = "1.93.0"; // {x-version-update-end} } diff --git a/java-artifact-registry/google-cloud-artifact-registry/src/main/java/com/google/devtools/artifactregistry/v1beta2/stub/Version.java b/java-artifact-registry/google-cloud-artifact-registry/src/main/java/com/google/devtools/artifactregistry/v1beta2/stub/Version.java index 513dcb21e56e..2ed4e94d2709 100644 --- a/java-artifact-registry/google-cloud-artifact-registry/src/main/java/com/google/devtools/artifactregistry/v1beta2/stub/Version.java +++ b/java-artifact-registry/google-cloud-artifact-registry/src/main/java/com/google/devtools/artifactregistry/v1beta2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-artifact-registry:current} - static final String VERSION = "1.92.0"; + static final String VERSION = "1.93.0"; // {x-version-update-end} } diff --git a/java-artifact-registry/grpc-google-cloud-artifact-registry-v1/pom.xml b/java-artifact-registry/grpc-google-cloud-artifact-registry-v1/pom.xml index 4232f3f370c8..d7f8a4e1e716 100644 --- a/java-artifact-registry/grpc-google-cloud-artifact-registry-v1/pom.xml +++ b/java-artifact-registry/grpc-google-cloud-artifact-registry-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-artifact-registry-v1 - 1.92.0 + 1.93.0 grpc-google-cloud-artifact-registry-v1 GRPC library for google-cloud-artifact-registry com.google.cloud google-cloud-artifact-registry-parent - 1.92.0 + 1.93.0 diff --git a/java-artifact-registry/grpc-google-cloud-artifact-registry-v1beta2/pom.xml b/java-artifact-registry/grpc-google-cloud-artifact-registry-v1beta2/pom.xml index 77cef3427a6a..0543f7c6b2db 100644 --- a/java-artifact-registry/grpc-google-cloud-artifact-registry-v1beta2/pom.xml +++ b/java-artifact-registry/grpc-google-cloud-artifact-registry-v1beta2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-artifact-registry-v1beta2 - 1.92.0 + 1.93.0 grpc-google-cloud-artifact-registry-v1beta2 GRPC library for google-cloud-artifact-registry com.google.cloud google-cloud-artifact-registry-parent - 1.92.0 + 1.93.0 diff --git a/java-artifact-registry/pom.xml b/java-artifact-registry/pom.xml index 23be79bca66f..f3e4689e9d95 100644 --- a/java-artifact-registry/pom.xml +++ b/java-artifact-registry/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-artifact-registry-parent pom - 1.92.0 + 1.93.0 Google Artifact Registry Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-artifact-registry - 1.92.0 + 1.93.0 com.google.api.grpc proto-google-cloud-artifact-registry-v1 - 1.92.0 + 1.93.0 com.google.api.grpc grpc-google-cloud-artifact-registry-v1 - 1.92.0 + 1.93.0 com.google.api.grpc proto-google-cloud-artifact-registry-v1beta2 - 1.92.0 + 1.93.0 com.google.api.grpc grpc-google-cloud-artifact-registry-v1beta2 - 1.92.0 + 1.93.0 diff --git a/java-artifact-registry/proto-google-cloud-artifact-registry-v1/pom.xml b/java-artifact-registry/proto-google-cloud-artifact-registry-v1/pom.xml index 88c999b5ed31..2bab66651edc 100644 --- a/java-artifact-registry/proto-google-cloud-artifact-registry-v1/pom.xml +++ b/java-artifact-registry/proto-google-cloud-artifact-registry-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-artifact-registry-v1 - 1.92.0 + 1.93.0 proto-google-cloud-artifact-registry-v1 Proto library for google-cloud-artifact-registry com.google.cloud google-cloud-artifact-registry-parent - 1.92.0 + 1.93.0 diff --git a/java-artifact-registry/proto-google-cloud-artifact-registry-v1beta2/pom.xml b/java-artifact-registry/proto-google-cloud-artifact-registry-v1beta2/pom.xml index b1ae7d733b76..739beae6d150 100644 --- a/java-artifact-registry/proto-google-cloud-artifact-registry-v1beta2/pom.xml +++ b/java-artifact-registry/proto-google-cloud-artifact-registry-v1beta2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-artifact-registry-v1beta2 - 1.92.0 + 1.93.0 grpc-google-cloud-artifact-registry-v1beta2 Proto library for google-cloud-artifact-registry com.google.cloud google-cloud-artifact-registry-parent - 1.92.0 + 1.93.0 diff --git a/java-asset/.OwlBot-hermetic.yaml b/java-asset/.OwlBot-hermetic.yaml deleted file mode 100644 index 46f8c9bee784..000000000000 --- a/java-asset/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-asset/samples/snippets/generated" -- "/java-asset/grpc-google-.*/src" -- "/java-asset/proto-google-.*/src" -- "/java-asset/google-.*/src" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-cloud-.*/src/test/java/com/google/cloud/.*/it" -- "/.*google-cloud-asset/src/test/java/com/google/cloud/asset/v1/VPCServiceControlTest.java" -- "/.*proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ProjectName.java" - -deep-copy-regex: -- source: "/google/cloud/asset/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-asset/$1/proto-google-cloud-asset-$1/src" -- source: "/google/cloud/asset/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-asset/$1/grpc-google-cloud-asset-$1/src" -- source: "/google/cloud/asset/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-asset/$1/google-cloud-asset/src" -- source: "/google/cloud/asset/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-asset/$1/samples/snippets/generated" - -api-name: cloudasset diff --git a/java-asset/.repo-metadata.json b/java-asset/.repo-metadata.json index a9873240133c..366c60117269 100644 --- a/java-asset/.repo-metadata.json +++ b/java-asset/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "provides inventory services based on a time series database. This database keeps a five week history of Google Cloud asset metadata. The Cloud Asset Inventory export service allows you to export all asset metadata at a certain timestamp or export event change history during a timeframe.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-asset/latest/overview", "release_level": "stable", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-asset", diff --git a/java-asset/google-cloud-asset-bom/pom.xml b/java-asset/google-cloud-asset-bom/pom.xml index 5e3c81668556..8424f07c8902 100644 --- a/java-asset/google-cloud-asset-bom/pom.xml +++ b/java-asset/google-cloud-asset-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-asset-bom - 3.97.0 + 3.98.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -24,57 +24,57 @@ com.google.cloud google-cloud-asset - 3.97.0 + 3.98.0 com.google.api.grpc grpc-google-cloud-asset-v1 - 3.97.0 + 3.98.0 com.google.api.grpc grpc-google-cloud-asset-v1p1beta1 - 3.97.0 + 3.98.0 com.google.api.grpc grpc-google-cloud-asset-v1p2beta1 - 3.97.0 + 3.98.0 com.google.api.grpc grpc-google-cloud-asset-v1p5beta1 - 3.97.0 + 3.98.0 com.google.api.grpc grpc-google-cloud-asset-v1p7beta1 - 3.97.0 + 3.98.0 com.google.api.grpc proto-google-cloud-asset-v1 - 3.97.0 + 3.98.0 com.google.api.grpc proto-google-cloud-asset-v1p1beta1 - 3.97.0 + 3.98.0 com.google.api.grpc proto-google-cloud-asset-v1p2beta1 - 3.97.0 + 3.98.0 com.google.api.grpc proto-google-cloud-asset-v1p5beta1 - 3.97.0 + 3.98.0 com.google.api.grpc proto-google-cloud-asset-v1p7beta1 - 3.97.0 + 3.98.0 diff --git a/java-asset/google-cloud-asset/pom.xml b/java-asset/google-cloud-asset/pom.xml index 8f062882f7a6..0f2c86e424d5 100644 --- a/java-asset/google-cloud-asset/pom.xml +++ b/java-asset/google-cloud-asset/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-asset - 3.97.0 + 3.98.0 jar Google Cloud Asset Java idiomatic client for Google Cloud Asset com.google.cloud google-cloud-asset-parent - 3.97.0 + 3.98.0 google-cloud-asset diff --git a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/Version.java b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/Version.java index 45f77bacddcf..b9b684152b51 100644 --- a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/Version.java +++ b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-asset:current} - static final String VERSION = "3.97.0"; + static final String VERSION = "3.98.0"; // {x-version-update-end} } diff --git a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p1beta1/stub/Version.java b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p1beta1/stub/Version.java index ca5708980a73..819086a6372c 100644 --- a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p1beta1/stub/Version.java +++ b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-asset:current} - static final String VERSION = "3.97.0"; + static final String VERSION = "3.98.0"; // {x-version-update-end} } diff --git a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p2beta1/stub/Version.java b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p2beta1/stub/Version.java index b90a92a9580b..41e0d3e010ba 100644 --- a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p2beta1/stub/Version.java +++ b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p2beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-asset:current} - static final String VERSION = "3.97.0"; + static final String VERSION = "3.98.0"; // {x-version-update-end} } diff --git a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p5beta1/stub/Version.java b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p5beta1/stub/Version.java index 3405d2eeb23a..383eb9b79985 100644 --- a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p5beta1/stub/Version.java +++ b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p5beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-asset:current} - static final String VERSION = "3.97.0"; + static final String VERSION = "3.98.0"; // {x-version-update-end} } diff --git a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p7beta1/stub/Version.java b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p7beta1/stub/Version.java index 4292a7ae3aaf..d77607d7a94e 100644 --- a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p7beta1/stub/Version.java +++ b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1p7beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-asset:current} - static final String VERSION = "3.97.0"; + static final String VERSION = "3.98.0"; // {x-version-update-end} } diff --git a/java-asset/grpc-google-cloud-asset-v1/pom.xml b/java-asset/grpc-google-cloud-asset-v1/pom.xml index bdb92e6eecfc..66031f2dc531 100644 --- a/java-asset/grpc-google-cloud-asset-v1/pom.xml +++ b/java-asset/grpc-google-cloud-asset-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-asset-v1 - 3.97.0 + 3.98.0 grpc-google-cloud-asset-v1 GRPC library for grpc-google-cloud-asset-v1 com.google.cloud google-cloud-asset-parent - 3.97.0 + 3.98.0 diff --git a/java-asset/grpc-google-cloud-asset-v1p1beta1/pom.xml b/java-asset/grpc-google-cloud-asset-v1p1beta1/pom.xml index bd00f80acfab..66f4d467a014 100644 --- a/java-asset/grpc-google-cloud-asset-v1p1beta1/pom.xml +++ b/java-asset/grpc-google-cloud-asset-v1p1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-asset-v1p1beta1 - 3.97.0 + 3.98.0 grpc-google-cloud-asset-v1p1beta1 GRPC library for grpc-google-cloud-asset-v1p1beta1 com.google.cloud google-cloud-asset-parent - 3.97.0 + 3.98.0 diff --git a/java-asset/grpc-google-cloud-asset-v1p2beta1/pom.xml b/java-asset/grpc-google-cloud-asset-v1p2beta1/pom.xml index 193347d41ecc..62e7aa00e894 100644 --- a/java-asset/grpc-google-cloud-asset-v1p2beta1/pom.xml +++ b/java-asset/grpc-google-cloud-asset-v1p2beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-asset-v1p2beta1 - 3.97.0 + 3.98.0 grpc-google-cloud-asset-v1p2beta1 GRPC library for grpc-google-cloud-asset-v1p2beta1 com.google.cloud google-cloud-asset-parent - 3.97.0 + 3.98.0 diff --git a/java-asset/grpc-google-cloud-asset-v1p5beta1/pom.xml b/java-asset/grpc-google-cloud-asset-v1p5beta1/pom.xml index e1843adf61cb..cf5619b7188c 100644 --- a/java-asset/grpc-google-cloud-asset-v1p5beta1/pom.xml +++ b/java-asset/grpc-google-cloud-asset-v1p5beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-asset-v1p5beta1 - 3.97.0 + 3.98.0 grpc-google-cloud-asset-v1p5beta1 GRPC library for grpc-google-cloud-asset-v1p5beta1 com.google.cloud google-cloud-asset-parent - 3.97.0 + 3.98.0 diff --git a/java-asset/grpc-google-cloud-asset-v1p7beta1/pom.xml b/java-asset/grpc-google-cloud-asset-v1p7beta1/pom.xml index 2b104f9cb9f2..143313881513 100644 --- a/java-asset/grpc-google-cloud-asset-v1p7beta1/pom.xml +++ b/java-asset/grpc-google-cloud-asset-v1p7beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-asset-v1p7beta1 - 3.97.0 + 3.98.0 grpc-google-cloud-asset-v1p7beta1 GRPC library for google-cloud-asset com.google.cloud google-cloud-asset-parent - 3.97.0 + 3.98.0 diff --git a/java-asset/pom.xml b/java-asset/pom.xml index 06b497cd817f..fc6900701ad4 100644 --- a/java-asset/pom.xml +++ b/java-asset/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-asset-parent pom - 3.97.0 + 3.98.0 Google Cloud Asset Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,78 +30,78 @@ com.google.api.grpc proto-google-cloud-asset-v1 - 3.97.0 + 3.98.0 com.google.api.grpc proto-google-cloud-asset-v1p7beta1 - 3.97.0 + 3.98.0 com.google.api.grpc grpc-google-cloud-asset-v1p7beta1 - 3.97.0 + 3.98.0 com.google.api.grpc proto-google-cloud-asset-v1p1beta1 - 3.97.0 + 3.98.0 com.google.api.grpc proto-google-cloud-asset-v1p2beta1 - 3.97.0 + 3.98.0 com.google.api.grpc proto-google-cloud-asset-v1p5beta1 - 3.97.0 + 3.98.0 com.google.api.grpc grpc-google-cloud-asset-v1 - 3.97.0 + 3.98.0 com.google.api.grpc grpc-google-cloud-asset-v1p1beta1 - 3.97.0 + 3.98.0 com.google.api.grpc grpc-google-cloud-asset-v1p2beta1 - 3.97.0 + 3.98.0 com.google.api.grpc grpc-google-cloud-asset-v1p5beta1 - 3.97.0 + 3.98.0 com.google.cloud google-cloud-asset - 3.97.0 + 3.98.0 com.google.api.grpc proto-google-cloud-orgpolicy-v1 - 2.93.0 + 2.94.0 com.google.api.grpc proto-google-identity-accesscontextmanager-v1 - 1.94.0 + 1.95.0 com.google.api.grpc proto-google-cloud-os-config-v1 - 2.95.0 + 2.96.0 com.google.cloud google-cloud-resourcemanager - 1.95.0 + 1.96.0 test diff --git a/java-asset/proto-google-cloud-asset-v1/pom.xml b/java-asset/proto-google-cloud-asset-v1/pom.xml index a634cf4bcbfa..27e920224ea7 100644 --- a/java-asset/proto-google-cloud-asset-v1/pom.xml +++ b/java-asset/proto-google-cloud-asset-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-asset-v1 - 3.97.0 + 3.98.0 proto-google-cloud-asset-v1 PROTO library for proto-google-cloud-asset-v1 com.google.cloud google-cloud-asset-parent - 3.97.0 + 3.98.0 diff --git a/java-asset/proto-google-cloud-asset-v1p1beta1/pom.xml b/java-asset/proto-google-cloud-asset-v1p1beta1/pom.xml index 02b88e0405dc..2186f99dd2fc 100644 --- a/java-asset/proto-google-cloud-asset-v1p1beta1/pom.xml +++ b/java-asset/proto-google-cloud-asset-v1p1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-asset-v1p1beta1 - 3.97.0 + 3.98.0 proto-google-cloud-asset-v1p1beta1 PROTO library for proto-google-cloud-asset-v1p1beta1 com.google.cloud google-cloud-asset-parent - 3.97.0 + 3.98.0 diff --git a/java-asset/proto-google-cloud-asset-v1p2beta1/pom.xml b/java-asset/proto-google-cloud-asset-v1p2beta1/pom.xml index d6e3fd8a5b50..23c6e9c540d8 100644 --- a/java-asset/proto-google-cloud-asset-v1p2beta1/pom.xml +++ b/java-asset/proto-google-cloud-asset-v1p2beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-asset-v1p2beta1 - 3.97.0 + 3.98.0 proto-google-cloud-asset-v1p2beta1 PROTO library for proto-google-cloud-asset-v1p2beta1 com.google.cloud google-cloud-asset-parent - 3.97.0 + 3.98.0 diff --git a/java-asset/proto-google-cloud-asset-v1p5beta1/pom.xml b/java-asset/proto-google-cloud-asset-v1p5beta1/pom.xml index 467d4b30cec5..50ce8d78f907 100644 --- a/java-asset/proto-google-cloud-asset-v1p5beta1/pom.xml +++ b/java-asset/proto-google-cloud-asset-v1p5beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-asset-v1p5beta1 - 3.97.0 + 3.98.0 proto-google-cloud-asset-v1p5beta1 PROTO library for proto-google-cloud-asset-v1p4beta1 com.google.cloud google-cloud-asset-parent - 3.97.0 + 3.98.0 diff --git a/java-asset/proto-google-cloud-asset-v1p7beta1/pom.xml b/java-asset/proto-google-cloud-asset-v1p7beta1/pom.xml index d4ef86c66cab..f0233198f84e 100644 --- a/java-asset/proto-google-cloud-asset-v1p7beta1/pom.xml +++ b/java-asset/proto-google-cloud-asset-v1p7beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-asset-v1p7beta1 - 3.97.0 + 3.98.0 proto-google-cloud-asset-v1p7beta1 Proto library for google-cloud-asset com.google.cloud google-cloud-asset-parent - 3.97.0 + 3.98.0 diff --git a/java-assured-workloads/.OwlBot-hermetic.yaml b/java-assured-workloads/.OwlBot-hermetic.yaml deleted file mode 100644 index 4ae7d7469586..000000000000 --- a/java-assured-workloads/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-assured-workloads/samples/snippets/generated" -- "/java-assured-workloads/grpc-google-.*/src" -- "/java-assured-workloads/proto-google-.*/src" -- "/java-assured-workloads/google-.*/src" - -deep-preserve-regex: - - "/.*google-.*/src/main/java/.*/stub/Version.java" - -deep-copy-regex: -- source: "/google/cloud/assuredworkloads/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-assured-workloads/$1/proto-google-cloud-assured-workloads-$1/src" -- source: "/google/cloud/assuredworkloads/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-assured-workloads/$1/grpc-google-cloud-assured-workloads-$1/src" -- source: "/google/cloud/assuredworkloads/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-assured-workloads/$1/google-cloud-assured-workloads/src" -- source: "/google/cloud/assuredworkloads/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-assured-workloads/$1/samples/snippets/generated" - -api-name: assuredworkloads diff --git a/java-assured-workloads/.repo-metadata.json b/java-assured-workloads/.repo-metadata.json index 074645d48bc4..a2c884292b0b 100644 --- a/java-assured-workloads/.repo-metadata.json +++ b/java-assured-workloads/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "allows you to secure your government workloads and accelerate your path to running compliant workloads on Google Cloud with Assured Workloads for Government.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-assured-workloads/latest/overview", "release_level": "stable", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-assured-workloads", diff --git a/java-assured-workloads/google-cloud-assured-workloads-bom/pom.xml b/java-assured-workloads/google-cloud-assured-workloads-bom/pom.xml index 6ad353614e1e..bc13aaa1cac5 100644 --- a/java-assured-workloads/google-cloud-assured-workloads-bom/pom.xml +++ b/java-assured-workloads/google-cloud-assured-workloads-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-assured-workloads-bom - 2.93.0 + 2.94.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-assured-workloads - 2.93.0 + 2.94.0 com.google.api.grpc grpc-google-cloud-assured-workloads-v1beta1 - 2.93.0 + 2.94.0 com.google.api.grpc grpc-google-cloud-assured-workloads-v1 - 2.93.0 + 2.94.0 com.google.api.grpc proto-google-cloud-assured-workloads-v1beta1 - 2.93.0 + 2.94.0 com.google.api.grpc proto-google-cloud-assured-workloads-v1 - 2.93.0 + 2.94.0 diff --git a/java-assured-workloads/google-cloud-assured-workloads/pom.xml b/java-assured-workloads/google-cloud-assured-workloads/pom.xml index 5aff8b256754..d955fee4c542 100644 --- a/java-assured-workloads/google-cloud-assured-workloads/pom.xml +++ b/java-assured-workloads/google-cloud-assured-workloads/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-assured-workloads - 2.93.0 + 2.94.0 jar Google Assured Workloads for Government allows you to secure your government workloads and accelerate your path to running compliant workloads on Google Cloud with Assured Workloads for Government. com.google.cloud google-cloud-assured-workloads-parent - 2.93.0 + 2.94.0 google-cloud-assured-workloads diff --git a/java-assured-workloads/google-cloud-assured-workloads/src/main/java/com/google/cloud/assuredworkloads/v1/stub/Version.java b/java-assured-workloads/google-cloud-assured-workloads/src/main/java/com/google/cloud/assuredworkloads/v1/stub/Version.java index 70c246291b0b..ad12e4c8d308 100644 --- a/java-assured-workloads/google-cloud-assured-workloads/src/main/java/com/google/cloud/assuredworkloads/v1/stub/Version.java +++ b/java-assured-workloads/google-cloud-assured-workloads/src/main/java/com/google/cloud/assuredworkloads/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-assured-workloads:current} - static final String VERSION = "2.93.0"; + static final String VERSION = "2.94.0"; // {x-version-update-end} } diff --git a/java-assured-workloads/google-cloud-assured-workloads/src/main/java/com/google/cloud/assuredworkloads/v1beta1/stub/Version.java b/java-assured-workloads/google-cloud-assured-workloads/src/main/java/com/google/cloud/assuredworkloads/v1beta1/stub/Version.java index 85cbc23423ad..29eb95212dbd 100644 --- a/java-assured-workloads/google-cloud-assured-workloads/src/main/java/com/google/cloud/assuredworkloads/v1beta1/stub/Version.java +++ b/java-assured-workloads/google-cloud-assured-workloads/src/main/java/com/google/cloud/assuredworkloads/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-assured-workloads:current} - static final String VERSION = "2.93.0"; + static final String VERSION = "2.94.0"; // {x-version-update-end} } diff --git a/java-assured-workloads/grpc-google-cloud-assured-workloads-v1/pom.xml b/java-assured-workloads/grpc-google-cloud-assured-workloads-v1/pom.xml index 9942959ae02e..9e34e64ab167 100644 --- a/java-assured-workloads/grpc-google-cloud-assured-workloads-v1/pom.xml +++ b/java-assured-workloads/grpc-google-cloud-assured-workloads-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-assured-workloads-v1 - 2.93.0 + 2.94.0 grpc-google-cloud-assured-workloads-v1 GRPC library for google-cloud-assured-workloads com.google.cloud google-cloud-assured-workloads-parent - 2.93.0 + 2.94.0 diff --git a/java-assured-workloads/grpc-google-cloud-assured-workloads-v1beta1/pom.xml b/java-assured-workloads/grpc-google-cloud-assured-workloads-v1beta1/pom.xml index ee1cabf1fd46..cba7684d5565 100644 --- a/java-assured-workloads/grpc-google-cloud-assured-workloads-v1beta1/pom.xml +++ b/java-assured-workloads/grpc-google-cloud-assured-workloads-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-assured-workloads-v1beta1 - 2.93.0 + 2.94.0 grpc-google-cloud-assured-workloads-v1beta1 GRPC library for google-cloud-assured-workloads com.google.cloud google-cloud-assured-workloads-parent - 2.93.0 + 2.94.0 diff --git a/java-assured-workloads/pom.xml b/java-assured-workloads/pom.xml index f827e2b176c2..8af4183f695d 100644 --- a/java-assured-workloads/pom.xml +++ b/java-assured-workloads/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-assured-workloads-parent pom - 2.93.0 + 2.94.0 Google Assured Workloads for Government Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-assured-workloads - 2.93.0 + 2.94.0 com.google.api.grpc proto-google-cloud-assured-workloads-v1 - 2.93.0 + 2.94.0 com.google.api.grpc grpc-google-cloud-assured-workloads-v1 - 2.93.0 + 2.94.0 com.google.api.grpc proto-google-cloud-assured-workloads-v1beta1 - 2.93.0 + 2.94.0 com.google.api.grpc grpc-google-cloud-assured-workloads-v1beta1 - 2.93.0 + 2.94.0 diff --git a/java-assured-workloads/proto-google-cloud-assured-workloads-v1/pom.xml b/java-assured-workloads/proto-google-cloud-assured-workloads-v1/pom.xml index 965d9586431c..18f931b02587 100644 --- a/java-assured-workloads/proto-google-cloud-assured-workloads-v1/pom.xml +++ b/java-assured-workloads/proto-google-cloud-assured-workloads-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-assured-workloads-v1 - 2.93.0 + 2.94.0 proto-google-cloud-assured-workloads-v1 Proto library for google-cloud-assured-workloads com.google.cloud google-cloud-assured-workloads-parent - 2.93.0 + 2.94.0 diff --git a/java-assured-workloads/proto-google-cloud-assured-workloads-v1beta1/pom.xml b/java-assured-workloads/proto-google-cloud-assured-workloads-v1beta1/pom.xml index e4c4dabab1f7..fdf742e167f4 100644 --- a/java-assured-workloads/proto-google-cloud-assured-workloads-v1beta1/pom.xml +++ b/java-assured-workloads/proto-google-cloud-assured-workloads-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-assured-workloads-v1beta1 - 2.93.0 + 2.94.0 proto-google-cloud-assured-workloads-v1beta1 Proto library for google-cloud-assured-workloads com.google.cloud google-cloud-assured-workloads-parent - 2.93.0 + 2.94.0 diff --git a/java-auditmanager/.OwlBot-hermetic.yaml b/java-auditmanager/.OwlBot-hermetic.yaml deleted file mode 100644 index 026473f06cf3..000000000000 --- a/java-auditmanager/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2024 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. - - -deep-remove-regex: -- "/java-auditmanager/grpc-google-.*/src" -- "/java-auditmanager/proto-google-.*/src" -- "/java-auditmanager/google-.*/src" -- "/java-auditmanager/samples/snippets/generated" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/cloud/auditmanager/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-auditmanager/$1/proto-google-cloud-auditmanager-$1/src" -- source: "/google/cloud/auditmanager/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-auditmanager/$1/grpc-google-cloud-auditmanager-$1/src" -- source: "/google/cloud/auditmanager/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-auditmanager/$1/google-cloud-auditmanager/src" -- source: "/google/cloud/auditmanager/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-auditmanager/$1/samples/snippets/generated" - -api-name: auditmanager \ No newline at end of file diff --git a/java-auditmanager/.repo-metadata.json b/java-auditmanager/.repo-metadata.json index 9875aaff1e47..f9020f836e57 100644 --- a/java-auditmanager/.repo-metadata.json +++ b/java-auditmanager/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "Lists information about the supported locations for this service.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-auditmanager/latest/overview", "release_level": "preview", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-auditmanager", diff --git a/java-auditmanager/google-cloud-auditmanager-bom/pom.xml b/java-auditmanager/google-cloud-auditmanager-bom/pom.xml index 71c1af30b667..2aef101c64ae 100644 --- a/java-auditmanager/google-cloud-auditmanager-bom/pom.xml +++ b/java-auditmanager/google-cloud-auditmanager-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-auditmanager-bom - 0.11.0 + 0.12.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-auditmanager - 0.11.0 + 0.12.0 com.google.api.grpc grpc-google-cloud-auditmanager-v1 - 0.11.0 + 0.12.0 com.google.api.grpc proto-google-cloud-auditmanager-v1 - 0.11.0 + 0.12.0 diff --git a/java-auditmanager/google-cloud-auditmanager/pom.xml b/java-auditmanager/google-cloud-auditmanager/pom.xml index 346f52cc6403..1d654adba73b 100644 --- a/java-auditmanager/google-cloud-auditmanager/pom.xml +++ b/java-auditmanager/google-cloud-auditmanager/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-auditmanager - 0.11.0 + 0.12.0 jar Google Audit Manager API Audit Manager API Lists information about the supported locations for this service. com.google.cloud google-cloud-auditmanager-parent - 0.11.0 + 0.12.0 google-cloud-auditmanager diff --git a/java-auditmanager/google-cloud-auditmanager/src/main/java/com/google/cloud/auditmanager/v1/stub/Version.java b/java-auditmanager/google-cloud-auditmanager/src/main/java/com/google/cloud/auditmanager/v1/stub/Version.java index d6c690d6bdd4..287467377815 100644 --- a/java-auditmanager/google-cloud-auditmanager/src/main/java/com/google/cloud/auditmanager/v1/stub/Version.java +++ b/java-auditmanager/google-cloud-auditmanager/src/main/java/com/google/cloud/auditmanager/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-auditmanager:current} - static final String VERSION = "0.11.0"; + static final String VERSION = "0.12.0"; // {x-version-update-end} } diff --git a/java-auditmanager/grpc-google-cloud-auditmanager-v1/pom.xml b/java-auditmanager/grpc-google-cloud-auditmanager-v1/pom.xml index de2f0be690d0..6e2f5603df0a 100644 --- a/java-auditmanager/grpc-google-cloud-auditmanager-v1/pom.xml +++ b/java-auditmanager/grpc-google-cloud-auditmanager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-auditmanager-v1 - 0.11.0 + 0.12.0 grpc-google-cloud-auditmanager-v1 GRPC library for google-cloud-auditmanager com.google.cloud google-cloud-auditmanager-parent - 0.11.0 + 0.12.0 diff --git a/java-auditmanager/pom.xml b/java-auditmanager/pom.xml index ade2f6582c56..b29781624721 100644 --- a/java-auditmanager/pom.xml +++ b/java-auditmanager/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-auditmanager-parent pom - 0.11.0 + 0.12.0 Google Audit Manager API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-auditmanager - 0.11.0 + 0.12.0 com.google.api.grpc grpc-google-cloud-auditmanager-v1 - 0.11.0 + 0.12.0 com.google.api.grpc proto-google-cloud-auditmanager-v1 - 0.11.0 + 0.12.0 diff --git a/java-auditmanager/proto-google-cloud-auditmanager-v1/pom.xml b/java-auditmanager/proto-google-cloud-auditmanager-v1/pom.xml index 041539558cae..b92b5e195fdb 100644 --- a/java-auditmanager/proto-google-cloud-auditmanager-v1/pom.xml +++ b/java-auditmanager/proto-google-cloud-auditmanager-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-auditmanager-v1 - 0.11.0 + 0.12.0 proto-google-cloud-auditmanager-v1 Proto library for google-cloud-auditmanager com.google.cloud google-cloud-auditmanager-parent - 0.11.0 + 0.12.0 diff --git a/java-automl/.OwlBot-hermetic.yaml b/java-automl/.OwlBot-hermetic.yaml deleted file mode 100644 index 0c39ec644cac..000000000000 --- a/java-automl/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-automl/samples/snippets/generated" -- "/java-automl/grpc-google-.*/src" -- "/java-automl/proto-google-.*/src" -- "/java-automl/google-.*/src" - -deep-preserve-regex: - - "/.*google-.*/src/main/java/.*/stub/Version.java" - -deep-copy-regex: -- source: "/google/cloud/automl/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-automl/$1/proto-google-cloud-automl-$1/src" -- source: "/google/cloud/automl/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-automl/$1/grpc-google-cloud-automl-$1/src" -- source: "/google/cloud/automl/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-automl/$1/google-cloud-automl/src" -- source: "/google/cloud/automl/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-automl/$1/samples/snippets/generated" - -api-name: automl diff --git a/java-automl/.repo-metadata.json b/java-automl/.repo-metadata.json index a9963c5bfdfc..c7410541580a 100644 --- a/java-automl/.repo-metadata.json +++ b/java-automl/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "makes the power of machine learning available to you even if you have limited knowledge of machine learning. You can use AutoML to build on Google's machine learning capabilities to create your own custom machine learning models that are tailored to your business needs, and then integrate those models into your applications and web sites.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-automl/latest/overview", "release_level": "stable", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-automl", diff --git a/java-automl/google-cloud-automl-bom/pom.xml b/java-automl/google-cloud-automl-bom/pom.xml index c6653aaea6bf..86abc2bd5cea 100644 --- a/java-automl/google-cloud-automl-bom/pom.xml +++ b/java-automl/google-cloud-automl-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-automl-bom - 2.93.0 + 2.94.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -24,27 +24,27 @@ com.google.cloud google-cloud-automl - 2.93.0 + 2.94.0 com.google.api.grpc grpc-google-cloud-automl-v1beta1 - 2.93.0 + 2.94.0 com.google.api.grpc grpc-google-cloud-automl-v1 - 2.93.0 + 2.94.0 com.google.api.grpc proto-google-cloud-automl-v1beta1 - 2.93.0 + 2.94.0 com.google.api.grpc proto-google-cloud-automl-v1 - 2.93.0 + 2.94.0 diff --git a/java-automl/google-cloud-automl/pom.xml b/java-automl/google-cloud-automl/pom.xml index 5ed39e546bc5..fe0aa7ad835a 100644 --- a/java-automl/google-cloud-automl/pom.xml +++ b/java-automl/google-cloud-automl/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-automl - 2.93.0 + 2.94.0 jar Google Cloud AutoML Java idiomatic client for Google Cloud Auto ML com.google.cloud google-cloud-automl-parent - 2.93.0 + 2.94.0 google-cloud-automl diff --git a/java-automl/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/stub/Version.java b/java-automl/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/stub/Version.java index 0c9614108ab0..92a13209b38e 100644 --- a/java-automl/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/stub/Version.java +++ b/java-automl/google-cloud-automl/src/main/java/com/google/cloud/automl/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-automl:current} - static final String VERSION = "2.93.0"; + static final String VERSION = "2.94.0"; // {x-version-update-end} } diff --git a/java-automl/google-cloud-automl/src/main/java/com/google/cloud/automl/v1beta1/stub/Version.java b/java-automl/google-cloud-automl/src/main/java/com/google/cloud/automl/v1beta1/stub/Version.java index 1c1796475049..1af87a6f688b 100644 --- a/java-automl/google-cloud-automl/src/main/java/com/google/cloud/automl/v1beta1/stub/Version.java +++ b/java-automl/google-cloud-automl/src/main/java/com/google/cloud/automl/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-automl:current} - static final String VERSION = "2.93.0"; + static final String VERSION = "2.94.0"; // {x-version-update-end} } diff --git a/java-automl/grpc-google-cloud-automl-v1/pom.xml b/java-automl/grpc-google-cloud-automl-v1/pom.xml index e6bf8f5df092..e5fb1c5b9b79 100644 --- a/java-automl/grpc-google-cloud-automl-v1/pom.xml +++ b/java-automl/grpc-google-cloud-automl-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-automl-v1 - 2.93.0 + 2.94.0 grpc-google-cloud-automl-v1 GRPC library for grpc-google-cloud-automl-v1 com.google.cloud google-cloud-automl-parent - 2.93.0 + 2.94.0 diff --git a/java-automl/grpc-google-cloud-automl-v1beta1/pom.xml b/java-automl/grpc-google-cloud-automl-v1beta1/pom.xml index 48ec8306c724..e953ce56a7ba 100644 --- a/java-automl/grpc-google-cloud-automl-v1beta1/pom.xml +++ b/java-automl/grpc-google-cloud-automl-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-automl-v1beta1 - 2.93.0 + 2.94.0 grpc-google-cloud-automl-v1beta1 GRPC library for grpc-google-cloud-automl-v1beta1 com.google.cloud google-cloud-automl-parent - 2.93.0 + 2.94.0 diff --git a/java-automl/pom.xml b/java-automl/pom.xml index 8f6905424ddb..2e975aac3801 100644 --- a/java-automl/pom.xml +++ b/java-automl/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-automl-parent pom - 2.93.0 + 2.94.0 Google Cloud AutoML Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.api.grpc proto-google-cloud-automl-v1beta1 - 2.93.0 + 2.94.0 com.google.api.grpc proto-google-cloud-automl-v1 - 2.93.0 + 2.94.0 com.google.api.grpc grpc-google-cloud-automl-v1beta1 - 2.93.0 + 2.94.0 com.google.api.grpc grpc-google-cloud-automl-v1 - 2.93.0 + 2.94.0 com.google.cloud google-cloud-automl - 2.93.0 + 2.94.0 diff --git a/java-automl/proto-google-cloud-automl-v1/pom.xml b/java-automl/proto-google-cloud-automl-v1/pom.xml index 37836aebcf18..b0c151bbb889 100644 --- a/java-automl/proto-google-cloud-automl-v1/pom.xml +++ b/java-automl/proto-google-cloud-automl-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-automl-v1 - 2.93.0 + 2.94.0 proto-google-cloud-automl-v1 PROTO library for proto-google-cloud-automl-v1 com.google.cloud google-cloud-automl-parent - 2.93.0 + 2.94.0 diff --git a/java-automl/proto-google-cloud-automl-v1beta1/pom.xml b/java-automl/proto-google-cloud-automl-v1beta1/pom.xml index 614cd66b84d6..5d823cb9662b 100644 --- a/java-automl/proto-google-cloud-automl-v1beta1/pom.xml +++ b/java-automl/proto-google-cloud-automl-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-automl-v1beta1 - 2.93.0 + 2.94.0 proto-google-cloud-automl-v1beta1 PROTO library for proto-google-cloud-automl-v1beta1 com.google.cloud google-cloud-automl-parent - 2.93.0 + 2.94.0 diff --git a/java-backstory/.OwlBot-hermetic.yaml b/java-backstory/.OwlBot-hermetic.yaml deleted file mode 100644 index 0f5259ed6710..000000000000 --- a/java-backstory/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 2024 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. - - -deep-remove-regex: -- "/java-backstory/grpc-google-.*/src" -- "/java-backstory/proto-google-.*/src" -- "/java-backstory/google-.*/src" -- "/java-backstory/samples/snippets/generated" - -deep-preserve-regex: -- "/java-backstory/google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/backstory/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-backstory/proto-google-cloud-backstory/src" -- source: "/backstory/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-backstory/grpc-google-cloud-backstory/src" -- source: "/backstory/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-backstory/google-cloud-backstory/src" -- source: "/backstory/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-backstory/samples/snippets/generated" - -api-name: backstory \ No newline at end of file diff --git a/java-backstory/.repo-metadata.json b/java-backstory/.repo-metadata.json index bd0684045421..ab24aab0c65a 100644 --- a/java-backstory/.repo-metadata.json +++ b/java-backstory/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "Common Universal Data Model (UDM) and Entity protos used by Chronicle.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-backstory/latest/overview", "release_level": "preview", - "transport": "grpc", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-backstory", diff --git a/java-backstory/README.md b/java-backstory/README.md index ecc96e1a8fc3..0c8206c7b75f 100644 --- a/java-backstory/README.md +++ b/java-backstory/README.md @@ -45,20 +45,20 @@ If you are using Maven without the BOM, add this to your dependencies: com.google.cloud google-cloud-backstory - 0.0.0 + 0.1.0 ``` If you are using Gradle without BOM, add this to your dependencies: ```Groovy -implementation 'com.google.cloud:google-cloud-backstory:0.0.0' +implementation 'com.google.cloud:google-cloud-backstory:0.1.0' ``` If you are using SBT, add this to your dependencies: ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-backstory" % "0.0.0" +libraryDependencies += "com.google.cloud" % "google-cloud-backstory" % "0.1.0" ``` ## Authentication @@ -103,7 +103,7 @@ To get help, follow the instructions in the [shared Troubleshooting document][tr ## Transport -Malachite Common Protos uses gRPC for the transport layer. +Malachite Common Protos uses both gRPC and HTTP/JSON for the transport layer. ## Supported Java Versions @@ -181,7 +181,7 @@ Java is a registered trademark of Oracle and/or its affiliates. [javadocs]: https://cloud.google.com/java/docs/reference/google-cloud-backstory/latest/overview [stability-image]: https://img.shields.io/badge/stability-preview-yellow [maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-backstory.svg -[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-backstory/0.0.0 +[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-backstory/0.1.0 [authentication]: https://github.com/googleapis/google-cloud-java#authentication [auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes [predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles diff --git a/java-backstory/google-cloud-backstory-bom/pom.xml b/java-backstory/google-cloud-backstory-bom/pom.xml index da8c92374af0..a3d39ac3fcb8 100644 --- a/java-backstory/google-cloud-backstory-bom/pom.xml +++ b/java-backstory/google-cloud-backstory-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-backstory-bom - 0.1.0 + 0.2.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -26,12 +26,12 @@ com.google.cloud google-cloud-backstory - 0.1.0 + 0.2.0 com.google.api.grpc proto-google-cloud-backstory - 0.1.0 + 0.2.0 diff --git a/java-backstory/google-cloud-backstory/pom.xml b/java-backstory/google-cloud-backstory/pom.xml index 98efab46b08c..ad44b0dbbd9e 100644 --- a/java-backstory/google-cloud-backstory/pom.xml +++ b/java-backstory/google-cloud-backstory/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-backstory - 0.1.0 + 0.2.0 jar Google Malachite Common Protos Malachite Common Protos Common Universal Data Model (UDM) and Entity protos used by Chronicle. com.google.cloud google-cloud-backstory-parent - 0.1.0 + 0.2.0 google-cloud-backstory diff --git a/java-backstory/pom.xml b/java-backstory/pom.xml index 1006be614fc6..9eb848074f17 100644 --- a/java-backstory/pom.xml +++ b/java-backstory/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-backstory-parent pom - 0.1.0 + 0.2.0 Google Malachite Common Protos Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -29,12 +29,12 @@ com.google.cloud google-cloud-backstory - 0.1.0 + 0.2.0 com.google.api.grpc proto-google-cloud-backstory - 0.1.0 + 0.2.0 diff --git a/java-backstory/proto-google-cloud-backstory/clirr-ignored-differences.xml b/java-backstory/proto-google-cloud-backstory/clirr-ignored-differences.xml new file mode 100644 index 000000000000..abb11d1606d7 --- /dev/null +++ b/java-backstory/proto-google-cloud-backstory/clirr-ignored-differences.xml @@ -0,0 +1,80 @@ + + + + + 7012 + com/google/backstory/*OrBuilder + * get*(*) + + + 7012 + com/google/backstory/*OrBuilder + boolean contains*(*) + + + 7012 + com/google/backstory/*OrBuilder + boolean has*(*) + + + + 7006 + com/google/backstory/** + * getDefaultInstanceForType() + ** + + + 7006 + com/google/backstory/** + * addRepeatedField(*) + ** + + + 7006 + com/google/backstory/** + * clear() + ** + + + 7006 + com/google/backstory/** + * clearField(*) + ** + + + 7006 + com/google/backstory/** + * clearOneof(*) + ** + + + 7006 + com/google/backstory/** + * clone() + ** + + + 7006 + com/google/backstory/** + * mergeUnknownFields(*) + ** + + + 7006 + com/google/backstory/** + * setField(*) + ** + + + 7006 + com/google/backstory/** + * setRepeatedField(*) + ** + + + 7006 + com/google/backstory/** + * setUnknownFields(*) + ** + + diff --git a/java-backstory/proto-google-cloud-backstory/pom.xml b/java-backstory/proto-google-cloud-backstory/pom.xml index 14421decac00..c2cc88650ecd 100644 --- a/java-backstory/proto-google-cloud-backstory/pom.xml +++ b/java-backstory/proto-google-cloud-backstory/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-backstory - 0.1.0 + 0.2.0 proto-google-cloud-backstory Proto library for google-cloud-backstory com.google.cloud google-cloud-backstory-parent - 0.1.0 + 0.2.0 diff --git a/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/CollectionOuterClass.java b/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/CollectionOuterClass.java index c710c3b798eb..9b945c9b86ff 100644 --- a/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/CollectionOuterClass.java +++ b/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/CollectionOuterClass.java @@ -179,10 +179,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "source_system\030\004 \001(\t\022\017\n" + "\007product\030\005 \001(\t\022\037\n" + "\027source_system_ticket_id\030\006 \001(\t\022\031\n" - + "\021source_system_uri\030\007 \001(\tB\215\001\n" - + "\024com.google.backstoryP\001Z9google.golang.org/genproto/googleapis/backstory" - + ";backstory\252\002\020Google.Backstory\312\002\020Google\\B" - + "ackstory\352\002\021Google::Backstoryb\006proto3" + + "\021source_system_uri\030\007 \001(\tB\211\001\n" + + "\024com.google.backstoryP\001Z5cloud.google.com/go/backstory/backstorypb;backs" + + "torypb\252\002\020Google.Backstory\312\002\020Google\\Backs" + + "tory\352\002\021Google::Backstoryb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( diff --git a/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/DataAccess.java b/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/DataAccess.java index b2e7fc733488..e05dbbd59700 100644 --- a/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/DataAccess.java +++ b/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/DataAccess.java @@ -64,11 +64,11 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "els\030\002 \003(\tB\002\030\001\022\022\n\nnamespaces\030\003 \003(\t\022\025\n\rcus" + "tom_labels\030\004 \003(\t\022G\n\023ingestion_kv_labels\030" + "\005 \003(\0132*.google.backstory.DataAccessInges" - + "tionLabel\022\033\n\023allow_scoped_access\030\006 \001(\010B\215" - + "\001\n\024com.google.backstoryP\001Z9google.golang" - + ".org/genproto/googleapis/backstory;backs" - + "tory\252\002\020Google.Backstory\312\002\020Google\\Backsto" - + "ry\352\002\021Google::Backstoryb\006proto3" + + "tionLabel\022\033\n\023allow_scoped_access\030\006 \001(\010B\211" + + "\001\n\024com.google.backstoryP\001Z5cloud.google." + + "com/go/backstory/backstorypb;backstorypb" + + "\252\002\020Google.Backstory\312\002\020Google\\Backstory\352\002" + + "\021Google::Backstoryb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( diff --git a/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/EntityProto.java b/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/EntityProto.java index 9d5decbe93cf..6534ab990a72 100644 --- a/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/EntityProto.java +++ b/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/EntityProto.java @@ -285,11 +285,11 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\024TARGET_RESOURCE_TYPE\020$\022\030\n" + "\024TARGET_LOCATION_NAME\020%\022\014\n" + "\010LOG_TYPE\020&\022\023\n" - + "\017TARGET_HOSTNAME\020\'B\232\001\n" - + "\024com.google.backstoryB\013EntityProtoP\001Z9g" - + "oogle.golang.org/genproto/googleapis/bac" - + "kstory;backstory\252\002\020Google.Backstory\312\002\020Go" - + "ogle\\Backstory\352\002\021Google::Backstoryb\006proto3" + + "\017TARGET_HOSTNAME\020\'B\226\001\n" + + "\024com.google.backstoryB\013EntityProtoP\001Z5c" + + "loud.google.com/go/backstory/backstorypb" + + ";backstorypb\252\002\020Google.Backstory\312\002\020Google" + + "\\Backstory\352\002\021Google::Backstoryb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( diff --git a/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/EntityRiskProto.java b/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/EntityRiskProto.java index ed03d9d27109..bfdbed980897 100644 --- a/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/EntityRiskProto.java +++ b/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/EntityRiskProto.java @@ -80,11 +80,11 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "revious_range_end_time\030\001 \001(\0132\032.google.pr" + "otobuf.Timestamp\022\030\n\020risk_score_delta\030\002 \001" + "(\005\022\033\n\023previous_risk_score\030\003 \001(\005\022 \n\030risk_" - + "score_numeric_delta\030\004 \001(\005B\236\001\n\024com.google" - + ".backstoryB\017EntityRiskProtoP\001Z9google.go" - + "lang.org/genproto/googleapis/backstory;b" - + "ackstory\252\002\020Google.Backstory\312\002\020Google\\Bac" - + "kstory\352\002\021Google::Backstoryb\006proto3" + + "score_numeric_delta\030\004 \001(\005B\232\001\n\024com.google" + + ".backstoryB\017EntityRiskProtoP\001Z5cloud.goo" + + "gle.com/go/backstory/backstorypb;backsto" + + "rypb\252\002\020Google.Backstory\312\002\020Google\\Backsto" + + "ry\352\002\021Google::Backstoryb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( diff --git a/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/IdOuterClass.java b/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/IdOuterClass.java index fcdf5f0286ce..3f72c61c457f 100644 --- a/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/IdOuterClass.java +++ b/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/IdOuterClass.java @@ -61,10 +61,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "TIONS\020\002\022\r\n\tUPPERCASE\020\003\022\030\n\024MACHINE_INTELL" + "IGENCE\020\004\022\033\n\027SECURITY_COMMAND_CENTER\020\005\022\017\n" + "\013UNSPECIFIED\020\006\022\016\n\nSOAR_ALERT\020\007\022\017\n\013VIRUS_" - + "TOTAL\020\010B\215\001\n\024com.google.backstoryP\001Z9goog" - + "le.golang.org/genproto/googleapis/backst" - + "ory;backstory\252\002\020Google.Backstory\312\002\020Googl" - + "e\\Backstory\352\002\021Google::Backstoryb\006proto3" + + "TOTAL\020\010B\211\001\n\024com.google.backstoryP\001Z5clou" + + "d.google.com/go/backstory/backstorypb;ba" + + "ckstorypb\252\002\020Google.Backstory\312\002\020Google\\Ba" + + "ckstory\352\002\021Google::Backstoryb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( diff --git a/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/Udm.java b/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/Udm.java index b4667cb5f49f..6c25a66a44ec 100644 --- a/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/Udm.java +++ b/java-backstory/proto-google-cloud-backstory/src/main/java/com/google/backstory/Udm.java @@ -2723,10 +2723,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\n" + "UNDETECTED\020\001\022\016\n\n" + "SUSPICIOUS\020\002\022\r\n" - + "\tMALICIOUS\020\003B\215\001\n" - + "\024com.google.backstoryP\001Z9google.golang.org/genproto/googleapis/backstory" - + ";backstory\252\002\020Google.Backstory\312\002\020Google\\B" - + "ackstory\352\002\021Google::Backstoryb\006proto3" + + "\tMALICIOUS\020\003B\211\001\n" + + "\024com.google.backstoryP\001Z5cloud.google.com/go/backstory/backstorypb;backs" + + "torypb\252\002\020Google.Backstory\312\002\020Google\\Backs" + + "tory\352\002\021Google::Backstoryb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( diff --git a/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/collection.proto b/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/collection.proto index 3e5d3de9ba1a..db22471f5340 100644 --- a/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/collection.proto +++ b/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/collection.proto @@ -25,7 +25,7 @@ import "google/protobuf/timestamp.proto"; import "google/type/interval.proto"; option csharp_namespace = "Google.Backstory"; -option go_package = "google.golang.org/genproto/googleapis/backstory;backstory"; +option go_package = "cloud.google.com/go/backstory/backstorypb;backstorypb"; option java_multiple_files = true; option java_package = "com.google.backstory"; option php_namespace = "Google\\Backstory"; diff --git a/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/data_access.proto b/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/data_access.proto index 06773afa070c..04ba6075388e 100644 --- a/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/data_access.proto +++ b/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/data_access.proto @@ -17,7 +17,7 @@ syntax = "proto3"; package google.backstory; option csharp_namespace = "Google.Backstory"; -option go_package = "google.golang.org/genproto/googleapis/backstory;backstory"; +option go_package = "cloud.google.com/go/backstory/backstorypb;backstorypb"; option java_multiple_files = true; option java_package = "com.google.backstory"; option php_namespace = "Google\\Backstory"; diff --git a/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/entity.proto b/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/entity.proto index 3eba0e93de57..8f314aa55dc7 100644 --- a/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/entity.proto +++ b/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/entity.proto @@ -23,7 +23,7 @@ import "google/protobuf/timestamp.proto"; import "google/type/interval.proto"; option csharp_namespace = "Google.Backstory"; -option go_package = "google.golang.org/genproto/googleapis/backstory;backstory"; +option go_package = "cloud.google.com/go/backstory/backstorypb;backstorypb"; option java_multiple_files = true; option java_outer_classname = "EntityProto"; option java_package = "com.google.backstory"; diff --git a/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/entity_risk.proto b/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/entity_risk.proto index 78b03eb05e14..ac7b67548b9c 100644 --- a/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/entity_risk.proto +++ b/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/entity_risk.proto @@ -21,7 +21,7 @@ import "google/protobuf/timestamp.proto"; import "google/type/interval.proto"; option csharp_namespace = "Google.Backstory"; -option go_package = "google.golang.org/genproto/googleapis/backstory;backstory"; +option go_package = "cloud.google.com/go/backstory/backstorypb;backstorypb"; option java_multiple_files = true; option java_outer_classname = "EntityRiskProto"; option java_package = "com.google.backstory"; diff --git a/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/id.proto b/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/id.proto index 9e29322fcb52..3b9c11d0960d 100644 --- a/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/id.proto +++ b/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/id.proto @@ -17,7 +17,7 @@ syntax = "proto3"; package google.backstory; option csharp_namespace = "Google.Backstory"; -option go_package = "google.golang.org/genproto/googleapis/backstory;backstory"; +option go_package = "cloud.google.com/go/backstory/backstorypb;backstorypb"; option java_multiple_files = true; option java_package = "com.google.backstory"; option php_namespace = "Google\\Backstory"; diff --git a/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/udm.proto b/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/udm.proto index 2ec28546dc7c..d4337b32aa3d 100644 --- a/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/udm.proto +++ b/java-backstory/proto-google-cloud-backstory/src/main/proto/backstory/udm.proto @@ -26,7 +26,7 @@ import "google/type/interval.proto"; import "google/type/latlng.proto"; option csharp_namespace = "Google.Backstory"; -option go_package = "google.golang.org/genproto/googleapis/backstory;backstory"; +option go_package = "cloud.google.com/go/backstory/backstorypb;backstorypb"; option java_multiple_files = true; option java_package = "com.google.backstory"; option php_namespace = "Google\\Backstory"; diff --git a/java-backupdr/.OwlBot-hermetic.yaml b/java-backupdr/.OwlBot-hermetic.yaml deleted file mode 100644 index ba649a8c91cf..000000000000 --- a/java-backupdr/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2024 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. - - -deep-remove-regex: -- "/java-backupdr/grpc-google-.*/src" -- "/java-backupdr/proto-google-.*/src" -- "/java-backupdr/google-.*/src" -- "/java-backupdr/samples/snippets/generated" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/cloud/backupdr/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-backupdr/$1/proto-google-cloud-backupdr-$1/src" -- source: "/google/cloud/backupdr/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-backupdr/$1/grpc-google-cloud-backupdr-$1/src" -- source: "/google/cloud/backupdr/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-backupdr/$1/google-cloud-backupdr/src" -- source: "/google/cloud/backupdr/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-backupdr/$1/samples/snippets/generated" - -api-name: backupdr \ No newline at end of file diff --git a/java-backupdr/.repo-metadata.json b/java-backupdr/.repo-metadata.json index 493d4d551b6d..7d328e76db84 100644 --- a/java-backupdr/.repo-metadata.json +++ b/java-backupdr/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "Backup and DR Service is a powerful, centralized, cloud-first backup and disaster recovery solution for cloud-based and hybrid workloads. ", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-backupdr/latest/overview", "release_level": "stable", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-backupdr", diff --git a/java-backupdr/google-cloud-backupdr-bom/pom.xml b/java-backupdr/google-cloud-backupdr-bom/pom.xml index 258444406176..6b16186d2dcc 100644 --- a/java-backupdr/google-cloud-backupdr-bom/pom.xml +++ b/java-backupdr/google-cloud-backupdr-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-backupdr-bom - 0.52.0 + 0.53.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -27,17 +27,17 @@ com.google.cloud google-cloud-backupdr - 0.52.0 + 0.53.0 com.google.api.grpc grpc-google-cloud-backupdr-v1 - 0.52.0 + 0.53.0 com.google.api.grpc proto-google-cloud-backupdr-v1 - 0.52.0 + 0.53.0 diff --git a/java-backupdr/google-cloud-backupdr/pom.xml b/java-backupdr/google-cloud-backupdr/pom.xml index ec8547f1bc85..f3313154549d 100644 --- a/java-backupdr/google-cloud-backupdr/pom.xml +++ b/java-backupdr/google-cloud-backupdr/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-backupdr - 0.52.0 + 0.53.0 jar Google Backup and DR Service API Backup and DR Service API Backup and DR Service is a powerful, centralized, cloud-first backup and disaster recovery solution for cloud-based and hybrid workloads. com.google.cloud google-cloud-backupdr-parent - 0.52.0 + 0.53.0 google-cloud-backupdr diff --git a/java-backupdr/google-cloud-backupdr/src/main/java/com/google/cloud/backupdr/v1/stub/Version.java b/java-backupdr/google-cloud-backupdr/src/main/java/com/google/cloud/backupdr/v1/stub/Version.java index b80679ba4242..b27e98648e93 100644 --- a/java-backupdr/google-cloud-backupdr/src/main/java/com/google/cloud/backupdr/v1/stub/Version.java +++ b/java-backupdr/google-cloud-backupdr/src/main/java/com/google/cloud/backupdr/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-backupdr:current} - static final String VERSION = "0.52.0"; + static final String VERSION = "0.53.0"; // {x-version-update-end} } diff --git a/java-backupdr/grpc-google-cloud-backupdr-v1/pom.xml b/java-backupdr/grpc-google-cloud-backupdr-v1/pom.xml index 17bf1ff620dd..8b97b41de553 100644 --- a/java-backupdr/grpc-google-cloud-backupdr-v1/pom.xml +++ b/java-backupdr/grpc-google-cloud-backupdr-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-backupdr-v1 - 0.52.0 + 0.53.0 grpc-google-cloud-backupdr-v1 GRPC library for google-cloud-backupdr com.google.cloud google-cloud-backupdr-parent - 0.52.0 + 0.53.0 diff --git a/java-backupdr/pom.xml b/java-backupdr/pom.xml index fccdbb6781ca..2d5cf1a5b3db 100644 --- a/java-backupdr/pom.xml +++ b/java-backupdr/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-backupdr-parent pom - 0.52.0 + 0.53.0 Google Backup and DR Service API Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-backupdr - 0.52.0 + 0.53.0 com.google.api.grpc grpc-google-cloud-backupdr-v1 - 0.52.0 + 0.53.0 com.google.api.grpc proto-google-cloud-backupdr-v1 - 0.52.0 + 0.53.0 diff --git a/java-backupdr/proto-google-cloud-backupdr-v1/pom.xml b/java-backupdr/proto-google-cloud-backupdr-v1/pom.xml index 56e1a0abe020..16155903ec8f 100644 --- a/java-backupdr/proto-google-cloud-backupdr-v1/pom.xml +++ b/java-backupdr/proto-google-cloud-backupdr-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-backupdr-v1 - 0.52.0 + 0.53.0 proto-google-cloud-backupdr-v1 Proto library for google-cloud-backupdr com.google.cloud google-cloud-backupdr-parent - 0.52.0 + 0.53.0 diff --git a/java-bare-metal-solution/.OwlBot-hermetic.yaml b/java-bare-metal-solution/.OwlBot-hermetic.yaml deleted file mode 100644 index 7c4b212a734d..000000000000 --- a/java-bare-metal-solution/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-bare-metal-solution/samples/snippets/generated" -- "/java-bare-metal-solution/grpc-google-.*/src" -- "/java-bare-metal-solution/proto-google-.*/src" -- "/java-bare-metal-solution/google-.*/src" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/cloud/baremetalsolution/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-bare-metal-solution/$1/proto-google-cloud-bare-metal-solution-$1/src" -- source: "/google/cloud/baremetalsolution/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-bare-metal-solution/$1/grpc-google-cloud-bare-metal-solution-$1/src" -- source: "/google/cloud/baremetalsolution/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-bare-metal-solution/$1/google-cloud-bare-metal-solution/src" -- source: "/google/cloud/baremetalsolution/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-bare-metal-solution/$1/samples/snippets/generated" - -api-name: baremetalsolution diff --git a/java-bare-metal-solution/.repo-metadata.json b/java-bare-metal-solution/.repo-metadata.json index 5d47cb92ebb5..947a7496eff9 100644 --- a/java-bare-metal-solution/.repo-metadata.json +++ b/java-bare-metal-solution/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "Bring your Oracle workloads to Google Cloud with Bare Metal Solution and jumpstart your cloud journey with minimal risk.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/overview", "release_level": "preview", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-bare-metal-solution", diff --git a/java-bare-metal-solution/google-cloud-bare-metal-solution-bom/pom.xml b/java-bare-metal-solution/google-cloud-bare-metal-solution-bom/pom.xml index 4b3ee505f6af..6605f0da8c1c 100644 --- a/java-bare-metal-solution/google-cloud-bare-metal-solution-bom/pom.xml +++ b/java-bare-metal-solution/google-cloud-bare-metal-solution-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-bare-metal-solution-bom - 0.93.0 + 0.94.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-bare-metal-solution - 0.93.0 + 0.94.0 com.google.api.grpc grpc-google-cloud-bare-metal-solution-v2 - 0.93.0 + 0.94.0 com.google.api.grpc proto-google-cloud-bare-metal-solution-v2 - 0.93.0 + 0.94.0 diff --git a/java-bare-metal-solution/google-cloud-bare-metal-solution/pom.xml b/java-bare-metal-solution/google-cloud-bare-metal-solution/pom.xml index e52e276cacdf..16c75508cd89 100644 --- a/java-bare-metal-solution/google-cloud-bare-metal-solution/pom.xml +++ b/java-bare-metal-solution/google-cloud-bare-metal-solution/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-bare-metal-solution - 0.93.0 + 0.94.0 jar Google Bare Metal SOlution Bare Metal SOlution Bring your Oracle workloads to Google Cloud with Bare Metal Solution and jumpstart your cloud journey with minimal risk. com.google.cloud google-cloud-bare-metal-solution-parent - 0.93.0 + 0.94.0 google-cloud-bare-metal-solution diff --git a/java-bare-metal-solution/google-cloud-bare-metal-solution/src/main/java/com/google/cloud/baremetalsolution/v2/stub/Version.java b/java-bare-metal-solution/google-cloud-bare-metal-solution/src/main/java/com/google/cloud/baremetalsolution/v2/stub/Version.java index dbafac07a2e0..1848b343f69f 100644 --- a/java-bare-metal-solution/google-cloud-bare-metal-solution/src/main/java/com/google/cloud/baremetalsolution/v2/stub/Version.java +++ b/java-bare-metal-solution/google-cloud-bare-metal-solution/src/main/java/com/google/cloud/baremetalsolution/v2/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bare-metal-solution:current} - static final String VERSION = "0.93.0"; + static final String VERSION = "0.94.0"; // {x-version-update-end} } diff --git a/java-bare-metal-solution/grpc-google-cloud-bare-metal-solution-v2/pom.xml b/java-bare-metal-solution/grpc-google-cloud-bare-metal-solution-v2/pom.xml index 4d1821b2fc25..ef76906c9198 100644 --- a/java-bare-metal-solution/grpc-google-cloud-bare-metal-solution-v2/pom.xml +++ b/java-bare-metal-solution/grpc-google-cloud-bare-metal-solution-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bare-metal-solution-v2 - 0.93.0 + 0.94.0 grpc-google-cloud-bare-metal-solution-v2 GRPC library for google-cloud-bare-metal-solution com.google.cloud google-cloud-bare-metal-solution-parent - 0.93.0 + 0.94.0 diff --git a/java-bare-metal-solution/pom.xml b/java-bare-metal-solution/pom.xml index 7ba3e4275e55..17d3f623c8c1 100644 --- a/java-bare-metal-solution/pom.xml +++ b/java-bare-metal-solution/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-bare-metal-solution-parent pom - 0.93.0 + 0.94.0 Google Bare Metal SOlution Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-bare-metal-solution - 0.93.0 + 0.94.0 com.google.api.grpc grpc-google-cloud-bare-metal-solution-v2 - 0.93.0 + 0.94.0 com.google.api.grpc proto-google-cloud-bare-metal-solution-v2 - 0.93.0 + 0.94.0 diff --git a/java-bare-metal-solution/proto-google-cloud-bare-metal-solution-v2/pom.xml b/java-bare-metal-solution/proto-google-cloud-bare-metal-solution-v2/pom.xml index cde172856baf..86c16ee7d200 100644 --- a/java-bare-metal-solution/proto-google-cloud-bare-metal-solution-v2/pom.xml +++ b/java-bare-metal-solution/proto-google-cloud-bare-metal-solution-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bare-metal-solution-v2 - 0.93.0 + 0.94.0 proto-google-cloud-bare-metal-solution-v2 Proto library for google-cloud-bare-metal-solution com.google.cloud google-cloud-bare-metal-solution-parent - 0.93.0 + 0.94.0 diff --git a/java-batch/.OwlBot-hermetic.yaml b/java-batch/.OwlBot-hermetic.yaml deleted file mode 100644 index 2a81fdedf9f2..000000000000 --- a/java-batch/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-batch/grpc-google-.*/src" -- "/java-batch/proto-google-.*/src" -- "/java-batch/google-.*/src" -- "/java-batch/samples/snippets/generated" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/cloud/batch/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-batch/$1/proto-google-cloud-batch-$1/src" -- source: "/google/cloud/batch/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-batch/$1/grpc-google-cloud-batch-$1/src" -- source: "/google/cloud/batch/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-batch/$1/google-cloud-batch/src" -- source: "/google/cloud/batch/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-batch/$1/samples/snippets/generated" - -api-name: batch diff --git a/java-batch/.repo-metadata.json b/java-batch/.repo-metadata.json index 8d5e701e8677..344574dbb8b0 100644 --- a/java-batch/.repo-metadata.json +++ b/java-batch/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "n/a", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-batch/latest/overview", "release_level": "preview", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-batch", diff --git a/java-batch/google-cloud-batch-bom/pom.xml b/java-batch/google-cloud-batch-bom/pom.xml index 4460047c8f2f..ec2880711905 100644 --- a/java-batch/google-cloud-batch-bom/pom.xml +++ b/java-batch/google-cloud-batch-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-batch-bom - 0.93.0 + 0.94.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,27 +28,27 @@ com.google.cloud google-cloud-batch - 0.93.0 + 0.94.0 com.google.api.grpc grpc-google-cloud-batch-v1 - 0.93.0 + 0.94.0 com.google.api.grpc grpc-google-cloud-batch-v1alpha - 0.93.0 + 0.94.0 com.google.api.grpc proto-google-cloud-batch-v1 - 0.93.0 + 0.94.0 com.google.api.grpc proto-google-cloud-batch-v1alpha - 0.93.0 + 0.94.0 diff --git a/java-batch/google-cloud-batch/pom.xml b/java-batch/google-cloud-batch/pom.xml index a0a4203b6757..b70306c14283 100644 --- a/java-batch/google-cloud-batch/pom.xml +++ b/java-batch/google-cloud-batch/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-batch - 0.93.0 + 0.94.0 jar Google Google Cloud Batch Google Cloud Batch n/a com.google.cloud google-cloud-batch-parent - 0.93.0 + 0.94.0 google-cloud-batch diff --git a/java-batch/google-cloud-batch/src/main/java/com/google/cloud/batch/v1/stub/Version.java b/java-batch/google-cloud-batch/src/main/java/com/google/cloud/batch/v1/stub/Version.java index ed9e4a74df21..b4fc7819e99a 100644 --- a/java-batch/google-cloud-batch/src/main/java/com/google/cloud/batch/v1/stub/Version.java +++ b/java-batch/google-cloud-batch/src/main/java/com/google/cloud/batch/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-batch:current} - static final String VERSION = "0.93.0"; + static final String VERSION = "0.94.0"; // {x-version-update-end} } diff --git a/java-batch/google-cloud-batch/src/main/java/com/google/cloud/batch/v1alpha/stub/Version.java b/java-batch/google-cloud-batch/src/main/java/com/google/cloud/batch/v1alpha/stub/Version.java index 7be6498798d7..dfbdfec006c9 100644 --- a/java-batch/google-cloud-batch/src/main/java/com/google/cloud/batch/v1alpha/stub/Version.java +++ b/java-batch/google-cloud-batch/src/main/java/com/google/cloud/batch/v1alpha/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-batch:current} - static final String VERSION = "0.93.0"; + static final String VERSION = "0.94.0"; // {x-version-update-end} } diff --git a/java-batch/grpc-google-cloud-batch-v1/pom.xml b/java-batch/grpc-google-cloud-batch-v1/pom.xml index 6b87754e03aa..5069de97931a 100644 --- a/java-batch/grpc-google-cloud-batch-v1/pom.xml +++ b/java-batch/grpc-google-cloud-batch-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-batch-v1 - 0.93.0 + 0.94.0 grpc-google-cloud-batch-v1 GRPC library for google-cloud-batch com.google.cloud google-cloud-batch-parent - 0.93.0 + 0.94.0 diff --git a/java-batch/grpc-google-cloud-batch-v1alpha/pom.xml b/java-batch/grpc-google-cloud-batch-v1alpha/pom.xml index 27f7bfe807a3..f48bd8231cda 100644 --- a/java-batch/grpc-google-cloud-batch-v1alpha/pom.xml +++ b/java-batch/grpc-google-cloud-batch-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-batch-v1alpha - 0.93.0 + 0.94.0 grpc-google-cloud-batch-v1alpha GRPC library for google-cloud-batch com.google.cloud google-cloud-batch-parent - 0.93.0 + 0.94.0 diff --git a/java-batch/pom.xml b/java-batch/pom.xml index 767bf083c52b..38f6f69844f3 100644 --- a/java-batch/pom.xml +++ b/java-batch/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-batch-parent pom - 0.93.0 + 0.94.0 Google Google Cloud Batch Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,27 +30,27 @@ com.google.cloud google-cloud-batch - 0.93.0 + 0.94.0 com.google.api.grpc proto-google-cloud-batch-v1alpha - 0.93.0 + 0.94.0 com.google.api.grpc grpc-google-cloud-batch-v1alpha - 0.93.0 + 0.94.0 com.google.api.grpc grpc-google-cloud-batch-v1 - 0.93.0 + 0.94.0 com.google.api.grpc proto-google-cloud-batch-v1 - 0.93.0 + 0.94.0 diff --git a/java-batch/proto-google-cloud-batch-v1/pom.xml b/java-batch/proto-google-cloud-batch-v1/pom.xml index 480424d8dc9f..8533df77671e 100644 --- a/java-batch/proto-google-cloud-batch-v1/pom.xml +++ b/java-batch/proto-google-cloud-batch-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-batch-v1 - 0.93.0 + 0.94.0 proto-google-cloud-batch-v1 Proto library for google-cloud-batch com.google.cloud google-cloud-batch-parent - 0.93.0 + 0.94.0 diff --git a/java-batch/proto-google-cloud-batch-v1alpha/pom.xml b/java-batch/proto-google-cloud-batch-v1alpha/pom.xml index 46807e9c6112..d922deeb91f1 100644 --- a/java-batch/proto-google-cloud-batch-v1alpha/pom.xml +++ b/java-batch/proto-google-cloud-batch-v1alpha/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-batch-v1alpha - 0.93.0 + 0.94.0 proto-google-cloud-batch-v1alpha Proto library for google-cloud-batch com.google.cloud google-cloud-batch-parent - 0.93.0 + 0.94.0 diff --git a/java-beyondcorp-appconnections/.OwlBot-hermetic.yaml b/java-beyondcorp-appconnections/.OwlBot-hermetic.yaml deleted file mode 100644 index 86bae36e4272..000000000000 --- a/java-beyondcorp-appconnections/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-beyondcorp-appconnections/grpc-google-.*/src" -- "/java-beyondcorp-appconnections/proto-google-.*/src" -- "/java-beyondcorp-appconnections/google-.*/src" -- "/java-beyondcorp-appconnections/samples/snippets/generated" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/cloud/beyondcorp/appconnections/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-beyondcorp-appconnections/$1/proto-google-cloud-beyondcorp-appconnections-$1/src" -- source: "/google/cloud/beyondcorp/appconnections/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-beyondcorp-appconnections/$1/grpc-google-cloud-beyondcorp-appconnections-$1/src" -- source: "/google/cloud/beyondcorp/appconnections/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-beyondcorp-appconnections/$1/google-cloud-beyondcorp-appconnections/src" -- source: "/google/cloud/beyondcorp/appconnections/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-beyondcorp-appconnections/$1/samples/snippets/generated" - -api-name: beyondcorp-appconnections diff --git a/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections-bom/pom.xml b/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections-bom/pom.xml index 439172f4c335..fd934ba26e3b 100644 --- a/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections-bom/pom.xml +++ b/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-beyondcorp-appconnections-bom - 0.91.0 + 0.92.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-beyondcorp-appconnections - 0.91.0 + 0.92.0 com.google.api.grpc grpc-google-cloud-beyondcorp-appconnections-v1 - 0.91.0 + 0.92.0 com.google.api.grpc proto-google-cloud-beyondcorp-appconnections-v1 - 0.91.0 + 0.92.0 diff --git a/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections/pom.xml b/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections/pom.xml index aabf0e9fd484..0dc2b62cd538 100644 --- a/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections/pom.xml +++ b/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-beyondcorp-appconnections - 0.91.0 + 0.92.0 jar Google BeyondCorp AppConnections BeyondCorp AppConnections is Google's implementation of the zero trust model. It builds upon a decade of experience at Google, combined with ideas and best practices from the community. By shifting access controls from the network perimeter to individual users, BeyondCorp enables secure work from virtually any location without the need for a traditional VPN. com.google.cloud google-cloud-beyondcorp-appconnections-parent - 0.91.0 + 0.92.0 google-cloud-beyondcorp-appconnections diff --git a/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections/src/main/java/com/google/cloud/beyondcorp/appconnections/v1/stub/Version.java b/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections/src/main/java/com/google/cloud/beyondcorp/appconnections/v1/stub/Version.java index 3744c19cc4d0..9f3e22410900 100644 --- a/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections/src/main/java/com/google/cloud/beyondcorp/appconnections/v1/stub/Version.java +++ b/java-beyondcorp-appconnections/google-cloud-beyondcorp-appconnections/src/main/java/com/google/cloud/beyondcorp/appconnections/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-beyondcorp-appconnections:current} - static final String VERSION = "0.91.0"; + static final String VERSION = "0.92.0"; // {x-version-update-end} } diff --git a/java-beyondcorp-appconnections/grpc-google-cloud-beyondcorp-appconnections-v1/pom.xml b/java-beyondcorp-appconnections/grpc-google-cloud-beyondcorp-appconnections-v1/pom.xml index b9b46affa162..e40ab19652e9 100644 --- a/java-beyondcorp-appconnections/grpc-google-cloud-beyondcorp-appconnections-v1/pom.xml +++ b/java-beyondcorp-appconnections/grpc-google-cloud-beyondcorp-appconnections-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-beyondcorp-appconnections-v1 - 0.91.0 + 0.92.0 grpc-google-cloud-beyondcorp-appconnections-v1 GRPC library for google-cloud-beyondcorp-appconnections com.google.cloud google-cloud-beyondcorp-appconnections-parent - 0.91.0 + 0.92.0 diff --git a/java-beyondcorp-appconnections/pom.xml b/java-beyondcorp-appconnections/pom.xml index 8f143e06bc13..96cc1ed8ed5a 100644 --- a/java-beyondcorp-appconnections/pom.xml +++ b/java-beyondcorp-appconnections/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-beyondcorp-appconnections-parent pom - 0.91.0 + 0.92.0 Google BeyondCorp AppConnections Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-beyondcorp-appconnections - 0.91.0 + 0.92.0 com.google.api.grpc grpc-google-cloud-beyondcorp-appconnections-v1 - 0.91.0 + 0.92.0 com.google.api.grpc proto-google-cloud-beyondcorp-appconnections-v1 - 0.91.0 + 0.92.0 diff --git a/java-beyondcorp-appconnections/proto-google-cloud-beyondcorp-appconnections-v1/pom.xml b/java-beyondcorp-appconnections/proto-google-cloud-beyondcorp-appconnections-v1/pom.xml index d7698866ce4d..b3e4d574e957 100644 --- a/java-beyondcorp-appconnections/proto-google-cloud-beyondcorp-appconnections-v1/pom.xml +++ b/java-beyondcorp-appconnections/proto-google-cloud-beyondcorp-appconnections-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-beyondcorp-appconnections-v1 - 0.91.0 + 0.92.0 proto-google-cloud-beyondcorp-appconnections-v1 Proto library for google-cloud-beyondcorp-appconnections com.google.cloud google-cloud-beyondcorp-appconnections-parent - 0.91.0 + 0.92.0 diff --git a/java-beyondcorp-appconnectors/.OwlBot-hermetic.yaml b/java-beyondcorp-appconnectors/.OwlBot-hermetic.yaml deleted file mode 100644 index 6f98f29fe8a5..000000000000 --- a/java-beyondcorp-appconnectors/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-beyondcorp-appconnectors/grpc-google-.*/src" -- "/java-beyondcorp-appconnectors/proto-google-.*/src" -- "/java-beyondcorp-appconnectors/google-.*/src" -- "/java-beyondcorp-appconnectors/samples/snippets/generated" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/cloud/beyondcorp/appconnectors/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-beyondcorp-appconnectors/$1/proto-google-cloud-beyondcorp-appconnectors-$1/src" -- source: "/google/cloud/beyondcorp/appconnectors/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-beyondcorp-appconnectors/$1/grpc-google-cloud-beyondcorp-appconnectors-$1/src" -- source: "/google/cloud/beyondcorp/appconnectors/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-beyondcorp-appconnectors/$1/google-cloud-beyondcorp-appconnectors/src" -- source: "/google/cloud/beyondcorp/appconnectors/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-beyondcorp-appconnectors/$1/samples/snippets/generated" - -api-name: beyondcorp-appconnectors diff --git a/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors-bom/pom.xml b/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors-bom/pom.xml index 14c18fcbf120..775921bbcba7 100644 --- a/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors-bom/pom.xml +++ b/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-beyondcorp-appconnectors-bom - 0.91.0 + 0.92.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-beyondcorp-appconnectors - 0.91.0 + 0.92.0 com.google.api.grpc grpc-google-cloud-beyondcorp-appconnectors-v1 - 0.91.0 + 0.92.0 com.google.api.grpc proto-google-cloud-beyondcorp-appconnectors-v1 - 0.91.0 + 0.92.0 diff --git a/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors/pom.xml b/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors/pom.xml index 45ab134d0f85..e2ab722f5cb4 100644 --- a/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors/pom.xml +++ b/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-beyondcorp-appconnectors - 0.91.0 + 0.92.0 jar Google BeyondCorp AppConnectors BeyondCorp AppConnectors provides methods to manage (create/read/update/delete) BeyondCorp AppConnectors. com.google.cloud google-cloud-beyondcorp-appconnectors-parent - 0.91.0 + 0.92.0 google-cloud-beyondcorp-appconnectors diff --git a/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors/src/main/java/com/google/cloud/beyondcorp/appconnectors/v1/stub/Version.java b/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors/src/main/java/com/google/cloud/beyondcorp/appconnectors/v1/stub/Version.java index 82b39294d110..d87b5522bac5 100644 --- a/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors/src/main/java/com/google/cloud/beyondcorp/appconnectors/v1/stub/Version.java +++ b/java-beyondcorp-appconnectors/google-cloud-beyondcorp-appconnectors/src/main/java/com/google/cloud/beyondcorp/appconnectors/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-beyondcorp-appconnectors:current} - static final String VERSION = "0.91.0"; + static final String VERSION = "0.92.0"; // {x-version-update-end} } diff --git a/java-beyondcorp-appconnectors/grpc-google-cloud-beyondcorp-appconnectors-v1/pom.xml b/java-beyondcorp-appconnectors/grpc-google-cloud-beyondcorp-appconnectors-v1/pom.xml index ec70b07e4e4b..faf24e353491 100644 --- a/java-beyondcorp-appconnectors/grpc-google-cloud-beyondcorp-appconnectors-v1/pom.xml +++ b/java-beyondcorp-appconnectors/grpc-google-cloud-beyondcorp-appconnectors-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-beyondcorp-appconnectors-v1 - 0.91.0 + 0.92.0 grpc-google-cloud-beyondcorp-appconnectors-v1 GRPC library for google-cloud-beyondcorp-appconnectors com.google.cloud google-cloud-beyondcorp-appconnectors-parent - 0.91.0 + 0.92.0 diff --git a/java-beyondcorp-appconnectors/pom.xml b/java-beyondcorp-appconnectors/pom.xml index 3b29dfaf5c2b..2c8551033b31 100644 --- a/java-beyondcorp-appconnectors/pom.xml +++ b/java-beyondcorp-appconnectors/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-beyondcorp-appconnectors-parent pom - 0.91.0 + 0.92.0 Google BeyondCorp AppConnectors Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-beyondcorp-appconnectors - 0.91.0 + 0.92.0 com.google.api.grpc grpc-google-cloud-beyondcorp-appconnectors-v1 - 0.91.0 + 0.92.0 com.google.api.grpc proto-google-cloud-beyondcorp-appconnectors-v1 - 0.91.0 + 0.92.0 diff --git a/java-beyondcorp-appconnectors/proto-google-cloud-beyondcorp-appconnectors-v1/pom.xml b/java-beyondcorp-appconnectors/proto-google-cloud-beyondcorp-appconnectors-v1/pom.xml index 287fbf29c157..ece272d38108 100644 --- a/java-beyondcorp-appconnectors/proto-google-cloud-beyondcorp-appconnectors-v1/pom.xml +++ b/java-beyondcorp-appconnectors/proto-google-cloud-beyondcorp-appconnectors-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-beyondcorp-appconnectors-v1 - 0.91.0 + 0.92.0 proto-google-cloud-beyondcorp-appconnectors-v1 Proto library for google-cloud-beyondcorp-appconnectors com.google.cloud google-cloud-beyondcorp-appconnectors-parent - 0.91.0 + 0.92.0 diff --git a/java-beyondcorp-appgateways/.OwlBot-hermetic.yaml b/java-beyondcorp-appgateways/.OwlBot-hermetic.yaml deleted file mode 100644 index fff966a5f049..000000000000 --- a/java-beyondcorp-appgateways/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-beyondcorp-appgateways/grpc-google-.*/src" -- "/java-beyondcorp-appgateways/proto-google-.*/src" -- "/java-beyondcorp-appgateways/google-.*/src" -- "/java-beyondcorp-appgateways/samples/snippets/generated" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/cloud/beyondcorp/appgateways/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-beyondcorp-appgateways/$1/proto-google-cloud-beyondcorp-appgateways-$1/src" -- source: "/google/cloud/beyondcorp/appgateways/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-beyondcorp-appgateways/$1/grpc-google-cloud-beyondcorp-appgateways-$1/src" -- source: "/google/cloud/beyondcorp/appgateways/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-beyondcorp-appgateways/$1/google-cloud-beyondcorp-appgateways/src" -- source: "/google/cloud/beyondcorp/appgateways/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-beyondcorp-appgateways/$1/samples/snippets/generated" - -api-name: beyondcorp-appgateways diff --git a/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways-bom/pom.xml b/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways-bom/pom.xml index 8b3568889855..d6c5c5b9a05f 100644 --- a/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways-bom/pom.xml +++ b/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-beyondcorp-appgateways-bom - 0.91.0 + 0.92.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-beyondcorp-appgateways - 0.91.0 + 0.92.0 com.google.api.grpc grpc-google-cloud-beyondcorp-appgateways-v1 - 0.91.0 + 0.92.0 com.google.api.grpc proto-google-cloud-beyondcorp-appgateways-v1 - 0.91.0 + 0.92.0 diff --git a/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways/pom.xml b/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways/pom.xml index ee59a1248b58..590b492f43bd 100644 --- a/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways/pom.xml +++ b/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-beyondcorp-appgateways - 0.91.0 + 0.92.0 jar Google BeyondCorp AppGateways BeyondCorp AppGateways A zero trust solution that enables secure access to applications and resources, and offers integrated threat and data protection. com.google.cloud google-cloud-beyondcorp-appgateways-parent - 0.91.0 + 0.92.0 google-cloud-beyondcorp-appgateways diff --git a/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways/src/main/java/com/google/cloud/beyondcorp/appgateways/v1/stub/Version.java b/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways/src/main/java/com/google/cloud/beyondcorp/appgateways/v1/stub/Version.java index f50af9b3e409..17861a2545a7 100644 --- a/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways/src/main/java/com/google/cloud/beyondcorp/appgateways/v1/stub/Version.java +++ b/java-beyondcorp-appgateways/google-cloud-beyondcorp-appgateways/src/main/java/com/google/cloud/beyondcorp/appgateways/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-beyondcorp-appgateways:current} - static final String VERSION = "0.91.0"; + static final String VERSION = "0.92.0"; // {x-version-update-end} } diff --git a/java-beyondcorp-appgateways/grpc-google-cloud-beyondcorp-appgateways-v1/pom.xml b/java-beyondcorp-appgateways/grpc-google-cloud-beyondcorp-appgateways-v1/pom.xml index 7bfb782b4680..a0bc118b98ea 100644 --- a/java-beyondcorp-appgateways/grpc-google-cloud-beyondcorp-appgateways-v1/pom.xml +++ b/java-beyondcorp-appgateways/grpc-google-cloud-beyondcorp-appgateways-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-beyondcorp-appgateways-v1 - 0.91.0 + 0.92.0 grpc-google-cloud-beyondcorp-appgateways-v1 GRPC library for google-cloud-beyondcorp-appgateways com.google.cloud google-cloud-beyondcorp-appgateways-parent - 0.91.0 + 0.92.0 diff --git a/java-beyondcorp-appgateways/pom.xml b/java-beyondcorp-appgateways/pom.xml index b64a71599ea9..c4826551f9ea 100644 --- a/java-beyondcorp-appgateways/pom.xml +++ b/java-beyondcorp-appgateways/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-beyondcorp-appgateways-parent pom - 0.91.0 + 0.92.0 Google BeyondCorp AppGateways Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-beyondcorp-appgateways - 0.91.0 + 0.92.0 com.google.api.grpc grpc-google-cloud-beyondcorp-appgateways-v1 - 0.91.0 + 0.92.0 com.google.api.grpc proto-google-cloud-beyondcorp-appgateways-v1 - 0.91.0 + 0.92.0 diff --git a/java-beyondcorp-appgateways/proto-google-cloud-beyondcorp-appgateways-v1/pom.xml b/java-beyondcorp-appgateways/proto-google-cloud-beyondcorp-appgateways-v1/pom.xml index 18348c6407b1..c6a6c30662d9 100644 --- a/java-beyondcorp-appgateways/proto-google-cloud-beyondcorp-appgateways-v1/pom.xml +++ b/java-beyondcorp-appgateways/proto-google-cloud-beyondcorp-appgateways-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-beyondcorp-appgateways-v1 - 0.91.0 + 0.92.0 proto-google-cloud-beyondcorp-appgateways-v1 Proto library for google-cloud-beyondcorp-appgateways com.google.cloud google-cloud-beyondcorp-appgateways-parent - 0.91.0 + 0.92.0 diff --git a/java-beyondcorp-clientconnectorservices/.OwlBot-hermetic.yaml b/java-beyondcorp-clientconnectorservices/.OwlBot-hermetic.yaml deleted file mode 100644 index 948ce1b9f5fd..000000000000 --- a/java-beyondcorp-clientconnectorservices/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-beyondcorp-clientconnectorservices/grpc-google-.*/src" -- "/java-beyondcorp-clientconnectorservices/proto-google-.*/src" -- "/java-beyondcorp-clientconnectorservices/google-.*/src" -- "/java-beyondcorp-clientconnectorservices/samples/snippets/generated" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/cloud/beyondcorp/clientconnectorservices/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-beyondcorp-clientconnectorservices/$1/proto-google-cloud-beyondcorp-clientconnectorservices-$1/src" -- source: "/google/cloud/beyondcorp/clientconnectorservices/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-beyondcorp-clientconnectorservices/$1/grpc-google-cloud-beyondcorp-clientconnectorservices-$1/src" -- source: "/google/cloud/beyondcorp/clientconnectorservices/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-beyondcorp-clientconnectorservices/$1/google-cloud-beyondcorp-clientconnectorservices/src" -- source: "/google/cloud/beyondcorp/clientconnectorservices/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-beyondcorp-clientconnectorservices/$1/samples/snippets/generated" - -api-name: beyondcorp-clientconnectorservices diff --git a/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices-bom/pom.xml b/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices-bom/pom.xml index cdc05e464ef7..a69a3dd2cdac 100644 --- a/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices-bom/pom.xml +++ b/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-beyondcorp-clientconnectorservices-bom - 0.91.0 + 0.92.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-beyondcorp-clientconnectorservices - 0.91.0 + 0.92.0 com.google.api.grpc grpc-google-cloud-beyondcorp-clientconnectorservices-v1 - 0.91.0 + 0.92.0 com.google.api.grpc proto-google-cloud-beyondcorp-clientconnectorservices-v1 - 0.91.0 + 0.92.0 diff --git a/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices/pom.xml b/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices/pom.xml index 19cb3956b4df..1b36d894c1de 100644 --- a/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices/pom.xml +++ b/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-beyondcorp-clientconnectorservices - 0.91.0 + 0.92.0 jar Google BeyondCorp ClientConnectorServices BeyondCorp ClientConnectorServices A zero trust solution that enables secure access to applications and resources, and offers integrated threat and data protection. com.google.cloud google-cloud-beyondcorp-clientconnectorservices-parent - 0.91.0 + 0.92.0 google-cloud-beyondcorp-clientconnectorservices diff --git a/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices/src/main/java/com/google/cloud/beyondcorp/clientconnectorservices/v1/stub/Version.java b/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices/src/main/java/com/google/cloud/beyondcorp/clientconnectorservices/v1/stub/Version.java index 1c916642a2a1..1bec31ee395f 100644 --- a/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices/src/main/java/com/google/cloud/beyondcorp/clientconnectorservices/v1/stub/Version.java +++ b/java-beyondcorp-clientconnectorservices/google-cloud-beyondcorp-clientconnectorservices/src/main/java/com/google/cloud/beyondcorp/clientconnectorservices/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-beyondcorp-clientconnectorservices:current} - static final String VERSION = "0.91.0"; + static final String VERSION = "0.92.0"; // {x-version-update-end} } diff --git a/java-beyondcorp-clientconnectorservices/grpc-google-cloud-beyondcorp-clientconnectorservices-v1/pom.xml b/java-beyondcorp-clientconnectorservices/grpc-google-cloud-beyondcorp-clientconnectorservices-v1/pom.xml index b644f68fd98c..52d96c531ea3 100644 --- a/java-beyondcorp-clientconnectorservices/grpc-google-cloud-beyondcorp-clientconnectorservices-v1/pom.xml +++ b/java-beyondcorp-clientconnectorservices/grpc-google-cloud-beyondcorp-clientconnectorservices-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-beyondcorp-clientconnectorservices-v1 - 0.91.0 + 0.92.0 grpc-google-cloud-beyondcorp-clientconnectorservices-v1 GRPC library for google-cloud-beyondcorp-clientconnectorservices com.google.cloud google-cloud-beyondcorp-clientconnectorservices-parent - 0.91.0 + 0.92.0 diff --git a/java-beyondcorp-clientconnectorservices/pom.xml b/java-beyondcorp-clientconnectorservices/pom.xml index 6731f6ccf8b5..104809cfc1ee 100644 --- a/java-beyondcorp-clientconnectorservices/pom.xml +++ b/java-beyondcorp-clientconnectorservices/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-beyondcorp-clientconnectorservices-parent pom - 0.91.0 + 0.92.0 Google BeyondCorp ClientConnectorServices Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-beyondcorp-clientconnectorservices - 0.91.0 + 0.92.0 com.google.api.grpc grpc-google-cloud-beyondcorp-clientconnectorservices-v1 - 0.91.0 + 0.92.0 com.google.api.grpc proto-google-cloud-beyondcorp-clientconnectorservices-v1 - 0.91.0 + 0.92.0 diff --git a/java-beyondcorp-clientconnectorservices/proto-google-cloud-beyondcorp-clientconnectorservices-v1/pom.xml b/java-beyondcorp-clientconnectorservices/proto-google-cloud-beyondcorp-clientconnectorservices-v1/pom.xml index acd0a9f56e89..aec6371694c7 100644 --- a/java-beyondcorp-clientconnectorservices/proto-google-cloud-beyondcorp-clientconnectorservices-v1/pom.xml +++ b/java-beyondcorp-clientconnectorservices/proto-google-cloud-beyondcorp-clientconnectorservices-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-beyondcorp-clientconnectorservices-v1 - 0.91.0 + 0.92.0 proto-google-cloud-beyondcorp-clientconnectorservices-v1 Proto library for google-cloud-beyondcorp-clientconnectorservices com.google.cloud google-cloud-beyondcorp-clientconnectorservices-parent - 0.91.0 + 0.92.0 diff --git a/java-beyondcorp-clientgateways/.OwlBot-hermetic.yaml b/java-beyondcorp-clientgateways/.OwlBot-hermetic.yaml deleted file mode 100644 index 6957323522d7..000000000000 --- a/java-beyondcorp-clientgateways/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-beyondcorp-clientgateways/grpc-google-.*/src" -- "/java-beyondcorp-clientgateways/proto-google-.*/src" -- "/java-beyondcorp-clientgateways/google-.*/src" -- "/java-beyondcorp-clientgateways/samples/snippets/generated" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/cloud/beyondcorp/clientgateways/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-beyondcorp-clientgateways/$1/proto-google-cloud-beyondcorp-clientgateways-$1/src" -- source: "/google/cloud/beyondcorp/clientgateways/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-beyondcorp-clientgateways/$1/grpc-google-cloud-beyondcorp-clientgateways-$1/src" -- source: "/google/cloud/beyondcorp/clientgateways/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-beyondcorp-clientgateways/$1/google-cloud-beyondcorp-clientgateways/src" -- source: "/google/cloud/beyondcorp/clientgateways/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-beyondcorp-clientgateways/$1/samples/snippets/generated" - -api-name: beyondcorp-clientgateways diff --git a/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways-bom/pom.xml b/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways-bom/pom.xml index b22e7094b5f6..516fa72b700a 100644 --- a/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways-bom/pom.xml +++ b/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-beyondcorp-clientgateways-bom - 0.91.0 + 0.92.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-beyondcorp-clientgateways - 0.91.0 + 0.92.0 com.google.api.grpc grpc-google-cloud-beyondcorp-clientgateways-v1 - 0.91.0 + 0.92.0 com.google.api.grpc proto-google-cloud-beyondcorp-clientgateways-v1 - 0.91.0 + 0.92.0 diff --git a/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways/pom.xml b/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways/pom.xml index 7410feac0d97..c54ef62506c6 100644 --- a/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways/pom.xml +++ b/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-beyondcorp-clientgateways - 0.91.0 + 0.92.0 jar Google BeyondCorp ClientGateways BeyondCorp ClientGateways A zero trust solution that enables secure access to applications and resources, and offers integrated threat and data protection. com.google.cloud google-cloud-beyondcorp-clientgateways-parent - 0.91.0 + 0.92.0 google-cloud-beyondcorp-clientgateways diff --git a/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways/src/main/java/com/google/cloud/beyondcorp/clientgateways/v1/stub/Version.java b/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways/src/main/java/com/google/cloud/beyondcorp/clientgateways/v1/stub/Version.java index a2ffc135a586..427b5ce96a47 100644 --- a/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways/src/main/java/com/google/cloud/beyondcorp/clientgateways/v1/stub/Version.java +++ b/java-beyondcorp-clientgateways/google-cloud-beyondcorp-clientgateways/src/main/java/com/google/cloud/beyondcorp/clientgateways/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-beyondcorp-clientgateways:current} - static final String VERSION = "0.91.0"; + static final String VERSION = "0.92.0"; // {x-version-update-end} } diff --git a/java-beyondcorp-clientgateways/grpc-google-cloud-beyondcorp-clientgateways-v1/pom.xml b/java-beyondcorp-clientgateways/grpc-google-cloud-beyondcorp-clientgateways-v1/pom.xml index 3b757a5f4797..62b703fea872 100644 --- a/java-beyondcorp-clientgateways/grpc-google-cloud-beyondcorp-clientgateways-v1/pom.xml +++ b/java-beyondcorp-clientgateways/grpc-google-cloud-beyondcorp-clientgateways-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-beyondcorp-clientgateways-v1 - 0.91.0 + 0.92.0 grpc-google-cloud-beyondcorp-clientgateways-v1 GRPC library for google-cloud-beyondcorp-clientgateways com.google.cloud google-cloud-beyondcorp-clientgateways-parent - 0.91.0 + 0.92.0 diff --git a/java-beyondcorp-clientgateways/pom.xml b/java-beyondcorp-clientgateways/pom.xml index 92e98a6953f1..bc0e90c7df8f 100644 --- a/java-beyondcorp-clientgateways/pom.xml +++ b/java-beyondcorp-clientgateways/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-beyondcorp-clientgateways-parent pom - 0.91.0 + 0.92.0 Google BeyondCorp ClientGateways Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-beyondcorp-clientgateways - 0.91.0 + 0.92.0 com.google.api.grpc grpc-google-cloud-beyondcorp-clientgateways-v1 - 0.91.0 + 0.92.0 com.google.api.grpc proto-google-cloud-beyondcorp-clientgateways-v1 - 0.91.0 + 0.92.0 diff --git a/java-beyondcorp-clientgateways/proto-google-cloud-beyondcorp-clientgateways-v1/pom.xml b/java-beyondcorp-clientgateways/proto-google-cloud-beyondcorp-clientgateways-v1/pom.xml index 64293043522f..9ef900fc347b 100644 --- a/java-beyondcorp-clientgateways/proto-google-cloud-beyondcorp-clientgateways-v1/pom.xml +++ b/java-beyondcorp-clientgateways/proto-google-cloud-beyondcorp-clientgateways-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-beyondcorp-clientgateways-v1 - 0.91.0 + 0.92.0 proto-google-cloud-beyondcorp-clientgateways-v1 Proto library for google-cloud-beyondcorp-clientgateways com.google.cloud google-cloud-beyondcorp-clientgateways-parent - 0.91.0 + 0.92.0 diff --git a/java-biglake/.OwlBot-hermetic.yaml b/java-biglake/.OwlBot-hermetic.yaml deleted file mode 100644 index 10bf0a32e29f..000000000000 --- a/java-biglake/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,53 +0,0 @@ -# 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. - - -deep-remove-regex: -- "/java-biglake/grpc-google-.*/src" -- "/java-biglake/proto-google-.*/src" -- "/java-biglake/google-.*/src" -- "/java-biglake/samples/snippets/generated" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/cloud/bigquery/biglake/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-biglake/$1/proto-google-cloud-biglake-$1/src" -- source: "/google/cloud/bigquery/biglake/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-biglake/$1/grpc-google-cloud-biglake-$1/src" -- source: "/google/cloud/bigquery/biglake/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-biglake/$1/google-cloud-biglake/src" -- source: "/google/cloud/bigquery/biglake/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-biglake/$1/samples/snippets/generated" -- source: "/google/cloud/biglake/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-biglake/$1/proto-google-cloud-biglake-$1/src" -- source: "/google/cloud/biglake/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-biglake/$1/grpc-google-cloud-biglake-$1/src" -- source: "/google/cloud/biglake/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-biglake/$1/google-cloud-biglake/src" -- source: "/google/cloud/biglake/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-biglake/$1/samples/snippets/generated" -- source: "/google/cloud/biglake/hive/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-biglake/$1/proto-google-cloud-biglake-$1/src" -- source: "/google/cloud/biglake/hive/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-biglake/$1/grpc-google-cloud-biglake-$1/src" -- source: "/google/cloud/biglake/hive/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-biglake/$1/google-cloud-biglake/src" -- source: "/google/cloud/biglake/hive/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-biglake/$1/samples/snippets/generated" - - -api-name: biglake diff --git a/java-biglake/.repo-metadata.json b/java-biglake/.repo-metadata.json index dbacd626d496..5ab939eaf967 100644 --- a/java-biglake/.repo-metadata.json +++ b/java-biglake/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "The BigLake API provides access to BigLake Metastore, a serverless, fully managed, and highly available metastore for open-source data that can be used for querying Apache Iceberg tables in BigQuery.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-biglake/latest/overview", "release_level": "preview", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-biglake", diff --git a/java-biglake/google-cloud-biglake-bom/pom.xml b/java-biglake/google-cloud-biglake-bom/pom.xml index cd330c6f554f..e54427621153 100644 --- a/java-biglake/google-cloud-biglake-bom/pom.xml +++ b/java-biglake/google-cloud-biglake-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-biglake-bom - 0.81.1 + 0.82.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,37 +28,37 @@ com.google.cloud google-cloud-biglake - 0.81.1 + 0.82.0 com.google.api.grpc grpc-google-cloud-biglake-v1alpha1 - 0.81.1 + 0.82.0 com.google.api.grpc grpc-google-cloud-biglake-v1 - 0.81.1 + 0.82.0 com.google.api.grpc grpc-google-cloud-biglake-v1beta - 0.81.1 + 0.82.0 com.google.api.grpc proto-google-cloud-biglake-v1alpha1 - 0.81.1 + 0.82.0 com.google.api.grpc proto-google-cloud-biglake-v1 - 0.81.1 + 0.82.0 com.google.api.grpc proto-google-cloud-biglake-v1beta - 0.81.1 + 0.82.0 diff --git a/java-biglake/google-cloud-biglake/pom.xml b/java-biglake/google-cloud-biglake/pom.xml index ec15f76327b9..e60c5caa488e 100644 --- a/java-biglake/google-cloud-biglake/pom.xml +++ b/java-biglake/google-cloud-biglake/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-biglake - 0.81.1 + 0.82.0 jar Google BigLake BigLake The BigLake API provides access to BigLake Metastore, a serverless, fully managed, and highly available metastore for open-source data that can be used for querying Apache Iceberg tables in BigQuery. com.google.cloud google-cloud-biglake-parent - 0.81.1 + 0.82.0 google-cloud-biglake diff --git a/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/biglake/hive/v1beta/package-info.java b/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/biglake/hive/v1beta/package-info.java index b35c700d6989..1817b0bbf739 100644 --- a/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/biglake/hive/v1beta/package-info.java +++ b/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/biglake/hive/v1beta/package-info.java @@ -15,7 +15,7 @@ */ /** - * A client to BigLake API + * A client to Lakehouse API * *

The interfaces provided are listed below, along with usage samples. * diff --git a/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/biglake/hive/v1beta/stub/Version.java b/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/biglake/hive/v1beta/stub/Version.java index eb91a08c8b9a..a84bff3becd2 100644 --- a/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/biglake/hive/v1beta/stub/Version.java +++ b/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/biglake/hive/v1beta/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-biglake:current} - static final String VERSION = "0.81.1"; + static final String VERSION = "0.82.0"; // {x-version-update-end} } diff --git a/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/biglake/v1/stub/Version.java b/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/biglake/v1/stub/Version.java index a95b808cdfde..33cb50fead62 100644 --- a/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/biglake/v1/stub/Version.java +++ b/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/biglake/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-biglake:current} - static final String VERSION = "0.81.1"; + static final String VERSION = "0.82.0"; // {x-version-update-end} } diff --git a/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/bigquery/biglake/v1/stub/Version.java b/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/bigquery/biglake/v1/stub/Version.java index 2c41951b7fa9..f07d615719a9 100644 --- a/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/bigquery/biglake/v1/stub/Version.java +++ b/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/bigquery/biglake/v1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-biglake:current} - static final String VERSION = "0.81.1"; + static final String VERSION = "0.82.0"; // {x-version-update-end} } diff --git a/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/bigquery/biglake/v1alpha1/stub/Version.java b/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/bigquery/biglake/v1alpha1/stub/Version.java index 3354f80e8192..aa7e3539231e 100644 --- a/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/bigquery/biglake/v1alpha1/stub/Version.java +++ b/java-biglake/google-cloud-biglake/src/main/java/com/google/cloud/bigquery/biglake/v1alpha1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-biglake:current} - static final String VERSION = "0.81.1"; + static final String VERSION = "0.82.0"; // {x-version-update-end} } diff --git a/java-biglake/google-cloud-biglake/src/test/java/com/google/cloud/biglake/hive/v1beta/HiveMetastoreServiceClientHttpJsonTest.java b/java-biglake/google-cloud-biglake/src/test/java/com/google/cloud/biglake/hive/v1beta/HiveMetastoreServiceClientHttpJsonTest.java index 2c59fd85ca83..702463d732ce 100644 --- a/java-biglake/google-cloud-biglake/src/test/java/com/google/cloud/biglake/hive/v1beta/HiveMetastoreServiceClientHttpJsonTest.java +++ b/java-biglake/google-cloud-biglake/src/test/java/com/google/cloud/biglake/hive/v1beta/HiveMetastoreServiceClientHttpJsonTest.java @@ -90,6 +90,8 @@ public void createHiveCatalogTest() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .addAllReplicas(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockService.addResponse(expectedResponse); @@ -141,6 +143,8 @@ public void createHiveCatalogTest2() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .addAllReplicas(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockService.addResponse(expectedResponse); @@ -192,6 +196,8 @@ public void getHiveCatalogTest() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .addAllReplicas(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockService.addResponse(expectedResponse); @@ -239,6 +245,8 @@ public void getHiveCatalogTest2() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .addAllReplicas(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockService.addResponse(expectedResponse); @@ -386,6 +394,8 @@ public void updateHiveCatalogTest() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .addAllReplicas(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockService.addResponse(expectedResponse); @@ -395,6 +405,8 @@ public void updateHiveCatalogTest() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .addAllReplicas(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); FieldMask updateMask = FieldMask.newBuilder().build(); @@ -430,6 +442,8 @@ public void updateHiveCatalogExceptionTest() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .addAllReplicas(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); FieldMask updateMask = FieldMask.newBuilder().build(); client.updateHiveCatalog(hiveCatalog, updateMask); @@ -527,6 +541,8 @@ public void createHiveDatabaseTest() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .putAllParameters(new HashMap()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockService.addResponse(expectedResponse); @@ -578,6 +594,8 @@ public void createHiveDatabaseTest2() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .putAllParameters(new HashMap()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockService.addResponse(expectedResponse); @@ -629,6 +647,8 @@ public void getHiveDatabaseTest() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .putAllParameters(new HashMap()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockService.addResponse(expectedResponse); @@ -676,6 +696,8 @@ public void getHiveDatabaseTest2() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .putAllParameters(new HashMap()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockService.addResponse(expectedResponse); @@ -823,6 +845,8 @@ public void updateHiveDatabaseTest() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .putAllParameters(new HashMap()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockService.addResponse(expectedResponse); @@ -832,6 +856,8 @@ public void updateHiveDatabaseTest() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .putAllParameters(new HashMap()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); FieldMask updateMask = FieldMask.newBuilder().build(); @@ -867,6 +893,8 @@ public void updateHiveDatabaseExceptionTest() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .putAllParameters(new HashMap()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); FieldMask updateMask = FieldMask.newBuilder().build(); client.updateHiveDatabase(hiveDatabase, updateMask); @@ -966,7 +994,10 @@ public void createHiveTableTest() throws Exception { .setCreateTime(Timestamp.newBuilder().build()) .addAllPartitionKeys(new ArrayList()) .putAllParameters(new HashMap()) + .setViewOriginalText("viewOriginalText1490924003") + .setViewExpandedText("viewExpandedText-1166335797") .setTableType("tableType-1988515800") + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockService.addResponse(expectedResponse); @@ -1020,7 +1051,10 @@ public void createHiveTableTest2() throws Exception { .setCreateTime(Timestamp.newBuilder().build()) .addAllPartitionKeys(new ArrayList()) .putAllParameters(new HashMap()) + .setViewOriginalText("viewOriginalText1490924003") + .setViewExpandedText("viewExpandedText-1166335797") .setTableType("tableType-1988515800") + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockService.addResponse(expectedResponse); @@ -1074,7 +1108,10 @@ public void getHiveTableTest() throws Exception { .setCreateTime(Timestamp.newBuilder().build()) .addAllPartitionKeys(new ArrayList()) .putAllParameters(new HashMap()) + .setViewOriginalText("viewOriginalText1490924003") + .setViewExpandedText("viewExpandedText-1166335797") .setTableType("tableType-1988515800") + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockService.addResponse(expectedResponse); @@ -1124,7 +1161,10 @@ public void getHiveTableTest2() throws Exception { .setCreateTime(Timestamp.newBuilder().build()) .addAllPartitionKeys(new ArrayList()) .putAllParameters(new HashMap()) + .setViewOriginalText("viewOriginalText1490924003") + .setViewExpandedText("viewExpandedText-1166335797") .setTableType("tableType-1988515800") + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockService.addResponse(expectedResponse); @@ -1276,7 +1316,10 @@ public void updateHiveTableTest() throws Exception { .setCreateTime(Timestamp.newBuilder().build()) .addAllPartitionKeys(new ArrayList()) .putAllParameters(new HashMap()) + .setViewOriginalText("viewOriginalText1490924003") + .setViewExpandedText("viewExpandedText-1166335797") .setTableType("tableType-1988515800") + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockService.addResponse(expectedResponse); @@ -1288,7 +1331,10 @@ public void updateHiveTableTest() throws Exception { .setCreateTime(Timestamp.newBuilder().build()) .addAllPartitionKeys(new ArrayList()) .putAllParameters(new HashMap()) + .setViewOriginalText("viewOriginalText1490924003") + .setViewExpandedText("viewExpandedText-1166335797") .setTableType("tableType-1988515800") + .setUpdateTime(Timestamp.newBuilder().build()) .build(); FieldMask updateMask = FieldMask.newBuilder().build(); @@ -1326,7 +1372,10 @@ public void updateHiveTableExceptionTest() throws Exception { .setCreateTime(Timestamp.newBuilder().build()) .addAllPartitionKeys(new ArrayList()) .putAllParameters(new HashMap()) + .setViewOriginalText("viewOriginalText1490924003") + .setViewExpandedText("viewExpandedText-1166335797") .setTableType("tableType-1988515800") + .setUpdateTime(Timestamp.newBuilder().build()) .build(); FieldMask updateMask = FieldMask.newBuilder().build(); client.updateHiveTable(hiveTable, updateMask); diff --git a/java-biglake/google-cloud-biglake/src/test/java/com/google/cloud/biglake/hive/v1beta/HiveMetastoreServiceClientTest.java b/java-biglake/google-cloud-biglake/src/test/java/com/google/cloud/biglake/hive/v1beta/HiveMetastoreServiceClientTest.java index 0f13940c9179..168d23448935 100644 --- a/java-biglake/google-cloud-biglake/src/test/java/com/google/cloud/biglake/hive/v1beta/HiveMetastoreServiceClientTest.java +++ b/java-biglake/google-cloud-biglake/src/test/java/com/google/cloud/biglake/hive/v1beta/HiveMetastoreServiceClientTest.java @@ -97,6 +97,8 @@ public void createHiveCatalogTest() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .addAllReplicas(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockHiveMetastoreService.addResponse(expectedResponse); @@ -144,6 +146,8 @@ public void createHiveCatalogTest2() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .addAllReplicas(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockHiveMetastoreService.addResponse(expectedResponse); @@ -191,6 +195,8 @@ public void getHiveCatalogTest() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .addAllReplicas(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockHiveMetastoreService.addResponse(expectedResponse); @@ -232,6 +238,8 @@ public void getHiveCatalogTest2() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .addAllReplicas(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockHiveMetastoreService.addResponse(expectedResponse); @@ -361,6 +369,8 @@ public void updateHiveCatalogTest() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .addAllReplicas(new ArrayList()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockHiveMetastoreService.addResponse(expectedResponse); @@ -473,6 +483,8 @@ public void createHiveDatabaseTest() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .putAllParameters(new HashMap()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockHiveMetastoreService.addResponse(expectedResponse); @@ -520,6 +532,8 @@ public void createHiveDatabaseTest2() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .putAllParameters(new HashMap()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockHiveMetastoreService.addResponse(expectedResponse); @@ -567,6 +581,8 @@ public void getHiveDatabaseTest() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .putAllParameters(new HashMap()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockHiveMetastoreService.addResponse(expectedResponse); @@ -608,6 +624,8 @@ public void getHiveDatabaseTest2() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .putAllParameters(new HashMap()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockHiveMetastoreService.addResponse(expectedResponse); @@ -737,6 +755,8 @@ public void updateHiveDatabaseTest() throws Exception { .setDescription("description-1724546052") .setLocationUri("locationUri552310135") .putAllParameters(new HashMap()) + .setCreateTime(Timestamp.newBuilder().build()) + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockHiveMetastoreService.addResponse(expectedResponse); @@ -851,7 +871,10 @@ public void createHiveTableTest() throws Exception { .setCreateTime(Timestamp.newBuilder().build()) .addAllPartitionKeys(new ArrayList()) .putAllParameters(new HashMap()) + .setViewOriginalText("viewOriginalText1490924003") + .setViewExpandedText("viewExpandedText-1166335797") .setTableType("tableType-1988515800") + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockHiveMetastoreService.addResponse(expectedResponse); @@ -901,7 +924,10 @@ public void createHiveTableTest2() throws Exception { .setCreateTime(Timestamp.newBuilder().build()) .addAllPartitionKeys(new ArrayList()) .putAllParameters(new HashMap()) + .setViewOriginalText("viewOriginalText1490924003") + .setViewExpandedText("viewExpandedText-1166335797") .setTableType("tableType-1988515800") + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockHiveMetastoreService.addResponse(expectedResponse); @@ -951,7 +977,10 @@ public void getHiveTableTest() throws Exception { .setCreateTime(Timestamp.newBuilder().build()) .addAllPartitionKeys(new ArrayList()) .putAllParameters(new HashMap()) + .setViewOriginalText("viewOriginalText1490924003") + .setViewExpandedText("viewExpandedText-1166335797") .setTableType("tableType-1988515800") + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockHiveMetastoreService.addResponse(expectedResponse); @@ -995,7 +1024,10 @@ public void getHiveTableTest2() throws Exception { .setCreateTime(Timestamp.newBuilder().build()) .addAllPartitionKeys(new ArrayList()) .putAllParameters(new HashMap()) + .setViewOriginalText("viewOriginalText1490924003") + .setViewExpandedText("viewExpandedText-1166335797") .setTableType("tableType-1988515800") + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockHiveMetastoreService.addResponse(expectedResponse); @@ -1127,7 +1159,10 @@ public void updateHiveTableTest() throws Exception { .setCreateTime(Timestamp.newBuilder().build()) .addAllPartitionKeys(new ArrayList()) .putAllParameters(new HashMap()) + .setViewOriginalText("viewOriginalText1490924003") + .setViewExpandedText("viewExpandedText-1166335797") .setTableType("tableType-1988515800") + .setUpdateTime(Timestamp.newBuilder().build()) .build(); mockHiveMetastoreService.addResponse(expectedResponse); diff --git a/java-biglake/grpc-google-cloud-biglake-v1/pom.xml b/java-biglake/grpc-google-cloud-biglake-v1/pom.xml index ffbdb7920054..f6f68447ad0e 100644 --- a/java-biglake/grpc-google-cloud-biglake-v1/pom.xml +++ b/java-biglake/grpc-google-cloud-biglake-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-biglake-v1 - 0.81.1 + 0.82.0 grpc-google-cloud-biglake-v1 GRPC library for google-cloud-biglake com.google.cloud google-cloud-biglake-parent - 0.81.1 + 0.82.0 diff --git a/java-biglake/grpc-google-cloud-biglake-v1alpha1/pom.xml b/java-biglake/grpc-google-cloud-biglake-v1alpha1/pom.xml index 5dff88d53542..277cb2e1b151 100644 --- a/java-biglake/grpc-google-cloud-biglake-v1alpha1/pom.xml +++ b/java-biglake/grpc-google-cloud-biglake-v1alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-biglake-v1alpha1 - 0.81.1 + 0.82.0 grpc-google-cloud-biglake-v1alpha1 GRPC library for google-cloud-biglake com.google.cloud google-cloud-biglake-parent - 0.81.1 + 0.82.0 diff --git a/java-biglake/grpc-google-cloud-biglake-v1beta/pom.xml b/java-biglake/grpc-google-cloud-biglake-v1beta/pom.xml index 8c76f5f93407..0318a4e67282 100644 --- a/java-biglake/grpc-google-cloud-biglake-v1beta/pom.xml +++ b/java-biglake/grpc-google-cloud-biglake-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-biglake-v1beta - 0.81.1 + 0.82.0 grpc-google-cloud-biglake-v1beta GRPC library for google-cloud-biglake com.google.cloud google-cloud-biglake-parent - 0.81.1 + 0.82.0 diff --git a/java-biglake/pom.xml b/java-biglake/pom.xml index bf54e60ce63d..baabb3ad1daf 100644 --- a/java-biglake/pom.xml +++ b/java-biglake/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-biglake-parent pom - 0.81.1 + 0.82.0 Google BigLake Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,37 +30,37 @@ com.google.cloud google-cloud-biglake - 0.81.1 + 0.82.0 com.google.api.grpc proto-google-cloud-biglake-v1beta - 0.81.1 + 0.82.0 com.google.api.grpc grpc-google-cloud-biglake-v1beta - 0.81.1 + 0.82.0 com.google.api.grpc proto-google-cloud-biglake-v1 - 0.81.1 + 0.82.0 com.google.api.grpc grpc-google-cloud-biglake-v1 - 0.81.1 + 0.82.0 com.google.api.grpc grpc-google-cloud-biglake-v1alpha1 - 0.81.1 + 0.82.0 com.google.api.grpc proto-google-cloud-biglake-v1alpha1 - 0.81.1 + 0.82.0 diff --git a/java-biglake/proto-google-cloud-biglake-v1/pom.xml b/java-biglake/proto-google-cloud-biglake-v1/pom.xml index 82fb698df8f3..d7edd76a3155 100644 --- a/java-biglake/proto-google-cloud-biglake-v1/pom.xml +++ b/java-biglake/proto-google-cloud-biglake-v1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-biglake-v1 - 0.81.1 + 0.82.0 proto-google-cloud-biglake-v1 Proto library for google-cloud-biglake com.google.cloud google-cloud-biglake-parent - 0.81.1 + 0.82.0 diff --git a/java-biglake/proto-google-cloud-biglake-v1alpha1/pom.xml b/java-biglake/proto-google-cloud-biglake-v1alpha1/pom.xml index fc114dbd37d1..631015ca853d 100644 --- a/java-biglake/proto-google-cloud-biglake-v1alpha1/pom.xml +++ b/java-biglake/proto-google-cloud-biglake-v1alpha1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-biglake-v1alpha1 - 0.81.1 + 0.82.0 proto-google-cloud-biglake-v1alpha1 Proto library for google-cloud-biglake com.google.cloud google-cloud-biglake-parent - 0.81.1 + 0.82.0 diff --git a/java-biglake/proto-google-cloud-biglake-v1beta/pom.xml b/java-biglake/proto-google-cloud-biglake-v1beta/pom.xml index 6712806e8933..d5aa2f23db54 100644 --- a/java-biglake/proto-google-cloud-biglake-v1beta/pom.xml +++ b/java-biglake/proto-google-cloud-biglake-v1beta/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-biglake-v1beta - 0.81.1 + 0.82.0 proto-google-cloud-biglake-v1beta Proto library for google-cloud-biglake com.google.cloud google-cloud-biglake-parent - 0.81.1 + 0.82.0 diff --git a/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveCatalog.java b/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveCatalog.java index cdb798364f87..c82d5f69babd 100644 --- a/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveCatalog.java +++ b/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveCatalog.java @@ -1090,6 +1090,7 @@ public com.google.cloud.biglake.hive.v1beta.HiveCatalog.Replica getDefaultInstan } } + private int bitField0_; public static final int NAME_FIELD_NUMBER = 1; @SuppressWarnings("serial") @@ -1099,13 +1100,13 @@ public com.google.cloud.biglake.hive.v1beta.HiveCatalog.Replica getDefaultInstan * * *

-   * Output only. The resource name.
+   * Identifier. The resource name.
    * Format:
    * projects/{project_id_or_number}/catalogs/{catalog_id}
    * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @return The name. @@ -1127,13 +1128,13 @@ public java.lang.String getName() { * * *
-   * Output only. The resource name.
+   * Identifier. The resource name.
    * Format:
    * projects/{project_id_or_number}/catalogs/{catalog_id}
    * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @return The bytes for name. @@ -1351,6 +1352,110 @@ public com.google.cloud.biglake.hive.v1beta.HiveCatalog.ReplicaOrBuilder getRepl return replicas_.get(index); } + public static final int CREATE_TIME_FIELD_NUMBER = 5; + private com.google.protobuf.Timestamp createTime_; + + /** + * + * + *
+   * Output only. The creation time of the catalog.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + @java.lang.Override + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Output only. The creation time of the catalog.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCreateTime() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + /** + * + * + *
+   * Output only. The creation time of the catalog.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + public static final int UPDATE_TIME_FIELD_NUMBER = 6; + private com.google.protobuf.Timestamp updateTime_; + + /** + * + * + *
+   * Output only. The update time of the catalog.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + @java.lang.Override + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Output only. The update time of the catalog.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getUpdateTime() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + /** + * + * + *
+   * Output only. The update time of the catalog.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -1377,6 +1482,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io for (int i = 0; i < replicas_.size(); i++) { output.writeMessage(4, replicas_.get(i)); } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(5, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(6, getUpdateTime()); + } getUnknownFields().writeTo(output); } @@ -1398,6 +1509,12 @@ public int getSerializedSize() { for (int i = 0; i < replicas_.size(); i++) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, replicas_.get(i)); } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getUpdateTime()); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -1418,6 +1535,14 @@ public boolean equals(final java.lang.Object obj) { if (!getDescription().equals(other.getDescription())) return false; if (!getLocationUri().equals(other.getLocationUri())) return false; if (!getReplicasList().equals(other.getReplicasList())) return false; + if (hasCreateTime() != other.hasCreateTime()) return false; + if (hasCreateTime()) { + if (!getCreateTime().equals(other.getCreateTime())) return false; + } + if (hasUpdateTime() != other.hasUpdateTime()) return false; + if (hasUpdateTime()) { + if (!getUpdateTime().equals(other.getUpdateTime())) return false; + } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -1439,6 +1564,14 @@ public int hashCode() { hash = (37 * hash) + REPLICAS_FIELD_NUMBER; hash = (53 * hash) + getReplicasList().hashCode(); } + if (hasCreateTime()) { + hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCreateTime().hashCode(); + } + if (hasUpdateTime()) { + hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getUpdateTime().hashCode(); + } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -1573,10 +1706,21 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { } // Construct using com.google.cloud.biglake.hive.v1beta.HiveCatalog.newBuilder() - private Builder() {} + private Builder() { + maybeForceBuilderInitialization(); + } private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetReplicasFieldBuilder(); + internalGetCreateTimeFieldBuilder(); + internalGetUpdateTimeFieldBuilder(); + } } @java.lang.Override @@ -1593,6 +1737,16 @@ public Builder clear() { replicasBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000008); + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } return this; } @@ -1652,6 +1806,16 @@ private void buildPartial0(com.google.cloud.biglake.hive.v1beta.HiveCatalog resu if (((from_bitField0_ & 0x00000004) != 0)) { result.locationUri_ = locationUri_; } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000010) != 0)) { + result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.updateTime_ = updateTimeBuilder_ == null ? updateTime_ : updateTimeBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + result.bitField0_ |= to_bitField0_; } @java.lang.Override @@ -1709,6 +1873,12 @@ public Builder mergeFrom(com.google.cloud.biglake.hive.v1beta.HiveCatalog other) } } } + if (other.hasCreateTime()) { + mergeCreateTime(other.getCreateTime()); + } + if (other.hasUpdateTime()) { + mergeUpdateTime(other.getUpdateTime()); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -1767,6 +1937,20 @@ public Builder mergeFrom( } break; } // case 34 + case 42: + { + input.readMessage( + internalGetCreateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000010; + break; + } // case 42 + case 50: + { + input.readMessage( + internalGetUpdateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000020; + break; + } // case 50 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { @@ -1792,13 +1976,13 @@ public Builder mergeFrom( * * *
-     * Output only. The resource name.
+     * Identifier. The resource name.
      * Format:
      * projects/{project_id_or_number}/catalogs/{catalog_id}
      * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @return The name. @@ -1819,13 +2003,13 @@ public java.lang.String getName() { * * *
-     * Output only. The resource name.
+     * Identifier. The resource name.
      * Format:
      * projects/{project_id_or_number}/catalogs/{catalog_id}
      * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @return The bytes for name. @@ -1846,13 +2030,13 @@ public com.google.protobuf.ByteString getNameBytes() { * * *
-     * Output only. The resource name.
+     * Identifier. The resource name.
      * Format:
      * projects/{project_id_or_number}/catalogs/{catalog_id}
      * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @param value The name to set. @@ -1872,13 +2056,13 @@ public Builder setName(java.lang.String value) { * * *
-     * Output only. The resource name.
+     * Identifier. The resource name.
      * Format:
      * projects/{project_id_or_number}/catalogs/{catalog_id}
      * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @return This builder for chaining. @@ -1894,13 +2078,13 @@ public Builder clearName() { * * *
-     * Output only. The resource name.
+     * Identifier. The resource name.
      * Format:
      * projects/{project_id_or_number}/catalogs/{catalog_id}
      * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @param value The bytes for name to set. @@ -2571,6 +2755,430 @@ public com.google.cloud.biglake.hive.v1beta.HiveCatalog.Replica.Builder addRepli return replicasBuilder_; } + private com.google.protobuf.Timestamp createTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + createTimeBuilder_; + + /** + * + * + *
+     * Output only. The creation time of the catalog.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000010) != 0); + } + + /** + * + * + *
+     * Output only. The creation time of the catalog.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + public com.google.protobuf.Timestamp getCreateTime() { + if (createTimeBuilder_ == null) { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } else { + return createTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The creation time of the catalog.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + createTime_ = value; + } else { + createTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The creation time of the catalog.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (createTimeBuilder_ == null) { + createTime_ = builderForValue.build(); + } else { + createTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The creation time of the catalog.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (((bitField0_ & 0x00000010) != 0) + && createTime_ != null + && createTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getCreateTimeBuilder().mergeFrom(value); + } else { + createTime_ = value; + } + } else { + createTimeBuilder_.mergeFrom(value); + } + if (createTime_ != null) { + bitField0_ |= 0x00000010; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The creation time of the catalog.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCreateTime() { + bitField0_ = (bitField0_ & ~0x00000010); + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The creation time of the catalog.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() { + bitField0_ |= 0x00000010; + onChanged(); + return internalGetCreateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The creation time of the catalog.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + if (createTimeBuilder_ != null) { + return createTimeBuilder_.getMessageOrBuilder(); + } else { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } + } + + /** + * + * + *
+     * Output only. The creation time of the catalog.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetCreateTimeFieldBuilder() { + if (createTimeBuilder_ == null) { + createTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCreateTime(), getParentForChildren(), isClean()); + createTime_ = null; + } + return createTimeBuilder_; + } + + private com.google.protobuf.Timestamp updateTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + updateTimeBuilder_; + + /** + * + * + *
+     * Output only. The update time of the catalog.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000020) != 0); + } + + /** + * + * + *
+     * Output only. The update time of the catalog.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + public com.google.protobuf.Timestamp getUpdateTime() { + if (updateTimeBuilder_ == null) { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } else { + return updateTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The update time of the catalog.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateTime_ = value; + } else { + updateTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The update time of the catalog.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (updateTimeBuilder_ == null) { + updateTime_ = builderForValue.build(); + } else { + updateTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The update time of the catalog.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (((bitField0_ & 0x00000020) != 0) + && updateTime_ != null + && updateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getUpdateTimeBuilder().mergeFrom(value); + } else { + updateTime_ = value; + } + } else { + updateTimeBuilder_.mergeFrom(value); + } + if (updateTime_ != null) { + bitField0_ |= 0x00000020; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The update time of the catalog.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearUpdateTime() { + bitField0_ = (bitField0_ & ~0x00000020); + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The update time of the catalog.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getUpdateTimeBuilder() { + bitField0_ |= 0x00000020; + onChanged(); + return internalGetUpdateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The update time of the catalog.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + if (updateTimeBuilder_ != null) { + return updateTimeBuilder_.getMessageOrBuilder(); + } else { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } + } + + /** + * + * + *
+     * Output only. The update time of the catalog.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetUpdateTimeFieldBuilder() { + if (updateTimeBuilder_ == null) { + updateTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getUpdateTime(), getParentForChildren(), isClean()); + updateTime_ = null; + } + return updateTimeBuilder_; + } + // @@protoc_insertion_point(builder_scope:google.cloud.biglake.hive.v1beta.HiveCatalog) } diff --git a/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveCatalogOrBuilder.java b/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveCatalogOrBuilder.java index d889e77d3671..6fb3fbf4704d 100644 --- a/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveCatalogOrBuilder.java +++ b/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveCatalogOrBuilder.java @@ -30,13 +30,13 @@ public interface HiveCatalogOrBuilder * * *
-   * Output only. The resource name.
+   * Identifier. The resource name.
    * Format:
    * projects/{project_id_or_number}/catalogs/{catalog_id}
    * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @return The name. @@ -47,13 +47,13 @@ public interface HiveCatalogOrBuilder * * *
-   * Output only. The resource name.
+   * Identifier. The resource name.
    * Format:
    * projects/{project_id_or_number}/catalogs/{catalog_id}
    * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @return The bytes for name. @@ -183,4 +183,84 @@ public interface HiveCatalogOrBuilder * */ com.google.cloud.biglake.hive.v1beta.HiveCatalog.ReplicaOrBuilder getReplicasOrBuilder(int index); + + /** + * + * + *
+   * Output only. The creation time of the catalog.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + boolean hasCreateTime(); + + /** + * + * + *
+   * Output only. The creation time of the catalog.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + com.google.protobuf.Timestamp getCreateTime(); + + /** + * + * + *
+   * Output only. The creation time of the catalog.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. The update time of the catalog.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + boolean hasUpdateTime(); + + /** + * + * + *
+   * Output only. The update time of the catalog.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + com.google.protobuf.Timestamp getUpdateTime(); + + /** + * + * + *
+   * Output only. The update time of the catalog.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder(); } diff --git a/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveDatabase.java b/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveDatabase.java index 5f0182661be2..e2dde68340bb 100644 --- a/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveDatabase.java +++ b/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveDatabase.java @@ -85,6 +85,7 @@ protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldRefl com.google.cloud.biglake.hive.v1beta.HiveDatabase.Builder.class); } + private int bitField0_; public static final int NAME_FIELD_NUMBER = 1; @SuppressWarnings("serial") @@ -94,13 +95,13 @@ protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldRefl * * *
-   * Output only. The resource name.
+   * Identifier. The resource name.
    * Format:
    * projects/{project_id_or_number}/catalogs/{catalog_id}/databases/{database_id}
    * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @return The name. @@ -122,13 +123,13 @@ public java.lang.String getName() { * * *
-   * Output only. The resource name.
+   * Identifier. The resource name.
    * Format:
    * projects/{project_id_or_number}/catalogs/{catalog_id}/databases/{database_id}
    * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @return The bytes for name. @@ -375,6 +376,110 @@ public java.lang.String getParametersOrThrow(java.lang.String key) { return map.get(key); } + public static final int CREATE_TIME_FIELD_NUMBER = 5; + private com.google.protobuf.Timestamp createTime_; + + /** + * + * + *
+   * Output only. The creation time of the database.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + @java.lang.Override + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * + * + *
+   * Output only. The creation time of the database.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCreateTime() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + /** + * + * + *
+   * Output only. The creation time of the database.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + + public static final int UPDATE_TIME_FIELD_NUMBER = 6; + private com.google.protobuf.Timestamp updateTime_; + + /** + * + * + *
+   * Output only. The update time of the database.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + @java.lang.Override + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * + * + *
+   * Output only. The update time of the database.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getUpdateTime() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + /** + * + * + *
+   * Output only. The update time of the database.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -400,6 +505,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io } com.google.protobuf.GeneratedMessage.serializeStringMapTo( output, internalGetParameters(), ParametersDefaultEntryHolder.defaultEntry, 4); + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(5, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + output.writeMessage(6, getUpdateTime()); + } getUnknownFields().writeTo(output); } @@ -428,6 +539,12 @@ public int getSerializedSize() { .build(); size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, parameters__); } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, getCreateTime()); + } + if (((bitField0_ & 0x00000002) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getUpdateTime()); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -448,6 +565,14 @@ public boolean equals(final java.lang.Object obj) { if (!getDescription().equals(other.getDescription())) return false; if (!getLocationUri().equals(other.getLocationUri())) return false; if (!internalGetParameters().equals(other.internalGetParameters())) return false; + if (hasCreateTime() != other.hasCreateTime()) return false; + if (hasCreateTime()) { + if (!getCreateTime().equals(other.getCreateTime())) return false; + } + if (hasUpdateTime() != other.hasUpdateTime()) return false; + if (hasUpdateTime()) { + if (!getUpdateTime().equals(other.getUpdateTime())) return false; + } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -469,6 +594,14 @@ public int hashCode() { hash = (37 * hash) + PARAMETERS_FIELD_NUMBER; hash = (53 * hash) + internalGetParameters().hashCode(); } + if (hasCreateTime()) { + hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCreateTime().hashCode(); + } + if (hasUpdateTime()) { + hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getUpdateTime().hashCode(); + } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -622,10 +755,20 @@ protected com.google.protobuf.MapFieldReflectionAccessor internalGetMutableMapFi } // Construct using com.google.cloud.biglake.hive.v1beta.HiveDatabase.newBuilder() - private Builder() {} + private Builder() { + maybeForceBuilderInitialization(); + } private Builder(com.google.protobuf.GeneratedMessage.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + internalGetCreateTimeFieldBuilder(); + internalGetUpdateTimeFieldBuilder(); + } } @java.lang.Override @@ -636,6 +779,16 @@ public Builder clear() { description_ = ""; locationUri_ = ""; internalGetMutableParameters().clear(); + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } return this; } @@ -685,6 +838,16 @@ private void buildPartial0(com.google.cloud.biglake.hive.v1beta.HiveDatabase res result.parameters_ = internalGetParameters(); result.parameters_.makeImmutable(); } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000010) != 0)) { + result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + if (((from_bitField0_ & 0x00000020) != 0)) { + result.updateTime_ = updateTimeBuilder_ == null ? updateTime_ : updateTimeBuilder_.build(); + to_bitField0_ |= 0x00000002; + } + result.bitField0_ |= to_bitField0_; } @java.lang.Override @@ -717,6 +880,12 @@ public Builder mergeFrom(com.google.cloud.biglake.hive.v1beta.HiveDatabase other } internalGetMutableParameters().mergeFrom(other.internalGetParameters()); bitField0_ |= 0x00000008; + if (other.hasCreateTime()) { + mergeCreateTime(other.getCreateTime()); + } + if (other.hasUpdateTime()) { + mergeUpdateTime(other.getUpdateTime()); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -773,6 +942,20 @@ public Builder mergeFrom( bitField0_ |= 0x00000008; break; } // case 34 + case 42: + { + input.readMessage( + internalGetCreateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000010; + break; + } // case 42 + case 50: + { + input.readMessage( + internalGetUpdateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000020; + break; + } // case 50 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { @@ -798,13 +981,13 @@ public Builder mergeFrom( * * *
-     * Output only. The resource name.
+     * Identifier. The resource name.
      * Format:
      * projects/{project_id_or_number}/catalogs/{catalog_id}/databases/{database_id}
      * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @return The name. @@ -825,13 +1008,13 @@ public java.lang.String getName() { * * *
-     * Output only. The resource name.
+     * Identifier. The resource name.
      * Format:
      * projects/{project_id_or_number}/catalogs/{catalog_id}/databases/{database_id}
      * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @return The bytes for name. @@ -852,13 +1035,13 @@ public com.google.protobuf.ByteString getNameBytes() { * * *
-     * Output only. The resource name.
+     * Identifier. The resource name.
      * Format:
      * projects/{project_id_or_number}/catalogs/{catalog_id}/databases/{database_id}
      * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @param value The name to set. @@ -878,13 +1061,13 @@ public Builder setName(java.lang.String value) { * * *
-     * Output only. The resource name.
+     * Identifier. The resource name.
      * Format:
      * projects/{project_id_or_number}/catalogs/{catalog_id}/databases/{database_id}
      * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @return This builder for chaining. @@ -900,13 +1083,13 @@ public Builder clearName() { * * *
-     * Output only. The resource name.
+     * Identifier. The resource name.
      * Format:
      * projects/{project_id_or_number}/catalogs/{catalog_id}/databases/{database_id}
      * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @param value The bytes for name to set. @@ -1354,6 +1537,430 @@ public Builder putAllParameters(java.util.Map + createTimeBuilder_; + + /** + * + * + *
+     * Output only. The creation time of the database.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + public boolean hasCreateTime() { + return ((bitField0_ & 0x00000010) != 0); + } + + /** + * + * + *
+     * Output only. The creation time of the database.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + public com.google.protobuf.Timestamp getCreateTime() { + if (createTimeBuilder_ == null) { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } else { + return createTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The creation time of the database.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + createTime_ = value; + } else { + createTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The creation time of the database.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (createTimeBuilder_ == null) { + createTime_ = builderForValue.build(); + } else { + createTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The creation time of the database.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (((bitField0_ & 0x00000010) != 0) + && createTime_ != null + && createTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getCreateTimeBuilder().mergeFrom(value); + } else { + createTime_ = value; + } + } else { + createTimeBuilder_.mergeFrom(value); + } + if (createTime_ != null) { + bitField0_ |= 0x00000010; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The creation time of the database.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCreateTime() { + bitField0_ = (bitField0_ & ~0x00000010); + createTime_ = null; + if (createTimeBuilder_ != null) { + createTimeBuilder_.dispose(); + createTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The creation time of the database.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() { + bitField0_ |= 0x00000010; + onChanged(); + return internalGetCreateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The creation time of the database.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + if (createTimeBuilder_ != null) { + return createTimeBuilder_.getMessageOrBuilder(); + } else { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } + } + + /** + * + * + *
+     * Output only. The creation time of the database.
+     * 
+ * + * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetCreateTimeFieldBuilder() { + if (createTimeBuilder_ == null) { + createTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCreateTime(), getParentForChildren(), isClean()); + createTime_ = null; + } + return createTimeBuilder_; + } + + private com.google.protobuf.Timestamp updateTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + updateTimeBuilder_; + + /** + * + * + *
+     * Output only. The update time of the database.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000020) != 0); + } + + /** + * + * + *
+     * Output only. The update time of the database.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + public com.google.protobuf.Timestamp getUpdateTime() { + if (updateTimeBuilder_ == null) { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } else { + return updateTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The update time of the database.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateTime_ = value; + } else { + updateTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The update time of the database.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (updateTimeBuilder_ == null) { + updateTime_ = builderForValue.build(); + } else { + updateTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000020; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The update time of the database.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (((bitField0_ & 0x00000020) != 0) + && updateTime_ != null + && updateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getUpdateTimeBuilder().mergeFrom(value); + } else { + updateTime_ = value; + } + } else { + updateTimeBuilder_.mergeFrom(value); + } + if (updateTime_ != null) { + bitField0_ |= 0x00000020; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The update time of the database.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearUpdateTime() { + bitField0_ = (bitField0_ & ~0x00000020); + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The update time of the database.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getUpdateTimeBuilder() { + bitField0_ |= 0x00000020; + onChanged(); + return internalGetUpdateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The update time of the database.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + if (updateTimeBuilder_ != null) { + return updateTimeBuilder_.getMessageOrBuilder(); + } else { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } + } + + /** + * + * + *
+     * Output only. The update time of the database.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetUpdateTimeFieldBuilder() { + if (updateTimeBuilder_ == null) { + updateTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getUpdateTime(), getParentForChildren(), isClean()); + updateTime_ = null; + } + return updateTimeBuilder_; + } + // @@protoc_insertion_point(builder_scope:google.cloud.biglake.hive.v1beta.HiveDatabase) } diff --git a/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveDatabaseOrBuilder.java b/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveDatabaseOrBuilder.java index 955c6a5298d7..2832cf33d8e1 100644 --- a/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveDatabaseOrBuilder.java +++ b/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveDatabaseOrBuilder.java @@ -30,13 +30,13 @@ public interface HiveDatabaseOrBuilder * * *
-   * Output only. The resource name.
+   * Identifier. The resource name.
    * Format:
    * projects/{project_id_or_number}/catalogs/{catalog_id}/databases/{database_id}
    * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @return The name. @@ -47,13 +47,13 @@ public interface HiveDatabaseOrBuilder * * *
-   * Output only. The resource name.
+   * Identifier. The resource name.
    * Format:
    * projects/{project_id_or_number}/catalogs/{catalog_id}/databases/{database_id}
    * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @return The bytes for name. @@ -192,4 +192,84 @@ java.lang.String getParametersOrDefault( * */ java.lang.String getParametersOrThrow(java.lang.String key); + + /** + * + * + *
+   * Output only. The creation time of the database.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + boolean hasCreateTime(); + + /** + * + * + *
+   * Output only. The creation time of the database.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + com.google.protobuf.Timestamp getCreateTime(); + + /** + * + * + *
+   * Output only. The creation time of the database.
+   * 
+ * + * .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder(); + + /** + * + * + *
+   * Output only. The update time of the database.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + boolean hasUpdateTime(); + + /** + * + * + *
+   * Output only. The update time of the database.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + com.google.protobuf.Timestamp getUpdateTime(); + + /** + * + * + *
+   * Output only. The update time of the database.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder(); } diff --git a/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveMetastoreProto.java b/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveMetastoreProto.java index 6fede320842f..866f331568a5 100644 --- a/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveMetastoreProto.java +++ b/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveMetastoreProto.java @@ -234,30 +234,33 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "ve.v1beta\032\034google/api/annotations.proto\032" + "\027google/api/client.proto\032\037google/api/fie" + "ld_behavior.proto\032\031google/api/resource.proto\032\033google/protobuf/empty.proto\032" - + " google/protobuf/field_mask.proto\032\037google/protobuf/timestamp.proto\"\376\003\n" + + " google/protobuf/field_mask.proto\032\037google/protobuf/timestamp.proto\"\352\004\n" + "\013HiveCatalog\0224\n" - + "\004name\030\001 \001(\tB&\340A\003\372A \n" + + "\004name\030\001 \001(\tB&\340A\010\372A \n" + "\036biglake.googleapis.com/Catalog\022\030\n" + "\013description\030\002 \001(\tB\003\340A\001\022\031\n" + "\014location_uri\030\003 \001(\tB\003\340A\002\022L\n" + "\010replicas\030\004 \003(" - + "\01325.google.cloud.biglake.hive.v1beta.HiveCatalog.ReplicaB\003\340A\003\032\326\001\n" + + "\01325.google.cloud.biglake.hive.v1beta.HiveCatalog.ReplicaB\003\340A\003\0224\n" + + "\013create_time\030\005 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n" + + "\013update_time\030\006" + + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\032\326\001\n" + "\007Replica\022\023\n" + "\006region\030\001 \001(\tB\003\340A\003\022O\n" - + "\005state\030\002 \001(\0162;.google.c" - + "loud.biglake.hive.v1beta.HiveCatalog.Replica.StateB\003\340A\003\"e\n" + + "\005state\030\002 \001(\0162;.google.cloud.biglake" + + ".hive.v1beta.HiveCatalog.Replica.StateB\003\340A\003\"e\n" + "\005State\022\025\n" + "\021STATE_UNSPECIFIED\020\000\022\021\n\r" + "STATE_PRIMARY\020\001\022\035\n" + "\031STATE_PRIMARY_IN_PROGRESS\020\002\022\023\n" + "\017STATE_SECONDARY\020\003:]\352AZ\n" - + "\036biglake.googleapis.com/Catalog\022%pro" - + "jects/{project}/catalogs/{catalog}*\010catalogs2\007catalog\"\370\001\n" + + "\036biglake.googleapis.com/Catalog\022%projects/{proje" + + "ct}/catalogs/{catalog}*\010catalogs2\007catalog\"\370\001\n" + "\030CreateHiveCatalogRequest\022C\n" + "\006parent\030\001 \001(\tB3\340A\002\372A-\n" + "+cloudresourcemanager.googleapis.com/Project\022H\n" - + "\014hive_catalog\030\002" - + " \001(\0132-.google.cloud.biglake.hive.v1beta.HiveCatalogB\003\340A\002\022\034\n" + + "\014hive_catalog\030\002 \001(" + + "\0132-.google.cloud.biglake.hive.v1beta.HiveCatalogB\003\340A\002\022\034\n" + "\017hive_catalog_id\030\003 \001(\tB\003\340A\002\022/\n" + "\020primary_location\030\004 \001(\tB\003\340A\002R\020primary_location\"M\n" + "\025GetHiveCatalogRequest\0224\n" @@ -274,31 +277,33 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\017next_page_token\030\002 \001(\tB\003\340A\003\022\030\n" + "\013unreachable\030\003 \003(\tB\003\340A\003\"\232\001\n" + "\030UpdateHiveCatalogRequest\022H\n" - + "\014hive_catalog\030\001" - + " \001(\0132-.google.cloud.biglake.hive.v1beta.HiveCatalogB\003\340A\002\0224\n" + + "\014hive_catalog\030\001 " + + "\001(\0132-.google.cloud.biglake.hive.v1beta.HiveCatalogB\003\340A\002\0224\n" + "\013update_mask\030\002 \001(\0132\032.google.protobuf.FieldMaskB\003\340A\001\"P\n" + "\030DeleteHiveCatalogRequest\0224\n" + "\004name\030\001 \001(\tB&\340A\002\372A \n" - + "\036biglake.googleapis.com/Catalog\"\201\003\n" + + "\036biglake.googleapis.com/Catalog\"\355\003\n" + "\014HiveDatabase\0226\n" - + "\004name\030\001 \001(\tB(\340A\003\372A\"\n" + + "\004name\030\001 \001(\tB(\340A\010\372A\"\n" + " biglake.googleapis.com/Namespace\022\030\n" + "\013description\030\002 \001(\tB\003\340A\001\022\031\n" - + "\014location_uri\030\003 \001(\tB\003\340A\001\022W\n\n" - + "parameters\030\004 \003(\0132>.google.c" - + "loud.biglake.hive.v1beta.HiveDatabase.ParametersEntryB\003\340A\001\0321\n" + + "\014location_uri\030\003 \001(\tB\003\340A\001\022W\n" + + "\n" + + "parameters\030\004 \003(\0132>.google.cloud.biglake" + + ".hive.v1beta.HiveDatabase.ParametersEntryB\003\340A\001\0224\n" + + "\013create_time\030\005 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0224\n" + + "\013update_time\030\006 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0321\n" + "\017ParametersEntry\022\013\n" + "\003key\030\001 \001(\t\022\r\n" + "\005value\030\002 \001(\t:\0028\001:x\352Au\n" - + " biglake.googleapis.com/Namespace\022:projects/{" - + "project}/catalogs/{catalog}/databases/{database}*\n" + + " biglake.googleapis.com/Names" + + "pace\022:projects/{project}/catalogs/{catalog}/databases/{database}*\n" + "namespaces2\tnamespace\"\276\001\n" + "\031CreateHiveDatabaseRequest\0226\n" + "\006parent\030\001 \001(\tB&\340A\002\372A \n" - + "\036biglake.googleapis.com/Catalog\022J\n" - + "\r" - + "hive_database\030\002" - + " \001(\0132..google.cloud.biglake.hive.v1beta.HiveDatabaseB\003\340A\002\022\035\n" + + "\036biglake.googleapis.com/Catalog\022J\n\r" + + "hive_database\030\002 \001(\0132..g" + + "oogle.cloud.biglake.hive.v1beta.HiveDatabaseB\003\340A\002\022\035\n" + "\020hive_database_id\030\003 \001(\tB\003\340A\002\"P\n" + "\026GetHiveDatabaseRequest\0226\n" + "\004name\030\001 \001(\tB(\340A\002\372A\"\n" @@ -309,33 +314,37 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + "page_token\030\003 \001(\tB\003\340A\001\"\201\001\n" + "\031ListHiveDatabasesResponse\022F\n" - + "\tdatabases\030\001" - + " \003(\0132..google.cloud.biglake.hive.v1beta.HiveDatabaseB\003\340A\003\022\034\n" + + "\tdatabases\030\001 \003(\0132..google.cloud" + + ".biglake.hive.v1beta.HiveDatabaseB\003\340A\003\022\034\n" + "\017next_page_token\030\002 \001(\tB\003\340A\003\"\235\001\n" + "\031UpdateHiveDatabaseRequest\022J\n\r" - + "hive_database\030\001 \001(\0132..google.cloud" - + ".biglake.hive.v1beta.HiveDatabaseB\003\340A\002\0224\n" + + "hive_database\030\001 \001(" + + "\0132..google.cloud.biglake.hive.v1beta.HiveDatabaseB\003\340A\002\0224\n" + "\013update_mask\030\002 \001(\0132\032.google.protobuf.FieldMaskB\003\340A\001\"S\n" + "\031DeleteHiveDatabaseRequest\0226\n" + "\004name\030\001 \001(\tB(\340A\002\372A\"\n" - + " biglake.googleapis.com/Namespace\"\320\004\n" + + " biglake.googleapis.com/Namespace\"\310\005\n" + "\tHiveTable\0222\n" - + "\004name\030\001 \001(\tB$\340A\003\372A\036\n" + + "\004name\030\001 \001(\tB$\340A\010\372A\036\n" + "\034biglake.googleapis.com/Table\022\030\n" + "\013description\030\002 \001(\tB\003\340A\001\022T\n" - + "\022storage_descriptor\030\003" - + " \001(\01323.google.cloud.biglake.hive.v1beta.StorageDescriptorB\003\340A\002\0224\n" + + "\022storage_descriptor\030\003 \001(\01323.goog" + + "le.cloud.biglake.hive.v1beta.StorageDescriptorB\003\340A\002\0224\n" + "\013create_time\030\004 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022J\n" - + "\016partition_keys\030\007 \003(\0132-.goog" - + "le.cloud.biglake.hive.v1beta.FieldSchemaB\003\340A\001\022T\n\n" - + "parameters\030\010 \003(\0132;.google.cloud" - + ".biglake.hive.v1beta.HiveTable.ParametersEntryB\003\340A\001\022\027\n\n" - + "table_type\030\013 \001(\tB\003\340A\003\0321\n" + + "\016partition_keys\030\007" + + " \003(\0132-.google.cloud.biglake.hive.v1beta.FieldSchemaB\003\340A\001\022T\n\n" + + "parameters\030\010 \003(" + + "\0132;.google.cloud.biglake.hive.v1beta.HiveTable.ParametersEntryB\003\340A\001\022\037\n" + + "\022view_original_text\030\t \001(\tB\003\340A\001\022\037\n" + + "\022view_expanded_text\030\n" + + " \001(\tB\003\340A\001\022\027\n\n" + + "table_type\030\013 \001(\tB\003\340A\003\0224\n" + + "\013update_time\030\014 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\0321\n" + "\017ParametersEntry\022\013\n" + "\003key\030\001 \001(\t\022\r\n" + "\005value\030\002 \001(\t:\0028\001:{\352Ax\n" - + "\034biglake.googleapis.com/Table\022Iprojects/{project}/catalogs/{catalog" - + "}/databases/{database}/tables/{table}*\006tables2\005table\"I\n" + + "\034biglake.googleapis.com/Table\022Iprojects/{project}/c" + + "atalogs/{catalog}/databases/{database}/tables/{table}*\006tables2\005table\"I\n" + "\013FieldSchema\022\021\n" + "\004name\030\001 \001(\tB\003\340A\002\022\021\n" + "\004type\030\002 \001(\tB\003\340A\002\022\024\n" @@ -348,26 +357,26 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "output_format\030\004 \001(\tB\003\340A\001\022\034\n\n" + "compressed\030\005 \001(\010B\003\340A\001H\000\210\001\001\022\035\n" + "\013num_buckets\030\006 \001(\005B\003\340A\001H\001\210\001\001\022D\n\n" - + "serde_info\030\007" - + " \001(\0132+.google.cloud.biglake.hive.v1beta.SerdeInfoB\003\340A\001\022\030\n" + + "serde_info\030\007 \001(\0132+." + + "google.cloud.biglake.hive.v1beta.SerdeInfoB\003\340A\001\022\030\n" + "\013bucket_cols\030\010 \003(\tB\003\340A\001\022Q\n" - + "\tsort_cols\030\t \003(\01329.g" - + "oogle.cloud.biglake.hive.v1beta.StorageDescriptor.OrderB\003\340A\001\022\\\n\n" + + "\tsort_cols\030\t" + + " \003(\01329.google.cloud.biglake.hive.v1beta.StorageDescriptor.OrderB\003\340A\001\022\\\n\n" + "parameters\030\n" - + " \003(\013" - + "2C.google.cloud.biglake.hive.v1beta.StorageDescriptor.ParametersEntryB\003\340A\001\022X\n" - + "\013skewed_info\030\013 \001(\0132>.google.cloud.biglake.h" - + "ive.v1beta.StorageDescriptor.SkewedInfoB\003\340A\001\022$\n" + + " \003(\0132C.google.cloud.biglake." + + "hive.v1beta.StorageDescriptor.ParametersEntryB\003\340A\001\022X\n" + + "\013skewed_info\030\013 \001(\0132>.google" + + ".cloud.biglake.hive.v1beta.StorageDescriptor.SkewedInfoB\003\340A\001\022$\n" + "\022stored_as_sub_dirs\030\014 \001(\010B\003\340A\001H\002\210\001\001\032-\n" + "\005Order\022\020\n" + "\003col\030\001 \001(\tB\003\340A\002\022\022\n" + "\005order\030\002 \001(\005B\003\340A\002\032\221\003\n\n" + "SkewedInfo\022\035\n" + "\020skewed_col_names\030\001 \003(\tB\003\340A\002\022p\n" - + "\021skewed_col_values\030\002 \003(\0132P.google.cloud.biglake.hive.v1beta.St" - + "orageDescriptor.SkewedInfo.SkewedColumnValueB\003\340A\002\022\200\001\n" - + "\033skewed_key_values_locations\030\003 \003(\0132V.google.cloud.biglake.hive.v1be" - + "ta.StorageDescriptor.SkewedInfo.SkewedKeyValuesLocationB\003\340A\002\032(\n" + + "\021skewed_col_values\030\002 \003(\0132P.google.cloud.biglak" + + "e.hive.v1beta.StorageDescriptor.SkewedInfo.SkewedColumnValueB\003\340A\002\022\200\001\n" + + "\033skewed_key_values_locations\030\003 \003(\0132V.google.cloud.b" + + "iglake.hive.v1beta.StorageDescriptor.SkewedInfo.SkewedKeyValuesLocationB\003\340A\002\032(\n" + "\021SkewedColumnValue\022\023\n" + "\006values\030\001 \003(\tB\003\340A\002\032E\n" + "\027SkewedKeyValuesLocation\022\023\n" @@ -383,12 +392,12 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\004name\030\001 \001(\tB\003\340A\002\022\036\n" + "\021serialization_lib\030\002 \001(\tB\003\340A\002\022\030\n" + "\013description\030\003 \001(\tB\003\340A\001\022T\n\n" - + "parameters\030\004 \003(\0132;.google.c" - + "loud.biglake.hive.v1beta.SerdeInfo.ParametersEntryB\003\340A\001\022\035\n" + + "parameters\030\004" + + " \003(\0132;.google.cloud.biglake.hive.v1beta.SerdeInfo.ParametersEntryB\003\340A\001\022\035\n" + "\020serializer_class\030\005 \001(\tB\003\340A\001\022\037\n" + "\022deserializer_class\030\006 \001(\tB\003\340A\001\022N\n\n" - + "serde_type\030\007 \001(\01625.google.cloud.bigla" - + "ke.hive.v1beta.SerdeInfo.SerdeTypeB\003\340A\001\0321\n" + + "serde_type\030\007 \001(\01625.go" + + "ogle.cloud.biglake.hive.v1beta.SerdeInfo.SerdeTypeB\003\340A\001\0321\n" + "\017ParametersEntry\022\013\n" + "\003key\030\001 \001(\t\022\r\n" + "\005value\030\002 \001(\t:\0028\001\"F\n" @@ -399,9 +408,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\026CreateHiveTableRequest\0228\n" + "\006parent\030\001 \001(\tB(\340A\002\372A\"\n" + " biglake.googleapis.com/Namespace\022D\n\n" - + "hive_table\030\002" - + " \001(\0132+.google.cloud.biglake.hive.v1beta.HiveTableB\003\340A\002\022\032\n" - + "\r" + + "hive_table\030\002 " + + "\001(\0132+.google.cloud.biglake.hive.v1beta.HiveTableB\003\340A\002\022\032\n\r" + "hive_table_id\030\003 \001(\tB\003\340A\002\"I\n" + "\023GetHiveTableRequest\0222\n" + "\004name\030\001 \001(\tB$\340A\002\372A\036\n" @@ -412,12 +420,12 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n\n" + "page_token\030\003 \001(\tB\003\340A\001\"x\n" + "\026ListHiveTablesResponse\022@\n" - + "\006tables\030\001 \003(\0132+.go" - + "ogle.cloud.biglake.hive.v1beta.HiveTableB\003\340A\003\022\034\n" + + "\006tables\030\001" + + " \003(\0132+.google.cloud.biglake.hive.v1beta.HiveTableB\003\340A\003\022\034\n" + "\017next_page_token\030\002 \001(\tB\003\340A\003\"\224\001\n" + "\026UpdateHiveTableRequest\022D\n\n" - + "hive_table\030\001 \001" - + "(\0132+.google.cloud.biglake.hive.v1beta.HiveTableB\003\340A\002\0224\n" + + "hive_table\030\001" + + " \001(\0132+.google.cloud.biglake.hive.v1beta.HiveTableB\003\340A\002\0224\n" + "\013update_mask\030\002 \001(\0132\032.google.protobuf.FieldMaskB\003\340A\001\"L\n" + "\026DeleteHiveTableRequest\0222\n" + "\004name\030\001 \001(\tB$\340A\002\372A\036\n" @@ -425,12 +433,12 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\tPartition\022\023\n" + "\006values\030\001 \003(\tB\003\340A\002\0224\n" + "\013create_time\030\002 \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022T\n" - + "\022storage_descriptor\030\003 \001(\01323.google.cloud.big" - + "lake.hive.v1beta.StorageDescriptorB\003\340A\001\022T\n\n" - + "parameters\030\004 \003(\0132;.google.cloud.bigla" - + "ke.hive.v1beta.Partition.ParametersEntryB\003\340A\001\022B\n" - + "\006fields\030\005" - + " \003(\0132-.google.cloud.biglake.hive.v1beta.FieldSchemaB\003\340A\001\0321\n" + + "\022storage_descriptor\030\003 \001(\01323." + + "google.cloud.biglake.hive.v1beta.StorageDescriptorB\003\340A\001\022T\n\n" + + "parameters\030\004 \003(\0132;.go" + + "ogle.cloud.biglake.hive.v1beta.Partition.ParametersEntryB\003\340A\001\022B\n" + + "\006fields\030\005 \003(\0132-." + + "google.cloud.biglake.hive.v1beta.FieldSchemaB\003\340A\001\0321\n" + "\017ParametersEntry\022\013\n" + "\003key\030\001 \001(\t\022\r\n" + "\005value\030\002 \001(\t:\0028\001\"&\n" @@ -439,31 +447,31 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\026CreatePartitionRequest\0224\n" + "\006parent\030\001 \001(\tB$\340A\002\372A\036\n" + "\034biglake.googleapis.com/Table\022C\n" - + "\tpartition\030\002" - + " \001(\0132+.google.cloud.biglake.hive.v1beta.PartitionB\003\340A\002\"\314\001\n" + + "\tpartition\030\002 \001(\013" + + "2+.google.cloud.biglake.hive.v1beta.PartitionB\003\340A\002\"\314\001\n" + "\034BatchCreatePartitionsRequest\0224\n" + "\006parent\030\001 \001(\tB$\340A\002\372A\036\n" + "\034biglake.googleapis.com/Table\022O\n" - + "\010requests\030\002 \003(\01328.google.cloud.bigla" - + "ke.hive.v1beta.CreatePartitionRequestB\003\340A\002\022%\n" + + "\010requests\030\002 \003(\01328.go" + + "ogle.cloud.biglake.hive.v1beta.CreatePartitionRequestB\003\340A\002\022%\n" + "\030skip_existing_partitions\030\003 \001(\010B\003\340A\001\"`\n" + "\035BatchCreatePartitionsResponse\022?\n\n" + "partitions\030\001 \003(\0132+.google.cloud.biglake.hive.v1beta.Partition\"\246\001\n" + "\034BatchDeletePartitionsRequest\0224\n" + "\006parent\030\001 \001(\tB$\340A\002\372A\036\n" + "\034biglake.googleapis.com/Table\022P\n" - + "\020partition_values\030\002" - + " \003(\01321.google.cloud.biglake.hive.v1beta.PartitionValuesB\003\340A\002\"\223\001\n" + + "\020partition_values\030\002 \003(\01321.google.cl" + + "oud.biglake.hive.v1beta.PartitionValuesB\003\340A\002\"\223\001\n" + "\026UpdatePartitionRequest\022C\n" - + "\tpartition\030\001 \001(\0132+.goo" - + "gle.cloud.biglake.hive.v1beta.PartitionB\003\340A\002\0224\n" + + "\tpartition\030\001" + + " \001(\0132+.google.cloud.biglake.hive.v1beta.PartitionB\003\340A\002\0224\n" + "\013update_mask\030\002" + " \001(\0132\032.google.protobuf.FieldMaskB\003\340A\001\"\245\001\n" + "\034BatchUpdatePartitionsRequest\0224\n" + "\006parent\030\001 \001(\tB$\340A\002\372A\036\n" + "\034biglake.googleapis.com/Table\022O\n" - + "\010requests\030\002 " - + "\003(\01328.google.cloud.biglake.hive.v1beta.UpdatePartitionRequestB\003\340A\002\"`\n" + + "\010requests\030\002 \003(\01328.google.cloud.bigla" + + "ke.hive.v1beta.UpdatePartitionRequestB\003\340A\002\"`\n" + "\035BatchUpdatePartitionsResponse\022?\n\n" + "partitions\030\001 \003(\0132+.google.cloud.biglake.hive.v1beta.Partition\"b\n" + "\025ListPartitionsRequest\0224\n" @@ -471,97 +479,95 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\034biglake.googleapis.com/Table\022\023\n" + "\006filter\030\002 \001(\tB\003\340A\001\"^\n" + "\026ListPartitionsResponse\022D\n\n" - + "partitions\030\001 \003(\0132+.google." - + "cloud.biglake.hive.v1beta.PartitionB\003\340A\0032\317!\n" + + "partitions\030\001" + + " \003(\0132+.google.cloud.biglake.hive.v1beta.PartitionB\003\340A\0032\317!\n" + "\024HiveMetastoreService\022\345\001\n" - + "\021CreateHiveCatalog\022:.google.cloud.biglake.hive.v1be" - + "ta.CreateHiveCatalogRequest\032-.google.clo" - + "ud.biglake.hive.v1beta.HiveCatalog\"e\332A#p" - + "arent,hive_catalog,hive_catalog_id\202\323\344\223\0029" - + "\")/hive/v1beta/{parent=projects/*}/catalogs:\014hive_catalog\022\262\001\n" - + "\016GetHiveCatalog\0227.google.cloud.biglake.hive.v1beta.GetHiveC" - + "atalogRequest\032-.google.cloud.biglake.hiv" - + "e.v1beta.HiveCatalog\"8\332A\004name\202\323\344\223\002+\022)/hi" - + "ve/v1beta/{name=projects/*/catalogs/*}\022\305\001\n" - + "\020ListHiveCatalogs\0229.google.cloud.bigla" - + "ke.hive.v1beta.ListHiveCatalogsRequest\032:.google.cloud.biglake.hive.v1beta.ListHi" - + "veCatalogsResponse\":\332A\006parent\202\323\344\223\002+\022)/hi" - + "ve/v1beta/{parent=projects/*}/catalogs\022\347\001\n" - + "\021UpdateHiveCatalog\022:.google.cloud.biglake.hive.v1beta.UpdateHiveCatalogRequest" - + "\032-.google.cloud.biglake.hive.v1beta.Hive" - + "Catalog\"g\332A\030hive_catalog,update_mask\202\323\344\223" - + "\002F26/hive/v1beta/{hive_catalog.name=projects/*/catalogs/*}:\014hive_catalog\022\241\001\n" - + "\021DeleteHiveCatalog\022:.google.cloud.biglake.hi" - + "ve.v1beta.DeleteHiveCatalogRequest\032\026.goo" - + "gle.protobuf.Empty\"8\332A\004name\202\323\344\223\002+*)/hive/v1beta/{name=projects/*/catalogs/*}\022\367\001\n" - + "\022CreateHiveDatabase\022;.google.cloud.biglake.hive.v1beta.CreateHiveDatabaseRequest" - + "\032..google.cloud.biglake.hive.v1beta.Hive" - + "Database\"t\332A%parent,hive_database,hive_d" - + "atabase_id\202\323\344\223\002F\"5/hive/v1beta/{parent=projects/*/catalogs/*}/databases:\r" + + "\021CreateHiveCatalog\022:.google.cloud.biglake.hive.v1beta.CreateHiveCatalogRequ" + + "est\032-.google.cloud.biglake.hive.v1beta.H" + + "iveCatalog\"e\332A#parent,hive_catalog,hive_" + + "catalog_id\202\323\344\223\0029\")/hive/v1beta/{parent=projects/*}/catalogs:\014hive_catalog\022\262\001\n" + + "\016GetHiveCatalog\0227.google.cloud.biglake.hive" + + ".v1beta.GetHiveCatalogRequest\032-.google.c" + + "loud.biglake.hive.v1beta.HiveCatalog\"8\332A" + + "\004name\202\323\344\223\002+\022)/hive/v1beta/{name=projects/*/catalogs/*}\022\305\001\n" + + "\020ListHiveCatalogs\0229.google.cloud.biglake.hive.v1beta.ListHiveC" + + "atalogsRequest\032:.google.cloud.biglake.hi" + + "ve.v1beta.ListHiveCatalogsResponse\":\332A\006p" + + "arent\202\323\344\223\002+\022)/hive/v1beta/{parent=projects/*}/catalogs\022\347\001\n" + + "\021UpdateHiveCatalog\022:.google.cloud.biglake.hive.v1beta.UpdateHi" + + "veCatalogRequest\032-.google.cloud.biglake." + + "hive.v1beta.HiveCatalog\"g\332A\030hive_catalog" + + ",update_mask\202\323\344\223\002F26/hive/v1beta/{hive_c" + + "atalog.name=projects/*/catalogs/*}:\014hive_catalog\022\241\001\n" + + "\021DeleteHiveCatalog\022:.google.cloud.biglake.hive.v1beta.DeleteHiveCata" + + "logRequest\032\026.google.protobuf.Empty\"8\332A\004n" + + "ame\202\323\344\223\002+*)/hive/v1beta/{name=projects/*/catalogs/*}\022\367\001\n" + + "\022CreateHiveDatabase\022;.google.cloud.biglake.hive.v1beta.CreateHiv" + + "eDatabaseRequest\032..google.cloud.biglake." + + "hive.v1beta.HiveDatabase\"t\332A%parent,hive" + + "_database,hive_database_id\202\323\344\223\002F\"5/hive/" + + "v1beta/{parent=projects/*/catalogs/*}/databases:\r" + "hive_database\022\301\001\n" - + "\017GetHiveDatabase\0228.google.cloud.biglake.hive.v1beta.GetHiveDatabaseReq" - + "uest\032..google.cloud.biglake.hive.v1beta." - + "HiveDatabase\"D\332A\004name\202\323\344\223\0027\0225/hive/v1bet" - + "a/{name=projects/*/catalogs/*/databases/*}\022\324\001\n" - + "\021ListHiveDatabases\022:.google.cloud.biglake.hive.v1beta.ListHiveDatabasesReq" - + "uest\032;.google.cloud.biglake.hive.v1beta." - + "ListHiveDatabasesResponse\"F\332A\006parent\202\323\344\223" - + "\0027\0225/hive/v1beta/{parent=projects/*/catalogs/*}/databases\022\371\001\n" - + "\022UpdateHiveDatabase\022;.google.cloud.biglake.hive.v1beta.Upda" - + "teHiveDatabaseRequest\032..google.cloud.big" - + "lake.hive.v1beta.HiveDatabase\"v\332A\031hive_d" - + "atabase,update_mask\202\323\344\223\002T2C/hive/v1beta/" - + "{hive_database.name=projects/*/catalogs/*/databases/*}:\r" + + "\017GetHiveDatabase\0228.google.cloud.biglake.hive.v1beta.Ge" + + "tHiveDatabaseRequest\032..google.cloud.bigl" + + "ake.hive.v1beta.HiveDatabase\"D\332A\004name\202\323\344" + + "\223\0027\0225/hive/v1beta/{name=projects/*/catalogs/*/databases/*}\022\324\001\n" + + "\021ListHiveDatabases\022:.google.cloud.biglake.hive.v1beta.List" + + "HiveDatabasesRequest\032;.google.cloud.biglake.hive.v1beta.ListHiveDatabasesRespons" + + "e\"F\332A\006parent\202\323\344\223\0027\0225/hive/v1beta/{parent=projects/*/catalogs/*}/databases\022\371\001\n" + + "\022UpdateHiveDatabase\022;.google.cloud.biglake." + + "hive.v1beta.UpdateHiveDatabaseRequest\032..google.cloud.biglake.hive.v1beta.HiveDat" + + "abase\"v\332A\031hive_database,update_mask\202\323\344\223\002" + + "T2C/hive/v1beta/{hive_database.name=projects/*/catalogs/*/databases/*}:\r" + "hive_database\022\257\001\n" - + "\022DeleteHiveDatabase\022;.google.cloud.biglake.hive" - + ".v1beta.DeleteHiveDatabaseRequest\032\026.goog" - + "le.protobuf.Empty\"D\332A\004name\202\323\344\223\0027*5/hive/" - + "v1beta/{name=projects/*/catalogs/*/databases/*}\022\356\001\n" - + "\017CreateHiveTable\0228.google.cloud.biglake.hive.v1beta.CreateHiveTableRe" - + "quest\032+.google.cloud.biglake.hive.v1beta" - + ".HiveTable\"t\332A\037parent,hive_table,hive_ta" - + "ble_id\202\323\344\223\002L\">/hive/v1beta/{parent=projects/*/catalogs/*/databases/*}/tables:\n" + + "\022DeleteHiveDatabase\022;.google.cloud.biglake.hive.v1beta.DeleteHiveDataba" + + "seRequest\032\026.google.protobuf.Empty\"D\332A\004na" + + "me\202\323\344\223\0027*5/hive/v1beta/{name=projects/*/catalogs/*/databases/*}\022\356\001\n" + + "\017CreateHiveTable\0228.google.cloud.biglake.hive.v1beta.C" + + "reateHiveTableRequest\032+.google.cloud.big" + + "lake.hive.v1beta.HiveTable\"t\332A\037parent,hi" + + "ve_table,hive_table_id\202\323\344\223\002L\">/hive/v1be" + + "ta/{parent=projects/*/catalogs/*/databases/*}/tables:\n" + "hive_table\022\301\001\n" - + "\014GetHiveTable\0225.google.cloud.biglake.hive.v1beta.GetHiveTableRequest" - + "\032+.google.cloud.biglake.hive.v1beta.Hive" - + "Table\"M\332A\004name\202\323\344\223\002@\022>/hive/v1beta/{name" - + "=projects/*/catalogs/*/databases/*/tables/*}\022\324\001\n" - + "\016ListHiveTables\0227.google.cloud.biglake.hive.v1beta.ListHiveTablesRequest" - + "\0328.google.cloud.biglake.hive.v1beta.List" - + "HiveTablesResponse\"O\332A\006parent\202\323\344\223\002@\022>/hi" - + "ve/v1beta/{parent=projects/*/catalogs/*/databases/*}/tables\022\360\001\n" - + "\017UpdateHiveTable\0228.google.cloud.biglake.hive.v1beta.Updat" - + "eHiveTableRequest\032+.google.cloud.biglake" - + ".hive.v1beta.HiveTable\"v\332A\026hive_table,up" - + "date_mask\202\323\344\223\002W2I/hive/v1beta/{hive_tabl" - + "e.name=projects/*/catalogs/*/databases/*/tables/*}:\n" + + "\014GetHiveTable\0225.google.cloud.biglake.hive.v1beta.Get" + + "HiveTableRequest\032+.google.cloud.biglake." + + "hive.v1beta.HiveTable\"M\332A\004name\202\323\344\223\002@\022>/h" + + "ive/v1beta/{name=projects/*/catalogs/*/databases/*/tables/*}\022\324\001\n" + + "\016ListHiveTables\0227.google.cloud.biglake.hive.v1beta.ListH" + + "iveTablesRequest\0328.google.cloud.biglake." + + "hive.v1beta.ListHiveTablesResponse\"O\332A\006p" + + "arent\202\323\344\223\002@\022>/hive/v1beta/{parent=projects/*/catalogs/*/databases/*}/tables\022\360\001\n" + + "\017UpdateHiveTable\0228.google.cloud.biglake.h" + + "ive.v1beta.UpdateHiveTableRequest\032+.google.cloud.biglake.hive.v1beta.HiveTable\"v" + + "\332A\026hive_table,update_mask\202\323\344\223\002W2I/hive/v" + + "1beta/{hive_table.name=projects/*/catalogs/*/databases/*/tables/*}:\n" + "hive_table\022\262\001\n" - + "\017DeleteHiveTable\0228.google.cloud.biglake.hive.v1beta.De" - + "leteHiveTableRequest\032\026.google.protobuf.E" - + "mpty\"M\332A\004name\202\323\344\223\002@*>/hive/v1beta/{name=" - + "projects/*/catalogs/*/databases/*/tables/*}\022\205\002\n" - + "\025BatchCreatePartitions\022>.google.cloud.biglake.hive.v1beta.BatchCreatePart" - + "itionsRequest\032?.google.cloud.biglake.hive.v1beta.BatchCreatePartitionsResponse\"k" - + "\332A\006parent\202\323\344\223\002\\\"W/hive/v1beta/{parent=pr" - + "ojects/*/catalogs/*/databases/*/tables/*}/partitions:batchCreate:\001*\022\334\001\n" - + "\025BatchDeletePartitions\022>.google.cloud.biglake.hiv" - + "e.v1beta.BatchDeletePartitionsRequest\032\026." - + "google.protobuf.Empty\"k\332A\006parent\202\323\344\223\002\\\"W" + + "\017DeleteHiveTable\0228.google.cloud.biglak" + + "e.hive.v1beta.DeleteHiveTableRequest\032\026.g" + + "oogle.protobuf.Empty\"M\332A\004name\202\323\344\223\002@*>/hi" + + "ve/v1beta/{name=projects/*/catalogs/*/databases/*/tables/*}\022\205\002\n" + + "\025BatchCreatePartitions\022>.google.cloud.biglake.hive.v1beta" + + ".BatchCreatePartitionsRequest\032?.google.cloud.biglake.hive.v1beta.BatchCreatePart" + + "itionsResponse\"k\332A\006parent\202\323\344\223\002\\\"W/hive/v" + + "1beta/{parent=projects/*/catalogs/*/data" + + "bases/*/tables/*}/partitions:batchCreate:\001*\022\334\001\n" + + "\025BatchDeletePartitions\022>.google.cloud.biglake.hive.v1beta.BatchDeletePart" + + "itionsRequest\032\026.google.protobuf.Empty\"k\332" + + "A\006parent\202\323\344\223\002\\\"W/hive/v1beta/{parent=pro" + + "jects/*/catalogs/*/databases/*/tables/*}/partitions:batchDelete:\001*\022\205\002\n" + + "\025BatchUpdatePartitions\022>.google.cloud.biglake.hive" + + ".v1beta.BatchUpdatePartitionsRequest\032?.google.cloud.biglake.hive.v1beta.BatchUpd" + + "atePartitionsResponse\"k\332A\006parent\202\323\344\223\002\\\"W" + "/hive/v1beta/{parent=projects/*/catalogs" - + "/*/databases/*/tables/*}/partitions:batchDelete:\001*\022\205\002\n" - + "\025BatchUpdatePartitions\022>.google.cloud.biglake.hive.v1beta.BatchUpd" - + "atePartitionsRequest\032?.google.cloud.biglake.hive.v1beta.BatchUpdatePartitionsRes" - + "ponse\"k\332A\006parent\202\323\344\223\002\\\"W/hive/v1beta/{pa" - + "rent=projects/*/catalogs/*/databases/*/tables/*}/partitions:batchUpdate:\001*\022\350\001\n" - + "\016ListPartitions\0227.google.cloud.biglake.hiv" - + "e.v1beta.ListPartitionsRequest\0328.google.cloud.biglake.hive.v1beta.ListPartitions" - + "Response\"a\332A\006parent\202\323\344\223\002R\022P/hive/v1beta/" - + "{parent=projects/*/catalogs/*/databases/" - + "*/tables/*}/partitions:list0\001\032s\312A\026biglak" - + "e.googleapis.com\322AWhttps://www.googleapi" - + "s.com/auth/bigquery,https://www.googleapis.com/auth/cloud-platformBv\n" - + "$com.google.cloud.biglake.hive.v1betaB\022HiveMetastor" - + "eProtoP\001Z8cloud.google.com/go/biglake/hive/apiv1beta/hivepb;hivepbb\006proto3" + + "/*/databases/*/tables/*}/partitions:batchUpdate:\001*\022\350\001\n" + + "\016ListPartitions\0227.google.cloud.biglake.hive.v1beta.ListPartitionsR" + + "equest\0328.google.cloud.biglake.hive.v1bet" + + "a.ListPartitionsResponse\"a\332A\006parent\202\323\344\223\002" + + "R\022P/hive/v1beta/{parent=projects/*/catalogs/*/databases/*/tables/*}/partitions:l" + + "ist0\001\032s\312A\026biglake.googleapis.com\322AWhttps" + + "://www.googleapis.com/auth/bigquery,https://www.googleapis.com/auth/cloud-platformBv\n" + + "$com.google.cloud.biglake.hive.v1betaB\022HiveMetastoreProtoP\001Z8cloud.google.c" + + "om/go/biglake/hive/apiv1beta/hivepb;hivepbb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -581,7 +587,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_google_cloud_biglake_hive_v1beta_HiveCatalog_descriptor, new java.lang.String[] { - "Name", "Description", "LocationUri", "Replicas", + "Name", "Description", "LocationUri", "Replicas", "CreateTime", "UpdateTime", }); internal_static_google_cloud_biglake_hive_v1beta_HiveCatalog_Replica_descriptor = internal_static_google_cloud_biglake_hive_v1beta_HiveCatalog_descriptor.getNestedType(0); @@ -645,7 +651,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_google_cloud_biglake_hive_v1beta_HiveDatabase_descriptor, new java.lang.String[] { - "Name", "Description", "LocationUri", "Parameters", + "Name", "Description", "LocationUri", "Parameters", "CreateTime", "UpdateTime", }); internal_static_google_cloud_biglake_hive_v1beta_HiveDatabase_ParametersEntry_descriptor = internal_static_google_cloud_biglake_hive_v1beta_HiveDatabase_descriptor.getNestedType(0); @@ -715,7 +721,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "CreateTime", "PartitionKeys", "Parameters", + "ViewOriginalText", + "ViewExpandedText", "TableType", + "UpdateTime", }); internal_static_google_cloud_biglake_hive_v1beta_HiveTable_ParametersEntry_descriptor = internal_static_google_cloud_biglake_hive_v1beta_HiveTable_descriptor.getNestedType(0); diff --git a/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveTable.java b/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveTable.java index 7ca72d8b12ed..fab3b8077ee0 100644 --- a/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveTable.java +++ b/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveTable.java @@ -57,6 +57,8 @@ private HiveTable() { name_ = ""; description_ = ""; partitionKeys_ = java.util.Collections.emptyList(); + viewOriginalText_ = ""; + viewExpandedText_ = ""; tableType_ = ""; } @@ -97,13 +99,13 @@ protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldRefl * * *
-   * Output only. The resource name.
+   * Identifier. The resource name.
    * Format:
    * projects/{project_id_or_number}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id}
    * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @return The name. @@ -125,13 +127,13 @@ public java.lang.String getName() { * * *
-   * Output only. The resource name.
+   * Identifier. The resource name.
    * Format:
    * projects/{project_id_or_number}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id}
    * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @return The bytes for name. @@ -516,6 +518,116 @@ public java.lang.String getParametersOrThrow(java.lang.String key) { return map.get(key); } + public static final int VIEW_ORIGINAL_TEXT_FIELD_NUMBER = 9; + + @SuppressWarnings("serial") + private volatile java.lang.Object viewOriginalText_ = ""; + + /** + * + * + *
+   * Optional. The original view text. Empty for non-view. The maximum size is
+   * 16MiB.
+   * 
+ * + * string view_original_text = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The viewOriginalText. + */ + @java.lang.Override + public java.lang.String getViewOriginalText() { + java.lang.Object ref = viewOriginalText_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + viewOriginalText_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. The original view text. Empty for non-view. The maximum size is
+   * 16MiB.
+   * 
+ * + * string view_original_text = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for viewOriginalText. + */ + @java.lang.Override + public com.google.protobuf.ByteString getViewOriginalTextBytes() { + java.lang.Object ref = viewOriginalText_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + viewOriginalText_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int VIEW_EXPANDED_TEXT_FIELD_NUMBER = 10; + + @SuppressWarnings("serial") + private volatile java.lang.Object viewExpandedText_ = ""; + + /** + * + * + *
+   * Optional. The expanded view text. Empty for non-view. The maximum size is
+   * 16MiB.
+   * 
+ * + * string view_expanded_text = 10 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The viewExpandedText. + */ + @java.lang.Override + public java.lang.String getViewExpandedText() { + java.lang.Object ref = viewExpandedText_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + viewExpandedText_ = s; + return s; + } + } + + /** + * + * + *
+   * Optional. The expanded view text. Empty for non-view. The maximum size is
+   * 16MiB.
+   * 
+ * + * string view_expanded_text = 10 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for viewExpandedText. + */ + @java.lang.Override + public com.google.protobuf.ByteString getViewExpandedTextBytes() { + java.lang.Object ref = viewExpandedText_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + viewExpandedText_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + public static final int TABLE_TYPE_FIELD_NUMBER = 11; @SuppressWarnings("serial") @@ -571,6 +683,58 @@ public com.google.protobuf.ByteString getTableTypeBytes() { } } + public static final int UPDATE_TIME_FIELD_NUMBER = 12; + private com.google.protobuf.Timestamp updateTime_; + + /** + * + * + *
+   * Output only. The update time of the table.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + @java.lang.Override + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * + * + *
+   * Output only. The update time of the table.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getUpdateTime() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + + /** + * + * + *
+   * Output only. The update time of the table.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + return updateTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : updateTime_; + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -602,9 +766,18 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io } com.google.protobuf.GeneratedMessage.serializeStringMapTo( output, internalGetParameters(), ParametersDefaultEntryHolder.defaultEntry, 8); + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(viewOriginalText_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 9, viewOriginalText_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(viewExpandedText_)) { + com.google.protobuf.GeneratedMessage.writeString(output, 10, viewExpandedText_); + } if (!com.google.protobuf.GeneratedMessage.isStringEmpty(tableType_)) { com.google.protobuf.GeneratedMessage.writeString(output, 11, tableType_); } + if (((bitField0_ & 0x00000004) != 0)) { + output.writeMessage(12, getUpdateTime()); + } getUnknownFields().writeTo(output); } @@ -639,9 +812,18 @@ public int getSerializedSize() { .build(); size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, parameters__); } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(viewOriginalText_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(9, viewOriginalText_); + } + if (!com.google.protobuf.GeneratedMessage.isStringEmpty(viewExpandedText_)) { + size += com.google.protobuf.GeneratedMessage.computeStringSize(10, viewExpandedText_); + } if (!com.google.protobuf.GeneratedMessage.isStringEmpty(tableType_)) { size += com.google.protobuf.GeneratedMessage.computeStringSize(11, tableType_); } + if (((bitField0_ & 0x00000004) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(12, getUpdateTime()); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -670,7 +852,13 @@ public boolean equals(final java.lang.Object obj) { } if (!getPartitionKeysList().equals(other.getPartitionKeysList())) return false; if (!internalGetParameters().equals(other.internalGetParameters())) return false; + if (!getViewOriginalText().equals(other.getViewOriginalText())) return false; + if (!getViewExpandedText().equals(other.getViewExpandedText())) return false; if (!getTableType().equals(other.getTableType())) return false; + if (hasUpdateTime() != other.hasUpdateTime()) return false; + if (hasUpdateTime()) { + if (!getUpdateTime().equals(other.getUpdateTime())) return false; + } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -702,8 +890,16 @@ public int hashCode() { hash = (37 * hash) + PARAMETERS_FIELD_NUMBER; hash = (53 * hash) + internalGetParameters().hashCode(); } + hash = (37 * hash) + VIEW_ORIGINAL_TEXT_FIELD_NUMBER; + hash = (53 * hash) + getViewOriginalText().hashCode(); + hash = (37 * hash) + VIEW_EXPANDED_TEXT_FIELD_NUMBER; + hash = (53 * hash) + getViewExpandedText().hashCode(); hash = (37 * hash) + TABLE_TYPE_FIELD_NUMBER; hash = (53 * hash) + getTableType().hashCode(); + if (hasUpdateTime()) { + hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getUpdateTime().hashCode(); + } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -872,6 +1068,7 @@ private void maybeForceBuilderInitialization() { internalGetStorageDescriptorFieldBuilder(); internalGetCreateTimeFieldBuilder(); internalGetPartitionKeysFieldBuilder(); + internalGetUpdateTimeFieldBuilder(); } } @@ -899,7 +1096,14 @@ public Builder clear() { } bitField0_ = (bitField0_ & ~0x00000010); internalGetMutableParameters().clear(); + viewOriginalText_ = ""; + viewExpandedText_ = ""; tableType_ = ""; + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } return this; } @@ -972,8 +1176,18 @@ private void buildPartial0(com.google.cloud.biglake.hive.v1beta.HiveTable result result.parameters_.makeImmutable(); } if (((from_bitField0_ & 0x00000040) != 0)) { + result.viewOriginalText_ = viewOriginalText_; + } + if (((from_bitField0_ & 0x00000080) != 0)) { + result.viewExpandedText_ = viewExpandedText_; + } + if (((from_bitField0_ & 0x00000100) != 0)) { result.tableType_ = tableType_; } + if (((from_bitField0_ & 0x00000200) != 0)) { + result.updateTime_ = updateTimeBuilder_ == null ? updateTime_ : updateTimeBuilder_.build(); + to_bitField0_ |= 0x00000004; + } result.bitField0_ |= to_bitField0_; } @@ -1034,11 +1248,24 @@ public Builder mergeFrom(com.google.cloud.biglake.hive.v1beta.HiveTable other) { } internalGetMutableParameters().mergeFrom(other.internalGetParameters()); bitField0_ |= 0x00000020; + if (!other.getViewOriginalText().isEmpty()) { + viewOriginalText_ = other.viewOriginalText_; + bitField0_ |= 0x00000040; + onChanged(); + } + if (!other.getViewExpandedText().isEmpty()) { + viewExpandedText_ = other.viewExpandedText_; + bitField0_ |= 0x00000080; + onChanged(); + } if (!other.getTableType().isEmpty()) { tableType_ = other.tableType_; - bitField0_ |= 0x00000040; + bitField0_ |= 0x00000100; onChanged(); } + if (other.hasUpdateTime()) { + mergeUpdateTime(other.getUpdateTime()); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -1117,12 +1344,31 @@ public Builder mergeFrom( bitField0_ |= 0x00000020; break; } // case 66 + case 74: + { + viewOriginalText_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000040; + break; + } // case 74 + case 82: + { + viewExpandedText_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000080; + break; + } // case 82 case 90: { tableType_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000040; + bitField0_ |= 0x00000100; break; } // case 90 + case 98: + { + input.readMessage( + internalGetUpdateTimeFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000200; + break; + } // case 98 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { @@ -1148,13 +1394,13 @@ public Builder mergeFrom( * * *
-     * Output only. The resource name.
+     * Identifier. The resource name.
      * Format:
      * projects/{project_id_or_number}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id}
      * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @return The name. @@ -1175,13 +1421,13 @@ public java.lang.String getName() { * * *
-     * Output only. The resource name.
+     * Identifier. The resource name.
      * Format:
      * projects/{project_id_or_number}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id}
      * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @return The bytes for name. @@ -1202,13 +1448,13 @@ public com.google.protobuf.ByteString getNameBytes() { * * *
-     * Output only. The resource name.
+     * Identifier. The resource name.
      * Format:
      * projects/{project_id_or_number}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id}
      * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @param value The name to set. @@ -1228,13 +1474,13 @@ public Builder setName(java.lang.String value) { * * *
-     * Output only. The resource name.
+     * Identifier. The resource name.
      * Format:
      * projects/{project_id_or_number}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id}
      * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @return This builder for chaining. @@ -1250,13 +1496,13 @@ public Builder clearName() { * * *
-     * Output only. The resource name.
+     * Identifier. The resource name.
      * Format:
      * projects/{project_id_or_number}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id}
      * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @param value The bytes for name to set. @@ -2416,6 +2662,238 @@ public Builder putAllParameters(java.util.Map + * Optional. The original view text. Empty for non-view. The maximum size is + * 16MiB. + * + * + * string view_original_text = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The viewOriginalText. + */ + public java.lang.String getViewOriginalText() { + java.lang.Object ref = viewOriginalText_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + viewOriginalText_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. The original view text. Empty for non-view. The maximum size is
+     * 16MiB.
+     * 
+ * + * string view_original_text = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for viewOriginalText. + */ + public com.google.protobuf.ByteString getViewOriginalTextBytes() { + java.lang.Object ref = viewOriginalText_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + viewOriginalText_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. The original view text. Empty for non-view. The maximum size is
+     * 16MiB.
+     * 
+ * + * string view_original_text = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The viewOriginalText to set. + * @return This builder for chaining. + */ + public Builder setViewOriginalText(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + viewOriginalText_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The original view text. Empty for non-view. The maximum size is
+     * 16MiB.
+     * 
+ * + * string view_original_text = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearViewOriginalText() { + viewOriginalText_ = getDefaultInstance().getViewOriginalText(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The original view text. Empty for non-view. The maximum size is
+     * 16MiB.
+     * 
+ * + * string view_original_text = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for viewOriginalText to set. + * @return This builder for chaining. + */ + public Builder setViewOriginalTextBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + viewOriginalText_ = value; + bitField0_ |= 0x00000040; + onChanged(); + return this; + } + + private java.lang.Object viewExpandedText_ = ""; + + /** + * + * + *
+     * Optional. The expanded view text. Empty for non-view. The maximum size is
+     * 16MiB.
+     * 
+ * + * string view_expanded_text = 10 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The viewExpandedText. + */ + public java.lang.String getViewExpandedText() { + java.lang.Object ref = viewExpandedText_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + viewExpandedText_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * + * + *
+     * Optional. The expanded view text. Empty for non-view. The maximum size is
+     * 16MiB.
+     * 
+ * + * string view_expanded_text = 10 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for viewExpandedText. + */ + public com.google.protobuf.ByteString getViewExpandedTextBytes() { + java.lang.Object ref = viewExpandedText_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + viewExpandedText_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * + * + *
+     * Optional. The expanded view text. Empty for non-view. The maximum size is
+     * 16MiB.
+     * 
+ * + * string view_expanded_text = 10 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The viewExpandedText to set. + * @return This builder for chaining. + */ + public Builder setViewExpandedText(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + viewExpandedText_ = value; + bitField0_ |= 0x00000080; + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The expanded view text. Empty for non-view. The maximum size is
+     * 16MiB.
+     * 
+ * + * string view_expanded_text = 10 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearViewExpandedText() { + viewExpandedText_ = getDefaultInstance().getViewExpandedText(); + bitField0_ = (bitField0_ & ~0x00000080); + onChanged(); + return this; + } + + /** + * + * + *
+     * Optional. The expanded view text. Empty for non-view. The maximum size is
+     * 16MiB.
+     * 
+ * + * string view_expanded_text = 10 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for viewExpandedText to set. + * @return This builder for chaining. + */ + public Builder setViewExpandedTextBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + viewExpandedText_ = value; + bitField0_ |= 0x00000080; + onChanged(); + return this; + } + private java.lang.Object tableType_ = ""; /** @@ -2484,7 +2962,7 @@ public Builder setTableType(java.lang.String value) { throw new NullPointerException(); } tableType_ = value; - bitField0_ |= 0x00000040; + bitField0_ |= 0x00000100; onChanged(); return this; } @@ -2503,7 +2981,7 @@ public Builder setTableType(java.lang.String value) { */ public Builder clearTableType() { tableType_ = getDefaultInstance().getTableType(); - bitField0_ = (bitField0_ & ~0x00000040); + bitField0_ = (bitField0_ & ~0x00000100); onChanged(); return this; } @@ -2527,11 +3005,223 @@ public Builder setTableTypeBytes(com.google.protobuf.ByteString value) { } checkByteStringIsUtf8(value); tableType_ = value; - bitField0_ |= 0x00000040; + bitField0_ |= 0x00000100; + onChanged(); + return this; + } + + private com.google.protobuf.Timestamp updateTime_; + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + updateTimeBuilder_; + + /** + * + * + *
+     * Output only. The update time of the table.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + public boolean hasUpdateTime() { + return ((bitField0_ & 0x00000200) != 0); + } + + /** + * + * + *
+     * Output only. The update time of the table.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + public com.google.protobuf.Timestamp getUpdateTime() { + if (updateTimeBuilder_ == null) { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } else { + return updateTimeBuilder_.getMessage(); + } + } + + /** + * + * + *
+     * Output only. The update time of the table.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateTime_ = value; + } else { + updateTimeBuilder_.setMessage(value); + } + bitField0_ |= 0x00000200; onChanged(); return this; } + /** + * + * + *
+     * Output only. The update time of the table.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (updateTimeBuilder_ == null) { + updateTime_ = builderForValue.build(); + } else { + updateTimeBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000200; + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The update time of the table.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeUpdateTime(com.google.protobuf.Timestamp value) { + if (updateTimeBuilder_ == null) { + if (((bitField0_ & 0x00000200) != 0) + && updateTime_ != null + && updateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { + getUpdateTimeBuilder().mergeFrom(value); + } else { + updateTime_ = value; + } + } else { + updateTimeBuilder_.mergeFrom(value); + } + if (updateTime_ != null) { + bitField0_ |= 0x00000200; + onChanged(); + } + return this; + } + + /** + * + * + *
+     * Output only. The update time of the table.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearUpdateTime() { + bitField0_ = (bitField0_ & ~0x00000200); + updateTime_ = null; + if (updateTimeBuilder_ != null) { + updateTimeBuilder_.dispose(); + updateTimeBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * + * + *
+     * Output only. The update time of the table.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getUpdateTimeBuilder() { + bitField0_ |= 0x00000200; + onChanged(); + return internalGetUpdateTimeFieldBuilder().getBuilder(); + } + + /** + * + * + *
+     * Output only. The update time of the table.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() { + if (updateTimeBuilder_ != null) { + return updateTimeBuilder_.getMessageOrBuilder(); + } else { + return updateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : updateTime_; + } + } + + /** + * + * + *
+     * Output only. The update time of the table.
+     * 
+ * + * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + internalGetUpdateTimeFieldBuilder() { + if (updateTimeBuilder_ == null) { + updateTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilder< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getUpdateTime(), getParentForChildren(), isClean()); + updateTime_ = null; + } + return updateTimeBuilder_; + } + // @@protoc_insertion_point(builder_scope:google.cloud.biglake.hive.v1beta.HiveTable) } diff --git a/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveTableOrBuilder.java b/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveTableOrBuilder.java index aa63e832a079..ddf6fe738d3c 100644 --- a/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveTableOrBuilder.java +++ b/java-biglake/proto-google-cloud-biglake-v1beta/src/main/java/com/google/cloud/biglake/hive/v1beta/HiveTableOrBuilder.java @@ -30,13 +30,13 @@ public interface HiveTableOrBuilder * * *
-   * Output only. The resource name.
+   * Identifier. The resource name.
    * Format:
    * projects/{project_id_or_number}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id}
    * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @return The name. @@ -47,13 +47,13 @@ public interface HiveTableOrBuilder * * *
-   * Output only. The resource name.
+   * Identifier. The resource name.
    * Format:
    * projects/{project_id_or_number}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id}
    * 
* * - * string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... } + * string name = 1 [(.google.api.field_behavior) = IDENTIFIER, (.google.api.resource_reference) = { ... } * * * @return The bytes for name. @@ -308,6 +308,62 @@ java.lang.String getParametersOrDefault( */ java.lang.String getParametersOrThrow(java.lang.String key); + /** + * + * + *
+   * Optional. The original view text. Empty for non-view. The maximum size is
+   * 16MiB.
+   * 
+ * + * string view_original_text = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The viewOriginalText. + */ + java.lang.String getViewOriginalText(); + + /** + * + * + *
+   * Optional. The original view text. Empty for non-view. The maximum size is
+   * 16MiB.
+   * 
+ * + * string view_original_text = 9 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for viewOriginalText. + */ + com.google.protobuf.ByteString getViewOriginalTextBytes(); + + /** + * + * + *
+   * Optional. The expanded view text. Empty for non-view. The maximum size is
+   * 16MiB.
+   * 
+ * + * string view_expanded_text = 10 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The viewExpandedText. + */ + java.lang.String getViewExpandedText(); + + /** + * + * + *
+   * Optional. The expanded view text. Empty for non-view. The maximum size is
+   * 16MiB.
+   * 
+ * + * string view_expanded_text = 10 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for viewExpandedText. + */ + com.google.protobuf.ByteString getViewExpandedTextBytes(); + /** * * @@ -335,4 +391,44 @@ java.lang.String getParametersOrDefault( * @return The bytes for tableType. */ com.google.protobuf.ByteString getTableTypeBytes(); + + /** + * + * + *
+   * Output only. The update time of the table.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the updateTime field is set. + */ + boolean hasUpdateTime(); + + /** + * + * + *
+   * Output only. The update time of the table.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The updateTime. + */ + com.google.protobuf.Timestamp getUpdateTime(); + + /** + * + * + *
+   * Output only. The update time of the table.
+   * 
+ * + * .google.protobuf.Timestamp update_time = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder(); } diff --git a/java-biglake/proto-google-cloud-biglake-v1beta/src/main/proto/google/cloud/biglake/hive/v1beta/hive_metastore.proto b/java-biglake/proto-google-cloud-biglake-v1beta/src/main/proto/google/cloud/biglake/hive/v1beta/hive_metastore.proto index 3cdf2daf9834..0f60cfc84ec9 100644 --- a/java-biglake/proto-google-cloud-biglake-v1beta/src/main/proto/google/cloud/biglake/hive/v1beta/hive_metastore.proto +++ b/java-biglake/proto-google-cloud-biglake-v1beta/src/main/proto/google/cloud/biglake/hive/v1beta/hive_metastore.proto @@ -262,11 +262,11 @@ message HiveCatalog { State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // Output only. The resource name. + // Identifier. The resource name. // Format: // projects/{project_id_or_number}/catalogs/{catalog_id} string name = 1 [ - (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.field_behavior) = IDENTIFIER, (google.api.resource_reference) = { type: "biglake.googleapis.com/Catalog" } ]; @@ -281,6 +281,14 @@ message HiveCatalog { // Output only. The replicas for the catalog metadata. repeated Replica replicas = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The creation time of the catalog. + google.protobuf.Timestamp create_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The update time of the catalog. + google.protobuf.Timestamp update_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; } // Request message for the CreateHiveCatalog method. @@ -391,11 +399,11 @@ message HiveDatabase { singular: "namespace" }; - // Output only. The resource name. + // Identifier. The resource name. // Format: // projects/{project_id_or_number}/catalogs/{catalog_id}/databases/{database_id} string name = 1 [ - (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.field_behavior) = IDENTIFIER, (google.api.resource_reference) = { type: "biglake.googleapis.com/Namespace" } @@ -414,6 +422,14 @@ message HiveDatabase { // Optional. Stores the properties associated with the database. // The maximum size is 2 MiB. map parameters = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Output only. The creation time of the database. + google.protobuf.Timestamp create_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The update time of the database. + google.protobuf.Timestamp update_time = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; } // Request message for the CreateHiveDatabase method. @@ -513,11 +529,11 @@ message HiveTable { singular: "table" }; - // Output only. The resource name. + // Identifier. The resource name. // Format: // projects/{project_id_or_number}/catalogs/{catalog_id}/databases/{database_id}/tables/{table_id} string name = 1 [ - (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.field_behavior) = IDENTIFIER, (google.api.resource_reference) = { type: "biglake.googleapis.com/Table" } ]; @@ -540,9 +556,21 @@ message HiveTable { // is 4MiB. map parameters = 8 [(google.api.field_behavior) = OPTIONAL]; + // Optional. The original view text. Empty for non-view. The maximum size is + // 16MiB. + string view_original_text = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The expanded view text. Empty for non-view. The maximum size is + // 16MiB. + string view_expanded_text = 10 [(google.api.field_behavior) = OPTIONAL]; + // Output only. The type of the table. This is EXTERNAL for BigLake hive // tables. string table_type = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The update time of the table. + google.protobuf.Timestamp update_time = 12 + [(google.api.field_behavior) = OUTPUT_ONLY]; } // Field schema information. diff --git a/java-bigquery-data-exchange/.OwlBot-hermetic.yaml b/java-bigquery-data-exchange/.OwlBot-hermetic.yaml deleted file mode 100644 index 005fdb14c886..000000000000 --- a/java-bigquery-data-exchange/.OwlBot-hermetic.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2021 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. - - -deep-remove-regex: -- "/java-bigquery-data-exchange/grpc-google-.*/src" -- "/java-bigquery-data-exchange/proto-google-.*/src" -- "/java-bigquery-data-exchange/google-.*/src" -- "/java-bigquery-data-exchange/samples/snippets/generated" - -deep-preserve-regex: -- "/.*google-.*/src/main/java/.*/stub/Version.java" -- "/.*google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java" - -deep-copy-regex: -- source: "/google/cloud/bigquery/dataexchange/(v.*)/.*-java/proto-google-.*/src" - dest: "/owl-bot-staging/java-bigquery-data-exchange/$1/proto-google-cloud-bigquery-data-exchange-$1/src" -- source: "/google/cloud/bigquery/dataexchange/(v.*)/.*-java/grpc-google-.*/src" - dest: "/owl-bot-staging/java-bigquery-data-exchange/$1/grpc-google-cloud-bigquery-data-exchange-$1/src" -- source: "/google/cloud/bigquery/dataexchange/(v.*)/.*-java/gapic-google-.*/src" - dest: "/owl-bot-staging/java-bigquery-data-exchange/$1/google-cloud-bigquery-data-exchange/src" -- source: "/google/cloud/bigquery/dataexchange/(v.*)/.*-java/samples/snippets/generated" - dest: "/owl-bot-staging/java-bigquery-data-exchange/$1/samples/snippets/generated" - -api-name: analyticshub diff --git a/java-bigquery-data-exchange/.repo-metadata.json b/java-bigquery-data-exchange/.repo-metadata.json index 4e5f4b05bc86..84333bdfaecd 100644 --- a/java-bigquery-data-exchange/.repo-metadata.json +++ b/java-bigquery-data-exchange/.repo-metadata.json @@ -5,7 +5,7 @@ "api_description": "is a data exchange that allows you to efficiently and securely exchange data assets across organizations to address challenges of data reliability and cost.", "client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-bigquery-data-exchange/latest/overview", "release_level": "preview", - "transport": "both", + "transport": "grpc+rest", "language": "java", "repo": "googleapis/google-cloud-java", "repo_short": "java-bigquery-data-exchange", diff --git a/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange-bom/pom.xml b/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange-bom/pom.xml index a7a0e08e9bea..992c5ba047d4 100644 --- a/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange-bom/pom.xml +++ b/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange-bom/pom.xml @@ -3,13 +3,13 @@ 4.0.0 com.google.cloud google-cloud-bigquery-data-exchange-bom - 2.88.0 + 2.89.0 pom com.google.cloud google-cloud-pom-parent - 1.87.0 + 1.88.0 ../../google-cloud-pom-parent/pom.xml @@ -28,17 +28,17 @@ com.google.cloud google-cloud-bigquery-data-exchange - 2.88.0 + 2.89.0 com.google.api.grpc grpc-google-cloud-bigquery-data-exchange-v1beta1 - 2.88.0 + 2.89.0 com.google.api.grpc proto-google-cloud-bigquery-data-exchange-v1beta1 - 2.88.0 + 2.89.0
diff --git a/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange/pom.xml b/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange/pom.xml index 082f6f93ff86..042ce8c9a7d2 100644 --- a/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange/pom.xml +++ b/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange/pom.xml @@ -3,14 +3,14 @@ 4.0.0 com.google.cloud google-cloud-bigquery-data-exchange - 2.88.0 + 2.89.0 jar Google Analytics Hub Analytics Hub is a data exchange that allows you to efficiently and securely exchange data assets across organizations to address challenges of data reliability and cost. com.google.cloud google-cloud-bigquery-data-exchange-parent - 2.88.0 + 2.89.0 google-cloud-bigquery-data-exchange diff --git a/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange/src/main/java/com/google/cloud/bigquery/dataexchange/v1beta1/stub/Version.java b/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange/src/main/java/com/google/cloud/bigquery/dataexchange/v1beta1/stub/Version.java index 649ac16fed21..4025650f09e6 100644 --- a/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange/src/main/java/com/google/cloud/bigquery/dataexchange/v1beta1/stub/Version.java +++ b/java-bigquery-data-exchange/google-cloud-bigquery-data-exchange/src/main/java/com/google/cloud/bigquery/dataexchange/v1beta1/stub/Version.java @@ -21,7 +21,7 @@ @InternalApi("For internal use only") final class Version { // {x-version-update-start:google-cloud-bigquery-data-exchange:current} - static final String VERSION = "2.88.0"; + static final String VERSION = "2.89.0"; // {x-version-update-end} } diff --git a/java-bigquery-data-exchange/grpc-google-cloud-bigquery-data-exchange-v1beta1/pom.xml b/java-bigquery-data-exchange/grpc-google-cloud-bigquery-data-exchange-v1beta1/pom.xml index 92b15a394f76..7b984591afa1 100644 --- a/java-bigquery-data-exchange/grpc-google-cloud-bigquery-data-exchange-v1beta1/pom.xml +++ b/java-bigquery-data-exchange/grpc-google-cloud-bigquery-data-exchange-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigquery-data-exchange-v1beta1 - 2.88.0 + 2.89.0 grpc-google-cloud-bigquery-data-exchange-v1beta1 GRPC library for google-cloud-bigquery-data-exchange com.google.cloud google-cloud-bigquery-data-exchange-parent - 2.88.0 + 2.89.0 diff --git a/java-bigquery-data-exchange/pom.xml b/java-bigquery-data-exchange/pom.xml index 2cc25189656f..d0d3ccad3c54 100644 --- a/java-bigquery-data-exchange/pom.xml +++ b/java-bigquery-data-exchange/pom.xml @@ -4,7 +4,7 @@ com.google.cloud google-cloud-bigquery-data-exchange-parent pom - 2.88.0 + 2.89.0 Google Analytics Hub Parent Java idiomatic client for Google Cloud Platform services. @@ -13,7 +13,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -30,17 +30,17 @@ com.google.cloud google-cloud-bigquery-data-exchange - 2.88.0 + 2.89.0 com.google.api.grpc grpc-google-cloud-bigquery-data-exchange-v1beta1 - 2.88.0 + 2.89.0 com.google.api.grpc proto-google-cloud-bigquery-data-exchange-v1beta1 - 2.88.0 + 2.89.0 diff --git a/java-bigquery-data-exchange/proto-google-cloud-bigquery-data-exchange-v1beta1/pom.xml b/java-bigquery-data-exchange/proto-google-cloud-bigquery-data-exchange-v1beta1/pom.xml index 5fcea6992856..9f7ca9afa59e 100644 --- a/java-bigquery-data-exchange/proto-google-cloud-bigquery-data-exchange-v1beta1/pom.xml +++ b/java-bigquery-data-exchange/proto-google-cloud-bigquery-data-exchange-v1beta1/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigquery-data-exchange-v1beta1 - 2.88.0 + 2.89.0 proto-google-cloud-bigquery-data-exchange-v1beta1 Proto library for google-cloud-bigquery-data-exchange com.google.cloud google-cloud-bigquery-data-exchange-parent - 2.88.0 + 2.89.0 diff --git a/java-bigquery-jdbc/.gitignore b/java-bigquery-jdbc/.gitignore index 18ef369b5ae8..4d2063438a20 100644 --- a/java-bigquery-jdbc/.gitignore +++ b/java-bigquery-jdbc/.gitignore @@ -3,6 +3,7 @@ target-it/** **/*logs*/** **/ITBigQueryJDBCLocalTest.java **/BigQueryStatementE2EBenchmark.java +.agents/ tools/**/*.class tools/**/drivers/** diff --git a/java-bigquery-jdbc/Dockerfile b/java-bigquery-jdbc/Dockerfile index 374a1c6a82fb..627acbf4ea92 100644 --- a/java-bigquery-jdbc/Dockerfile +++ b/java-bigquery-jdbc/Dockerfile @@ -1,4 +1,4 @@ -FROM gcr.io/cloud-devrel-public-resources/java11 +FROM gcr.io/cloud-devrel-public-resources/java11 AS base ARG BRANCH=main ENV JDBC_DOCKER_ENV=true @@ -19,6 +19,17 @@ RUN bash -c " \ # This will ensure all deps are present WORKDIR /src -RUN mvn install +RUN mvn install ENTRYPOINT [] + +# Proxy stage: configured squid proxy and iptables to force all traffic through it +FROM base AS proxy +RUN apt-get update && apt-get install -y squid iptables iproute2 curl && rm -rf /var/lib/apt/lists/* +COPY tools/environments/proxy/start-proxy.sh /usr/local/bin/start-proxy.sh +RUN chmod +x /usr/local/bin/start-proxy.sh +ENTRYPOINT ["/usr/local/bin/start-proxy.sh"] + +# Regular stage: same as base, default stage +FROM base AS regular + diff --git a/java-bigquery-jdbc/Makefile b/java-bigquery-jdbc/Makefile index ddbef13ba672..9503c0ef7507 100644 --- a/java-bigquery-jdbc/Makefile +++ b/java-bigquery-jdbc/Makefile @@ -1,9 +1,11 @@ SHELL := /bin/bash # Default 'sh' doesn't support 'source' BUILD_BRANCH=main CONTAINER_NAME=jdbc +PROXY_CONTAINER_NAME=$(CONTAINER_NAME)-proxy PACKAGE_DESTINATION=$(PWD)/drivers SRC="$(PWD)" skipSurefire ?= true +skipShade ?= true JDBC_DRIVER_VERSION = $(shell mvn help:evaluate -Dexpression=project.version -q -DforceStdout) JDBC_JAR = $(PACKAGE_DESTINATION)/google-cloud-bigquery-jdbc-$(JDBC_DRIVER_VERSION)-all.jar @@ -33,13 +35,14 @@ unittest: | -Dtest=$(test) \ test -# Important: By default, this command will skip unittests. +# Important: By default, this command will skip unittests & uberjar build. # To include unit tests, run: make integration-test skipSurefire=false integration-test: mvn -B -ntp \ -Penable-integration-tests \ -DtrimStackTrace=false \ -DskipSurefire=$(skipSurefire) \ + -DskipShade=$(skipShade) \ -Dclirr.skip=true \ -Denforcer.skip=true \ -Dit.failIfNoSpecifiedTests=true \ @@ -76,6 +79,7 @@ run-it-standalone: # Commands for dockerized environments .docker-run: | docker run -it \ + --cap-add=NET_ADMIN \ -v $(GOOGLE_APPLICATION_CREDENTIALS):/auth/application_creds.json \ -v "$(GOOGLE_APPLICATION_CREDENTIALS).p12":/auth/application_creds.p12 \ -e "GOOGLE_APPLICATION_CREDENTIALS=/auth/application_creds.json" \ @@ -83,14 +87,22 @@ run-it-standalone: -e "SA_EMAIL=test_email" \ -e "SA_SECRET=/auth/application_creds.json" \ -e "SA_SECRET_P12=/auth/application_creds.p12" \ + -e "BIGQUERY_BASE_URL=$(BIGQUERY_BASE_URL)" \ + -e "BIGQUERY_URL_FLAGS=$(BIGQUERY_URL_FLAGS)" \ $(CONTAINER_NAME) $(args) docker-build: - docker build -t $(CONTAINER_NAME) -f Dockerfile --build-arg BRANCH=${BUILD_BRANCH} $(SRC) + docker build --target regular -t $(CONTAINER_NAME) -f Dockerfile --build-arg BRANCH=${BUILD_BRANCH} $(SRC) + +docker-proxy-build: + docker build --target proxy -t $(PROXY_CONTAINER_NAME) -f Dockerfile --build-arg BRANCH=${BUILD_BRANCH} $(SRC) docker-session: $(MAKE) .docker-run args="bash" +docker-proxy-session: + $(MAKE) .docker-run CONTAINER_NAME=$(PROXY_CONTAINER_NAME) args="bash" + docker-package-all-dependencies: docker-build mkdir -p $(PACKAGE_DESTINATION) docker run \ @@ -134,6 +146,9 @@ docker-unittest: | docker-integration-test: .check-env $(MAKE) .docker-run args="make integration-test test=$(test) skipSurefire=$(skipSurefire)" +docker-proxy-integration-test: .check-env docker-proxy-build + $(MAKE) docker-integration-test CONTAINER_NAME=$(PROXY_CONTAINER_NAME) BIGQUERY_URL_FLAGS="ProxyHost=127.0.0.1;ProxyPort=3128;" + docker-coverage: $(MAKE) .docker-run args="make unit-test-coverage" - $(MAKE) .docker-run args="make full-coverage" \ No newline at end of file + $(MAKE) .docker-run args="make full-coverage" diff --git a/java-bigquery-jdbc/README.MD b/java-bigquery-jdbc/README.MD index 4c8fd9321601..834e47a24b99 100644 --- a/java-bigquery-jdbc/README.MD +++ b/java-bigquery-jdbc/README.MD @@ -271,7 +271,7 @@ Java is a registered trademark of Oracle and/or its affiliates. [javadocs]: https://cloud.google.com/java/docs/reference/google-cloud-bigquery/latest/history [stability-image]: https://img.shields.io/badge/stability-unknown-red [maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-bigquery-jdbc.svg -[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-bigquery-jdbc/0.0.0 +[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-bigquery-jdbc [authentication]: https://github.com/googleapis/google-cloud-java#authentication [auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes [predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles diff --git a/java-bigquery-jdbc/pom.xml b/java-bigquery-jdbc/pom.xml index 0a5705df3520..2100c61fee3a 100644 --- a/java-bigquery-jdbc/pom.xml +++ b/java-bigquery-jdbc/pom.xml @@ -20,7 +20,7 @@ 4.0.0 com.google.cloud google-cloud-bigquery-jdbc - 1.0.0 + 1.1.0 jar BigQuery JDBC https://github.com/googleapis/google-cloud-java @@ -31,6 +31,7 @@ UTF-8 github google-cloud-bigquery-jdbc + false @@ -96,6 +97,7 @@ shade + ${skipShade} true true true @@ -152,6 +154,10 @@ org.json com.google.bqjdbc.shaded.org.json + + org.slf4j + com.google.bqjdbc.shaded.org.slf4j + io.grpc com.google.bqjdbc.shaded.io.grpc @@ -202,7 +208,7 @@ com.google.cloud google-cloud-jar-parent - 1.87.0 + 1.88.0 ../google-cloud-jar-parent/pom.xml @@ -210,12 +216,12 @@ com.google.cloud google-cloud-bigquery - 2.67.0 + 2.68.0 com.google.cloud google-cloud-bigquerystorage - 3.29.0 + 3.30.0 com.google.http-client @@ -248,7 +254,7 @@ com.google.api.grpc proto-google-cloud-bigquerystorage-v1 - 3.29.0 + 3.30.0 diff --git a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryArrowResultSet.java b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryArrowResultSet.java index 64269c7f74be..e4ba837643f8 100644 --- a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryArrowResultSet.java +++ b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryArrowResultSet.java @@ -38,6 +38,7 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.BlockingQueue; +import java.util.concurrent.Future; import org.apache.arrow.memory.BufferAllocator; import org.apache.arrow.memory.RootAllocator; import org.apache.arrow.vector.FieldVector; @@ -80,8 +81,8 @@ class BigQueryArrowResultSet extends BigQueryBaseResultSet { // Decoder object will be reused to avoid re-allocation and too much garbage collection. private VectorSchemaRoot vectorSchemaRoot; private VectorLoader vectorLoader; - // producer thread's reference - private final Thread ownedThread; + // producer task's reference + private final Future ownedTask; private BigQueryArrowResultSet( Schema schema, @@ -93,7 +94,7 @@ private BigQueryArrowResultSet( boolean isNested, int fromIndex, int toIndexExclusive, - Thread ownedThread, + Future ownedTask, BigQuery bigQuery, Job job) throws SQLException { @@ -105,7 +106,7 @@ private BigQueryArrowResultSet( this.fromIndex = fromIndex; this.toIndexExclusive = toIndexExclusive; this.nestedRowIndex = fromIndex - 1; - this.ownedThread = ownedThread; + this.ownedTask = ownedTask; if (!isNested && arrowSchema != null) { try { this.arrowDeserializer = new ArrowDeserializer(arrowSchema); @@ -127,10 +128,10 @@ static BigQueryArrowResultSet of( long totalRows, BigQueryStatement statement, BlockingQueue buffer, - Thread ownedThread, + Future ownedTask, BigQuery bigQuery) throws SQLException { - return of(schema, arrowSchema, totalRows, statement, buffer, ownedThread, bigQuery, null); + return of(schema, arrowSchema, totalRows, statement, buffer, ownedTask, bigQuery, null); } static BigQueryArrowResultSet of( @@ -139,7 +140,7 @@ static BigQueryArrowResultSet of( long totalRows, BigQueryStatement statement, BlockingQueue buffer, - Thread ownedThread, + Future ownedTask, BigQuery bigQuery, Job job) throws SQLException { @@ -153,7 +154,7 @@ static BigQueryArrowResultSet of( false, -1, -1, - ownedThread, + ownedTask, bigQuery, job); } @@ -165,7 +166,7 @@ static BigQueryArrowResultSet of( this.currentNestedBatch = null; this.fromIndex = 0; this.toIndexExclusive = 0; - this.ownedThread = null; + this.ownedTask = null; this.arrowDeserializer = null; this.vectorSchemaRoot = null; this.vectorLoader = null; @@ -484,9 +485,9 @@ private String formatRangeElement(Object element, StandardSQLTypeName elementTyp public void close() { LOG.fineTrace("close", () -> String.format("Closing BigqueryArrowResultSet %s.", this)); this.isClosed = true; - if (ownedThread != null && !ownedThread.isInterrupted()) { - // interrupt the producer thread when result set is closed - ownedThread.interrupt(); + if (ownedTask != null) { + // cancel the producer task when result set is closed + ownedTask.cancel(true); } super.close(); } diff --git a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryConnection.java b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryConnection.java index 07c95236c020..218225ede208 100644 --- a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryConnection.java +++ b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryConnection.java @@ -19,11 +19,13 @@ import com.google.api.gax.core.CredentialsProvider; import com.google.api.gax.core.FixedCredentialsProvider; import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.paging.Page; import com.google.api.gax.retrying.RetrySettings; import com.google.api.gax.rpc.FixedHeaderProvider; import com.google.api.gax.rpc.HeaderProvider; import com.google.api.gax.rpc.TransportChannelProvider; import com.google.auth.Credentials; +import com.google.auth.http.HttpTransportFactory; import com.google.cloud.bigquery.BigQuery; import com.google.cloud.bigquery.BigQueryException; import com.google.cloud.bigquery.BigQueryOptions; @@ -31,6 +33,7 @@ import com.google.cloud.bigquery.DatasetId; import com.google.cloud.bigquery.Job; import com.google.cloud.bigquery.JobInfo; +import com.google.cloud.bigquery.Project; import com.google.cloud.bigquery.QueryJobConfiguration; import com.google.cloud.bigquery.QueryJobConfiguration.JobCreationMode; import com.google.cloud.bigquery.exception.BigQueryJdbcException; @@ -41,6 +44,7 @@ import com.google.cloud.bigquery.storage.v1.BigQueryWriteClient; import com.google.cloud.bigquery.storage.v1.BigQueryWriteSettings; import com.google.cloud.http.HttpTransportOptions; +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSortedSet; import java.io.IOException; import java.io.InputStream; @@ -62,6 +66,7 @@ import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Executor; +import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; /** @@ -120,6 +125,7 @@ public class BigQueryConnection extends BigQueryNoOpsConnection { BigQueryJdbcUrlUtility.SWA_APPEND_ROW_COUNT_PROPERTY_NAME, BigQueryJdbcUrlUtility.SWA_ACTIVATION_ROW_COUNT_PROPERTY_NAME, BigQueryJdbcUrlUtility.FILTER_TABLES_ON_DEFAULT_DATASET_PROPERTY_NAME, + BigQueryJdbcUrlUtility.ENABLE_PROJECT_DISCOVERY_PROPERTY_NAME, BigQueryJdbcUrlUtility.REQUEST_GOOGLE_DRIVE_SCOPE_PROPERTY_NAME, BigQueryJdbcUrlUtility.SSL_TRUST_STORE_PROPERTY_NAME, BigQueryJdbcUrlUtility.MAX_BYTES_BILLED_PROPERTY_NAME, @@ -169,6 +175,8 @@ public class BigQueryConnection extends BigQueryNoOpsConnection { int highThroughputMinTableSize; int highThroughputActivationRatio; boolean enableSession; + boolean enableProjectDiscovery; + private List discoveredProjectsCache; boolean unsupportedHTAPIFallback; boolean useQueryCache; String queryDialect; @@ -209,6 +217,8 @@ public class BigQueryConnection extends BigQueryNoOpsConnection { Boolean reqGoogleDriveScope; private final Properties clientInfo = new Properties(); private boolean isReadOnlyTokenUsed = false; + private final ExecutorService metadataExecutor; + private final ExecutorService queryExecutor; BigQueryConnection(String url) throws IOException { this(url, DataSource.fromUrl(url)); @@ -262,11 +272,34 @@ public class BigQueryConnection extends BigQueryNoOpsConnection { String.valueOf(ds.getRequestGoogleDriveScope()), BigQueryJdbcUrlUtility.REQUEST_GOOGLE_DRIVE_SCOPE_PROPERTY_NAME); + Map proxyProperties = + BigQueryJdbcProxyUtility.parseProxyProperties(ds, this.connectionClassName); + + this.sslTrustStorePath = ds.getSSLTrustStorePath(); + this.sslTrustStorePassword = ds.getSSLTrustStorePassword(); + this.httpConnectTimeout = ds.getHttpConnectTimeout(); + this.httpReadTimeout = ds.getHttpReadTimeout(); + + this.httpTransportOptions = + BigQueryJdbcProxyUtility.getHttpTransportOptions( + proxyProperties, + this.sslTrustStorePath, + this.sslTrustStorePassword, + this.httpConnectTimeout, + this.httpReadTimeout, + this.connectionClassName); + + HttpTransportFactory httpTransportFactory = + this.httpTransportOptions != null + ? this.httpTransportOptions.getHttpTransportFactory() + : null; + this.credentials = BigQueryJdbcOAuthUtility.getCredentials( authProperties, overrideProperties, this.reqGoogleDriveScope, + httpTransportFactory, this.connectionClassName); String defaultDatasetString = ds.getDefaultDataset(); if (defaultDatasetString == null || defaultDatasetString.trim().isEmpty()) { @@ -299,22 +332,6 @@ public class BigQueryConnection extends BigQueryNoOpsConnection { this.destinationDataset = ds.getDestinationDataset(); this.destinationDatasetExpirationTime = ds.getDestinationDatasetExpirationTime(); this.kmsKeyName = ds.getKmsKeyName(); - Map proxyProperties = - BigQueryJdbcProxyUtility.parseProxyProperties(ds, this.connectionClassName); - - this.sslTrustStorePath = ds.getSSLTrustStorePath(); - this.sslTrustStorePassword = ds.getSSLTrustStorePassword(); - this.httpConnectTimeout = ds.getHttpConnectTimeout(); - this.httpReadTimeout = ds.getHttpReadTimeout(); - - this.httpTransportOptions = - BigQueryJdbcProxyUtility.getHttpTransportOptions( - proxyProperties, - this.sslTrustStorePath, - this.sslTrustStorePassword, - this.httpConnectTimeout, - this.httpReadTimeout, - this.connectionClassName); this.transportChannelProvider = BigQueryJdbcProxyUtility.getTransportChannelProvider( proxyProperties, @@ -335,6 +352,7 @@ public class BigQueryConnection extends BigQueryNoOpsConnection { this.additionalProjects = ds.getAdditionalProjects(); this.filterTablesOnDefaultDataset = ds.getFilterTablesOnDefaultDataset(); + this.enableProjectDiscovery = ds.getEnableProjectDiscovery(); this.requestGoogleDriveScope = ds.getRequestGoogleDriveScope(); this.metadataFetchThreadCount = ds.getMetadataFetchThreadCount(); this.requestReason = ds.getRequestReason(); @@ -344,6 +362,13 @@ public class BigQueryConnection extends BigQueryNoOpsConnection { this.headerProvider = createHeaderProvider(); this.bigQuery = getBigQueryConnection(); + // Cached pool executes queries immediately without queueing and reclaims all idle threads + // when inactive, minimizing resources. + this.queryExecutor = + BigQueryJdbcMdc.newCachedThreadPool(String.format("BQ-Query-%s", connectionId)); + this.metadataExecutor = + BigQueryJdbcMdc.newFixedThreadPool( + String.format("BQ-Metadata-%s", connectionId), this.metadataFetchThreadCount); } } @@ -937,23 +962,106 @@ public void close() throws SQLException { } private void closeImpl() throws SQLException { + SQLException exceptionToThrow = null; try { if (this.bigQueryReadClient != null) { this.bigQueryReadClient.shutdown(); - this.bigQueryReadClient.awaitTermination(1, TimeUnit.MINUTES); - this.bigQueryReadClient.close(); } - if (this.bigQueryWriteClient != null) { this.bigQueryWriteClient.shutdown(); - this.bigQueryWriteClient.awaitTermination(1, TimeUnit.MINUTES); - this.bigQueryWriteClient.close(); + } + if (this.metadataExecutor != null) { + this.metadataExecutor.shutdown(); + } + if (this.queryExecutor != null) { + this.queryExecutor.shutdown(); } for (Statement statement : this.openStatements) { - statement.close(); + try { + statement.close(); + } catch (SQLException e) { + if (exceptionToThrow == null) { + exceptionToThrow = e; + } else { + exceptionToThrow.addSuppressed(e); + } + } } this.openStatements.clear(); + + if (isTransactionStarted()) { + try { + // It looks like there's no need to start a new transaction after a rollback, + // but the commit behavior is preserved since close() may still fail before isClosed is + // updated. + rollbackImpl(); + } catch (SQLException e) { + if (exceptionToThrow == null) { + exceptionToThrow = e; + } else { + exceptionToThrow.addSuppressed(e); + } + } + } + + boolean interrupted = Thread.currentThread().isInterrupted(); + + try { + if (this.bigQueryReadClient != null) { + if (interrupted) { + this.bigQueryReadClient.shutdownNow(); + } else { + this.bigQueryReadClient.awaitTermination(1, TimeUnit.MINUTES); + } + } + if (this.bigQueryWriteClient != null) { + if (interrupted) { + this.bigQueryWriteClient.shutdownNow(); + } else { + this.bigQueryWriteClient.awaitTermination(1, TimeUnit.MINUTES); + } + } + if (this.metadataExecutor != null) { + if (interrupted || !this.metadataExecutor.awaitTermination(10, TimeUnit.SECONDS)) { + this.metadataExecutor.shutdownNow(); + } + } + if (this.queryExecutor != null) { + if (interrupted || !this.queryExecutor.awaitTermination(10, TimeUnit.SECONDS)) { + this.queryExecutor.shutdownNow(); + } + } + } catch (InterruptedException e) { + interrupted = true; + if (this.bigQueryReadClient != null) { + this.bigQueryReadClient.shutdownNow(); + } + if (this.bigQueryWriteClient != null) { + this.bigQueryWriteClient.shutdownNow(); + } + if (this.metadataExecutor != null) { + this.metadataExecutor.shutdownNow(); + } + if (this.queryExecutor != null) { + this.queryExecutor.shutdownNow(); + } + } finally { + try { + if (this.bigQueryReadClient != null) { + this.bigQueryReadClient.close(); + } + } finally { + if (this.bigQueryWriteClient != null) { + this.bigQueryWriteClient.close(); + } + } + } + + if (interrupted) { + Thread.currentThread().interrupt(); + throw new InterruptedException("Interrupted awaiting executor termination"); + } } catch (ConcurrentModificationException ex) { throw new BigQueryJdbcException("Concurrent modification during close", ex); } catch (InterruptedException e) { @@ -962,9 +1070,20 @@ private void closeImpl() throws SQLException { BigQueryJdbcMdc.clear(); BigQueryJdbcRootLogger.closeConnectionHandler(this.connectionId); } + if (exceptionToThrow != null) { + throw exceptionToThrow; + } this.isClosed = true; } + ExecutorService getExecutorService() { + return this.queryExecutor; + } + + ExecutorService getMetadataExecutor() { + return this.metadataExecutor; + } + @Override public boolean isClosed() { return this.isClosed; @@ -1221,6 +1340,29 @@ private boolean checkIsReadOnlyTokenUsed(Map authProps) { return false; } + public boolean isEnableProjectDiscovery() { + return this.enableProjectDiscovery; + } + + public synchronized List getDiscoveredProjects() throws SQLException { + if (this.discoveredProjectsCache != null) { + return this.discoveredProjectsCache; + } + + try { + BigQuery bigQuery = getBigQuery(); + List projects = new ArrayList<>(); + Page projectPage = bigQuery.listProjects(); + for (Project project : projectPage.iterateAll()) { + projects.add(project.getProjectId()); + } + this.discoveredProjectsCache = ImmutableList.copyOf(projects); + } catch (Exception e) { + throw new BigQueryJdbcException("Failed to list all accessible projects.", e); + } + return this.discoveredProjectsCache; + } + @Override public T unwrap(Class iface) throws SQLException { if (iface.isInstance(this)) { diff --git a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryDatabaseMetaData.java b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryDatabaseMetaData.java index 32ed62d91fd6..752100f4888c 100644 --- a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryDatabaseMetaData.java +++ b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryDatabaseMetaData.java @@ -20,8 +20,12 @@ import com.google.cloud.Tuple; import com.google.cloud.bigquery.BigQuery; import com.google.cloud.bigquery.BigQuery.DatasetListOption; +import com.google.cloud.bigquery.BigQuery.RoutineField; import com.google.cloud.bigquery.BigQuery.RoutineListOption; +import com.google.cloud.bigquery.BigQuery.RoutineOption; +import com.google.cloud.bigquery.BigQuery.TableField; import com.google.cloud.bigquery.BigQuery.TableListOption; +import com.google.cloud.bigquery.BigQuery.TableOption; import com.google.cloud.bigquery.BigQueryException; import com.google.cloud.bigquery.Dataset; import com.google.cloud.bigquery.DatasetId; @@ -43,8 +47,8 @@ import com.google.cloud.bigquery.TableId; import com.google.cloud.bigquery.exception.BigQueryJdbcException; import com.google.cloud.bigquery.jdbc.BigQueryJdbcTypeMappings.ColumnTypeInfo; +import com.google.cloud.bigquery.jdbc.utils.BigQueryJdbcVersionUtility; import java.io.BufferedReader; -import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.sql.Connection; @@ -60,7 +64,6 @@ import java.util.Comparator; import java.util.HashSet; import java.util.List; -import java.util.Properties; import java.util.Scanner; import java.util.Set; import java.util.concurrent.BlockingQueue; @@ -68,11 +71,8 @@ import java.util.concurrent.CancellationException; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicReference; import java.util.function.Function; import java.util.function.Supplier; import java.util.regex.Pattern; @@ -91,7 +91,7 @@ class BigQueryDatabaseMetaData implements DatabaseMetaData { private static final String DATABASE_PRODUCT_NAME = "Google BigQuery"; private static final String DATABASE_PRODUCT_VERSION = "2.0"; private static final String DRIVER_NAME = "GoogleJDBCDriverForGoogleBigQuery"; - private static final String DRIVER_DEFAULT_VERSION = "0.0.0"; + private static final String SCHEMA_TERM = "Dataset"; private static final String CATALOG_TERM = "Project"; private static final String PROCEDURE_TERM = "Procedure"; @@ -99,7 +99,6 @@ class BigQueryDatabaseMetaData implements DatabaseMetaData { private static final String GET_IMPORTED_KEYS_SQL = "DatabaseMetaData_GetImportedKeys.sql"; private static final String GET_EXPORTED_KEYS_SQL = "DatabaseMetaData_GetExportedKeys.sql"; private static final String GET_CROSS_REFERENCE_SQL = "DatabaseMetaData_GetCrossReference.sql"; - private static final int API_EXECUTOR_POOL_SIZE = 50; private static final int DEFAULT_PAGE_SIZE = 500; private static final int DEFAULT_QUEUE_CAPACITY = 5000; // Declared package-private for testing. @@ -141,19 +140,11 @@ class BigQueryDatabaseMetaData implements DatabaseMetaData { String URL; BigQueryConnection connection; private final BigQuery bigquery; - private final int metadataFetchThreadCount; - private static final AtomicReference parsedDriverVersion = new AtomicReference<>(null); - private static final AtomicReference parsedDriverMajorVersion = - new AtomicReference<>(null); - private static final AtomicReference parsedDriverMinorVersion = - new AtomicReference<>(null); BigQueryDatabaseMetaData(BigQueryConnection connection) { this.URL = connection.getConnectionUrl(); this.connection = connection; this.bigquery = connection.getBigQuery(); - this.metadataFetchThreadCount = connection.getMetadataFetchThreadCount(); - loadDriverVersionProperties(); } @Override @@ -222,17 +213,17 @@ public String getDriverName() { @Override public String getDriverVersion() { - return parsedDriverVersion.get() != null ? parsedDriverVersion.get() : DRIVER_DEFAULT_VERSION; + return BigQueryJdbcVersionUtility.getDriverVersion(); } @Override public int getDriverMajorVersion() { - return parsedDriverMajorVersion.get() != null ? parsedDriverMajorVersion.get() : 0; + return BigQueryJdbcVersionUtility.getDriverMajorVersion(); } @Override public int getDriverMinorVersion() { - return parsedDriverMinorVersion.get() != null ? parsedDriverMinorVersion.get() : 0; + return BigQueryJdbcVersionUtility.getDriverMinorVersion(); } @Override @@ -783,10 +774,10 @@ public boolean dataDefinitionIgnoredInTransactions() { @Override public ResultSet getProcedures( String catalog, String schemaPattern, String procedureNamePattern) { - if ((catalog == null || catalog.isEmpty()) + if ((catalog != null && catalog.isEmpty()) || (schemaPattern != null && schemaPattern.isEmpty()) || (procedureNamePattern != null && procedureNamePattern.isEmpty())) { - LOG.warning("Returning empty ResultSet as catalog is null/empty or a pattern is empty."); + LOG.warning("Returning empty ResultSet as catalog is empty or a pattern is empty."); return new BigQueryJsonResultSet(); } @@ -801,36 +792,24 @@ public ResultSet getProcedures( final BlockingQueue queue = new LinkedBlockingQueue<>(DEFAULT_QUEUE_CAPACITY); final List collectedResults = Collections.synchronizedList(new ArrayList<>()); - final List> processingTaskFutures = new ArrayList<>(); final String catalogParam = catalog; Runnable procedureFetcher = () -> { ExecutorService apiExecutor = null; - ExecutorService routineProcessorExecutor = null; final FieldList localResultSchemaFields = resultSchemaFields; final List>> apiFutures = new ArrayList<>(); try { List datasetsToScan = - findMatchingBigQueryObjects( - "Dataset", - () -> - bigquery.listDatasets( - catalogParam, DatasetListOption.pageSize(DEFAULT_PAGE_SIZE)), - (name) -> bigquery.getDataset(DatasetId.of(catalogParam, name)), - (ds) -> ds.getDatasetId().getDataset(), - schemaPattern, - schemaRegex, - LOG); + fetchMatchingDatasets(catalogParam, schemaPattern, schemaRegex); if (datasetsToScan.isEmpty()) { LOG.info("Fetcher thread found no matching datasets. Finishing."); return; } - apiExecutor = Executors.newFixedThreadPool(API_EXECUTOR_POOL_SIZE); - routineProcessorExecutor = Executors.newFixedThreadPool(this.metadataFetchThreadCount); + apiExecutor = connection.getMetadataExecutor(); LOG.fine("Submitting parallel findMatchingRoutines tasks..."); for (Dataset dataset : datasetsToScan) { @@ -861,7 +840,6 @@ public ResultSet getProcedures( apiFutures.add(apiFuture); } LOG.fine("Finished submitting " + apiFutures.size() + " findMatchingRoutines tasks."); - apiExecutor.shutdown(); LOG.fine("Processing results from findMatchingRoutines tasks..."); for (Future> apiFuture : apiFutures) { @@ -876,15 +854,8 @@ public ResultSet getProcedures( if (Thread.currentThread().isInterrupted()) break; if ("PROCEDURE".equalsIgnoreCase(routine.getRoutineType())) { - LOG.fine( - "Submitting processing task for procedure: " + routine.getRoutineId()); - final Routine finalRoutine = routine; - Future processFuture = - routineProcessorExecutor.submit( - () -> - processProcedureInfo( - finalRoutine, collectedResults, localResultSchemaFields)); - processingTaskFutures.add(processFuture); + LOG.fine("Processing procedure sequentially: " + routine.getRoutineId()); + processProcedureInfo(routine, collectedResults, localResultSchemaFields); } else { LOG.finer("Skipping non-procedure routine: " + routine.getRoutineId()); } @@ -894,60 +865,29 @@ public ResultSet getProcedures( Thread.currentThread().interrupt(); LOG.warning("Fetcher thread interrupted while waiting for API future result."); break; - } catch (ExecutionException e) { - LOG.warning( - "Error executing findMatchingRoutines task: " - + e.getMessage() - + ". Cause: " - + e.getCause()); } catch (CancellationException e) { LOG.warning("A findMatchingRoutines task was cancelled."); } } - LOG.fine( - "Finished submitting " - + processingTaskFutures.size() - + " processProcedureInfo tasks."); - - if (Thread.currentThread().isInterrupted()) { - LOG.warning( - "Fetcher interrupted before waiting for processing tasks; cancelling remaining."); - processingTaskFutures.forEach(f -> f.cancel(true)); - } else { - LOG.fine("Waiting for processProcedureInfo tasks to complete..."); - waitForTasksCompletion(processingTaskFutures); - LOG.fine("All processProcedureInfo tasks completed or handled."); - } - - if (!Thread.currentThread().isInterrupted()) { - Comparator comparator = - defineGetProceduresComparator(localResultSchemaFields); - sortResults(collectedResults, comparator, "getProcedures", LOG); - } - - if (!Thread.currentThread().isInterrupted()) { - populateQueue(collectedResults, queue, localResultSchemaFields); - } + Comparator comparator = + defineGetProceduresComparator(localResultSchemaFields); + sortResults(collectedResults, comparator, "getProcedures", LOG); + populateQueue(collectedResults, queue, localResultSchemaFields); } catch (Throwable t) { - LOG.severe("Unexpected error in procedure fetcher runnable: " + t.getMessage()); - apiFutures.forEach(f -> f.cancel(true)); - processingTaskFutures.forEach(f -> f.cancel(true)); + handleFetcherException(t, queue, "getProcedures"); } finally { - signalEndOfData(queue, localResultSchemaFields); - shutdownExecutor(apiExecutor); - shutdownExecutor(routineProcessorExecutor); - LOG.info("Procedure fetcher thread finished."); + apiFutures.forEach(f -> f.cancel(true)); + finalizeFetcher(queue, localResultSchemaFields, "Procedure fetcher"); } }; - Thread fetcherThread = new Thread(procedureFetcher, "getProcedures-fetcher-" + catalog); + Future fetcherFuture = connection.getExecutorService().submit(procedureFetcher); BigQueryJsonResultSet resultSet = - BigQueryJsonResultSet.of(resultSchema, -1, queue, null, new Thread[] {fetcherThread}); + BigQueryJsonResultSet.of(resultSchema, -1, queue, null, fetcherFuture); - fetcherThread.start(); - LOG.info("Started background thread for getProcedures"); + LOG.info("Submitted background task for getProcedures to metadata executor"); return resultSet; } @@ -1062,8 +1002,8 @@ Comparator defineGetProceduresComparator(FieldList resultSchemaF public ResultSet getProcedureColumns( String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) { - if (catalog == null || catalog.isEmpty()) { - LOG.warning("Returning empty ResultSet because catalog (project) is null or empty."); + if (catalog != null && catalog.isEmpty()) { + LOG.warning("Returning empty ResultSet because catalog (project) is empty."); return new BigQueryJsonResultSet(); } if ((schemaPattern != null && schemaPattern.isEmpty()) @@ -1086,31 +1026,23 @@ public ResultSet getProcedureColumns( final BlockingQueue queue = new LinkedBlockingQueue<>(DEFAULT_QUEUE_CAPACITY); final List collectedResults = Collections.synchronizedList(new ArrayList<>()); - final List> processingTaskFutures = new ArrayList<>(); final String catalogParam = catalog; Runnable procedureColumnFetcher = () -> { ExecutorService listRoutinesExecutor = null; ExecutorService getRoutineDetailsExecutor = null; - ExecutorService processArgsExecutor = null; - - final String fetcherThreadNameSuffix = - "-" + catalogParam.substring(0, Math.min(10, catalogParam.length())); try { List datasetsToScan = - fetchMatchingDatasetsForProcedureColumns(catalogParam, schemaPattern, schemaRegex); + fetchMatchingDatasets(catalogParam, schemaPattern, schemaRegex); if (datasetsToScan.isEmpty() || Thread.currentThread().isInterrupted()) { LOG.info( "Fetcher: No matching datasets or interrupted early. Catalog: " + catalogParam); return; } - listRoutinesExecutor = - Executors.newFixedThreadPool( - API_EXECUTOR_POOL_SIZE, - runnable -> new Thread(runnable, "pcol-list-rout" + fetcherThreadNameSuffix)); + listRoutinesExecutor = connection.getMetadataExecutor(); List procedureIdsToGet = listMatchingProcedureIdsFromDatasets( datasetsToScan, @@ -1119,7 +1051,6 @@ public ResultSet getProcedureColumns( listRoutinesExecutor, catalogParam, LOG); - shutdownExecutor(listRoutinesExecutor); listRoutinesExecutor = null; if (procedureIdsToGet.isEmpty() || Thread.currentThread().isInterrupted()) { @@ -1127,13 +1058,16 @@ public ResultSet getProcedureColumns( return; } - getRoutineDetailsExecutor = - Executors.newFixedThreadPool( - 100, - runnable -> new Thread(runnable, "pcol-get-details" + fetcherThreadNameSuffix)); + getRoutineDetailsExecutor = connection.getMetadataExecutor(); List fullRoutines = - fetchFullRoutineDetailsForIds(procedureIdsToGet, getRoutineDetailsExecutor, LOG); - shutdownExecutor(getRoutineDetailsExecutor); + fetchFullRoutineDetailsForIds( + procedureIdsToGet, + getRoutineDetailsExecutor, + LOG, + RoutineOption.fields( + RoutineField.ROUTINE_REFERENCE, + RoutineField.ARGUMENTS, + RoutineField.ROUTINE_TYPE)); getRoutineDetailsExecutor = null; if (fullRoutines.isEmpty() || Thread.currentThread().isInterrupted()) { @@ -1142,98 +1076,29 @@ public ResultSet getProcedureColumns( return; } - processArgsExecutor = - Executors.newFixedThreadPool( - this.metadataFetchThreadCount, - runnable -> new Thread(runnable, "pcol-proc-args" + fetcherThreadNameSuffix)); - submitProcedureArgumentProcessingJobs( - fullRoutines, - columnNameRegex, - collectedResults, - resultSchema.getFields(), - processArgsExecutor, - processingTaskFutures, - LOG); - - if (Thread.currentThread().isInterrupted()) { - LOG.warning( - "Fetcher: Interrupted before waiting for argument processing. Catalog: " - + catalogParam); - processingTaskFutures.forEach(f -> f.cancel(true)); - } else { - LOG.fine( - "Fetcher: Waiting for " - + processingTaskFutures.size() - + " argument processing tasks. Catalog: " - + catalogParam); - waitForTasksCompletion(processingTaskFutures); - LOG.fine( - "Fetcher: All argument processing tasks completed or handled. Catalog: " - + catalogParam); - } + processProcedureArgumentsSequentially( + fullRoutines, columnNameRegex, collectedResults, resultSchema.getFields(), LOG); - if (!Thread.currentThread().isInterrupted()) { - Comparator comparator = - defineGetProcedureColumnsComparator(resultSchema.getFields()); - sortResults(collectedResults, comparator, "getProcedureColumns", LOG); - populateQueue(collectedResults, queue, resultSchema.getFields()); - } + Comparator comparator = + defineGetProcedureColumnsComparator(resultSchema.getFields()); + sortResults(collectedResults, comparator, "getProcedureColumns", LOG); + populateQueue(collectedResults, queue, resultSchema.getFields()); - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - LOG.warning( - "Fetcher: Interrupted in main try block for catalog " - + catalogParam - + ". Error: " - + e.getMessage()); - processingTaskFutures.forEach(f -> f.cancel(true)); } catch (Throwable t) { - LOG.severe( - "Fetcher: Unexpected error in main try block for catalog " - + catalogParam - + ". Error: " - + t.getMessage()); - processingTaskFutures.forEach(f -> f.cancel(true)); + handleFetcherException(t, queue, "getProcedureColumns"); } finally { - signalEndOfData(queue, resultSchema.getFields()); - if (listRoutinesExecutor != null) shutdownExecutor(listRoutinesExecutor); - if (getRoutineDetailsExecutor != null) shutdownExecutor(getRoutineDetailsExecutor); - if (processArgsExecutor != null) shutdownExecutor(processArgsExecutor); - LOG.info("Procedure column fetcher thread finished for catalog: " + catalogParam); + finalizeFetcher(queue, resultSchema.getFields(), "Procedure column fetcher"); } }; - Thread fetcherThread = - new Thread(procedureColumnFetcher, "getProcedureColumns-fetcher-" + catalog); + Future fetcherFuture = connection.getExecutorService().submit(procedureColumnFetcher); BigQueryJsonResultSet resultSet = - BigQueryJsonResultSet.of(resultSchema, -1, queue, null, new Thread[] {fetcherThread}); + BigQueryJsonResultSet.of(resultSchema, -1, queue, null, fetcherFuture); - fetcherThread.start(); - LOG.info("Started background thread for getProcedureColumns for catalog: " + catalog); + LOG.info("Started background task for getProcedureColumns for catalog: " + catalog); return resultSet; } - private List fetchMatchingDatasetsForProcedureColumns( - String catalogParam, String schemaPattern, Pattern schemaRegex) throws InterruptedException { - LOG.fine( - "Fetching matching datasets for catalog '%s', schemaPattern '%s'", - catalogParam, schemaPattern); - List datasetsToScan = - findMatchingBigQueryObjects( - "Dataset", - () -> - bigquery.listDatasets(catalogParam, DatasetListOption.pageSize(DEFAULT_PAGE_SIZE)), - (name) -> bigquery.getDataset(DatasetId.of(catalogParam, name)), - (ds) -> ds.getDatasetId().getDataset(), - schemaPattern, - schemaRegex, - LOG); - LOG.info( - "Found %d datasets to scan for procedures in catalog '%s'.", - datasetsToScan.size(), catalogParam); - return datasetsToScan; - } - List listMatchingProcedureIdsFromDatasets( List datasetsToScan, String procedureNamePattern, @@ -1241,7 +1106,7 @@ List listMatchingProcedureIdsFromDatasets( ExecutorService listRoutinesExecutor, String catalogParam, BigQueryJdbcCustomLogger logger) - throws InterruptedException { + throws InterruptedException, ExecutionException { logger.fine( "Listing matching procedure IDs from %d datasets for catalog '%s'.", @@ -1307,9 +1172,6 @@ List listMatchingProcedureIdsFromDatasets( } } } - } catch (ExecutionException e) { - logger.warning( - "Error getting routine list result for catalog " + catalogParam + ": " + e.getCause()); } catch (CancellationException e) { logger.warning("Routine list task cancelled for catalog: " + catalogParam); } @@ -1323,8 +1185,9 @@ List listMatchingProcedureIdsFromDatasets( List fetchFullRoutineDetailsForIds( List procedureIdsToGet, ExecutorService getRoutineDetailsExecutor, - BigQueryJdbcCustomLogger logger) - throws InterruptedException { + BigQueryJdbcCustomLogger logger, + RoutineOption... options) + throws InterruptedException, ExecutionException { logger.fine("Fetching full details for %d procedure IDs.", procedureIdsToGet.size()); final List> getRoutineFutures = new ArrayList<>(); final List fullRoutines = Collections.synchronizedList(new ArrayList<>()); @@ -1340,7 +1203,7 @@ List fetchFullRoutineDetailsForIds( Callable getCallable = () -> { try { - return bigquery.getRoutine(currentProcId); + return bigquery.getRoutine(currentProcId, options); } catch (Exception e) { logger.warning( "Failed to get full details for routine " @@ -1367,8 +1230,6 @@ List fetchFullRoutineDetailsForIds( if (fullRoutine != null) { fullRoutines.add(fullRoutine); } - } catch (ExecutionException e) { - logger.warning("Error processing getRoutine future result: " + e.getCause()); } catch (CancellationException e) { logger.warning("getRoutine detail task cancelled."); } @@ -1377,33 +1238,26 @@ List fetchFullRoutineDetailsForIds( return fullRoutines; } - void submitProcedureArgumentProcessingJobs( + void processProcedureArgumentsSequentially( List fullRoutines, Pattern columnNameRegex, List collectedResults, FieldList resultSchemaFields, - ExecutorService processArgsExecutor, - List> outArgumentProcessingFutures, BigQueryJdbcCustomLogger logger) throws InterruptedException { - logger.fine("Submitting argument processing jobs for %d routines.", fullRoutines.size()); + logger.fine("Processing argument jobs sequentially for %d routines.", fullRoutines.size()); for (Routine fullRoutine : fullRoutines) { if (Thread.currentThread().isInterrupted()) { InterruptedException ex = - new InterruptedException("Interrupted while submitting argument processing jobs"); + new InterruptedException("Interrupted while processing argument jobs sequentially"); logger.severe(ex.getMessage(), ex); throw ex; } if (fullRoutine != null) { if ("PROCEDURE".equalsIgnoreCase(fullRoutine.getRoutineType())) { - final Routine finalFullRoutine = fullRoutine; - Future processFuture = - processArgsExecutor.submit( - () -> - processProcedureArguments( - finalFullRoutine, columnNameRegex, collectedResults, resultSchemaFields)); - outArgumentProcessingFutures.add(processFuture); + processProcedureArguments( + fullRoutine, columnNameRegex, collectedResults, resultSchemaFields); } else { logger.warning( "Routine " @@ -1416,10 +1270,6 @@ void submitProcedureArgumentProcessingJobs( } } } - logger.fine( - "Finished submitting " - + outArgumentProcessingFutures.size() - + " processProcedureArguments tasks."); } Schema defineGetProcedureColumnsSchema() { @@ -1710,19 +1560,19 @@ Comparator defineGetProcedureColumnsComparator(FieldList resultS public ResultSet getTables( String catalog, String schemaPattern, String tableNamePattern, String[] types) { - Tuple effectiveIdentifiers = - determineEffectiveCatalogAndSchema(catalog, schemaPattern); - String effectiveCatalog = effectiveIdentifiers.x(); - String effectiveSchemaPattern = effectiveIdentifiers.y(); - - if ((effectiveCatalog == null || effectiveCatalog.isEmpty()) - || (effectiveSchemaPattern != null && effectiveSchemaPattern.isEmpty()) + if ((catalog != null && catalog.isEmpty()) + || (schemaPattern != null && schemaPattern.isEmpty()) || (tableNamePattern != null && tableNamePattern.isEmpty())) { LOG.warning( - "Returning empty ResultSet as one or more patterns are empty or catalog is null."); + "Returning empty ResultSet as one or more patterns are empty or catalog is empty."); return new BigQueryJsonResultSet(); } + Tuple effectiveIdentifiers = + determineEffectiveCatalogAndSchema(catalog, schemaPattern); + String effectiveCatalog = effectiveIdentifiers.x(); + String effectiveSchemaPattern = effectiveIdentifiers.y(); + LOG.info( "getTables called for catalog: %s, schemaPattern: %s, tableNamePattern: %s, types: %s", effectiveCatalog, effectiveSchemaPattern, tableNamePattern, Arrays.toString(types)); @@ -1744,31 +1594,19 @@ public ResultSet getTables( Runnable tableFetcher = () -> { ExecutorService apiExecutor = null; - ExecutorService tableProcessorExecutor = null; final FieldList localResultSchemaFields = resultSchemaFields; final List>> apiFutures = new ArrayList<>(); - final List> processingFutures = new ArrayList<>(); try { List datasetsToScan = - findMatchingBigQueryObjects( - "Dataset", - () -> - bigquery.listDatasets( - catalogParam, DatasetListOption.pageSize(DEFAULT_PAGE_SIZE)), - (name) -> bigquery.getDataset(DatasetId.of(catalogParam, name)), - (ds) -> ds.getDatasetId().getDataset(), - schemaParam, - schemaRegex, - LOG); + fetchMatchingDatasets(catalogParam, schemaParam, schemaRegex); if (datasetsToScan.isEmpty()) { LOG.info("Fetcher thread found no matching datasets. Returning empty resultset."); return; } - apiExecutor = Executors.newFixedThreadPool(API_EXECUTOR_POOL_SIZE); - tableProcessorExecutor = Executors.newFixedThreadPool(this.metadataFetchThreadCount); + apiExecutor = connection.getMetadataExecutor(); LOG.fine("Submitting parallel findMatchingTables tasks..."); for (Dataset dataset : datasetsToScan) { @@ -1790,7 +1628,11 @@ public ResultSet getTables( TableId.of( currentDatasetId.getProject(), currentDatasetId.getDataset(), - name)), + name), + TableOption.fields( + TableField.TABLE_REFERENCE, + TableField.TYPE, + TableField.DESCRIPTION)), (tbl) -> tbl.getTableId().getTable(), tableNamePattern, tableNameRegex, @@ -1799,7 +1641,6 @@ public ResultSet getTables( apiFutures.add(apiFuture); } LOG.fine("Finished submitting " + apiFutures.size() + " findMatchingTables tasks."); - apiExecutor.shutdown(); LOG.fine("Processing results from findMatchingTables tasks..."); for (Future> apiFuture : apiFutures) { @@ -1813,73 +1654,37 @@ public ResultSet getTables( for (Table table : tablesResult) { if (Thread.currentThread().isInterrupted()) break; - final Table currentTable = table; - Future processFuture = - tableProcessorExecutor.submit( - () -> - processTableInfo( - currentTable, - requestedTypes, - collectedResults, - localResultSchemaFields)); - processingFutures.add(processFuture); + LOG.fine("Processing table sequentially: " + table.getTableId()); + processTableInfo( + table, requestedTypes, collectedResults, localResultSchemaFields); } } } catch (InterruptedException e) { Thread.currentThread().interrupt(); LOG.warning("Fetcher thread interrupted while waiting for API future result."); break; - } catch (ExecutionException e) { - LOG.warning( - "Error executing findMatchingTables task: " - + e.getMessage() - + ". Cause: " - + e.getCause()); } catch (CancellationException e) { LOG.warning("A findMatchingTables task was cancelled."); } } - LOG.fine( - "Finished submitting " + processingFutures.size() + " processTableInfo tasks."); - - if (Thread.currentThread().isInterrupted()) { - LOG.warning( - "Fetcher interrupted before waiting for processing tasks; cancelling remaining."); - processingFutures.forEach(f -> f.cancel(true)); - } else { - LOG.fine("Waiting for processTableInfo tasks to complete..."); - waitForTasksCompletion(processingFutures); - LOG.fine("All processTableInfo tasks completed."); - } - - if (!Thread.currentThread().isInterrupted()) { - Comparator comparator = - defineGetTablesComparator(localResultSchemaFields); - sortResults(collectedResults, comparator, "getTables", LOG); - } - - if (!Thread.currentThread().isInterrupted()) { - populateQueue(collectedResults, queue, localResultSchemaFields); - } + Comparator comparator = + defineGetTablesComparator(localResultSchemaFields); + sortResults(collectedResults, comparator, "getTables", LOG); + populateQueue(collectedResults, queue, localResultSchemaFields); } catch (Throwable t) { - LOG.severe("Unexpected error in table fetcher runnable: " + t.getMessage()); - apiFutures.forEach(f -> f.cancel(true)); - processingFutures.forEach(f -> f.cancel(true)); + handleFetcherException(t, queue, "getTables"); } finally { - signalEndOfData(queue, localResultSchemaFields); - shutdownExecutor(apiExecutor); - shutdownExecutor(tableProcessorExecutor); - LOG.info("Table fetcher thread finished."); + apiFutures.forEach(f -> f.cancel(true)); + finalizeFetcher(queue, localResultSchemaFields, "Table fetcher"); } }; - Thread fetcherThread = new Thread(tableFetcher, "getTables-fetcher-" + effectiveCatalog); + Future fetcherFuture = connection.getExecutorService().submit(tableFetcher); BigQueryJsonResultSet resultSet = - BigQueryJsonResultSet.of(resultSchema, -1, queue, null, new Thread[] {fetcherThread}); + BigQueryJsonResultSet.of(resultSchema, -1, queue, null, fetcherFuture); - fetcherThread.start(); LOG.info("Started background thread for getTables"); return resultSet; } @@ -1995,14 +1800,14 @@ Comparator defineGetTablesComparator(FieldList resultSchemaField } @Override - public ResultSet getSchemas() { + public ResultSet getSchemas() throws SQLException { LOG.info("getSchemas() called"); return getSchemas(null, null); } @Override - public ResultSet getCatalogs() { + public ResultSet getCatalogs() throws SQLException { LOG.info("getCatalogs() called"); final List accessibleCatalogs = getAccessibleCatalogNames(); @@ -2017,7 +1822,8 @@ public ResultSet getCatalogs() { populateQueue(catalogRows, queue, schemaFields); signalEndOfData(queue, schemaFields); - return BigQueryJsonResultSet.of(catalogsSchema, catalogRows.size(), queue, null, new Thread[0]); + return BigQueryJsonResultSet.of( + catalogsSchema, catalogRows.size(), queue, null, new Future[0]); } Schema defineGetCatalogsSchema() { @@ -2049,7 +1855,7 @@ public ResultSet getTableTypes() { signalEndOfData(queue, tableTypesSchema.getFields()); return BigQueryJsonResultSet.of( - tableTypesSchema, tableTypeRows.size(), queue, null, new Thread[0]); + tableTypesSchema, tableTypeRows.size(), queue, null, new Future[0]); } static Schema defineGetTableTypesSchema() { @@ -2075,20 +1881,20 @@ static List prepareGetTableTypesRows(Schema schema) { public ResultSet getColumns( String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) { - Tuple effectiveIdentifiers = - determineEffectiveCatalogAndSchema(catalog, schemaPattern); - String effectiveCatalog = effectiveIdentifiers.x(); - String effectiveSchemaPattern = effectiveIdentifiers.y(); - - if ((effectiveCatalog == null || effectiveCatalog.isEmpty()) - || (effectiveSchemaPattern != null && effectiveSchemaPattern.isEmpty()) + if ((catalog != null && catalog.isEmpty()) + || (schemaPattern != null && schemaPattern.isEmpty()) || (tableNamePattern != null && tableNamePattern.isEmpty()) || (columnNamePattern != null && columnNamePattern.isEmpty())) { LOG.warning( - "Returning empty ResultSet as one or more patterns are empty or catalog is null."); + "Returning empty ResultSet as one or more patterns are empty or catalog is empty."); return new BigQueryJsonResultSet(); } + Tuple effectiveIdentifiers = + determineEffectiveCatalogAndSchema(catalog, schemaPattern); + String effectiveCatalog = effectiveIdentifiers.x(); + String effectiveSchemaPattern = effectiveIdentifiers.y(); + LOG.info( "getColumns called for catalog: %s, schemaPattern: %s, tableNamePattern: %s," + " columnNamePattern: %s", @@ -2114,23 +1920,14 @@ public ResultSet getColumns( try { List datasetsToScan = - findMatchingBigQueryObjects( - "Dataset", - () -> - bigquery.listDatasets( - catalogParam, DatasetListOption.pageSize(DEFAULT_PAGE_SIZE)), - (name) -> bigquery.getDataset(DatasetId.of(catalogParam, name)), - (ds) -> ds.getDatasetId().getDataset(), - schemaParam, - schemaRegex, - LOG); + fetchMatchingDatasets(catalogParam, schemaParam, schemaRegex); if (datasetsToScan.isEmpty()) { LOG.info("Fetcher thread found no matching datasets. Returning empty resultset."); return; } - columnExecutor = Executors.newFixedThreadPool(this.metadataFetchThreadCount); + columnExecutor = connection.getMetadataExecutor(); for (Dataset dataset : datasetsToScan) { if (Thread.currentThread().isInterrupted()) { @@ -2149,7 +1946,9 @@ public ResultSet getColumns( datasetId, TableListOption.pageSize(DEFAULT_PAGE_SIZE)), (name) -> bigquery.getTable( - TableId.of(datasetId.getProject(), datasetId.getDataset(), name)), + TableId.of(datasetId.getProject(), datasetId.getDataset(), name), + TableOption.fields( + TableField.TABLE_REFERENCE, TableField.TYPE, TableField.SCHEMA)), (tbl) -> tbl.getTableId().getTable(), tableNamePattern, tableNameRegex, @@ -2181,31 +1980,23 @@ public ResultSet getColumns( waitForTasksCompletion(taskFutures); - if (!Thread.currentThread().isInterrupted()) { - Comparator comparator = - defineGetColumnsComparator(localResultSchemaFields); - sortResults(collectedResults, comparator, "getColumns", LOG); - } - - if (!Thread.currentThread().isInterrupted()) { - populateQueue(collectedResults, queue, localResultSchemaFields); - } + Comparator comparator = + defineGetColumnsComparator(localResultSchemaFields); + sortResults(collectedResults, comparator, "getColumns", LOG); + populateQueue(collectedResults, queue, localResultSchemaFields); } catch (Throwable t) { - LOG.severe("Unexpected error in column fetcher runnable: " + t.getMessage()); - taskFutures.forEach(f -> f.cancel(true)); + handleFetcherException(t, queue, "getColumns"); } finally { - signalEndOfData(queue, localResultSchemaFields); - shutdownExecutor(columnExecutor); - LOG.info("Column fetcher thread finished."); + taskFutures.forEach(f -> f.cancel(true)); + finalizeFetcher(queue, localResultSchemaFields, "Column fetcher"); } }; - Thread fetcherThread = new Thread(columnFetcher, "getColumns-fetcher-" + effectiveCatalog); + Future fetcherFuture = connection.getExecutorService().submit(columnFetcher); BigQueryJsonResultSet resultSet = - BigQueryJsonResultSet.of(resultSchema, -1, queue, null, new Thread[] {fetcherThread}); + BigQueryJsonResultSet.of(resultSchema, -1, queue, null, fetcherFuture); - fetcherThread.start(); LOG.info("Started background thread for getColumns"); return resultSet; } @@ -2226,7 +2017,10 @@ private void processTableColumns( "Schema not included in table object for " + tableId + ", fetching full table details..."); - Table fullTable = bigquery.getTable(tableId); + Table fullTable = + bigquery.getTable( + tableId, + TableOption.fields(TableField.TABLE_REFERENCE, TableField.TYPE, TableField.SCHEMA)); if (fullTable != null) { definition = fullTable.getDefinition(); tableSchema = (definition != null) ? definition.getSchema() : null; @@ -2480,7 +2274,7 @@ public ResultSet getColumnPrivileges( final BlockingQueue queue = new LinkedBlockingQueue<>(1); signalEndOfData(queue, resultSchemaFields); - return BigQueryJsonResultSet.of(resultSchema, 0, queue, null, null); + return BigQueryJsonResultSet.of(resultSchema, 0, queue, null); } Schema defineGetColumnPrivilegesSchema() { @@ -2508,7 +2302,7 @@ public ResultSet getTablePrivileges( final BlockingQueue queue = new LinkedBlockingQueue<>(1); signalEndOfData(queue, resultSchemaFields); - return BigQueryJsonResultSet.of(resultSchema, 0, queue, null, null); + return BigQueryJsonResultSet.of(resultSchema, 0, queue, null); } Schema defineGetTablePrivilegesSchema() { @@ -2530,7 +2324,7 @@ public ResultSet getBestRowIdentifier( final BlockingQueue queue = new LinkedBlockingQueue<>(1); signalEndOfData(queue, resultSchemaFields); - return BigQueryJsonResultSet.of(resultSchema, 0, queue, null, null); + return BigQueryJsonResultSet.of(resultSchema, 0, queue, null); } Schema defineGetBestRowIdentifierSchema() { @@ -2580,7 +2374,7 @@ public ResultSet getVersionColumns(String catalog, String schema, String table) final BlockingQueue queue = new LinkedBlockingQueue<>(1); signalEndOfData(queue, resultSchemaFields); - return BigQueryJsonResultSet.of(resultSchema, 0, queue, null, null); + return BigQueryJsonResultSet.of(resultSchema, 0, queue, null); } Schema defineGetVersionColumnsSchema() { @@ -2718,7 +2512,7 @@ public ResultSet getTypeInfo() { populateQueue(typeInfoRows, queue, schemaFields); signalEndOfData(queue, schemaFields); return BigQueryJsonResultSet.of( - typeInfoSchema, typeInfoRows.size(), queue, null, new Thread[0]); + typeInfoSchema, typeInfoRows.size(), queue, null, new Future[0]); } Schema defineGetTypeInfoSchema() { @@ -3180,7 +2974,7 @@ public ResultSet getIndexInfo( final BlockingQueue queue = new LinkedBlockingQueue<>(1); signalEndOfData(queue, resultSchemaFields); - return BigQueryJsonResultSet.of(resultSchema, 0, queue, null, null); + return BigQueryJsonResultSet.of(resultSchema, 0, queue, null); } Schema defineGetIndexInfoSchema() { @@ -3311,7 +3105,7 @@ public ResultSet getUDTs( final BlockingQueue queue = new LinkedBlockingQueue<>(1); signalEndOfData(queue, resultSchemaFields); - return BigQueryJsonResultSet.of(resultSchema, 0, queue, null, null); + return BigQueryJsonResultSet.of(resultSchema, 0, queue, null); } Schema defineGetUDTsSchema() { @@ -3385,7 +3179,7 @@ public ResultSet getSuperTables(String catalog, String schemaPattern, String tab signalEndOfData(queue, resultSchemaFields); - return BigQueryJsonResultSet.of(resultSchema, 0, queue, null, null); + return BigQueryJsonResultSet.of(resultSchema, 0, queue, null); } Schema defineGetSuperTablesSchema() { @@ -3422,7 +3216,7 @@ public ResultSet getSuperTypes(String catalog, String schemaPattern, String type signalEndOfData(queue, resultSchemaFields); - return BigQueryJsonResultSet.of(resultSchema, 0, queue, null, null); + return BigQueryJsonResultSet.of(resultSchema, 0, queue, null); } Schema defineGetSuperTypesSchema() { @@ -3468,7 +3262,7 @@ public ResultSet getAttributes( final BlockingQueue queue = new LinkedBlockingQueue<>(1); signalEndOfData(queue, resultSchemaFields); - return BigQueryJsonResultSet.of(resultSchema, 0, queue, null, null); + return BigQueryJsonResultSet.of(resultSchema, 0, queue, null); } Schema defineGetAttributesSchema() { @@ -3616,7 +3410,7 @@ public RowIdLifetime getRowIdLifetime() { } @Override - public ResultSet getSchemas(String catalog, String schemaPattern) { + public ResultSet getSchemas(String catalog, String schemaPattern) throws SQLException { if ((catalog != null && catalog.isEmpty()) || (schemaPattern != null && schemaPattern.isEmpty())) { LOG.warning("Returning empty ResultSet as catalog or schemaPattern is an empty string."); @@ -3629,94 +3423,55 @@ public ResultSet getSchemas(String catalog, String schemaPattern) { final Schema resultSchema = defineGetSchemasSchema(); final FieldList resultSchemaFields = resultSchema.getFields(); + if (catalog != null) { + // Single-Catalog Path: completely synchronous on caller thread + final BlockingQueue queue = new LinkedBlockingQueue<>(); + List datasets = fetchMatchingDatasets(catalog, schemaPattern, schemaRegex); + List collectedResults = new ArrayList<>(); + for (Dataset dataset : datasets) { + processSchemaInfo(dataset, collectedResults, resultSchemaFields); + } + Comparator comparator = defineGetSchemasComparator(resultSchemaFields); + sortResults(collectedResults, comparator, "getSchemas", LOG); + populateQueue(collectedResults, queue, resultSchemaFields); + signalEndOfData(queue, resultSchemaFields); + return BigQueryJsonResultSet.of(resultSchema, -1, queue, null); + } + + // Multi-Catalog Path: fan out using connection-scoped metadataExecutor final BlockingQueue queue = new LinkedBlockingQueue<>(DEFAULT_QUEUE_CAPACITY); - final List collectedResults = Collections.synchronizedList(new ArrayList<>()); - final String catalogParam = catalog; - - Runnable schemaFetcher = + Runnable multiSchemaFetcher = () -> { final FieldList localResultSchemaFields = resultSchemaFields; - List projectsToScanList = new ArrayList<>(); - - if (catalogParam != null) { - projectsToScanList.add(catalogParam); - } else { - projectsToScanList.addAll(getAccessibleCatalogNames()); - } - - if (projectsToScanList.isEmpty()) { - LOG.info( - "No valid projects to scan (primary, specified, or additional). Returning empty" - + " resultset."); - return; - } + final List collectedResults = new ArrayList<>(); try { - for (String currentProjectToScan : projectsToScanList) { + List datasets = fetchMatchingDatasets(catalog, schemaPattern, schemaRegex); + for (Dataset dataset : datasets) { if (Thread.currentThread().isInterrupted()) { - LOG.warning( - "Schema fetcher interrupted during project iteration for project: " - + currentProjectToScan); break; } - LOG.info("Fetching schemas for project: " + currentProjectToScan); - List datasetsInProject = - findMatchingBigQueryObjects( - "Dataset", - () -> - bigquery.listDatasets( - currentProjectToScan, - BigQuery.DatasetListOption.pageSize(DEFAULT_PAGE_SIZE)), - (name) -> bigquery.getDataset(DatasetId.of(currentProjectToScan, name)), - (ds) -> ds.getDatasetId().getDataset(), - schemaPattern, - schemaRegex, - LOG); - - if (datasetsInProject.isEmpty() || Thread.currentThread().isInterrupted()) { - LOG.info( - "Fetcher thread found no matching datasets in project: " - + currentProjectToScan); - continue; - } - - LOG.fine("Processing found datasets for project: " + currentProjectToScan); - for (Dataset dataset : datasetsInProject) { - if (Thread.currentThread().isInterrupted()) { - LOG.warning( - "Schema fetcher interrupted during dataset iteration for project: " - + currentProjectToScan); - break; - } - processSchemaInfo(dataset, collectedResults, localResultSchemaFields); - } + processSchemaInfo(dataset, collectedResults, localResultSchemaFields); } - if (!Thread.currentThread().isInterrupted()) { - Comparator comparator = - defineGetSchemasComparator(localResultSchemaFields); - sortResults(collectedResults, comparator, "getSchemas", LOG); - } - - if (!Thread.currentThread().isInterrupted()) { - populateQueue(collectedResults, queue, localResultSchemaFields); - } + Comparator comparator = + defineGetSchemasComparator(localResultSchemaFields); + sortResults(collectedResults, comparator, "getSchemas", LOG); + populateQueue(collectedResults, queue, localResultSchemaFields); } catch (Throwable t) { - LOG.severe("Unexpected error in schema fetcher runnable: " + t.getMessage()); + handleFetcherException(t, queue, "getSchemas"); } finally { - signalEndOfData(queue, localResultSchemaFields); - LOG.info("Schema fetcher thread finished."); + finalizeFetcher(queue, localResultSchemaFields, "Multi-schema fetcher"); } }; - Thread fetcherThread = new Thread(schemaFetcher, "getSchemas-fetcher-" + catalog); + Future fetcherFuture = connection.getExecutorService().submit(multiSchemaFetcher); BigQueryJsonResultSet resultSet = - BigQueryJsonResultSet.of(resultSchema, -1, queue, null, new Thread[] {fetcherThread}); + BigQueryJsonResultSet.of(resultSchema, -1, queue, null, fetcherFuture); - fetcherThread.start(); - LOG.info("Started background thread for getSchemas"); + LOG.info("Submitted background task for multi-catalog getSchemas to query executor"); return resultSet; } @@ -3832,7 +3587,7 @@ public ResultSet getClientInfoProperties() { signalEndOfData(queue, resultSchemaFields); } return BigQueryJsonResultSet.of( - resultSchema, collectedResults.size(), queue, null, new Thread[0]); + resultSchema, collectedResults.size(), queue, null, new Future[0]); } Schema defineGetClientInfoPropertiesSchema() { @@ -3858,11 +3613,11 @@ Schema defineGetClientInfoPropertiesSchema() { @Override public ResultSet getFunctions(String catalog, String schemaPattern, String functionNamePattern) { - if ((catalog == null || catalog.isEmpty()) + if ((catalog != null && catalog.isEmpty()) || (schemaPattern != null && schemaPattern.isEmpty()) || (functionNamePattern != null && functionNamePattern.isEmpty())) { LOG.warning( - "Returning empty ResultSet as catalog is null/empty or a pattern is empty for" + "Returning empty ResultSet as catalog is empty or a pattern is empty for" + " getFunctions."); return new BigQueryJsonResultSet(); } @@ -3878,36 +3633,24 @@ public ResultSet getFunctions(String catalog, String schemaPattern, String funct final BlockingQueue queue = new LinkedBlockingQueue<>(DEFAULT_QUEUE_CAPACITY); final List collectedResults = Collections.synchronizedList(new ArrayList<>()); - final List> processingTaskFutures = new ArrayList<>(); final String catalogParam = catalog; Runnable functionFetcher = () -> { ExecutorService apiExecutor = null; - ExecutorService routineProcessorExecutor = null; final FieldList localResultSchemaFields = resultSchemaFields; final List>> apiFutures = new ArrayList<>(); try { List datasetsToScan = - findMatchingBigQueryObjects( - "Dataset", - () -> - bigquery.listDatasets( - catalogParam, DatasetListOption.pageSize(DEFAULT_PAGE_SIZE)), - (name) -> bigquery.getDataset(DatasetId.of(catalogParam, name)), - (ds) -> ds.getDatasetId().getDataset(), - schemaPattern, - schemaRegex, - LOG); + fetchMatchingDatasets(catalogParam, schemaPattern, schemaRegex); if (datasetsToScan.isEmpty()) { LOG.info("Fetcher thread found no matching datasets. Returning empty resultset."); return; } - apiExecutor = Executors.newFixedThreadPool(API_EXECUTOR_POOL_SIZE); - routineProcessorExecutor = Executors.newFixedThreadPool(this.metadataFetchThreadCount); + apiExecutor = connection.getMetadataExecutor(); for (Dataset dataset : datasetsToScan) { if (Thread.currentThread().isInterrupted()) { @@ -3945,7 +3688,6 @@ public ResultSet getFunctions(String catalog, String schemaPattern, String funct "Finished submitting " + apiFutures.size() + " findMatchingRoutines (for functions) tasks."); - apiExecutor.shutdown(); for (Future> apiFuture : apiFutures) { if (Thread.currentThread().isInterrupted()) { @@ -3963,17 +3705,11 @@ public ResultSet getFunctions(String catalog, String schemaPattern, String funct if ("SCALAR_FUNCTION".equalsIgnoreCase(routineType) || "TABLE_FUNCTION".equalsIgnoreCase(routineType)) { LOG.fine( - "Submitting processing task for function: " + "Processing function sequentially: " + routine.getRoutineId() + " of type " + routineType); - final Routine finalRoutine = routine; - Future processFuture = - routineProcessorExecutor.submit( - () -> - processFunctionInfo( - finalRoutine, collectedResults, localResultSchemaFields)); - processingTaskFutures.add(processFuture); + processFunctionInfo(routine, collectedResults, localResultSchemaFields); } } } @@ -3982,34 +3718,27 @@ public ResultSet getFunctions(String catalog, String schemaPattern, String funct LOG.warning( "Function fetcher thread interrupted while waiting for API future result."); break; - } catch (ExecutionException | CancellationException e) { + } catch (CancellationException e) { LOG.warning( - "Error or cancellation in findMatchingRoutines (for functions) task: " - + e.getMessage()); + "Cancellation in findMatchingRoutines (for functions) task: " + e.getMessage()); } } - waitForTasksCompletion(processingTaskFutures); Comparator comparator = defineGetFunctionsComparator(localResultSchemaFields); sortResults(collectedResults, comparator, "getFunctions", LOG); populateQueue(collectedResults, queue, localResultSchemaFields); } catch (Throwable t) { - LOG.severe("Unexpected error in function fetcher runnable: " + t.getMessage()); - apiFutures.forEach(f -> f.cancel(true)); - processingTaskFutures.forEach(f -> f.cancel(true)); + handleFetcherException(t, queue, "getFunctions"); } finally { - signalEndOfData(queue, localResultSchemaFields); - shutdownExecutor(apiExecutor); - shutdownExecutor(routineProcessorExecutor); - LOG.info("Function fetcher thread finished."); + apiFutures.forEach(f -> f.cancel(true)); + finalizeFetcher(queue, localResultSchemaFields, "Function fetcher"); } }; - Thread fetcherThread = new Thread(functionFetcher, "getFunctions-fetcher-" + catalog); + Future fetcherFuture = connection.getExecutorService().submit(functionFetcher); BigQueryJsonResultSet resultSet = - BigQueryJsonResultSet.of(resultSchema, -1, queue, null, new Thread[] {fetcherThread}); + BigQueryJsonResultSet.of(resultSchema, -1, queue, null, fetcherFuture); - fetcherThread.start(); LOG.info("Started background thread for getFunctions"); return resultSet; } @@ -4105,8 +3834,8 @@ Comparator defineGetFunctionsComparator(FieldList resultSchemaFi @Override public ResultSet getFunctionColumns( String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern) { - if (catalog == null || catalog.isEmpty()) { - LOG.warning("Returning empty ResultSet catalog (project) is null or empty."); + if (catalog != null && catalog.isEmpty()) { + LOG.warning("Returning empty ResultSet catalog (project) is empty."); return new BigQueryJsonResultSet(); } if ((schemaPattern != null && schemaPattern.isEmpty()) @@ -4130,29 +3859,16 @@ public ResultSet getFunctionColumns( final BlockingQueue queue = new LinkedBlockingQueue<>(DEFAULT_QUEUE_CAPACITY); final List collectedResults = Collections.synchronizedList(new ArrayList<>()); - final List> processingTaskFutures = new ArrayList<>(); final String catalogParam = catalog; Runnable functionColumnFetcher = () -> { ExecutorService listRoutinesExecutor = null; ExecutorService getRoutineDetailsExecutor = null; - ExecutorService processParamsExecutor = null; - final String fetcherThreadNameSuffix = - "-" + catalogParam.substring(0, Math.min(10, catalogParam.length())); try { List datasetsToScan = - findMatchingBigQueryObjects( - "Dataset", - () -> - bigquery.listDatasets( - catalogParam, DatasetListOption.pageSize(DEFAULT_PAGE_SIZE)), - (name) -> bigquery.getDataset(DatasetId.of(catalogParam, name)), - (ds) -> ds.getDatasetId().getDataset(), - schemaPattern, - schemaRegex, - LOG); + fetchMatchingDatasets(catalogParam, schemaPattern, schemaRegex); if (datasetsToScan.isEmpty() || Thread.currentThread().isInterrupted()) { LOG.info( @@ -4160,10 +3876,7 @@ public ResultSet getFunctionColumns( return; } - listRoutinesExecutor = - Executors.newFixedThreadPool( - API_EXECUTOR_POOL_SIZE, - runnable -> new Thread(runnable, "funcol-list-rout" + fetcherThreadNameSuffix)); + listRoutinesExecutor = connection.getMetadataExecutor(); List functionIdsToGet = listMatchingFunctionIdsFromDatasets( datasetsToScan, @@ -4172,7 +3885,6 @@ public ResultSet getFunctionColumns( listRoutinesExecutor, catalogParam, LOG); - shutdownExecutor(listRoutinesExecutor); listRoutinesExecutor = null; if (functionIdsToGet.isEmpty() || Thread.currentThread().isInterrupted()) { @@ -4180,14 +3892,9 @@ public ResultSet getFunctionColumns( return; } - getRoutineDetailsExecutor = - Executors.newFixedThreadPool( - this.metadataFetchThreadCount, - runnable -> - new Thread(runnable, "funcol-get-details" + fetcherThreadNameSuffix)); + getRoutineDetailsExecutor = connection.getMetadataExecutor(); List fullFunctions = fetchFullRoutineDetailsForIds(functionIdsToGet, getRoutineDetailsExecutor, LOG); - shutdownExecutor(getRoutineDetailsExecutor); getRoutineDetailsExecutor = null; if (fullFunctions.isEmpty() || Thread.currentThread().isInterrupted()) { @@ -4196,74 +3903,25 @@ public ResultSet getFunctionColumns( return; } - processParamsExecutor = - Executors.newFixedThreadPool( - this.metadataFetchThreadCount, - runnable -> - new Thread(runnable, "funcol-proc-params" + fetcherThreadNameSuffix)); - submitFunctionParameterProcessingJobs( - fullFunctions, - columnNameRegex, - collectedResults, - resultSchemaFields, - processParamsExecutor, - processingTaskFutures, - LOG); - - if (Thread.currentThread().isInterrupted()) { - LOG.warning( - "Fetcher: Interrupted before waiting for parameter processing. Catalog: " - + catalogParam); - processingTaskFutures.forEach(f -> f.cancel(true)); - } else { - LOG.fine( - "Fetcher: Waiting for " - + processingTaskFutures.size() - + " parameter processing tasks. Catalog: " - + catalogParam); - waitForTasksCompletion(processingTaskFutures); - LOG.fine( - "Fetcher: All parameter processing tasks completed or handled. Catalog: " - + catalogParam); - } + processFunctionParametersSequentially( + fullFunctions, columnNameRegex, collectedResults, resultSchemaFields, LOG); - if (!Thread.currentThread().isInterrupted()) { - Comparator comparator = - defineGetFunctionColumnsComparator(resultSchemaFields); - sortResults(collectedResults, comparator, "getFunctionColumns", LOG); - populateQueue(collectedResults, queue, resultSchemaFields); - } + Comparator comparator = + defineGetFunctionColumnsComparator(resultSchemaFields); + sortResults(collectedResults, comparator, "getFunctionColumns", LOG); + populateQueue(collectedResults, queue, resultSchemaFields); - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - LOG.warning( - "Fetcher: Interrupted in main try block for catalog " - + catalogParam - + ". Error: " - + e.getMessage()); - processingTaskFutures.forEach(f -> f.cancel(true)); } catch (Throwable t) { - LOG.severe( - "Fetcher: Unexpected error in main try block for catalog " - + catalogParam - + ". Error: " - + t.getMessage()); - processingTaskFutures.forEach(f -> f.cancel(true)); + handleFetcherException(t, queue, "getFunctionColumns"); } finally { - signalEndOfData(queue, resultSchemaFields); - if (listRoutinesExecutor != null) shutdownExecutor(listRoutinesExecutor); - if (getRoutineDetailsExecutor != null) shutdownExecutor(getRoutineDetailsExecutor); - if (processParamsExecutor != null) shutdownExecutor(processParamsExecutor); - LOG.info("Function column fetcher thread finished for catalog: " + catalogParam); + finalizeFetcher(queue, resultSchemaFields, "Function column fetcher"); } }; - Thread fetcherThread = - new Thread(functionColumnFetcher, "getFunctionColumns-fetcher-" + catalog); + Future fetcherFuture = connection.getExecutorService().submit(functionColumnFetcher); BigQueryJsonResultSet resultSet = - BigQueryJsonResultSet.of(resultSchema, -1, queue, null, new Thread[] {fetcherThread}); + BigQueryJsonResultSet.of(resultSchema, -1, queue, null, fetcherFuture); - fetcherThread.start(); LOG.info("Started background thread for getFunctionColumns for catalog: " + catalog); return resultSet; } @@ -4342,7 +4000,7 @@ List listMatchingFunctionIdsFromDatasets( ExecutorService listRoutinesExecutor, String catalogParam, BigQueryJdbcCustomLogger logger) - throws InterruptedException { + throws InterruptedException, ExecutionException { logger.fine( "Listing matching function IDs from %d datasets for catalog '%s'.", @@ -4407,12 +4065,6 @@ List listMatchingFunctionIdsFromDatasets( } } } - } catch (ExecutionException e) { - logger.warning( - "Error getting routine (function) list result for catalog " - + catalogParam - + ": " - + e.getCause()); } catch (CancellationException e) { logger.warning("Routine (function) list task cancelled for catalog: " + catalogParam); } @@ -4423,37 +4075,27 @@ List listMatchingFunctionIdsFromDatasets( return functionIdsToGet; } - void submitFunctionParameterProcessingJobs( + void processFunctionParametersSequentially( List fullFunctions, Pattern columnNameRegex, List collectedResults, FieldList resultSchemaFields, - ExecutorService processParamsExecutor, - List> outParameterProcessingFutures, BigQueryJdbcCustomLogger logger) throws InterruptedException { - logger.fine("Submitting parameter processing jobs for %d functions.", fullFunctions.size()); + logger.fine("Processing parameter jobs sequentially for %d functions.", fullFunctions.size()); for (Routine fullFunction : fullFunctions) { if (Thread.currentThread().isInterrupted()) { - logger.warning("Interrupted during submission of function parameter processing tasks."); + logger.warning("Interrupted during function parameter processing."); throw new InterruptedException( - "Interrupted while submitting function parameter processing jobs"); + "Interrupted while processing function parameters sequentially"); } if (fullFunction != null) { String routineType = fullFunction.getRoutineType(); if ("SCALAR_FUNCTION".equalsIgnoreCase(routineType) || "TABLE_FUNCTION".equalsIgnoreCase(routineType)) { - final Routine finalFullFunction = fullFunction; - Future processFuture = - processParamsExecutor.submit( - () -> - processFunctionParametersAndReturnValue( - finalFullFunction, - columnNameRegex, - collectedResults, - resultSchemaFields)); - outParameterProcessingFutures.add(processFuture); + processFunctionParametersAndReturnValue( + fullFunction, columnNameRegex, collectedResults, resultSchemaFields); } else { logger.warning( "Routine " @@ -4466,10 +4108,6 @@ void submitFunctionParameterProcessingJobs( } } } - logger.fine( - "Finished submitting " - + outParameterProcessingFutures.size() - + " processFunctionParametersAndReturnValue tasks."); } void processFunctionParametersAndReturnValue( @@ -4668,7 +4306,7 @@ public ResultSet getPseudoColumns( final BlockingQueue queue = new LinkedBlockingQueue<>(1); signalEndOfData(queue, resultSchemaFields); - return BigQueryJsonResultSet.of(resultSchema, 0, queue, null, null); + return BigQueryJsonResultSet.of(resultSchema, 0, queue, null); } Schema defineGetPseudoColumnsSchema() { @@ -4773,28 +4411,25 @@ private Tuple determineEffectiveCatalogAndSchema( // We only use the dataset part of the DefaultDataset for schema filtering String defaultSchemaFromConnection = this.connection.getDefaultDataset().getDataset(); - boolean catalogIsNullOrEmptyOrWildcard = - (catalog == null || catalog.isEmpty() || catalog.equals("%")); - boolean schemaPatternIsNullOrEmptyOrWildcard = - (schemaPattern == null || schemaPattern.isEmpty() || schemaPattern.equals("%")); + boolean catalogIsUnspecified = (effectiveCatalog == null || effectiveCatalog.equals("%")); + boolean schemaIsUnspecified = + (effectiveSchemaPattern == null || effectiveSchemaPattern.equals("%")); final String logPrefix = "FilterTablesOnDefaultDatasetTrue: "; - if (catalogIsNullOrEmptyOrWildcard && schemaPatternIsNullOrEmptyOrWildcard) { + if (catalogIsUnspecified && schemaIsUnspecified) { effectiveCatalog = defaultProjectFromConnection; effectiveSchemaPattern = defaultSchemaFromConnection; LOG.info( logPrefix + "Using default catalog '%s' and default dataset '%s'.", effectiveCatalog, effectiveSchemaPattern); - } else if (catalogIsNullOrEmptyOrWildcard) { - effectiveCatalog = defaultProjectFromConnection; + } else if (catalogIsUnspecified) { + effectiveCatalog = null; LOG.info( - logPrefix - + "Using default catalog '%s' with user dataset '%s'. Default dataset '%s' ignored.", - effectiveCatalog, + logPrefix + "Using all catalogs with user dataset '%s'. Default dataset '%s' ignored.", effectiveSchemaPattern, defaultSchemaFromConnection); - } else if (schemaPatternIsNullOrEmptyOrWildcard) { + } else if (schemaIsUnspecified) { effectiveSchemaPattern = defaultSchemaFromConnection; LOG.info( logPrefix + "Using user catalog '%s' and default dataset '%s'.", @@ -4831,7 +4466,8 @@ List findMatchingBigQueryObjects( Function nameExtractor, String pattern, Pattern regex, - BigQueryJdbcCustomLogger logger) { + BigQueryJdbcCustomLogger logger) + throws InterruptedException { boolean needsList = needsListing(pattern); List resultList = new ArrayList<>(); @@ -4885,14 +4521,17 @@ List findMatchingBigQueryObjects( logger.warning( "BigQueryException finding %ss for pattern '%s': %s (Code: %d)", objectTypeName, pattern, e.getMessage(), e.getCode()); + throw e; } } catch (InterruptedException e) { Thread.currentThread().interrupt(); logger.warning("Interrupted while finding " + objectTypeName + "s."); + throw e; } catch (Exception e) { logger.severe( "Unexpected exception finding %ss for pattern '%s': %s", objectTypeName, pattern, e.getMessage()); + throw new RuntimeException(e); } return resultList; } @@ -5087,7 +4726,7 @@ private Long getLongValueOrNull(FieldValueList fvl, int index) { } } - private void waitForTasksCompletion(List> taskFutures) { + private void waitForTasksCompletion(List> taskFutures) throws ExecutionException { LOG.info("Waiting for %d submitted tasks to complete...", taskFutures.size()); for (Future future : taskFutures) { try { @@ -5096,10 +4735,6 @@ private void waitForTasksCompletion(List> taskFutures) { } } catch (CancellationException e) { LOG.warning("A table processing task was cancelled."); - } catch (ExecutionException e) { - LOG.severe( - "Error executing table processing task: %s", - (e.getCause() != null ? e.getCause().getMessage() : e.getMessage())); } catch (InterruptedException e) { Thread.currentThread().interrupt(); LOG.warning( @@ -5134,51 +4769,125 @@ private void populateQueue( } } + private void handleFetcherException( + Throwable t, BlockingQueue queue, String fetcherName) { + if (t instanceof ExecutionException && t.getCause() != null) { + t = t.getCause(); + } + if (t instanceof InterruptedException) { + Thread.currentThread().interrupt(); + LOG.warning("Fetcher interrupted in " + fetcherName + ": " + t.getMessage()); + } else { + LOG.severe("Unexpected error in " + fetcherName + ": " + t.getMessage()); + } + writeErrorToQueue(queue, t); + } + + private void finalizeFetcher( + BlockingQueue queue, FieldList schema, String fetcherName) { + if (Thread.currentThread().isInterrupted()) { + writeErrorToQueue(queue, new SQLException("Metadata fetch interrupted.")); + } + signalEndOfData(queue, schema); + LOG.info(fetcherName + " finished."); + } + private void signalEndOfData( BlockingQueue queue, FieldList resultSchemaFields) { try { LOG.info("Adding end signal to queue."); - queue.put(BigQueryFieldValueListWrapper.of(resultSchemaFields, null, true)); + BigQueryFieldValueListWrapper element = + BigQueryFieldValueListWrapper.of(resultSchemaFields, null, true); + if (!queue.offer(element)) { + boolean wasInterrupted = Thread.interrupted(); + try { + queue.put(element); + } catch (InterruptedException e) { + LOG.warning("Interrupted while sending end signal to queue."); + wasInterrupted = true; + } finally { + if (wasInterrupted) { + Thread.currentThread().interrupt(); + } + } + } + } catch (Exception e) { + LOG.severe("Exception while sending end signal to queue: " + e.getMessage()); + } + } + + private List fetchDatasetsForProject( + String project, String schemaPattern, Pattern schemaRegex) throws SQLException { + try { + List datasets = + findMatchingBigQueryObjects( + "Dataset", + () -> bigquery.listDatasets(project, DatasetListOption.pageSize(DEFAULT_PAGE_SIZE)), + (name) -> bigquery.getDataset(DatasetId.of(project, name)), + (ds) -> ds.getDatasetId().getDataset(), + schemaPattern, + schemaRegex, + LOG); + return datasets != null ? datasets : Collections.emptyList(); } catch (InterruptedException e) { Thread.currentThread().interrupt(); - LOG.warning("Interrupted while sending end signal to queue."); + throw new SQLException( + "Interrupted while fetching matching datasets for project " + project, e); } catch (Exception e) { - LOG.severe("Exception while sending end signal to queue: " + e.getMessage()); + throw new SQLException("Failed to fetch matching datasets for project " + project, e); } } - private void shutdownExecutor(ExecutorService executor) { - if (executor == null || executor.isShutdown()) { - return; + private List fetchMatchingDatasets( + String catalog, String schemaPattern, Pattern schemaRegex) throws SQLException { + List projects = + (catalog != null) ? Collections.singletonList(catalog) : getAccessibleCatalogNames(); + + if (projects.isEmpty()) { + return Collections.emptyList(); } - LOG.info("Shutting down column executor service..."); - executor.shutdown(); + + // Single project path + if (projects.size() == 1) { + return fetchDatasetsForProject(projects.get(0), schemaPattern, schemaRegex); + } + + // Multi-project path + final List allDatasets = Collections.synchronizedList(new ArrayList<>()); + final List> taskFutures = new ArrayList<>(); + ExecutorService executor = connection.getMetadataExecutor(); + try { - if (!executor.awaitTermination(10, TimeUnit.SECONDS)) { - LOG.warning("Executor did not terminate gracefully after 10s, forcing shutdownNow()."); - List droppedTasks = executor.shutdownNow(); - LOG.warning( - "Executor shutdownNow() initiated. Dropped tasks count: " + droppedTasks.size()); - if (!executor.awaitTermination(10, TimeUnit.SECONDS)) { - LOG.severe("Executor did not terminate even after shutdownNow()."); - } + for (String project : projects) { + Callable task = + () -> { + List datasets = fetchDatasetsForProject(project, schemaPattern, schemaRegex); + allDatasets.addAll(datasets); + return null; + }; + taskFutures.add(executor.submit(task)); } - LOG.info("Executor shutdown complete."); - } catch (InterruptedException ie) { - LOG.warning( - "Interrupted while waiting for executor termination. Forcing shutdownNow() again."); - executor.shutdownNow(); - Thread.currentThread().interrupt(); + + waitForTasksCompletion(taskFutures); + if (Thread.currentThread().isInterrupted()) { + throw new SQLException("Interrupted while parallel-fetching matching datasets"); + } + } catch (ExecutionException e) { + Throwable cause = e.getCause(); + if (cause instanceof SQLException) { + throw (SQLException) cause; + } + throw new SQLException("Error parallel-fetching matching datasets", e); + } finally { + taskFutures.forEach(f -> f.cancel(true)); } - } - private String getCurrentCatalogName() { - return this.connection.getCatalog(); + return allDatasets; } - private List getAccessibleCatalogNames() { + private List getAccessibleCatalogNames() throws SQLException { Set accessibleCatalogs = new HashSet<>(); - String primaryCatalog = getCurrentCatalogName(); + String primaryCatalog = this.connection.getCatalog(); if (primaryCatalog != null && !primaryCatalog.isEmpty()) { accessibleCatalogs.add(primaryCatalog); } @@ -5197,6 +4906,10 @@ private List getAccessibleCatalogNames() { } } + if (this.connection.isEnableProjectDiscovery()) { + accessibleCatalogs.addAll(this.connection.getDiscoveredProjects()); + } + List sortedCatalogs = new ArrayList<>(accessibleCatalogs); Collections.sort(sortedCatalogs); return sortedCatalogs; @@ -5220,48 +4933,21 @@ String replaceSqlParameters(String sql, String... params) throws SQLException { return String.format(sql, (Object[]) params); } - private void loadDriverVersionProperties() { - if (parsedDriverVersion.get() != null) { - return; - } - Properties props = new Properties(); - try (InputStream input = - getClass().getResourceAsStream("/com/google/cloud/bigquery/jdbc/dependencies.properties")) { - if (input == null) { - String errorMessage = - "Could not find dependencies.properties. Driver version information is unavailable."; - IllegalStateException ex = new IllegalStateException(errorMessage); - LOG.severe(errorMessage, ex); - throw ex; - } - props.load(input); - String versionString = props.getProperty("version.jdbc"); - if (versionString == null || versionString.trim().isEmpty()) { - String errorMessage = - "The property version.jdbc not found or empty in dependencies.properties."; - IllegalStateException ex = new IllegalStateException(errorMessage); - LOG.severe(errorMessage, ex); - throw ex; - } - parsedDriverVersion.compareAndSet(null, versionString.trim()); - String[] parts = versionString.split("\\."); - if (parts.length < 2) { - return; - } - parsedDriverMajorVersion.compareAndSet(null, Integer.parseInt(parts[0])); - String minorPart = parts[1]; - String numericMinor = minorPart.replaceAll("[^0-9].*", ""); - if (!numericMinor.isEmpty()) { - parsedDriverMinorVersion.compareAndSet(null, Integer.parseInt(numericMinor)); + private void writeErrorToQueue(BlockingQueue queue, Throwable t) { + Exception ex = (t instanceof Exception) ? (Exception) t : new Exception(t); + BigQueryFieldValueListWrapper element = BigQueryFieldValueListWrapper.ofError(ex); + if (!queue.offer(element)) { + boolean wasInterrupted = Thread.interrupted(); + try { + queue.put(element); + } catch (InterruptedException ie) { + LOG.warning("Failed to put exception to queue due to interruption."); + wasInterrupted = true; + } finally { + if (wasInterrupted) { + Thread.currentThread().interrupt(); + } } - } catch (IOException | NumberFormatException e) { - String errorMessage = - "Error reading dependencies.properties. Driver version information is" - + " unavailable. Error: " - + e.getMessage(); - IllegalStateException ex = new IllegalStateException(errorMessage, e); - LOG.severe(errorMessage, ex); - throw ex; } } } diff --git a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryDriver.java b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryDriver.java index 15058ff01bd9..8c032dc79b14 100644 --- a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryDriver.java +++ b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryDriver.java @@ -18,6 +18,7 @@ import com.google.cloud.bigquery.exception.BigQueryJdbcException; import com.google.cloud.bigquery.exception.BigQueryJdbcRuntimeException; +import com.google.cloud.bigquery.jdbc.utils.BigQueryJdbcVersionUtility; import io.grpc.LoadBalancerRegistry; import io.grpc.internal.PickFirstLoadBalancerProvider; import java.io.IOException; @@ -55,9 +56,6 @@ public class BigQueryDriver implements Driver { private static final BigQueryJdbcCustomLogger LOG = new BigQueryJdbcCustomLogger(BigQueryDriver.class.getName()); - // TODO: update this when JDBC goes GA - private static final int JDBC_MAJOR_VERSION = 0; - private static final int JDBC_MINOR_VERSION = 1; static BigQueryDriver registeredBigqueryJdbcDriver; static { @@ -243,13 +241,13 @@ public DriverPropertyInfo[] getPropertyInfo(String url, Properties info) { @Override public int getMajorVersion() { LOG.finest("++enter++"); - return JDBC_MAJOR_VERSION; + return BigQueryJdbcVersionUtility.getDriverMajorVersion(); } @Override public int getMinorVersion() { LOG.finest("++enter++"); - return JDBC_MINOR_VERSION; + return BigQueryJdbcVersionUtility.getDriverMinorVersion(); } @Override diff --git a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java index 1e3287b8b2fc..254cdc5cc2fa 100644 --- a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java +++ b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdc.java @@ -26,9 +26,13 @@ import java.util.concurrent.ThreadFactory; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicBoolean; /** Lightweight MDC implementation for the BigQuery JDBC driver using InheritableThreadLocal. */ class BigQueryJdbcMdc { + private static final BigQueryJdbcCustomLogger LOG = + new BigQueryJdbcCustomLogger(BigQueryJdbcMdc.class.getName()); + private static final InheritableThreadLocal currentConnectionId = new InheritableThreadLocal<>(); @@ -55,44 +59,76 @@ static void clear() { * Creates a new fixed thread pool ExecutorService that automatically propagates MDC connection * context from the submitting thread to the executing thread. */ - static ExecutorService newFixedThreadPool(int nThreads, ThreadFactory threadFactory) { - return new MdcThreadPoolExecutor( - nThreads, - nThreads, - 0L, - TimeUnit.MILLISECONDS, - new LinkedBlockingQueue<>(), - new MdcThreadFactory(threadFactory)); + static ExecutorService newFixedThreadPool( + String threadName, int nThreads, ThreadFactory threadFactory) { + MdcThreadPoolExecutor executor = + new MdcThreadPoolExecutor( + threadName, + nThreads, + nThreads, + 60L, + TimeUnit.SECONDS, + new LinkedBlockingQueue<>(), + new MdcThreadFactory(threadFactory, threadName)); + executor.allowCoreThreadTimeOut(true); + return executor; + } + + static ExecutorService newFixedThreadPool(String threadName, int nThreads) { + return newFixedThreadPool(threadName, nThreads, Executors.defaultThreadFactory()); } /** - * Creates a new fixed thread pool ExecutorService that automatically propagates MDC connection + * Creates a new cached thread pool ExecutorService that automatically propagates MDC connection * context from the submitting thread to the executing thread. */ - static ExecutorService newFixedThreadPool(int nThreads) { - return newFixedThreadPool(nThreads, Executors.defaultThreadFactory()); + static ExecutorService newCachedThreadPool(String threadName, ThreadFactory threadFactory) { + return new MdcThreadPoolExecutor( + threadName, + 0, + Integer.MAX_VALUE, + 60L, + TimeUnit.SECONDS, + new java.util.concurrent.SynchronousQueue<>(), + new MdcThreadFactory(threadFactory, threadName)); + } + + static ExecutorService newCachedThreadPool(String threadName) { + return newCachedThreadPool(threadName, Executors.defaultThreadFactory()); } private static class MdcThreadFactory implements ThreadFactory { private final ThreadFactory delegate; + private final String threadName; + private final java.util.concurrent.atomic.AtomicInteger count = + new java.util.concurrent.atomic.AtomicInteger(1); - public MdcThreadFactory(ThreadFactory delegate) { + public MdcThreadFactory(ThreadFactory delegate, String threadName) { this.delegate = delegate; + this.threadName = threadName; } @Override public Thread newThread(Runnable r) { - return delegate.newThread( - () -> { - clear(); - r.run(); - }); + Thread t = + delegate.newThread( + () -> { + clear(); + r.run(); + }); + if (t != null) { + t.setDaemon(true); + t.setName(threadName + "-" + count.getAndIncrement()); + } + return t; } } private static class MdcThreadPoolExecutor extends ThreadPoolExecutor { + private final String poolName; public MdcThreadPoolExecutor( + String poolName, int corePoolSize, int maximumPoolSize, long keepAliveTime, @@ -100,6 +136,30 @@ public MdcThreadPoolExecutor( BlockingQueue workQueue, ThreadFactory threadFactory) { super(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, threadFactory); + this.poolName = poolName; + } + + private final AtomicBoolean warningLogged = new AtomicBoolean(false); + + private void monitorQueueSaturation(int queueSize) { + int maxPoolSize = getMaximumPoolSize(); + // Warn when queue size is >= maxPoolSize * 5, with a minimum of 10 tasks to avoid false + // alerts for tiny pools + int warnThreshold = Math.max(10, maxPoolSize * 5); + // Recovery reset threshold is maxPoolSize * 2, with a minimum of 4 tasks + int recoveryThreshold = Math.max(4, maxPoolSize * 2); + + if (queueSize >= warnThreshold) { + if (warningLogged.compareAndSet(false, true)) { + LOG.warning( + "[%s] Thread pool is saturating. Max pool size: %d, Active threads: %d, Queued tasks: %d. Consider increasing the metadataFetchThreadCount property.", + poolName, maxPoolSize, getActiveCount(), queueSize); + } + } else if (queueSize <= recoveryThreshold) { + if (warningLogged.get()) { + warningLogged.set(false); + } + } } @Override @@ -107,6 +167,9 @@ public void execute(Runnable command) { if (command == null) { throw new NullPointerException(); } + + monitorQueueSaturation(getQueue().size()); + if (command instanceof MdcFutureTask) { super.execute(command); } else { diff --git a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcOAuthUtility.java b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcOAuthUtility.java index 0b9166d4cda2..d2236a7ad90b 100644 --- a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcOAuthUtility.java +++ b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcOAuthUtility.java @@ -21,6 +21,7 @@ import com.google.api.client.util.PemReader; import com.google.api.client.util.SecurityUtils; +import com.google.auth.http.HttpTransportFactory; import com.google.auth.oauth2.AccessToken; import com.google.auth.oauth2.ClientId; import com.google.auth.oauth2.ExternalAccountCredentials; @@ -51,6 +52,7 @@ import java.net.URI; import java.net.URISyntaxException; import java.net.URL; +import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; import java.security.GeneralSecurityException; @@ -262,6 +264,7 @@ static GoogleCredentials getCredentials( Map authProperties, Map overrideProperties, Boolean reqGoogleDriveScopeBool, + HttpTransportFactory httpTransportFactory, String callerClassName) { LOG.finer("++enter++\t" + callerClassName); @@ -272,21 +275,26 @@ static GoogleCredentials getCredentials( switch (authType) { case GOOGLE_SERVICE_ACCOUNT: credentials = - getGoogleServiceAccountCredentials(authProperties, overrideProperties, callerClassName); + getGoogleServiceAccountCredentials( + authProperties, overrideProperties, httpTransportFactory, callerClassName); break; case GOOGLE_USER_ACCOUNT: credentials = - getGoogleUserAccountCredentials(authProperties, overrideProperties, callerClassName); + getGoogleUserAccountCredentials( + authProperties, overrideProperties, httpTransportFactory, callerClassName); break; case PRE_GENERATED_TOKEN: credentials = - getPreGeneratedTokensCredentials(authProperties, overrideProperties, callerClassName); + getPreGeneratedTokensCredentials( + authProperties, overrideProperties, httpTransportFactory, callerClassName); break; case APPLICATION_DEFAULT_CREDENTIALS: - credentials = getApplicationDefaultCredentials(callerClassName); + credentials = getApplicationDefaultCredentials(httpTransportFactory, callerClassName); break; case EXTERNAL_ACCOUNT_AUTH: - credentials = getExternalAccountAuthCredentials(authProperties, callerClassName); + credentials = + getExternalAccountAuthCredentials( + authProperties, httpTransportFactory, callerClassName); break; default: IllegalStateException ex = new IllegalStateException(OAUTH_TYPE_ERROR_MESSAGE); @@ -295,7 +303,7 @@ static GoogleCredentials getCredentials( } return getServiceAccountImpersonatedCredentials( - credentials, reqGoogleDriveScopeBool, authProperties); + credentials, reqGoogleDriveScopeBool, authProperties, httpTransportFactory); } private static boolean isFileExists(String filename) { @@ -326,6 +334,7 @@ private static boolean isJson(byte[] value) { private static GoogleCredentials getGoogleServiceAccountCredentials( Map authProperties, Map overrideProperties, + HttpTransportFactory httpTransportFactory, String callerClassName) { LOG.finer("++enter++\t" + callerClassName); @@ -370,6 +379,10 @@ private static GoogleCredentials getGoogleServiceAccountCredentials( throw new BigQueryJdbcRuntimeException("No valid credentials provided."); } + if (httpTransportFactory != null) { + builder.setHttpTransportFactory(httpTransportFactory); + } + if (overrideProperties.containsKey(BigQueryJdbcUrlUtility.OAUTH2_TOKEN_URI_PROPERTY_NAME)) { builder.setTokenServerUri( new URI(overrideProperties.get(BigQueryJdbcUrlUtility.OAUTH2_TOKEN_URI_PROPERTY_NAME))); @@ -391,6 +404,7 @@ static UserAuthorizer getUserAuthorizer( Map authProperties, Map overrideProperties, int port, + HttpTransportFactory httpTransportFactory, String callerClassName) throws URISyntaxException { LOG.finer("++enter++\t" + callerClassName); @@ -411,6 +425,10 @@ static UserAuthorizer getUserAuthorizer( .setScopes(scopes) .setCallbackUri(URI.create("http://localhost:" + port)); + if (httpTransportFactory != null) { + userAuthorizerBuilder.setHttpTransportFactory(httpTransportFactory); + } + if (overrideProperties.containsKey(BigQueryJdbcUrlUtility.OAUTH2_TOKEN_URI_PROPERTY_NAME)) { userAuthorizerBuilder.setTokenServerUri( new URI(overrideProperties.get(BigQueryJdbcUrlUtility.OAUTH2_TOKEN_URI_PROPERTY_NAME))); @@ -420,14 +438,23 @@ static UserAuthorizer getUserAuthorizer( } static UserCredentials getCredentialsFromCode( - UserAuthorizer userAuthorizer, String code, String callerClassName) throws IOException { + UserAuthorizer userAuthorizer, + String code, + HttpTransportFactory httpTransportFactory, + String callerClassName) + throws IOException { LOG.finer("++enter++\t" + callerClassName); - return userAuthorizer.getCredentialsFromCode(code, URI.create("")); + UserCredentials credentials = userAuthorizer.getCredentialsFromCode(code, URI.create("")); + if (httpTransportFactory != null) { + credentials = credentials.toBuilder().setHttpTransportFactory(httpTransportFactory).build(); + } + return credentials; } private static GoogleCredentials getGoogleUserAccountCredentials( Map authProperties, Map overrideProperties, + HttpTransportFactory httpTransportFactory, String callerClassName) { LOG.finer("++enter++\t" + callerClassName); try { @@ -435,7 +462,8 @@ private static GoogleCredentials getGoogleUserAccountCredentials( serverSocket.setSoTimeout(USER_AUTH_TIMEOUT_MS); int port = serverSocket.getLocalPort(); UserAuthorizer userAuthorizer = - getUserAuthorizer(authProperties, overrideProperties, port, callerClassName); + getUserAuthorizer( + authProperties, overrideProperties, port, httpTransportFactory, callerClassName); URL authURL = userAuthorizer.getAuthorizationUrl("user", "", URI.create("")); String code; @@ -468,7 +496,7 @@ private static GoogleCredentials getGoogleUserAccountCredentials( throw new BigQueryJdbcRuntimeException("User auth only supported in desktop environments"); } - return getCredentialsFromCode(userAuthorizer, code, callerClassName); + return getCredentialsFromCode(userAuthorizer, code, httpTransportFactory, callerClassName); } catch (IOException | URISyntaxException ex) { throw new BigQueryJdbcRuntimeException( "Failed to establish connection using User Account authentication", ex); @@ -503,12 +531,13 @@ private static GoogleCredentials getPreGeneratedAccessTokenCredentials( static GoogleCredentials getPreGeneratedTokensCredentials( Map authProperties, Map overrideProperties, + HttpTransportFactory httpTransportFactory, String callerClassName) { LOG.finer("++enter++\t" + callerClassName); if (authProperties.containsKey(BigQueryJdbcUrlUtility.OAUTH_REFRESH_TOKEN_PROPERTY_NAME)) { try { return getPreGeneratedRefreshTokenCredentials( - authProperties, overrideProperties, callerClassName); + authProperties, overrideProperties, httpTransportFactory, callerClassName); } catch (URISyntaxException ex) { throw new BigQueryJdbcRuntimeException( "URISyntaxException during getPreGeneratedTokensCredentials", ex); @@ -522,6 +551,7 @@ static GoogleCredentials getPreGeneratedTokensCredentials( static UserCredentials getPreGeneratedRefreshTokenCredentials( Map authProperties, Map overrideProperties, + HttpTransportFactory httpTransportFactory, String callerClassName) throws URISyntaxException { LOG.finer("++enter++\t" + callerClassName); @@ -534,6 +564,10 @@ static UserCredentials getPreGeneratedRefreshTokenCredentials( .setClientSecret( authProperties.get(BigQueryJdbcUrlUtility.OAUTH_CLIENT_SECRET_PROPERTY_NAME)); + if (httpTransportFactory != null) { + userCredentialsBuilder.setHttpTransportFactory(httpTransportFactory); + } + if (overrideProperties.containsKey(BigQueryJdbcUrlUtility.OAUTH2_TOKEN_URI_PROPERTY_NAME)) { userCredentialsBuilder.setTokenServerUri( new URI(overrideProperties.get(BigQueryJdbcUrlUtility.OAUTH2_TOKEN_URI_PROPERTY_NAME))); @@ -548,10 +582,14 @@ static UserCredentials getPreGeneratedRefreshTokenCredentials( return userCredentialsBuilder.build(); } - private static GoogleCredentials getApplicationDefaultCredentials(String callerClassName) { + private static GoogleCredentials getApplicationDefaultCredentials( + HttpTransportFactory httpTransportFactory, String callerClassName) { LOG.finer("++enter++\t" + callerClassName); try { - GoogleCredentials credentials = GoogleCredentials.getApplicationDefault(); + GoogleCredentials credentials = + httpTransportFactory != null + ? GoogleCredentials.getApplicationDefault(httpTransportFactory) + : GoogleCredentials.getApplicationDefault(); String principal = "unknown"; if (credentials instanceof ServiceAccountCredentials) { principal = ((ServiceAccountCredentials) credentials).getClientEmail(); @@ -572,7 +610,9 @@ private static GoogleCredentials getApplicationDefaultCredentials(String callerC } private static GoogleCredentials getExternalAccountAuthCredentials( - Map authProperties, String callerClassName) { + Map authProperties, + HttpTransportFactory httpTransportFactory, + String callerClassName) { LOG.finer("++enter++\t" + callerClassName); try { JsonObject jsonObject = null; @@ -609,18 +649,28 @@ private static GoogleCredentials getExternalAccountAuthCredentials( } } + ExternalAccountCredentials credentials; if (credentialsPath != null) { - return ExternalAccountCredentials.fromStream( - Files.newInputStream(Paths.get(credentialsPath))); + try (InputStream stream = Files.newInputStream(Paths.get(credentialsPath))) { + credentials = + httpTransportFactory != null + ? ExternalAccountCredentials.fromStream(stream, httpTransportFactory) + : ExternalAccountCredentials.fromStream(stream); + } } else if (jsonObject != null) { - return ExternalAccountCredentials.fromStream( - new ByteArrayInputStream(jsonObject.toString().getBytes())); + InputStream stream = + new ByteArrayInputStream(jsonObject.toString().getBytes(StandardCharsets.UTF_8)); + credentials = + httpTransportFactory != null + ? ExternalAccountCredentials.fromStream(stream, httpTransportFactory) + : ExternalAccountCredentials.fromStream(stream); } else { IllegalArgumentException ex = new IllegalArgumentException("Insufficient info provided for external authentication"); LOG.severe(ex.getMessage(), ex); throw ex; } + return credentials; } catch (IOException e) { throw new BigQueryJdbcRuntimeException( "IOException during getExternalAccountAuthCredentials", e); @@ -634,7 +684,8 @@ private static GoogleCredentials getExternalAccountAuthCredentials( private static GoogleCredentials getServiceAccountImpersonatedCredentials( GoogleCredentials credentials, Boolean reqGoogleDriveScopeBool, - Map authProperties) { + Map authProperties, + HttpTransportFactory httpTransportFactory) { String impersonationEmail = authProperties.get(BigQueryJdbcUrlUtility.OAUTH_SA_IMPERSONATION_EMAIL_PROPERTY_NAME); @@ -684,6 +735,15 @@ private static GoogleCredentials getServiceAccountImpersonatedCredentials( throw ex; } + if (httpTransportFactory != null) { + return ImpersonatedCredentials.create( + credentials, + impersonationEmail, + impersonationChain, + impersonationScopes, + impersonationLifetimeInt, + httpTransportFactory); + } return ImpersonatedCredentials.create( credentials, impersonationEmail, diff --git a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcProxyUtility.java b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcProxyUtility.java index 7c495e801537..983eda9760f8 100644 --- a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcProxyUtility.java +++ b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcProxyUtility.java @@ -20,6 +20,7 @@ import com.google.api.client.http.HttpTransport; import com.google.api.client.http.apache.v5.Apache5HttpTransport; +import com.google.api.client.http.javanet.NetHttpTransport; import com.google.api.gax.rpc.TransportChannelProvider; import com.google.auth.http.HttpTransportFactory; import com.google.cloud.bigquery.exception.BigQueryJdbcRuntimeException; @@ -58,6 +59,7 @@ final class BigQueryJdbcProxyUtility { new BigQueryJdbcCustomLogger(BigQueryJdbcProxyUtility.class.getName()); static final String validPortRegex = "^([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$"; + private static final HttpTransport DEFAULT_TRANSPORT = new NetHttpTransport.Builder().build(); private BigQueryJdbcProxyUtility() {} @@ -136,17 +138,14 @@ static HttpTransportOptions getHttpTransportOptions( boolean hasProxyOrSsl = proxyProperties.containsKey(BigQueryJdbcUrlUtility.PROXY_HOST_PROPERTY_NAME) || sslTrustStorePath != null; - boolean hasTimeoutConfig = connectTimeout != null || readTimeout != null; - - if (!hasProxyOrSsl && !hasTimeoutConfig) { - return null; - } HttpTransportOptions.Builder httpTransportOptionsBuilder = HttpTransportOptions.newBuilder(); if (hasProxyOrSsl) { httpTransportOptionsBuilder.setHttpTransportFactory( getHttpTransportFactory( proxyProperties, sslTrustStorePath, sslTrustStorePassword, callerClassName)); + } else { + httpTransportOptionsBuilder.setHttpTransportFactory(() -> DEFAULT_TRANSPORT); } if (connectTimeout != null) { @@ -178,9 +177,8 @@ private static HttpTransportFactory getHttpTransportFactory( HttpRoutePlanner httpRoutePlanner = new DefaultProxyRoutePlanner(proxyHostDetails); httpClientBuilder.setRoutePlanner(httpRoutePlanner); addAuthToProxyIfPresent(proxyProperties, httpClientBuilder, callerClassName); - } else { - httpClientBuilder.useSystemProperties(); } + httpClientBuilder.useSystemProperties(); if (sslTrustStorePath != null) { try (FileInputStream trustStoreStream = new FileInputStream(sslTrustStorePath)) { diff --git a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcUrlUtility.java b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcUrlUtility.java index 0a19bed7a2c8..a46a4eecd4f7 100644 --- a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcUrlUtility.java +++ b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcUrlUtility.java @@ -142,6 +142,7 @@ protected boolean removeEldestEntry(Map.Entry> eldes Pattern.CASE_INSENSITIVE); static final String METADATA_FETCH_THREAD_COUNT_PROPERTY_NAME = "MetaDataFetchThreadCount"; static final int DEFAULT_METADATA_FETCH_THREAD_COUNT_VALUE = 32; + static final String RETRY_TIMEOUT_IN_SECS_PROPERTY_NAME = "Timeout"; static final long DEFAULT_RETRY_TIMEOUT_IN_SECS_VALUE = 0L; static final String JOB_TIMEOUT_PROPERTY_NAME = "JobTimeout"; @@ -167,6 +168,8 @@ protected boolean removeEldestEntry(Map.Entry> eldes static final String FILTER_TABLES_ON_DEFAULT_DATASET_PROPERTY_NAME = "FilterTablesOnDefaultDataset"; static final boolean DEFAULT_FILTER_TABLES_ON_DEFAULT_DATASET_VALUE = false; + static final String ENABLE_PROJECT_DISCOVERY_PROPERTY_NAME = "EnableProjectDiscovery"; + static final boolean DEFAULT_ENABLE_PROJECT_DISCOVERY_VALUE = false; static final String REQUEST_GOOGLE_DRIVE_SCOPE_PROPERTY_NAME = "RequestGoogleDriveScope"; static final String SSL_TRUST_STORE_PROPERTY_NAME = "SSLTrustStore"; static final String SSL_TRUST_STORE_PWD_PROPERTY_NAME = "SSLTrustStorePwd"; @@ -576,6 +579,13 @@ protected boolean removeEldestEntry(Map.Entry> eldes .setDefaultValue( String.valueOf(DEFAULT_FILTER_TABLES_ON_DEFAULT_DATASET_VALUE)) .build(), + BigQueryConnectionProperty.newBuilder() + .setName(ENABLE_PROJECT_DISCOVERY_PROPERTY_NAME) + .setDescription( + "Enables or disables automatic discovery of all accessible Google Cloud projects. " + + "When disabled, only the default ProjectId and AdditionalProjects are listed as catalogs.") + .setDefaultValue(String.valueOf(DEFAULT_ENABLE_PROJECT_DISCOVERY_VALUE)) + .build(), BigQueryConnectionProperty.newBuilder() .setName(REQUEST_GOOGLE_DRIVE_SCOPE_PROPERTY_NAME) .setDescription( diff --git a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJsonResultSet.java b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJsonResultSet.java index eeb4baf2d03e..998a189eae2b 100644 --- a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJsonResultSet.java +++ b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryJsonResultSet.java @@ -29,6 +29,7 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.util.concurrent.BlockingQueue; +import java.util.concurrent.Future; /** {@link ResultSet} Implementation for JSON datasource (Using REST APIs) */ class BigQueryJsonResultSet extends BigQueryBaseResultSet { @@ -43,7 +44,7 @@ class BigQueryJsonResultSet extends BigQueryBaseResultSet { private boolean afterLast = false; private final int fromIndex; private final int toIndexExclusive; - private final Thread[] ownedThreads; + private final Future[] ownedTasks; private BigQueryJsonResultSet( Schema schema, @@ -54,7 +55,7 @@ private BigQueryJsonResultSet( BigQueryFieldValueListWrapper cursor, int fromIndex, int toIndexExclusive, - Thread[] ownedThreads, + Future[] ownedTasks, BigQuery bigQuery, Job job) { super(bigQuery, statement, schema, isNested, job); @@ -64,7 +65,7 @@ private BigQueryJsonResultSet( this.fromIndex = fromIndex; this.toIndexExclusive = toIndexExclusive; this.nestedRowIndex = fromIndex - 1; - this.ownedThreads = ownedThreads; + this.ownedTasks = ownedTasks; } /** @@ -78,10 +79,10 @@ static BigQueryJsonResultSet of( long totalRows, BlockingQueue buffer, BigQueryStatement statement, - Thread[] ownedThreads, + Future[] ownedTasks, BigQuery bigQuery) { - return of(schema, totalRows, buffer, statement, ownedThreads, bigQuery, null); + return of(schema, totalRows, buffer, statement, ownedTasks, bigQuery, null); } static BigQueryJsonResultSet of( @@ -89,12 +90,12 @@ static BigQueryJsonResultSet of( long totalRows, BlockingQueue buffer, BigQueryStatement statement, - Thread[] ownedThreads, + Future[] ownedTasks, BigQuery bigQuery, Job job) { return new BigQueryJsonResultSet( - schema, totalRows, buffer, statement, false, null, -1, -1, ownedThreads, bigQuery, job); + schema, totalRows, buffer, statement, false, null, -1, -1, ownedTasks, bigQuery, job); } static BigQueryJsonResultSet of( @@ -102,10 +103,27 @@ static BigQueryJsonResultSet of( long totalRows, BlockingQueue buffer, BigQueryStatement statement, - Thread[] ownedThreads) { + Future[] ownedTasks) { return new BigQueryJsonResultSet( - schema, totalRows, buffer, statement, false, null, -1, -1, ownedThreads, null, null); + schema, totalRows, buffer, statement, false, null, -1, -1, ownedTasks, null, null); + } + + static BigQueryJsonResultSet of( + Schema schema, + long totalRows, + BlockingQueue buffer, + BigQueryStatement statement, + Future ownedTask) { + return of(schema, totalRows, buffer, statement, new Future[] {ownedTask}); + } + + static BigQueryJsonResultSet of( + Schema schema, + long totalRows, + BlockingQueue buffer, + BigQueryStatement statement) { + return of(schema, totalRows, buffer, statement, (Future[]) null); } BigQueryJsonResultSet() { @@ -113,7 +131,7 @@ static BigQueryJsonResultSet of( totalRows = 0; buffer = null; fromIndex = 0; - ownedThreads = new Thread[0]; + ownedTasks = new Future[0]; toIndexExclusive = 0; } @@ -291,10 +309,10 @@ private FieldValue getObjectInternal(int columnIndex) throws SQLException { public void close() { LOG.fineTrace("close", () -> String.format("Closing BigqueryJsonResultSet %s.", this)); this.isClosed = true; - if (ownedThreads != null) { - for (Thread ownedThread : ownedThreads) { - if (!ownedThread.isInterrupted()) { - ownedThread.interrupt(); + if (ownedTasks != null) { + for (Future ownedTask : ownedTasks) { + if (ownedTask != null) { + ownedTask.cancel(true); } } } diff --git a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryParameterHandler.java b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryParameterHandler.java index 8daaf99b62a8..9cb60177090c 100644 --- a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryParameterHandler.java +++ b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryParameterHandler.java @@ -284,4 +284,8 @@ StandardSQLTypeName getSqlType(String name) { } return null; } + + int getParametersArraySize() { + return this.parametersArraySize; + } } diff --git a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryPreparedStatement.java b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryPreparedStatement.java index c153b1935bb6..7e62c7fd4f69 100644 --- a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryPreparedStatement.java +++ b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryPreparedStatement.java @@ -64,8 +64,7 @@ class BigQueryPreparedStatement extends BigQueryStatement implements PreparedStatement { private final BigQueryJdbcCustomLogger LOG = new BigQueryJdbcCustomLogger(this.toString()); private static final char POSITIONAL_PARAMETER_CHAR = '?'; - // Making this protected so BigQueryCallableStatement subclass can access the parameters. - protected final BigQueryParameterHandler parameterHandler; + // parameterHandler is inherited from BigQueryStatement protected int parameterCount = 0; protected String currentQuery; private Queue> batchParameters = new LinkedList<>(); @@ -90,49 +89,22 @@ private int getParameterCount(String query) { @Override public ResultSet executeQuery() throws SQLException { - logQueryExecutionStart(this.currentQuery); - try { - QueryJobConfiguration.Builder jobConfiguration = getJobConfig(this.currentQuery); - jobConfiguration.setParameterMode("POSITIONAL"); - jobConfiguration = this.parameterHandler.configureParameters(jobConfiguration); - runQuery(this.currentQuery, jobConfiguration.build()); - } catch (InterruptedException ex) { - throw new BigQueryJdbcRuntimeException("Interrupted during executeQuery", ex); - } - return getCurrentResultSet(); + return super.executeQuery(this.currentQuery); } @Override public long executeLargeUpdate() throws SQLException { - logQueryExecutionStart(this.currentQuery); - try { - QueryJobConfiguration.Builder jobConfiguration = getJobConfig(this.currentQuery); - jobConfiguration.setParameterMode("POSITIONAL"); - jobConfiguration = this.parameterHandler.configureParameters(jobConfiguration); - runQuery(this.currentQuery, jobConfiguration.build()); - } catch (InterruptedException ex) { - throw new BigQueryJdbcRuntimeException("Interrupted during executeLargeUpdate", ex); - } - return this.currentUpdateCount; + return super.executeLargeUpdate(this.currentQuery); } @Override public int executeUpdate() throws SQLException { - return checkUpdateCount(executeLargeUpdate()); + return super.executeUpdate(this.currentQuery); } @Override public boolean execute() throws SQLException { - logQueryExecutionStart(this.currentQuery); - try { - QueryJobConfiguration.Builder jobConfiguration = getJobConfig(this.currentQuery); - jobConfiguration.setParameterMode("POSITIONAL"); - jobConfiguration = this.parameterHandler.configureParameters(jobConfiguration); - runQuery(this.currentQuery, jobConfiguration.build()); - } catch (InterruptedException ex) { - throw new BigQueryJdbcRuntimeException("Interrupted during execute", ex); - } - return getCurrentResultSet() != null; + return super.execute(this.currentQuery); } @Override diff --git a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryResultSetFinalizers.java b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryResultSetFinalizers.java index 85a00214376f..57f764979f53 100644 --- a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryResultSetFinalizers.java +++ b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryResultSetFinalizers.java @@ -19,6 +19,7 @@ import com.google.api.core.InternalApi; import java.lang.ref.PhantomReference; import java.lang.ref.ReferenceQueue; +import java.util.concurrent.Future; @InternalApi class BigQueryResultSetFinalizers { @@ -27,45 +28,43 @@ class BigQueryResultSetFinalizers { @InternalApi static class ArrowResultSetFinalizer extends PhantomReference { - Thread ownedThread; + Future ownedTask; public ArrowResultSetFinalizer( BigQueryArrowResultSet referent, ReferenceQueue q, - Thread ownedThread) { + Future ownedTask) { super(referent, q); - this.ownedThread = ownedThread; + this.ownedTask = ownedTask; } // Free resources. Remove all the hard refs public void finalizeResources() { LOG.finestTrace("finalizeResources"); - if (ownedThread != null && !ownedThread.isInterrupted()) { - ownedThread.interrupt(); + if (ownedTask != null) { + ownedTask.cancel(true); } } } @InternalApi static class JsonResultSetFinalizer extends PhantomReference { - Thread[] ownedThreads; + Future[] ownedTasks; public JsonResultSetFinalizer( BigQueryJsonResultSet referent, ReferenceQueue q, - Thread[] ownedThreads) { + Future[] ownedTasks) { super(referent, q); - this.ownedThreads = ownedThreads; + this.ownedTasks = ownedTasks; } // Free resources. Remove all the hard refs public void finalizeResources() { LOG.finestTrace("finalizeResources"); - if (ownedThreads != null) { - for (Thread ownedThread : ownedThreads) { - if (!ownedThread.isInterrupted()) { - ownedThread.interrupt(); - } + if (ownedTasks != null) { + for (Future ownedTask : ownedTasks) { + ownedTask.cancel(true); } } } diff --git a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryStatement.java b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryStatement.java index 0d4d94175b8d..6f8a5d71deb0 100644 --- a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryStatement.java +++ b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/BigQueryStatement.java @@ -76,8 +76,9 @@ import java.util.UUID; import java.util.concurrent.BlockingQueue; import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; +import java.util.concurrent.Future; import java.util.concurrent.LinkedBlockingDeque; +import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.ThreadFactory; import java.util.logging.Level; @@ -90,10 +91,6 @@ */ public class BigQueryStatement extends BigQueryNoOpsStatement { - // TODO (obada): Update this after benchmarking - private static final int MAX_PROCESS_QUERY_THREADS_CNT = 50; - protected static ExecutorService queryTaskExecutor = - Executors.newFixedThreadPool(MAX_PROCESS_QUERY_THREADS_CNT); private final BigQueryJdbcCustomLogger LOG = new BigQueryJdbcCustomLogger(this.toString()); public static final int DEFAULT_BUFFER_SIZE = BigQuerySettings.DEFAULT_NUM_BUFFERED_ROWS * 2; private static final String DEFAULT_DATASET_NAME = "_google_jdbc"; @@ -108,6 +105,7 @@ public class BigQueryStatement extends BigQueryNoOpsStatement { protected int currentJobIdIndex = -1; protected List batchQueries = new ArrayList<>(); protected BigQueryConnection connection; + protected BigQueryParameterHandler parameterHandler = null; protected String connectionId; protected int maxFieldSize = 0; protected int maxRows = 0; @@ -245,9 +243,10 @@ public ResultSet executeQuery(String sql) throws SQLException { private ResultSet executeQueryImpl(String sql) throws SQLException { logQueryExecutionStart(sql); try { - QueryJobConfiguration jobConfiguration = - setDestinationDatasetAndTableInJobConfig(getJobConfig(sql).build()); - runQuery(sql, jobConfiguration); + QueryJobConfiguration.Builder jobConfiguration = getJobConfig(sql); + jobConfiguration = applyParametersIfPresent(jobConfiguration); + jobConfiguration = setDestinationDatasetAndTableInJobConfig(jobConfiguration); + runQuery(sql, jobConfiguration.build()); } catch (InterruptedException ex) { throw new BigQueryJdbcException("Interrupted during executeQuery", ex); } @@ -269,6 +268,7 @@ private long executeLargeUpdateImpl(String sql) throws SQLException { logQueryExecutionStart(sql); try { QueryJobConfiguration.Builder jobConfiguration = getJobConfig(sql); + jobConfiguration = applyParametersIfPresent(jobConfiguration); runQuery(sql, jobConfiguration.build()); } catch (InterruptedException ex) { throw new BigQueryJdbcRuntimeException("Interrupted during executeLargeUpdate", ex); @@ -304,12 +304,13 @@ public boolean execute(String sql) throws SQLException { private boolean executeImpl(String sql) throws SQLException { logQueryExecutionStart(sql); try { - QueryJobConfiguration jobConfiguration = getJobConfig(sql).build(); - // If Large Results are enabled, ensure query type is SELECT - if (isLargeResultsEnabled() && getQueryType(jobConfiguration, null) == SqlType.SELECT) { + QueryJobConfiguration.Builder jobConfiguration = getJobConfig(sql); + jobConfiguration = applyParametersIfPresent(jobConfiguration); + if (isLargeResultsEnabled() + && getQueryType(jobConfiguration.build(), null) == SqlType.SELECT) { jobConfiguration = setDestinationDatasetAndTableInJobConfig(jobConfiguration); } - runQuery(sql, jobConfiguration); + runQuery(sql, jobConfiguration.build()); } catch (InterruptedException ex) { throw new BigQueryJdbcRuntimeException("Interrupted during execute", ex); } @@ -525,9 +526,6 @@ private void closeStatementResources() throws SQLException { this.currentUpdateCount = -1; this.currentJobIdIndex = -1; if (this.connection != null) { - if (this.connection.isTransactionStarted()) { - this.connection.rollback(); - } this.connection.removeStatement(this); } } @@ -626,35 +624,43 @@ void runQuery(String query, QueryJobConfiguration jobConfiguration) } } - private boolean isLargeResultsEnabled() { + protected QueryJobConfiguration.Builder applyParametersIfPresent( + QueryJobConfiguration.Builder jobConfigurationBuilder) throws SQLException { + if (this.parameterHandler != null && this.parameterHandler.getParametersArraySize() > 0) { + jobConfigurationBuilder.setParameterMode("POSITIONAL"); + jobConfigurationBuilder = this.parameterHandler.configureParameters(jobConfigurationBuilder); + } + return jobConfigurationBuilder; + } + + boolean isLargeResultsEnabled() { String destinationTable = this.querySettings.getDestinationTable(); String destinationDataset = this.querySettings.getDestinationDataset(); return destinationDataset != null || destinationTable != null; } - private QueryJobConfiguration setDestinationDatasetAndTableInJobConfig( - QueryJobConfiguration jobConfiguration) { + QueryJobConfiguration.Builder setDestinationDatasetAndTableInJobConfig( + QueryJobConfiguration.Builder jobConfigurationBuilder) { String destinationTable = this.querySettings.getDestinationTable(); String destinationDataset = this.querySettings.getDestinationDataset(); if (destinationDataset != null || destinationTable != null) { if (destinationDataset != null) { checkIfDatasetExistElseCreate(destinationDataset); } - if (jobConfiguration.useLegacySql() && destinationDataset == null) { + if (getUseLegacySql() && destinationDataset == null) { checkIfDatasetExistElseCreate(DEFAULT_DATASET_NAME); destinationDataset = DEFAULT_DATASET_NAME; } if (destinationTable == null) { destinationTable = getDefaultDestinationTable(); } - return jobConfiguration.toBuilder() + return jobConfigurationBuilder .setAllowLargeResults(this.querySettings.getAllowLargeResults()) .setDestinationTable(TableId.of(destinationDataset, destinationTable)) .setCreateDisposition(JobInfo.CreateDisposition.CREATE_IF_NEEDED) - .setWriteDisposition(JobInfo.WriteDisposition.WRITE_TRUNCATE) - .build(); + .setWriteDisposition(JobInfo.WriteDisposition.WRITE_TRUNCATE); } - return jobConfiguration; + return jobConfigurationBuilder; } Job getNextJob() { @@ -813,6 +819,7 @@ ResultSet processArrowResultSet(TableResult results, Job job) throws SQLExceptio JobId currentJobId = results.getJobId(); TableId destinationTable = getDestinationTable(currentJobId); Schema schema = results.getSchema(); + Future populateBufferWorker = null; try { String parent = String.format("projects/%s", destinationTable.getProject()); String srcTable = @@ -836,9 +843,9 @@ ResultSet processArrowResultSet(TableResult results, Job job) throws SQLExceptio ReadSession readSession = getReadSession(builder.build()); this.arrowBatchWrapperBlockingQueue = new LinkedBlockingDeque<>(getBufferSize()); // deserialize and populate the buffer async, so that the client isn't blocked - Thread populateBufferWorker = + populateBufferWorker = populateArrowBufferedQueue( - readSession, this.arrowBatchWrapperBlockingQueue, this.bigQueryReadClient); + readSession, this.arrowBatchWrapperBlockingQueue, getBigQueryReadClient()); BigQueryArrowResultSet arrowResultSet = BigQueryArrowResultSet.of( @@ -857,19 +864,39 @@ ResultSet processArrowResultSet(TableResult results, Job job) throws SQLExceptio arrowResultSet.setQueryId(results.getQueryId()); return arrowResultSet; - } catch (Exception ex) { + } catch (Exception | OutOfMemoryError ex) { + if (populateBufferWorker != null) { + populateBufferWorker.cancel(true); + } + if (ex instanceof OutOfMemoryError || ex instanceof RejectedExecutionException) { + throw new BigQueryJdbcException( + "Failed to execute query: Unable to allocate background threads to process the query results. Connection-scoped thread pool limit of 100 threads was reached or system is out of memory.", + ex); + } + if (ex instanceof RuntimeException) { + throw (ex instanceof BigQueryJdbcRuntimeException) + ? (BigQueryJdbcRuntimeException) ex + : new BigQueryJdbcRuntimeException(ex); + } + if (ex instanceof SQLException) { + throw (ex instanceof BigQueryJdbcException) + ? (BigQueryJdbcException) ex + : new BigQueryJdbcException(ex); + } throw new BigQueryJdbcException(ex.getMessage(), ex); } } /** Asynchronously reads results and populates an arrow record queue */ @InternalApi - Thread populateArrowBufferedQueue( + Future populateArrowBufferedQueue( ReadSession readSession, BlockingQueue arrowBatchWrapperBlockingQueue, BigQueryReadClient bqReadClient) { LOG.finer("++enter++"); + ExecutorService executor = connection.getExecutorService(); + Runnable arrowStreamProcessor = () -> { long rowsRead = 0; @@ -890,7 +917,7 @@ Thread populateArrowBufferedQueue( com.google.api.gax.rpc.ServerStream stream = bqReadClient.readRowsCallable().call(readRowsRequest); for (ReadRowsResponse response : stream) { - if (Thread.currentThread().isInterrupted() || queryTaskExecutor.isShutdown()) { + if (Thread.currentThread().isInterrupted() || executor.isShutdown()) { break; } @@ -952,9 +979,7 @@ Thread populateArrowBufferedQueue( } }; - Thread populateBufferWorker = JDBC_THREAD_FACTORY.newThread(arrowStreamProcessor); - populateBufferWorker.start(); - return populateBufferWorker; + return executor.submit(arrowStreamProcessor); } /** Executes SQL query using either fast query path or read API */ @@ -1028,7 +1053,9 @@ private boolean meetsReadRatio(TableResult results) { return false; } - long pageSize = querySettings.getMaxResultPerPage(); + Long rowsInPage = results.getRowsInPage(); + long pageSize = + (rowsInPage != null && rowsInPage > 0) ? rowsInPage : querySettings.getMaxResultPerPage(); // Prevent division by zero due to potential overflows/empty sets: if (pageSize <= 0) { @@ -1038,8 +1065,8 @@ private boolean meetsReadRatio(TableResult results) { return totalRows / pageSize > querySettings.getHighThroughputActivationRatio(); } - BigQueryJsonResultSet processJsonResultSet(TableResult results, Job job) { - List threadList = new ArrayList(); + BigQueryJsonResultSet processJsonResultSet(TableResult results, Job job) throws SQLException { + List> taskList = new ArrayList<>(); Schema schema = results.getSchema(); long totalRows = (getMaxRows() > 0) ? getMaxRows() : results.getTotalRows(); @@ -1048,34 +1075,60 @@ BigQueryJsonResultSet processJsonResultSet(TableResult results, Job job) { new LinkedBlockingDeque<>(getPageCacheSize(getBufferSize(), schema)); JobId jobId = results.getJobId(); - if (jobId != null) { - // Thread to make rpc calls to fetch data from the server - Thread nextPageWorker = - runNextPageTaskAsync( - results, - results.getNextPageToken(), - jobId, - rpcResponseQueue, - this.bigQueryFieldValueListWrapperBlockingQueue); - threadList.add(nextPageWorker); - } else { - try { - populateFirstPage(results, rpcResponseQueue); - rpcResponseQueue.put(Tuple.of(null, false)); - } catch (InterruptedException e) { - LOG.warning( - "%s Interrupted @ processJsonQueryResponseResults: %s", - Thread.currentThread().getName(), e.getMessage()); + try { + if (jobId != null) { + // Task to make rpc calls to fetch data from the server + Future nextPageWorker = + runNextPageTaskAsync( + results, + results.getNextPageToken(), + jobId, + rpcResponseQueue, + this.bigQueryFieldValueListWrapperBlockingQueue); + taskList.add(nextPageWorker); + } else { + try { + populateFirstPage(results, rpcResponseQueue); + rpcResponseQueue.put(Tuple.of(null, false)); + } catch (InterruptedException e) { + LOG.warning( + "%s Interrupted @ processJsonQueryResponseResults: %s", + Thread.currentThread().getName(), e.getMessage()); + Thread.currentThread().interrupt(); + throw new BigQueryJdbcException("Query execution was interrupted.", e); + } } - } - // Thread to parse data received from the server to client library objects - Thread populateBufferWorker = - parseAndPopulateRpcDataAsync( - schema, this.bigQueryFieldValueListWrapperBlockingQueue, rpcResponseQueue); - threadList.add(populateBufferWorker); + // Task to parse data received from the server to client library objects + Future populateBufferWorker = + parseAndPopulateRpcDataAsync( + schema, this.bigQueryFieldValueListWrapperBlockingQueue, rpcResponseQueue); + taskList.add(populateBufferWorker); + } catch (Exception | OutOfMemoryError e) { + for (Future task : taskList) { + if (task != null) { + task.cancel(true); + } + } + if (e instanceof RejectedExecutionException || e instanceof OutOfMemoryError) { + throw new BigQueryJdbcException( + "Failed to execute query: Unable to allocate background threads to process the query results. Connection-scoped thread pool limit of 100 threads was reached or system is out of memory.", + e); + } + if (e instanceof RuntimeException) { + throw (e instanceof BigQueryJdbcRuntimeException) + ? (BigQueryJdbcRuntimeException) e + : new BigQueryJdbcRuntimeException(e); + } + if (e instanceof SQLException) { + throw (e instanceof BigQueryJdbcException) + ? (BigQueryJdbcException) e + : new BigQueryJdbcException(e); + } + throw new BigQueryJdbcException(e.getMessage(), e); + } - Thread[] jsonWorkers = threadList.toArray(new Thread[0]); + Future[] jsonWorkers = taskList.toArray(new Future[0]); BigQueryJsonResultSet jsonResultSet = BigQueryJsonResultSet.of( @@ -1118,7 +1171,7 @@ public void setFetchDirection(int direction) throws SQLException { } @VisibleForTesting - Thread runNextPageTaskAsync( + Future runNextPageTaskAsync( TableResult result, String firstPageToken, JobId jobId, @@ -1129,6 +1182,8 @@ Thread runNextPageTaskAsync( // calls populateFirstPage(result, rpcResponseQueue); + ExecutorService executor = connection.getExecutorService(); + // This thread makes the RPC calls and paginates Runnable nextPageTask = () -> { @@ -1142,7 +1197,7 @@ Thread runNextPageTaskAsync( try { while (currentPageToken != null) { // do not process further pages and shutdown - if (Thread.currentThread().isInterrupted() || queryTaskExecutor.isShutdown()) { + if (Thread.currentThread().isInterrupted() || executor.isShutdown()) { LOG.warning( "%s Interrupted @ runNextPageTaskAsync", Thread.currentThread().getName()); break; @@ -1177,9 +1232,7 @@ Thread runNextPageTaskAsync( // have finished processing the records and even that will be interrupted }; - Thread nextPageWorker = JDBC_THREAD_FACTORY.newThread(nextPageTask); - nextPageWorker.start(); - return nextPageWorker; + return executor.submit(nextPageTask); } /** @@ -1187,12 +1240,14 @@ Thread runNextPageTaskAsync( * bigQueryFieldValueListWrapperBlockingQueue with FieldValueList */ @VisibleForTesting - Thread parseAndPopulateRpcDataAsync( + Future parseAndPopulateRpcDataAsync( Schema schema, BlockingQueue bigQueryFieldValueListWrapperBlockingQueue, BlockingQueue> rpcResponseQueue) { LOG.finer("++enter++"); + ExecutorService executor = connection.getExecutorService(); + Runnable populateBufferRunnable = () -> { // producer thread populating the buffer try { @@ -1217,7 +1272,7 @@ Thread parseAndPopulateRpcDataAsync( } if (Thread.currentThread().isInterrupted() - || queryTaskExecutor.isShutdown() + || executor.isShutdown() || fieldValueLists == null) { // do not process further pages and shutdown (outerloop) break; @@ -1227,7 +1282,7 @@ Thread parseAndPopulateRpcDataAsync( long results = 0; for (FieldValueList fieldValueList : fieldValueLists) { - if (Thread.currentThread().isInterrupted() || queryTaskExecutor.isShutdown()) { + if (Thread.currentThread().isInterrupted() || executor.isShutdown()) { // do not process further pages and shutdown (inner loop) break; } @@ -1262,9 +1317,7 @@ Thread parseAndPopulateRpcDataAsync( } }; - Thread populateBufferWorker = JDBC_THREAD_FACTORY.newThread(populateBufferRunnable); - populateBufferWorker.start(); - return populateBufferWorker; + return executor.submit(populateBufferRunnable); } /** @@ -1363,23 +1416,28 @@ QueryJobConfiguration.Builder getJobConfig(String query) { if (this.querySettings.getQueryProperties() != null) { queryConfigBuilder.setConnectionProperties(this.querySettings.getQueryProperties()); } - boolean useLegacy = - QueryDialectType.BIG_QUERY.equals( - QueryDialectType.valueOf(this.querySettings.getQueryDialect())); - queryConfigBuilder.setUseLegacySql(useLegacy); + queryConfigBuilder.setUseLegacySql(getUseLegacySql()); return queryConfigBuilder; } + private boolean getUseLegacySql() { + return QueryDialectType.BIG_QUERY.equals( + QueryDialectType.valueOf(this.querySettings.getQueryDialect())); + } + private void checkIfDatasetExistElseCreate(String datasetName) { Dataset dataset = bigQuery.getDataset(DatasetId.of(datasetName)); if (dataset == null) { LOG.info("Creating a hidden dataset: %s ", datasetName); - DatasetInfo datasetInfo = + DatasetInfo.Builder datasetInfoBuilder = DatasetInfo.newBuilder(datasetName) - .setDefaultTableLifetime(this.querySettings.getDestinationDatasetExpirationTime()) - .build(); - bigQuery.create(datasetInfo); + .setDefaultTableLifetime(this.querySettings.getDestinationDatasetExpirationTime()); + String location = this.connection.getLocation(); + if (location != null && !location.isEmpty()) { + datasetInfoBuilder.setLocation(location); + } + bigQuery.create(datasetInfoBuilder.build()); } } diff --git a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/DataSource.java b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/DataSource.java index c97da7bd9ee3..e51ebeb00e90 100644 --- a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/DataSource.java +++ b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/DataSource.java @@ -84,6 +84,7 @@ public class DataSource implements javax.sql.DataSource { private Boolean enableWriteAPI; private String additionalProjects; private Boolean filterTablesOnDefaultDataset; + private Boolean enableProjectDiscovery; private Integer requestGoogleDriveScope; private Integer metadataFetchThreadCount; private String sslTrustStorePath; @@ -242,6 +243,12 @@ public class DataSource implements javax.sql.DataSource { BigQueryJdbcUrlUtility.convertIntToBoolean( val, BigQueryJdbcUrlUtility.FILTER_TABLES_ON_DEFAULT_DATASET_PROPERTY_NAME))) + .put( + BigQueryJdbcUrlUtility.ENABLE_PROJECT_DISCOVERY_PROPERTY_NAME, + (ds, val) -> + ds.setEnableProjectDiscovery( + BigQueryJdbcUrlUtility.convertIntToBoolean( + val, BigQueryJdbcUrlUtility.ENABLE_PROJECT_DISCOVERY_PROPERTY_NAME))) .put( BigQueryJdbcUrlUtility.REQUEST_GOOGLE_DRIVE_SCOPE_PROPERTY_NAME, (ds, val) -> ds.setRequestGoogleDriveScope(Integer.parseInt(val))) @@ -555,6 +562,11 @@ Properties createProperties() { BigQueryJdbcUrlUtility.FILTER_TABLES_ON_DEFAULT_DATASET_PROPERTY_NAME, String.valueOf(this.filterTablesOnDefaultDataset)); } + if (this.enableProjectDiscovery != null) { + connectionProperties.setProperty( + BigQueryJdbcUrlUtility.ENABLE_PROJECT_DISCOVERY_PROPERTY_NAME, + String.valueOf(this.enableProjectDiscovery)); + } if (this.requestGoogleDriveScope != null) { connectionProperties.setProperty( BigQueryJdbcUrlUtility.REQUEST_GOOGLE_DRIVE_SCOPE_PROPERTY_NAME, @@ -565,6 +577,7 @@ Properties createProperties() { BigQueryJdbcUrlUtility.METADATA_FETCH_THREAD_COUNT_PROPERTY_NAME, String.valueOf(this.metadataFetchThreadCount)); } + if (this.sslTrustStorePath != null) { connectionProperties.setProperty( BigQueryJdbcUrlUtility.SSL_TRUST_STORE_PROPERTY_NAME, @@ -1059,6 +1072,16 @@ public void setFilterTablesOnDefaultDataset(Boolean filterTablesOnDefaultDataset this.filterTablesOnDefaultDataset = filterTablesOnDefaultDataset; } + public Boolean getEnableProjectDiscovery() { + return enableProjectDiscovery != null + ? enableProjectDiscovery + : BigQueryJdbcUrlUtility.DEFAULT_ENABLE_PROJECT_DISCOVERY_VALUE; + } + + public void setEnableProjectDiscovery(Boolean enableProjectDiscovery) { + this.enableProjectDiscovery = enableProjectDiscovery; + } + public Integer getRequestGoogleDriveScope() { return requestGoogleDriveScope != null ? requestGoogleDriveScope @@ -1077,8 +1100,9 @@ public Integer getMetadataFetchThreadCount() { public void setMetadataFetchThreadCount(Integer metadataFetchThreadCount) { if (metadataFetchThreadCount != null) { - validateNonNegative( + validateMin( metadataFetchThreadCount, + 1, BigQueryJdbcUrlUtility.METADATA_FETCH_THREAD_COUNT_PROPERTY_NAME); } this.metadataFetchThreadCount = metadataFetchThreadCount; @@ -1387,4 +1411,13 @@ private static void validateNonNegative(long val, String propertyName) { "Invalid value for %s. It must be greater than or equal to 0.", propertyName)); } } + + /** Validates that a property value is greater than or equal to a minimum threshold. */ + private static void validateMin(long val, long min, String propertyName) { + if (val < min) { + throw new BigQueryJdbcRuntimeException( + String.format( + "Invalid value for %s. It must be greater than or equal to %d.", propertyName, min)); + } + } } diff --git a/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/utils/BigQueryJdbcVersionUtility.java b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/utils/BigQueryJdbcVersionUtility.java new file mode 100644 index 000000000000..ece2ad4bd268 --- /dev/null +++ b/java-bigquery-jdbc/src/main/java/com/google/cloud/bigquery/jdbc/utils/BigQueryJdbcVersionUtility.java @@ -0,0 +1,90 @@ +/* + * Copyright 2026 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. + */ + +package com.google.cloud.bigquery.jdbc.utils; + +import com.google.cloud.bigquery.jdbc.BigQueryJdbcCustomLogger; +import java.io.InputStream; +import java.util.Properties; + +/** Utility class to load and parse the JDBC driver version from dependencies.properties. */ +public final class BigQueryJdbcVersionUtility { + + private static final BigQueryJdbcCustomLogger LOG = + new BigQueryJdbcCustomLogger(BigQueryJdbcVersionUtility.class.getName()); + + private static final String DRIVER_VERSION; + private static final int DRIVER_MAJOR_VERSION; + private static final int DRIVER_MINOR_VERSION; + + static { + String version = "0.0.0"; + int major = 0; + int minor = 0; + try (InputStream input = + BigQueryJdbcVersionUtility.class.getResourceAsStream( + "/com/google/cloud/bigquery/jdbc/dependencies.properties")) { + if (input == null) { + throw new IllegalArgumentException( + "Could not find dependencies.properties. Driver version information is unavailable."); + } + + Properties props = new Properties(); + props.load(input); + String versionString = props.getProperty("version.jdbc"); + if (versionString == null || versionString.trim().isEmpty()) { + throw new IllegalArgumentException( + "The property version.jdbc not found or empty in dependencies.properties."); + } + + version = versionString.trim(); + String[] parts = version.split("\\."); + if (parts.length < 2) { + throw new IllegalArgumentException("Unexpected version format: " + versionString); + } + major = Integer.parseInt(parts[0]); + String minorPart = parts[1]; + String numericMinor = minorPart.replaceAll("[^0-9].*", ""); + if (!numericMinor.isEmpty()) { + minor = Integer.parseInt(numericMinor); + } + } catch (Exception e) { + LOG.severe( + "Error reading dependencies.properties. Driver version information is unavailable. Error: " + + e.getMessage(), + e); + } + DRIVER_VERSION = version; + DRIVER_MAJOR_VERSION = major; + DRIVER_MINOR_VERSION = minor; + } + + private BigQueryJdbcVersionUtility() { + // Utility class, static methods only. + } + + public static String getDriverVersion() { + return DRIVER_VERSION; + } + + public static int getDriverMajorVersion() { + return DRIVER_MAJOR_VERSION; + } + + public static int getDriverMinorVersion() { + return DRIVER_MINOR_VERSION; + } +} diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryArrowResultSetTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryArrowResultSetTest.java index 93eb573f3c35..1ffd05ff4cd6 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryArrowResultSetTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryArrowResultSetTest.java @@ -49,6 +49,7 @@ import java.util.List; import java.util.TimeZone; import java.util.concurrent.BlockingQueue; +import java.util.concurrent.Future; import java.util.concurrent.LinkedBlockingDeque; import java.util.stream.Stream; import org.apache.arrow.memory.RootAllocator; @@ -237,10 +238,10 @@ public void setUp() throws SQLException, IOException { ArrowSchema.newBuilder() .setSerializedSchema(serializeSchema(vectorSchemaRoot.getSchema())) .build(); - Thread workerThread = new Thread(); + Future workerTask = mock(Future.class); bigQueryArrowResultSet = BigQueryArrowResultSet.of( - QUERY_SCHEMA, arrowSchema, 1, statement, buffer, workerThread, null); + QUERY_SCHEMA, arrowSchema, 1, statement, buffer, workerTask, null); // nested result set data setup JsonStringArrayList jsonStringArrayList = getJsonStringArrayList(); @@ -275,17 +276,17 @@ public void testRowCount() throws SQLException, IOException { ArrowSchema.newBuilder() .setSerializedSchema(serializeSchema(vectorSchemaRoot.getSchema())) .build(); - Thread workerThread = new Thread(); + Future workerTask = mock(Future.class); // ResultSet with 1 row buffer and 1 total rows. BigQueryArrowResultSet bigQueryArrowResultSet2 = BigQueryArrowResultSet.of( - QUERY_SCHEMA, arrowSchema, 1, statement, buffer, workerThread, null); + QUERY_SCHEMA, arrowSchema, 1, statement, buffer, workerTask, null); assertThat(resultSetRowCount(bigQueryArrowResultSet2)).isEqualTo(1); // ResultSet with 2 rows buffer and 1 total rows. bigQueryArrowResultSet2 = BigQueryArrowResultSet.of( - QUERY_SCHEMA, arrowSchema, 1, statement, bufferWithTwoRows, workerThread, null); + QUERY_SCHEMA, arrowSchema, 1, statement, bufferWithTwoRows, workerTask, null); assertThat(resultSetRowCount(bigQueryArrowResultSet2)).isEqualTo(1); } diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryConnectionTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryConnectionTest.java index 94cde20fa400..47be7567406f 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryConnectionTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryConnectionTest.java @@ -23,11 +23,18 @@ import static org.junit.jupiter.api.Assertions.assertSame; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.paging.Page; import com.google.api.gax.rpc.HeaderProvider; import com.google.api.gax.rpc.TransportChannelProvider; import com.google.cloud.bigquery.BigQuery; +import com.google.cloud.bigquery.BigQueryException; +import com.google.cloud.bigquery.Project; import com.google.cloud.bigquery.QueryJobConfiguration.JobCreationMode; import com.google.cloud.bigquery.exception.BigQueryJdbcException; import com.google.cloud.bigquery.storage.v1.BigQueryReadClient; @@ -35,6 +42,8 @@ import java.io.IOException; import java.io.InputStream; import java.sql.SQLException; +import java.util.Arrays; +import java.util.List; import java.util.Optional; import java.util.Properties; import java.util.logging.Level; @@ -519,4 +528,79 @@ public void testWrapperMethods() throws Exception { assertTrue(e.getMessage().contains("Cannot unwrap to java.sql.Statement")); } } + + @Test + public void testGetDiscoveredProjects_Success() throws Exception { + try (BigQueryConnection connection = new BigQueryConnection(BASE_URL)) { + BigQuery mockBigQuery = mock(BigQuery.class); + connection.bigQuery = mockBigQuery; + + Page mockPage = mock(Page.class); + Project project1 = mock(Project.class); + when(project1.getProjectId()).thenReturn("discovered-p1"); + Project project2 = mock(Project.class); + when(project2.getProjectId()).thenReturn("discovered-p2"); + + when(mockPage.iterateAll()).thenReturn(Arrays.asList(project1, project2)); + when(mockBigQuery.listProjects()).thenReturn(mockPage); + + List discovered = connection.getDiscoveredProjects(); + assertEquals(Arrays.asList("discovered-p1", "discovered-p2"), discovered); + + // Verify caching: second call should not invoke listProjects again + List discoveredCached = connection.getDiscoveredProjects(); + assertSame(discovered, discoveredCached); + verify(mockBigQuery, times(1)).listProjects(); + } + } + + @Test + public void testGetDiscoveredProjects_BigQueryExceptionThrown() throws Exception { + try (BigQueryConnection connection = new BigQueryConnection(BASE_URL)) { + BigQuery mockBigQuery = mock(BigQuery.class); + connection.bigQuery = mockBigQuery; + + BigQueryException exception = new BigQueryException(403, "Access Denied"); + when(mockBigQuery.listProjects()).thenThrow(exception); + + // Verify that it throws BigQueryJdbcException + BigQueryJdbcException ex = + assertThrows( + BigQueryJdbcException.class, + () -> { + connection.getDiscoveredProjects(); + }); + assertTrue(ex.getMessage().contains("Failed to list all accessible projects.")); + assertEquals(exception, ex.getCause()); + + // Subsequent call should retry since no cache is set + assertThrows( + BigQueryJdbcException.class, + () -> { + connection.getDiscoveredProjects(); + }); + verify(mockBigQuery, times(2)).listProjects(); + } + } + + @Test + public void testGetDiscoveredProjects_OtherExceptionThrown() throws Exception { + try (BigQueryConnection connection = new BigQueryConnection(BASE_URL)) { + BigQuery mockBigQuery = mock(BigQuery.class); + connection.bigQuery = mockBigQuery; + + RuntimeException exception = new RuntimeException("Generic Network Failure"); + when(mockBigQuery.listProjects()).thenThrow(exception); + + // Verify that it throws BigQueryJdbcException + BigQueryJdbcException ex = + assertThrows( + BigQueryJdbcException.class, + () -> { + connection.getDiscoveredProjects(); + }); + assertTrue(ex.getMessage().contains("Failed to list all accessible projects.")); + assertEquals(exception, ex.getCause()); + } + } } diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryDatabaseMetaDataTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryDatabaseMetaDataTest.java index 58a5a7212066..2b72ed01b8a3 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryDatabaseMetaDataTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryDatabaseMetaDataTest.java @@ -46,8 +46,10 @@ import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.regex.Pattern; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; @@ -58,20 +60,31 @@ public class BigQueryDatabaseMetaDataTest { private BigQueryConnection bigQueryConnection; private BigQueryDatabaseMetaData dbMetadata; private BigQuery bigqueryClient; + private ExecutorService metadataExecutor; @BeforeEach public void setUp() throws SQLException { bigQueryConnection = mock(BigQueryConnection.class); bigqueryClient = mock(BigQuery.class); Statement mockStatement = mock(Statement.class); + metadataExecutor = Executors.newCachedThreadPool(); when(bigQueryConnection.getConnectionUrl()).thenReturn("jdbc:bigquery://test-project"); when(bigQueryConnection.getBigQuery()).thenReturn(bigqueryClient); when(bigQueryConnection.createStatement()).thenReturn(mockStatement); + when(bigQueryConnection.getMetadataExecutor()).thenReturn(metadataExecutor); + when(bigQueryConnection.getExecutorService()).thenReturn(metadataExecutor); dbMetadata = new BigQueryDatabaseMetaData(bigQueryConnection); } + @AfterEach + public void tearDown() { + if (metadataExecutor != null) { + metadataExecutor.shutdownNow(); + } + } + private Table mockBigQueryTable( String project, String dataset, String table, TableDefinition.Type type, String description) { Table mockTable = mock(Table.class); @@ -1004,7 +1017,7 @@ public void testSortResults_Procedures_EmptyList() { } @Test - public void testFindMatchingBigQueryObjects_Routines_ListWithPattern() { + public void testFindMatchingBigQueryObjects_Routines_ListWithPattern() throws Exception { String catalog = "p-cat"; String schema = "d-sch"; String pattern = "proc_%"; @@ -1050,7 +1063,7 @@ public void testFindMatchingBigQueryObjects_Routines_ListWithPattern() { } @Test - public void testFindMatchingBigQueryObjects_Routines_ListNoPattern() { + public void testFindMatchingBigQueryObjects_Routines_ListNoPattern() throws Exception { String catalog = "p-cat"; String schema = "d-sch"; String pattern = null; @@ -1089,7 +1102,7 @@ public void testFindMatchingBigQueryObjects_Routines_ListNoPattern() { } @Test - public void testFindMatchingBigQueryObjects_Routines_GetSpecific() { + public void testFindMatchingBigQueryObjects_Routines_GetSpecific() throws Exception { String catalog = "p-cat"; String schema = "d-sch"; String procNameExact = "exactprocname"; @@ -1594,7 +1607,7 @@ public void testListMatchingProcedureIdsFromDatasets() throws Exception { } @Test - public void testSubmitProcedureArgumentProcessingJobs_Basic() throws InterruptedException { + public void testProcessProcedureArgumentsSequentially_Basic() throws InterruptedException { String catalog = "p"; String schemaName = "d"; RoutineArgument arg1 = mockRoutineArgument("arg1_name", StandardSQLTypeName.STRING, "IN"); @@ -1619,32 +1632,13 @@ public void testSubmitProcedureArgumentProcessingJobs_Basic() throws Interrupted Schema resultSchema = dbMetadata.defineGetProcedureColumnsSchema(); FieldList resultSchemaFields = resultSchema.getFields(); - ExecutorService mockExecutor = mock(ExecutorService.class); - List> processingTaskFutures = new ArrayList<>(); - - // Capture the runnable submitted to the executor - List submittedRunnables = new ArrayList<>(); - doAnswer( - invocation -> { - Runnable runnable = invocation.getArgument(0); - submittedRunnables.add(runnable); - Future future = mock(Future.class); - return future; - }) - .when(mockExecutor) - .submit(any(Runnable.class)); - - dbMetadata.submitProcedureArgumentProcessingJobs( - fullRoutines, - columnNameRegex, - collectedResults, - resultSchemaFields, - mockExecutor, - processingTaskFutures, - dbMetadata.LOG); + dbMetadata.processProcedureArgumentsSequentially( + fullRoutines, columnNameRegex, collectedResults, resultSchemaFields, dbMetadata.LOG); - verify(mockExecutor, times(2)).submit(any(Runnable.class)); - assertEquals(2, processingTaskFutures.size()); + // Only proc1 has arguments, so collectedResults should contain 1 row. + assertEquals(1, collectedResults.size()); + FieldValueList row = collectedResults.get(0); + assertEquals("arg1_name", row.get("COLUMN_NAME").getStringValue()); } @Test @@ -2951,7 +2945,7 @@ public void testPrepareGetCatalogsRows() { } @Test - public void testGetSchemas_NoArgs_DelegatesCorrectly() { + public void testGetSchemas_NoArgs_DelegatesCorrectly() throws SQLException { BigQueryDatabaseMetaData spiedDbMetadata = spy(dbMetadata); ResultSet mockResultSet = mock(ResultSet.class); doReturn(mockResultSet).when(spiedDbMetadata).getSchemas(null, null); @@ -3308,4 +3302,128 @@ public void testMetadataAndResultSetMetadataTypeMappingConsistency(StandardSQLTy assertEquals( metadataTypeInfo.jdbcType, (int) resultSetType, "Type mapping mismatch for " + type); } + + @Test + public void testGetCatalogs_WithProjectDiscovery() throws SQLException { + when(bigQueryConnection.getCatalog()).thenReturn("primary-project"); + when(bigQueryConnection.isEnableProjectDiscovery()).thenReturn(true); + when(bigQueryConnection.getDiscoveredProjects()) + .thenReturn(Arrays.asList("discovered-1", "discovered-2")); + when(bigQueryConnection.getAdditionalProjects()).thenReturn("additional-1,additional-2"); + + ResultSet rs = dbMetadata.getCatalogs(); + assertNotNull(rs); + + List catalogs = new ArrayList<>(); + while (rs.next()) { + catalogs.add(rs.getString("TABLE_CAT")); + } + + assertThat(catalogs) + .containsExactly( + "additional-1", "additional-2", "discovered-1", "discovered-2", "primary-project") + .inOrder(); + } + + @Test + public void testGetCatalogs_WithoutProjectDiscovery() throws SQLException { + when(bigQueryConnection.getCatalog()).thenReturn("primary-project"); + when(bigQueryConnection.isEnableProjectDiscovery()).thenReturn(false); + when(bigQueryConnection.getDiscoveredProjects()) + .thenReturn(Arrays.asList("discovered-1", "discovered-2")); + when(bigQueryConnection.getAdditionalProjects()).thenReturn("additional-1,additional-2"); + + ResultSet rs = dbMetadata.getCatalogs(); + assertNotNull(rs); + + List catalogs = new ArrayList<>(); + while (rs.next()) { + catalogs.add(rs.getString("TABLE_CAT")); + } + + assertThat(catalogs) + .containsExactly("additional-1", "additional-2", "primary-project") + .inOrder(); + } + + @Test + public void testGetSchemas_WithProjectDiscovery() throws SQLException { + when(bigQueryConnection.getCatalog()).thenReturn("primary-project"); + when(bigQueryConnection.isEnableProjectDiscovery()).thenReturn(true); + when(bigQueryConnection.getDiscoveredProjects()).thenReturn(Arrays.asList("discovered-1")); + when(bigQueryConnection.getAdditionalProjects()).thenReturn("additional-1"); + + Page pagePrimary = mock(Page.class); + Dataset dsPrimary = mockBigQueryDataset("primary-project", "dataset_p"); + when(pagePrimary.iterateAll()).thenReturn(Collections.singletonList(dsPrimary)); + when(bigqueryClient.listDatasets(eq("primary-project"), any(BigQuery.DatasetListOption.class))) + .thenReturn(pagePrimary); + + Page pageAdditional = mock(Page.class); + Dataset dsAdditional = mockBigQueryDataset("additional-1", "dataset_a"); + when(pageAdditional.iterateAll()).thenReturn(Collections.singletonList(dsAdditional)); + when(bigqueryClient.listDatasets(eq("additional-1"), any(BigQuery.DatasetListOption.class))) + .thenReturn(pageAdditional); + + Page pageDiscovered = mock(Page.class); + Dataset dsDiscovered = mockBigQueryDataset("discovered-1", "dataset_d"); + when(pageDiscovered.iterateAll()).thenReturn(Collections.singletonList(dsDiscovered)); + when(bigqueryClient.listDatasets(eq("discovered-1"), any(BigQuery.DatasetListOption.class))) + .thenReturn(pageDiscovered); + + ResultSet rs = dbMetadata.getSchemas(null, null); + assertNotNull(rs); + + List schemas = new ArrayList<>(); + List catalogs = new ArrayList<>(); + while (rs.next()) { + schemas.add(rs.getString("TABLE_SCHEM")); + catalogs.add(rs.getString("TABLE_CATALOG")); + } + + // Results are sorted by catalog (TABLE_CATALOG) then schema (TABLE_SCHEM) + // alphabetical catalog: "additional-1", "discovered-1", "primary-project" + assertThat(catalogs) + .containsExactly("additional-1", "discovered-1", "primary-project") + .inOrder(); + assertThat(schemas).containsExactly("dataset_a", "dataset_d", "dataset_p").inOrder(); + } + + @Test + public void testGetSchemas_WithoutProjectDiscovery() throws SQLException { + when(bigQueryConnection.getCatalog()).thenReturn("primary-project"); + when(bigQueryConnection.isEnableProjectDiscovery()).thenReturn(false); + when(bigQueryConnection.getDiscoveredProjects()).thenReturn(Arrays.asList("discovered-1")); + when(bigQueryConnection.getAdditionalProjects()).thenReturn("additional-1"); + + Page pagePrimary = mock(Page.class); + Dataset dsPrimary = mockBigQueryDataset("primary-project", "dataset_p"); + when(pagePrimary.iterateAll()).thenReturn(Collections.singletonList(dsPrimary)); + when(bigqueryClient.listDatasets(eq("primary-project"), any(BigQuery.DatasetListOption.class))) + .thenReturn(pagePrimary); + + Page pageAdditional = mock(Page.class); + Dataset dsAdditional = mockBigQueryDataset("additional-1", "dataset_a"); + when(pageAdditional.iterateAll()).thenReturn(Collections.singletonList(dsAdditional)); + when(bigqueryClient.listDatasets(eq("additional-1"), any(BigQuery.DatasetListOption.class))) + .thenReturn(pageAdditional); + + ResultSet rs = dbMetadata.getSchemas(null, null); + assertNotNull(rs); + + List schemas = new ArrayList<>(); + List catalogs = new ArrayList<>(); + while (rs.next()) { + schemas.add(rs.getString("TABLE_SCHEM")); + catalogs.add(rs.getString("TABLE_CATALOG")); + } + + // Results are sorted by catalog (TABLE_CATALOG) then schema (TABLE_SCHEM) + // alphabetical catalog: "additional-1", "primary-project" (discovered-1 is ignored) + assertThat(catalogs).containsExactly("additional-1", "primary-project").inOrder(); + assertThat(schemas).containsExactly("dataset_a", "dataset_p").inOrder(); + + verify(bigqueryClient, never()) + .listDatasets(eq("discovered-1"), any(BigQuery.DatasetListOption.class)); + } } diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryDriverTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryDriverTest.java index 2a5ad5c4767c..4ed3109f9845 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryDriverTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryDriverTest.java @@ -17,6 +17,7 @@ import static com.google.common.truth.Truth.assertThat; +import com.google.cloud.bigquery.jdbc.utils.BigQueryJdbcVersionUtility; import java.sql.Connection; import java.sql.DriverPropertyInfo; import java.sql.SQLException; @@ -78,12 +79,14 @@ public void testGetPropertyInfoReturnsValidProperties() { @Test public void testGetMajorVersionMatchesDriverMajorVersion() { - assertThat(bigQueryDriver.getMajorVersion()).isEqualTo(0); + assertThat(bigQueryDriver.getMajorVersion()) + .isEqualTo(BigQueryJdbcVersionUtility.getDriverMajorVersion()); } @Test public void testGetMinorVersionMatchesDriverMinorVersion() { - assertThat(bigQueryDriver.getMinorVersion()).isEqualTo(1); + assertThat(bigQueryDriver.getMinorVersion()) + .isEqualTo(BigQueryJdbcVersionUtility.getDriverMinorVersion()); } @Test diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcBaseTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcBaseTest.java index 1ee627b8af00..8be466e8178c 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcBaseTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcBaseTest.java @@ -16,7 +16,11 @@ package com.google.cloud.bigquery.jdbc; +import com.google.cloud.bigquery.BigQuery; +import com.google.cloud.bigquery.jdbc.utils.TestUtilities; import com.google.cloud.bigquery.jdbc.utils.URIBuilder; +import java.sql.DriverManager; +import java.sql.SQLException; public class BigQueryJdbcBaseTest { @@ -42,8 +46,18 @@ public class BigQueryJdbcBaseTest { + // "-----END PRIVATE KEY-----"; + protected static BigQuery getBigQuery(String connectionUrl) { + try { + return DriverManager.getConnection(connectionUrl) + .unwrap(BigQueryConnection.class) + .getBigQuery(); + } catch (SQLException e) { + throw new RuntimeException("Failed to initialize BigQuery client", e); + } + } + protected static URIBuilder getBaseUri() { - return new URIBuilder("jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;"); + return new URIBuilder(TestUtilities.getBaseConnectionUrl()); } protected static URIBuilder getBaseUri(int authType) { diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdcTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdcTest.java index 56662c4efc3a..1194f4e580b4 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdcTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcMdcTest.java @@ -26,12 +26,13 @@ import java.util.concurrent.Future; import java.util.concurrent.FutureTask; import java.util.concurrent.RunnableFuture; +import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; -public class BigQueryJdbcMdcTest { +public class BigQueryJdbcMdcTest extends BigQueryJdbcLoggingBaseTest { @AfterEach public void tearDown() { @@ -140,7 +141,7 @@ public void testMdcCloseableClearsContext() { @Test public void testExecutorPropagatesMdc() throws Exception { BigQueryJdbcMdc.registerInstance("JdbcConnection-Executor-Test"); - ExecutorService executor = BigQueryJdbcMdc.newFixedThreadPool(2); + ExecutorService executor = BigQueryJdbcMdc.newFixedThreadPool("Metadata Fetch Pool", 2); try { // Test Runnable submission @@ -195,7 +196,7 @@ public void testExecutorPropagatesMdc() throws Exception { @Test public void testExecutorThrowsNpeOnNullCommand() { - ExecutorService executor = BigQueryJdbcMdc.newFixedThreadPool(2); + ExecutorService executor = BigQueryJdbcMdc.newFixedThreadPool("Metadata Fetch Pool", 2); try { assertThrows(NullPointerException.class, () -> executor.execute(null)); } finally { @@ -206,7 +207,7 @@ public void testExecutorThrowsNpeOnNullCommand() { @Test public void testExecutorWrapsCustomRunnableFuture() throws Exception { BigQueryJdbcMdc.registerInstance("JdbcConnection-CustomFuture-Test"); - ExecutorService executor = BigQueryJdbcMdc.newFixedThreadPool(2); + ExecutorService executor = BigQueryJdbcMdc.newFixedThreadPool("Metadata Fetch Pool", 2); try { CountDownLatch latch = new CountDownLatch(1); AtomicReference mdcVal = new AtomicReference<>(); @@ -229,7 +230,7 @@ public void testExecutorWrapsCustomRunnableFuture() throws Exception { @Test public void testPoolThreadInheritanceSevered() throws Exception { BigQueryJdbcMdc.registerInstance("JdbcConnection-ParentContext"); - ExecutorService executor = BigQueryJdbcMdc.newFixedThreadPool(1); + ExecutorService executor = BigQueryJdbcMdc.newFixedThreadPool("Metadata Fetch Pool", 1); try { CountDownLatch initLatch = new CountDownLatch(1); executor.execute(initLatch::countDown); @@ -251,4 +252,249 @@ public void testPoolThreadInheritanceSevered() throws Exception { executor.shutdownNow(); } } + + @Test + public void testNewFixedThreadPoolTimeout() { + ExecutorService exec2 = BigQueryJdbcMdc.newFixedThreadPool("Metadata Fetch Pool", 2); + ExecutorService exec3 = BigQueryJdbcMdc.newFixedThreadPool("Metadata Fetch Pool", 3); + ExecutorService exec4 = BigQueryJdbcMdc.newFixedThreadPool("Metadata Fetch Pool", 4); + ExecutorService exec5 = BigQueryJdbcMdc.newFixedThreadPool("Metadata Fetch Pool", 5); + ExecutorService exec10 = BigQueryJdbcMdc.newFixedThreadPool("Metadata Fetch Pool", 10); + + try { + assertEquals(2, ((ThreadPoolExecutor) exec2).getCorePoolSize()); + assertEquals(2, ((ThreadPoolExecutor) exec2).getMaximumPoolSize()); + assertTrue(((ThreadPoolExecutor) exec2).allowsCoreThreadTimeOut()); + assertEquals(60L, ((ThreadPoolExecutor) exec2).getKeepAliveTime(TimeUnit.SECONDS)); + + assertEquals(3, ((ThreadPoolExecutor) exec3).getCorePoolSize()); + assertEquals(3, ((ThreadPoolExecutor) exec3).getMaximumPoolSize()); + assertTrue(((ThreadPoolExecutor) exec3).allowsCoreThreadTimeOut()); + + assertEquals(4, ((ThreadPoolExecutor) exec4).getCorePoolSize()); + assertEquals(4, ((ThreadPoolExecutor) exec4).getMaximumPoolSize()); + assertTrue(((ThreadPoolExecutor) exec4).allowsCoreThreadTimeOut()); + + assertEquals(5, ((ThreadPoolExecutor) exec5).getCorePoolSize()); + assertEquals(5, ((ThreadPoolExecutor) exec5).getMaximumPoolSize()); + assertTrue(((ThreadPoolExecutor) exec5).allowsCoreThreadTimeOut()); + + assertEquals(10, ((ThreadPoolExecutor) exec10).getCorePoolSize()); + assertEquals(10, ((ThreadPoolExecutor) exec10).getMaximumPoolSize()); + assertTrue(((ThreadPoolExecutor) exec10).allowsCoreThreadTimeOut()); + } finally { + exec2.shutdownNow(); + exec3.shutdownNow(); + exec4.shutdownNow(); + exec5.shutdownNow(); + exec10.shutdownNow(); + } + } + + @Test + public void testConnectionScopedExecutorLifecycle() throws Exception { + String url1 = + "jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;" + + "OAuthType=2;ProjectId=Proj1;" + + "OAuthAccessToken=redacted;OAuthClientId=redacted;OAuthClientSecret=redacted;" + + "metadataFetchThreadCount=5;"; + String url2 = + "jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;" + + "OAuthType=2;ProjectId=Proj2;" + + "OAuthAccessToken=redacted;OAuthClientId=redacted;OAuthClientSecret=redacted;" + + "metadataFetchThreadCount=10;"; + + BigQueryConnection conn1 = new BigQueryConnection(url1); + BigQueryConnection conn2 = new BigQueryConnection(url2); + + try { + ExecutorService exec1 = conn1.getExecutorService(); + ExecutorService exec2 = conn2.getExecutorService(); + ExecutorService metadataExec1 = conn1.getMetadataExecutor(); + ExecutorService metadataExec2 = conn2.getMetadataExecutor(); + + assertTrue(exec1 != exec2); + assertTrue(exec1 instanceof ThreadPoolExecutor); + assertTrue(exec2 instanceof ThreadPoolExecutor); + assertTrue(metadataExec1 instanceof ThreadPoolExecutor); + assertTrue(metadataExec2 instanceof ThreadPoolExecutor); + + assertEquals(0, ((ThreadPoolExecutor) exec1).getCorePoolSize()); + assertEquals(Integer.MAX_VALUE, ((ThreadPoolExecutor) exec1).getMaximumPoolSize()); + assertEquals(0, ((ThreadPoolExecutor) exec2).getCorePoolSize()); + assertEquals(Integer.MAX_VALUE, ((ThreadPoolExecutor) exec2).getMaximumPoolSize()); + assertEquals(5, ((ThreadPoolExecutor) metadataExec1).getCorePoolSize()); + assertEquals(5, ((ThreadPoolExecutor) metadataExec1).getMaximumPoolSize()); + assertTrue(((ThreadPoolExecutor) metadataExec1).allowsCoreThreadTimeOut()); + assertEquals(10, ((ThreadPoolExecutor) metadataExec2).getCorePoolSize()); + assertEquals(10, ((ThreadPoolExecutor) metadataExec2).getMaximumPoolSize()); + assertTrue(((ThreadPoolExecutor) metadataExec2).allowsCoreThreadTimeOut()); + + try (BigQueryJdbcMdc.MdcCloseable mdc = + BigQueryJdbcMdc.registerInstance(conn1.getConnectionId())) { + CountDownLatch latch = new CountDownLatch(1); + AtomicReference workerMdc = new AtomicReference<>(); + exec1.execute( + () -> { + workerMdc.set(BigQueryJdbcMdc.getConnectionId()); + latch.countDown(); + }); + assertTrue(latch.await(5, TimeUnit.SECONDS)); + assertEquals(conn1.getConnectionId(), workerMdc.get()); + } + } finally { + try { + conn1.close(); + } finally { + conn2.close(); + } + } + + assertTrue(conn1.getExecutorService().isShutdown()); + assertTrue(conn1.getMetadataExecutor().isShutdown()); + assertTrue(conn2.getExecutorService().isShutdown()); + assertTrue(conn2.getMetadataExecutor().isShutdown()); + } + + @Test + public void testThreadPoolSaturatingWarning() throws Exception { + ExecutorService executor = BigQueryJdbcMdc.newFixedThreadPool("Metadata Fetch Pool", 1); + try { + CountDownLatch blockLatch = new CountDownLatch(1); + + // 1. Submit a task to occupy the single thread + executor.execute( + () -> { + try { + blockLatch.await(); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + }); + + // 2. Submit 11 tasks to fill the queue and trigger the warning threshold of 10 (Math.max(10, + // 1 * 5)) + for (int i = 0; i < 11; i++) { + executor.execute(() -> {}); + } + + blockLatch.countDown(); + + // Verify that warning was logged + assertTrue( + assertLogContains("Thread pool is saturating"), + "Warning message about thread pool saturation was not logged"); + } finally { + executor.shutdownNow(); + } + } + + @Test + public void testThreadPoolHysteresisWarning() throws Exception { + ExecutorService executor = BigQueryJdbcMdc.newFixedThreadPool("Metadata Fetch Pool", 1); + try { + CountDownLatch blockLatch1 = new CountDownLatch(1); + + // 1. Submit a task to occupy the single thread + executor.execute( + () -> { + try { + blockLatch1.await(); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + }); + + // 2. Submit 11 tasks (queue size becomes 10 upon 11th task submission) + for (int i = 0; i < 11; i++) { + executor.execute(() -> {}); + } + + // Verify that warning was logged + assertTrue( + assertLogContains("Thread pool is saturating"), + "Warning message about thread pool saturation was not logged"); + + // Clear the captured logs + capturedLogs.clear(); + + // Release the latch and wait for all tasks to complete, draining the queue to 0 (which is <= + // recovery threshold) + blockLatch1.countDown(); + + // To ensure all tasks have finished, we submit a final task and wait for its completion + CountDownLatch syncLatch = new CountDownLatch(1); + executor.execute(syncLatch::countDown); + assertTrue(syncLatch.await(5, TimeUnit.SECONDS)); + + // Now the queue is empty. Let's block the thread again and submit 11 tasks. + CountDownLatch blockLatch2 = new CountDownLatch(1); + executor.execute( + () -> { + try { + blockLatch2.await(); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + }); + + for (int i = 0; i < 11; i++) { + executor.execute(() -> {}); + } + + // Verify warning was logged a second time because the flag was reset + assertTrue( + assertLogContains("Thread pool is saturating"), + "Warning message about thread pool saturation was not logged after recovery"); + + blockLatch2.countDown(); + } finally { + executor.shutdownNow(); + } + } + + @Test + public void testThreadNaming() throws Exception { + String fixedPoolNamePrefix = "Test Fixed Pool"; + ExecutorService fixedExecutor = BigQueryJdbcMdc.newFixedThreadPool(fixedPoolNamePrefix, 1); + try { + AtomicReference threadNameRef = new AtomicReference<>(); + CountDownLatch latch = new CountDownLatch(1); + fixedExecutor.execute( + () -> { + threadNameRef.set(Thread.currentThread().getName()); + latch.countDown(); + }); + assertTrue(latch.await(5, TimeUnit.SECONDS)); + assertTrue( + threadNameRef.get().startsWith(fixedPoolNamePrefix + "-"), + "Expected thread name to start with '" + + fixedPoolNamePrefix + + "-', but was: " + + threadNameRef.get()); + } finally { + fixedExecutor.shutdownNow(); + } + + String cachedPoolNamePrefix = "Test Cached Pool"; + ExecutorService cachedExecutor = BigQueryJdbcMdc.newCachedThreadPool(cachedPoolNamePrefix); + try { + AtomicReference threadNameRef = new AtomicReference<>(); + CountDownLatch latch = new CountDownLatch(1); + cachedExecutor.execute( + () -> { + threadNameRef.set(Thread.currentThread().getName()); + latch.countDown(); + }); + assertTrue(latch.await(5, TimeUnit.SECONDS)); + assertTrue( + threadNameRef.get().startsWith(cachedPoolNamePrefix + "-"), + "Expected thread name to start with '" + + cachedPoolNamePrefix + + "-', but was: " + + threadNameRef.get()); + } finally { + cachedExecutor.shutdownNow(); + } + } } diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcOAuthUtilityTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcOAuthUtilityTest.java index f785173c00c1..1a086782e341 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcOAuthUtilityTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcOAuthUtilityTest.java @@ -22,8 +22,10 @@ import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; +import com.google.auth.http.HttpTransportFactory; import com.google.auth.oauth2.GoogleCredentials; import com.google.auth.oauth2.ImpersonatedCredentials; +import com.google.auth.oauth2.ServiceAccountCredentials; import com.google.auth.oauth2.UserAuthorizer; import com.google.auth.oauth2.UserCredentials; import com.google.cloud.bigquery.exception.BigQueryJdbcRuntimeException; @@ -108,7 +110,8 @@ public void testInvalidTokenUriForAuthType0() { DataSource.fromUrl(connectionString).getOverrideProperties(); try { - BigQueryJdbcOAuthUtility.getCredentials(oauthProperties, overrideProperties, false, null); + BigQueryJdbcOAuthUtility.getCredentials( + oauthProperties, overrideProperties, false, null, null); Assertions.fail(); } catch (BigQueryJdbcRuntimeException e) { assertThat(e.getMessage()).contains("Validation failure"); @@ -164,7 +167,8 @@ public void testGetCredentialsForPreGeneratedToken() { null); GoogleCredentials credentials = - BigQueryJdbcOAuthUtility.getCredentials(authProperties, Collections.EMPTY_MAP, false, null); + BigQueryJdbcOAuthUtility.getCredentials( + authProperties, Collections.EMPTY_MAP, false, null, null); assertThat(credentials).isNotNull(); } @@ -184,7 +188,8 @@ public void testGetCredentialsForPreGeneratedTokenTPC() throws IOException { Map overrideProperties = new HashMap<>(stringStringMap); GoogleCredentials credentials = - BigQueryJdbcOAuthUtility.getCredentials(authProperties, overrideProperties, false, null); + BigQueryJdbcOAuthUtility.getCredentials( + authProperties, overrideProperties, false, null, null); assertThat(credentials.getUniverseDomain()).isEqualTo("testDomain"); } @@ -199,7 +204,7 @@ public void testGetCredentialsForApplicationDefault() { null); GoogleCredentials credentials = - BigQueryJdbcOAuthUtility.getCredentials(authProperties, null, false, null); + BigQueryJdbcOAuthUtility.getCredentials(authProperties, null, false, null, null); assertThat(credentials).isNotNull(); } @@ -243,7 +248,7 @@ public void testGenerateUserAuthURL() { UserAuthorizer userAuthorizer = BigQueryJdbcOAuthUtility.getUserAuthorizer( - authProperties, new HashMap(), USER_AUTH_PORT, null); + authProperties, new HashMap(), USER_AUTH_PORT, null, null); String userId = "test_user"; String state = "test_state"; @@ -276,7 +281,7 @@ public void testGenerateUserAuthURLOverrideOauthEndpoint() { UserAuthorizer userAuthorizer = BigQueryJdbcOAuthUtility.getUserAuthorizer( - authProperties, overrideProperties, USER_AUTH_PORT, null); + authProperties, overrideProperties, USER_AUTH_PORT, null, null); assertThat(overrideTokenSeverURI).isEqualTo(userAuthorizer.toBuilder().getTokenServerUri()); } catch (URISyntaxException e) { @@ -317,7 +322,7 @@ public void testParseOverridePropsForRefreshTokenAuth() { UserCredentials userCredentials = BigQueryJdbcOAuthUtility.getPreGeneratedRefreshTokenCredentials( - authProperties, overrideProperties, null); + authProperties, overrideProperties, null, null); assertThat(userCredentials.toBuilder().getTokenServerUri()) .isEqualTo(URI.create("https://oauth2-private.p.googleapis.com/token")); @@ -427,7 +432,7 @@ public void testGetServiceAccountImpersonatedCredentialsForADC() throws Exceptio GoogleCredentials credentials = BigQueryJdbcOAuthUtility.getCredentials( - authProperties, java.util.Collections.EMPTY_MAP, false, null); + authProperties, java.util.Collections.EMPTY_MAP, false, null, null); assertThat(credentials).isInstanceOf(ImpersonatedCredentials.class); assertThat(((ImpersonatedCredentials) credentials).getSourceCredentials()) @@ -445,7 +450,8 @@ public void testGetServiceAccountImpersonatedCredentials() { .toString()), ""); GoogleCredentials credentials = - BigQueryJdbcOAuthUtility.getCredentials(authProperties, Collections.EMPTY_MAP, false, null); + BigQueryJdbcOAuthUtility.getCredentials( + authProperties, Collections.EMPTY_MAP, false, null, null); assertThat(credentials).isInstanceOf(ImpersonatedCredentials.class); } @@ -489,4 +495,74 @@ public void testPrivateKeyFromP12Bytes_wrong_password() { assertTrue(false); } } + + @Test + public void testGetCredentialsPropagatesHttpTransportFactory() { + Map authProperties = + BigQueryJdbcOAuthUtility.parseOAuthProperties( + DataSource.fromUrl( + "jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;" + + "ProjectId=MyBigQueryProject;OAuthType=0;" + + "OAuthServiceAcctEmail=dummytest@dummytest.iam.gserviceaccount.com;" + + "OAuthPvtKey=" + + fake_pkcs8_key + + ";"), + null); + + HttpTransportFactory dummyFactory = () -> null; + + GoogleCredentials credentials = + BigQueryJdbcOAuthUtility.getCredentials( + authProperties, Collections.emptyMap(), false, dummyFactory, null); + + assertThat(credentials).isInstanceOf(ServiceAccountCredentials.class); + assertThat(((ServiceAccountCredentials) credentials).toBuilder().getHttpTransportFactory()) + .isEqualTo(dummyFactory); + } + + @Test + public void testGetImpersonatedCredentialsPropagatesHttpTransportFactory() { + Map authProperties = + BigQueryJdbcOAuthUtility.parseOAuthProperties( + DataSource.fromUrl( + "jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;" + + "ProjectId=MyBigQueryProject;OAuthType=0;" + + "OAuthServiceAcctEmail=dummytest@dummytest.iam.gserviceaccount.com;" + + "OAuthPvtKey=" + + fake_pkcs8_key + + ";" + + "ServiceAccountImpersonationEmail=impersonated@email.com;"), + null); + + HttpTransportFactory dummyFactory = () -> null; + + GoogleCredentials credentials = + BigQueryJdbcOAuthUtility.getCredentials( + authProperties, Collections.emptyMap(), false, dummyFactory, null); + + assertThat(credentials).isInstanceOf(ImpersonatedCredentials.class); + assertThat(((ImpersonatedCredentials) credentials).toBuilder().getHttpTransportFactory()) + .isEqualTo(dummyFactory); + } + + @Test + public void testGetPreGeneratedRefreshTokenCredentialsPropagatesHttpTransportFactory() { + Map authProperties = + BigQueryJdbcOAuthUtility.parseOAuthProperties( + DataSource.fromUrl( + "jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;" + + "ProjectId=MyBigQueryProject;OAuthType=2;" + + "OAuthRefreshToken=dummy_refresh_token;OAuthClientId=dummy_client_id;OAuthClientSecret=dummy_client_secret;"), + null); + + HttpTransportFactory dummyFactory = () -> null; + + GoogleCredentials credentials = + BigQueryJdbcOAuthUtility.getCredentials( + authProperties, Collections.emptyMap(), false, dummyFactory, null); + + assertThat(credentials).isInstanceOf(UserCredentials.class); + assertThat(((UserCredentials) credentials).toBuilder().getHttpTransportFactory()) + .isEqualTo(dummyFactory); + } } diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcProxyUtilityTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcProxyUtilityTest.java index ea62166e0112..c8e613f08941 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcProxyUtilityTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcProxyUtilityTest.java @@ -161,7 +161,7 @@ public void testGetHttpTransportOptionsWithNonAuthenticatedProxy() { } @Test - public void testGetHttpTransportOptionsWithNoProxySettingsReturnsNull() { + public void testGetHttpTransportOptionsWithNoProxySettingsReturnsDefaultOptions() { String connection_uri = "jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;" + "ProjectId=TestProject" @@ -172,7 +172,8 @@ public void testGetHttpTransportOptionsWithNoProxySettingsReturnsNull() { HttpTransportOptions result = BigQueryJdbcProxyUtility.getHttpTransportOptions( proxyProperties, null, null, null, null, "TestClass"); - assertNull(result); + assertNotNull(result); + assertNotNull(result.getHttpTransportFactory()); } private String getTestResourcePath(String resourceName) throws URISyntaxException { @@ -299,11 +300,12 @@ public void testGetTransportChannelProvider_noProxyNoSsl_returnsNull() { } @Test - public void testGetHttpTransportOptions_noProxyNoSsl_returnsNull() { + public void testGetHttpTransportOptions_noProxyNoSsl_returnsDefaultOptions() { HttpTransportOptions options = BigQueryJdbcProxyUtility.getHttpTransportOptions( Collections.emptyMap(), null, null, null, null, "TestClass"); - assertNull(options); + assertNotNull(options); + assertNotNull(options.getHttpTransportFactory()); } @Test diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcUrlUtilityTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcUrlUtilityTest.java index 3a09813a035e..0bc580391b12 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcUrlUtilityTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcUrlUtilityTest.java @@ -260,4 +260,23 @@ public void testUnrecognizedConnectionProperties() { String url2 = "jdbc:bigquery://;MalformedProperty"; assertThrows(BigQueryJdbcRuntimeException.class, () -> DataSource.fromUrl(url2)); } + + @Test + public void testParseEnableProjectDiscovery() { + String url = + "jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;" + + "ProjectId=MyBigQueryProject;" + + "EnableProjectDiscovery=true"; + + String result = BigQueryJdbcUrlUtility.parseUriProperty(url, "EnableProjectDiscovery"); + assertThat(result).isEqualTo("true"); + + String url2 = + "jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;" + + "ProjectId=MyBigQueryProject;" + + "EnableProjectDiscovery=false"; + + String result2 = BigQueryJdbcUrlUtility.parseUriProperty(url2, "EnableProjectDiscovery"); + assertThat(result2).isEqualTo("false"); + } } diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJsonResultSetTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJsonResultSetTest.java index 1e9a3830cd90..b75f8493be80 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJsonResultSetTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJsonResultSetTest.java @@ -53,6 +53,7 @@ import java.time.LocalTime; import java.util.TimeZone; import java.util.concurrent.BlockingQueue; +import java.util.concurrent.Future; import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.TimeUnit; import java.util.stream.Stream; @@ -168,9 +169,9 @@ public void setUp() { statement = mock(BigQueryStatement.class); buffer.add(BigQueryFieldValueListWrapper.of(fieldList, fieldValues)); buffer.add(BigQueryFieldValueListWrapper.of(null, null, true)); // last marker - Thread[] workerThreads = {new Thread()}; + Future[] workerTasks = {mock(Future.class)}; bigQueryJsonResultSet = - BigQueryJsonResultSet.of(QUERY_SCHEMA, 1L, buffer, statement, workerThreads); + BigQueryJsonResultSet.of(QUERY_SCHEMA, 1L, buffer, statement, workerTasks); // Buffer with 2 rows. bufferWithTwoRows = new LinkedBlockingDeque<>(3); @@ -196,9 +197,9 @@ public void setUp() { private boolean resetResultSet() throws SQLException { // re-initialises the resultset and moves the cursor to the first row - Thread[] workerThreads = {new Thread()}; + Future[] workerTasks = {mock(Future.class)}; bigQueryJsonResultSet = - BigQueryJsonResultSet.of(QUERY_SCHEMA, 1L, buffer, statement, workerThreads); + BigQueryJsonResultSet.of(QUERY_SCHEMA, 1L, buffer, statement, workerTasks); return bigQueryJsonResultSet.next(); // move to the first row } @@ -214,15 +215,15 @@ public void testClose() { @Test public void testRowCount() throws SQLException { - Thread[] workerThreads = {new Thread()}; + Future[] workerTasks = {mock(Future.class)}; // ResultSet with 1 row buffer and 1 total rows. BigQueryJsonResultSet bigQueryJsonResultSet2 = - BigQueryJsonResultSet.of(QUERY_SCHEMA, 1L, buffer, statement, workerThreads); + BigQueryJsonResultSet.of(QUERY_SCHEMA, 1L, buffer, statement, workerTasks); assertThat(resultSetRowCount(bigQueryJsonResultSet2)).isEqualTo(1); // ResultSet with 2 rows buffer and 1 total rows. bigQueryJsonResultSet2 = BigQueryJsonResultSet.of( - QUERY_SCHEMA, 1L, bufferWithTwoRows, statementForTwoRows, workerThreads); + QUERY_SCHEMA, 1L, bufferWithTwoRows, statementForTwoRows, workerTasks); assertThat(resultSetRowCount(bigQueryJsonResultSet2)).isEqualTo(1); } diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryResultSetFinalizersTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryResultSetFinalizersTest.java index ee4d6047b931..460e5b68c3c5 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryResultSetFinalizersTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryResultSetFinalizersTest.java @@ -16,52 +16,33 @@ package com.google.cloud.bigquery.jdbc; -import static com.google.common.truth.Truth.assertThat; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; +import java.util.concurrent.Future; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; public class BigQueryResultSetFinalizersTest { - Thread arrowWorker; - Thread[] jsonWorkers; + Future[] jsonWorkers; @BeforeEach public void setUp() { - // create and start the demon threads - arrowWorker = - new Thread( - () -> { - while (true) { - if (Thread.currentThread().isInterrupted()) { - break; - } - } - }); - arrowWorker.setDaemon(true); - Thread jsonWorker = - new Thread( - () -> { - while (true) { - if (Thread.currentThread().isInterrupted()) { - break; - } - } - }); - jsonWorker.setDaemon(true); - jsonWorkers = new Thread[] {jsonWorker}; - arrowWorker.start(); - jsonWorker.start(); + Future mockFuture = mock(Future.class); + jsonWorkers = new Future[] {mockFuture}; } @Test public void testFinalizeResources() { + Future mockFuture = mock(Future.class); BigQueryResultSetFinalizers.ArrowResultSetFinalizer arrowResultSetFinalizer = - new BigQueryResultSetFinalizers.ArrowResultSetFinalizer(null, null, arrowWorker); + new BigQueryResultSetFinalizers.ArrowResultSetFinalizer(null, null, mockFuture); arrowResultSetFinalizer.finalizeResources(); - assertThat(arrowWorker.isInterrupted()).isTrue(); + verify(mockFuture).cancel(true); + BigQueryResultSetFinalizers.JsonResultSetFinalizer jsonResultSetFinalizer = new BigQueryResultSetFinalizers.JsonResultSetFinalizer(null, null, jsonWorkers); jsonResultSetFinalizer.finalizeResources(); - assertThat(jsonWorkers[0].isInterrupted()).isTrue(); + verify(jsonWorkers[0]).cancel(true); } } diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryResultSetMetadataTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryResultSetMetadataTest.java index b95bb0e056b5..8261a14dc981 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryResultSetMetadataTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryResultSetMetadataTest.java @@ -31,6 +31,7 @@ import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Types; +import java.util.concurrent.Future; import java.util.stream.Stream; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -84,9 +85,9 @@ public class BigQueryResultSetMetadataTest { @BeforeEach public void setUp() throws SQLException { statement = mock(BigQueryStatement.class); - Thread[] workerThreads = {new Thread()}; + Future[] workerTasks = {mock(Future.class)}; BigQueryJsonResultSet bigQueryJsonResultSet = - BigQueryJsonResultSet.of(QUERY_SCHEMA, 1L, null, statement, workerThreads); + BigQueryJsonResultSet.of(QUERY_SCHEMA, 1L, null, statement, workerTasks); // values for nested types resultSetMetaData = bigQueryJsonResultSet.getMetaData(); @@ -290,7 +291,7 @@ public void testIsSearchableForAllTypes(StandardSQLTypeName type) throws SQLExce FieldList schemaFields = FieldList.of(field); BigQueryJsonResultSet resultSet = BigQueryJsonResultSet.of( - Schema.of(schemaFields), 1L, null, statement, new Thread[] {new Thread()}); + Schema.of(schemaFields), 1L, null, statement, new Future[] {mock(Future.class)}); ResultSetMetaData metaData = resultSet.getMetaData(); assertThat(metaData.isSearchable(1)).isTrue(); } diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryStatementTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryStatementTest.java index 674eb0df64e0..761102914a8a 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryStatementTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryStatementTest.java @@ -34,6 +34,8 @@ import com.google.cloud.bigquery.BigQuery; import com.google.cloud.bigquery.BigQuery.QueryResultsOption; import com.google.cloud.bigquery.BigQueryOptions; +import com.google.cloud.bigquery.DatasetId; +import com.google.cloud.bigquery.DatasetInfo; import com.google.cloud.bigquery.Field; import com.google.cloud.bigquery.FieldList; import com.google.cloud.bigquery.FieldValueList; @@ -67,6 +69,8 @@ import java.util.Map; import java.util.UUID; import java.util.concurrent.BlockingQueue; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Future; import org.apache.arrow.memory.RootAllocator; import org.apache.arrow.vector.BitVector; import org.apache.arrow.vector.FieldVector; @@ -150,6 +154,8 @@ public void setUp() throws IOException, SQLException { .when(bigQueryConnection) .getQueryDialect(); doReturn(1000L).when(bigQueryConnection).getMaxResults(); + ExecutorService executorService = mock(ExecutorService.class); + doReturn(executorService).when(bigQueryConnection).getExecutorService(); bigQueryStatement = new BigQueryStatement(bigQueryConnection); VectorSchemaRoot vectorSchemaRoot = getTestVectorSchemaRoot(); arrowSchema = @@ -252,7 +258,7 @@ public void getArrowResultSetTest() throws SQLException { doReturn(readSession) .when(bigQueryStatementSpy) .getReadSession(any(CreateReadSessionRequest.class)); - Thread mockWorker = new Thread(); + Future mockWorker = mock(Future.class); doReturn(mockWorker) .when(bigQueryStatementSpy) .populateArrowBufferedQueue( @@ -486,6 +492,20 @@ public void testCancelWithJoblessQuery() throws SQLException, InterruptedExcepti verify(bigquery, Mockito.never()).cancel(any(JobId.class)); } + @Test + public void testCancelDoesNotRollbackTransaction() throws SQLException { + doReturn(true).when(bigQueryConnection).isTransactionStarted(); + BigQueryStatement statementSpy = Mockito.spy(bigQueryStatement); + statementSpy.jobIds.add(jobId); + + statementSpy.cancel(); + + // Cancel should call bigquery.cancel() but not rollback the transaction + verify(bigquery).cancel(eq(jobId)); + verify(bigQueryConnection, Mockito.never()).rollback(); + verify(bigQueryConnection).removeStatement(statementSpy); + } + @ParameterizedTest @ValueSource(booleans = {true, false}) public void testGetStatementType(boolean isReadOnlyTokenUsed) throws Exception { @@ -696,6 +716,86 @@ public void testWrapperMethods() throws SQLException { assertTrue(e.getMessage().contains("Cannot unwrap to java.sql.Connection")); } + @Test + public void testPreparedStatementExecuteQueryWithLargeResults() throws Exception { + // Setup connection mocks to return large results settings + doReturn(true).when(bigQueryConnection).isAllowLargeResults(); + doReturn("test_dataset").when(bigQueryConnection).getDestinationDataset(); + doReturn("test_table").when(bigQueryConnection).getDestinationTable(); + + com.google.cloud.bigquery.Dataset dataset = mock(com.google.cloud.bigquery.Dataset.class); + doReturn(dataset).when(bigquery).getDataset(any(com.google.cloud.bigquery.DatasetId.class)); + + // Create PreparedStatement + BigQueryPreparedStatement preparedStatement = + new BigQueryPreparedStatement(bigQueryConnection, query); + BigQueryPreparedStatement preparedStatementSpy = Mockito.spy(preparedStatement); + + TableResult result = Mockito.mock(TableResult.class); + BigQueryJsonResultSet jsonResultSet = mock(BigQueryJsonResultSet.class); + QueryJobConfiguration jobConfiguration = QueryJobConfiguration.newBuilder(query).build(); + Job job = getJobMock(result, jobConfiguration, StatementType.SELECT); + + doReturn(job).when(bigquery).queryWithTimeout(any(), any(), any()); + doReturn(jsonResultSet).when(preparedStatementSpy).processJsonResultSet(eq(result), any()); + + Job dryRunJob = getJobMock(null, jobConfiguration, StatementType.SELECT); + doReturn(dryRunJob).when(bigquery).create(any(JobInfo.class)); + + // Act + preparedStatementSpy.executeQuery(); + + // Assert + ArgumentCaptor captor = + ArgumentCaptor.forClass(QueryJobConfiguration.class); + verify(bigquery).queryWithTimeout(captor.capture(), any(), any()); + QueryJobConfiguration capturedConfig = captor.getValue(); + + assertThat(capturedConfig.getDestinationTable()) + .isEqualTo(TableId.of("test_dataset", "test_table")); + assertThat(capturedConfig.allowLargeResults()).isTrue(); + } + + @Test + public void testPreparedStatementExecuteWithLargeResults() throws Exception { + // Setup connection mocks to return large results settings + doReturn(true).when(bigQueryConnection).isAllowLargeResults(); + doReturn("test_dataset").when(bigQueryConnection).getDestinationDataset(); + doReturn("test_table").when(bigQueryConnection).getDestinationTable(); + + com.google.cloud.bigquery.Dataset dataset = mock(com.google.cloud.bigquery.Dataset.class); + doReturn(dataset).when(bigquery).getDataset(any(com.google.cloud.bigquery.DatasetId.class)); + + // Create PreparedStatement + BigQueryPreparedStatement preparedStatement = + new BigQueryPreparedStatement(bigQueryConnection, query); + BigQueryPreparedStatement preparedStatementSpy = Mockito.spy(preparedStatement); + + TableResult result = Mockito.mock(TableResult.class); + BigQueryJsonResultSet jsonResultSet = mock(BigQueryJsonResultSet.class); + QueryJobConfiguration jobConfiguration = QueryJobConfiguration.newBuilder(query).build(); + Job job = getJobMock(result, jobConfiguration, StatementType.SELECT); + + doReturn(job).when(bigquery).queryWithTimeout(any(), any(), any()); + doReturn(jsonResultSet).when(preparedStatementSpy).processJsonResultSet(eq(result), any()); + + Job dryRunJob = getJobMock(null, jobConfiguration, StatementType.SELECT); + doReturn(dryRunJob).when(bigquery).create(any(JobInfo.class)); + + // Act + preparedStatementSpy.execute(); + + // Assert + ArgumentCaptor captor = + ArgumentCaptor.forClass(QueryJobConfiguration.class); + verify(bigquery).queryWithTimeout(captor.capture(), any(), any()); + QueryJobConfiguration capturedConfig = captor.getValue(); + + assertThat(capturedConfig.getDestinationTable()) + .isEqualTo(TableId.of("test_dataset", "test_table")); + assertThat(capturedConfig.allowLargeResults()).isTrue(); + } + @Test public void testSetFetchSizeNegativeThrows() { org.junit.jupiter.api.Assertions.assertThrows( @@ -707,4 +807,46 @@ public void testSetAndGetFetchSize() throws SQLException { bigQueryStatement.setFetchSize(100); assertEquals(100, bigQueryStatement.getFetchSize()); } + + @Test + public void testTemporaryDatasetCreationRespectsConnectionLocation() + throws SQLException, InterruptedException { + // 1. Setup mock connection with location and destination dataset + doReturn("europe-west3").when(bigQueryConnection).getLocation(); + doReturn("temp_dataset").when(bigQueryConnection).getDestinationDataset(); + + // Re-instantiate bigQueryStatement so it regenerates querySettings with these mocked connection + // values + BigQueryStatement statement = new BigQueryStatement(bigQueryConnection); + BigQueryStatement statementSpy = Mockito.spy(statement); + + // 2. Mock bigQuery.getDataset to return null (triggering creation) + doReturn(null).when(bigquery).getDataset(eq(DatasetId.of("temp_dataset"))); + + // 2b. Mock bigQuery.create for dry run during getStatementType + Job dryRunJobMock = getJobMock(null, null, StatementType.SELECT); + doReturn(dryRunJobMock).when(bigquery).create(any(JobInfo.class)); + + // 3. Mock bigquery.queryWithTimeout(...) to return tableResult (so execution doesn't fail on + // query execution) + TableResult result = mock(TableResult.class); + doReturn(result) + .when(bigquery) + .queryWithTimeout(any(QueryJobConfiguration.class), any(JobId.class), any()); + doReturn(mock(BigQueryJsonResultSet.class)) + .when(statementSpy) + .processJsonResultSet(eq(result), any()); + + // 4. Capture DatasetInfo passed to bigQuery.create() + ArgumentCaptor datasetInfoCaptor = ArgumentCaptor.forClass(DatasetInfo.class); + + // 5. Execute query + statementSpy.executeQuery("SELECT 1"); + + // 6. Verify dataset was created with correct location + verify(bigquery).create(datasetInfoCaptor.capture()); + DatasetInfo createdDatasetInfo = datasetInfoCaptor.getValue(); + assertEquals("temp_dataset", createdDatasetInfo.getDatasetId().getDataset()); + assertEquals("europe-west3", createdDatasetInfo.getLocation()); + } } diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/DataSourceTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/DataSourceTest.java index 0e03a40ed198..f6b82211c142 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/DataSourceTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/DataSourceTest.java @@ -16,12 +16,14 @@ package com.google.cloud.bigquery.jdbc; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertSame; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; import com.google.cloud.bigquery.exception.BigQueryJdbcException; +import com.google.cloud.bigquery.exception.BigQueryJdbcRuntimeException; import java.sql.SQLException; import org.junit.jupiter.api.Test; @@ -46,4 +48,39 @@ public void testWrapperMethods() throws SQLException { BigQueryJdbcException.class, () -> dataSource.unwrap(java.sql.Connection.class)); assertTrue(e.getMessage().contains("Cannot unwrap to java.sql.Connection")); } + + @Test + public void testMetadataFetchThreadCountValidation() { + DataSource dataSource = new DataSource(); + + // Setting positive values should succeed + dataSource.setMetadataFetchThreadCount(1); + assertEquals(1, dataSource.getMetadataFetchThreadCount()); + + dataSource.setMetadataFetchThreadCount(5); + assertEquals(5, dataSource.getMetadataFetchThreadCount()); + + dataSource.setMetadataFetchThreadCount(null); // Should fallback to default + assertEquals( + BigQueryJdbcUrlUtility.DEFAULT_METADATA_FETCH_THREAD_COUNT_VALUE, + dataSource.getMetadataFetchThreadCount()); + + // Setting 0 or negative should throw BigQueryJdbcRuntimeException + BigQueryJdbcRuntimeException ex0 = + assertThrows( + BigQueryJdbcRuntimeException.class, () -> dataSource.setMetadataFetchThreadCount(0)); + assertTrue( + ex0.getMessage() + .contains( + "Invalid value for MetaDataFetchThreadCount. It must be greater than or equal to 1")); + + BigQueryJdbcRuntimeException exNeg = + assertThrows( + BigQueryJdbcRuntimeException.class, () -> dataSource.setMetadataFetchThreadCount(-5)); + assertTrue( + exNeg + .getMessage() + .contains( + "Invalid value for MetaDataFetchThreadCount. It must be greater than or equal to 1")); + } } diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/PerConnectionFileHandlerTest.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/PerConnectionFileHandlerTest.java index fda5112703fd..db77acc58342 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/PerConnectionFileHandlerTest.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/PerConnectionFileHandlerTest.java @@ -31,6 +31,7 @@ import java.sql.SQLException; import java.sql.Statement; import java.util.Optional; +import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.LogRecord; import org.junit.jupiter.api.AfterEach; @@ -195,7 +196,8 @@ public void testResultSetExceptionLogRouting() throws Exception { // Instantiate a real BigQueryJsonResultSet (which extends BigQueryBaseResultSet) // passing the mock statement carrying connectionId "c789" - BigQueryJsonResultSet rs = BigQueryJsonResultSet.of(schema, 0, null, mockStmt, new Thread[0]); + BigQueryJsonResultSet rs = + BigQueryJsonResultSet.of(schema, 0, null, mockStmt, new Future[0]); // Calling findColumn(null) throws SQLException because column label is null assertThrows(SQLException.class, () -> rs.findColumn(null)); diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITAuthTests.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITAuthTests.java index 0877553e42c0..a95a05229f9b 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITAuthTests.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITAuthTests.java @@ -25,12 +25,10 @@ import com.google.cloud.ServiceOptions; import com.google.gson.JsonObject; import com.google.gson.JsonParser; -import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; -import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; import java.sql.Connection; @@ -90,7 +88,7 @@ public void testValidServiceAccountAuthentication() throws SQLException, IOExcep Files.write(tempFile.toPath(), authJson.toString().getBytes()); String connection_uri = - "jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;" + getBaseConnectionUrl() + "ProjectId=" + authJson.get("project_id").getAsString() + ";OAuthType=0;" @@ -104,11 +102,7 @@ public void testValidServiceAccountAuthentication() throws SQLException, IOExcep @Test public void testServiceAccountAuthenticationMissingOAuthPvtKeyPath() throws SQLException { - String connection_uri = - "jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;" - + "ProjectId=" - + PROJECT_ID - + ";OAuthType=0;"; + String connection_uri = getBaseConnectionUrl() + "ProjectId=" + PROJECT_ID + ";OAuthType=0;"; try { DriverManager.getConnection(connection_uri); @@ -127,7 +121,7 @@ public void testValidServiceAccountAuthenticationOAuthPvtKeyAsPath() Files.write(tempFile.toPath(), authJson.toString().getBytes()); String connection_uri = - "jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;" + getBaseConnectionUrl() + "ProjectId=" + authJson.get("project_id").getAsString() + ";OAuthType=0;" @@ -144,7 +138,7 @@ public void testValidServiceAccountAuthenticationViaEmailAndPkcs8Key() final JsonObject authJson = getAuthJson(); String connection_uri = - "jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;" + getBaseConnectionUrl() + "ProjectId=" + authJson.get("project_id").getAsString() + ";OAuthType=0;" @@ -162,7 +156,7 @@ public void testValidServiceAccountAuthenticationOAuthPvtKeyAsJson() final JsonObject authJson = getAuthJson(); String connection_uri = - "jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;" + getBaseConnectionUrl() + "ProjectId=" + authJson.get("project_id").getAsString() + ";OAuthType=0;" @@ -192,9 +186,12 @@ public void testValidServiceAccountAuthenticationP12() throws SQLException, IOEx @Disabled public void testValidGoogleUserAccountAuthentication() throws SQLException { String connection_uri = - "jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;PROJECTID=" + getBaseConnectionUrl() + + "PROJECTID=" + PROJECT_ID - + ";OAuthType=1;OAuthClientId=client_id;OAuthClientSecret=client_secret;"; + + ";OAuthType=1;" + + "OAuthClientId=client_id;" + + "OAuthClientSecret=client_secret;"; Connection connection = DriverManager.getConnection(connection_uri); assertNotNull(connection); @@ -213,12 +210,15 @@ public void testValidGoogleUserAccountAuthentication() throws SQLException { @Disabled public void testValidExternalAccountAuthentication() throws SQLException { String connection_uri = - "jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;PROJECTID=" + getBaseConnectionUrl() + + "PROJECTID=" + PROJECT_ID + ";OAUTHTYPE=4;" + "BYOID_AudienceUri=//iam.googleapis.com/projects//locations//workloadIdentityPools//providers/;" - + "BYOID_SubjectTokenType=;BYOID_CredentialSource={\"file\":\"/path/to/file\"};" - + "BYOID_SA_Impersonation_Uri=;BYOID_TokenUri=;"; + + "BYOID_SubjectTokenType=;" + + "BYOID_CredentialSource={\"file\":\"/path/to/file\"};" + + "BYOID_SA_Impersonation_Uri=;" + + "BYOID_TokenUri=;"; Connection connection = DriverManager.getConnection(connection_uri); assertNotNull(connection); @@ -237,7 +237,8 @@ public void testValidExternalAccountAuthentication() throws SQLException { @Disabled public void testValidExternalAccountAuthenticationFromFile() throws SQLException { String connection_uri = - "jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;PROJECTID=" + getBaseConnectionUrl() + + "PROJECTID=" + PROJECT_ID + ";OAUTHTYPE=4;" + "OAuthPvtKeyPath=/path/to/file;"; @@ -259,9 +260,11 @@ public void testValidExternalAccountAuthenticationFromFile() throws SQLException @Disabled public void testValidExternalAccountAuthenticationRawJson() throws SQLException { String connection_uri = - "jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;PROJECTID=" + getBaseConnectionUrl() + + "PROJECTID=" + PROJECT_ID - + ";OAUTHTYPE=4;OAuthPvtKey={\n" + + ";OAUTHTYPE=4;" + + "OAuthPvtKey={\n" + " \"universe_domain\": \"googleapis.com\",\n" + " \"type\": \"external_account\",\n" + " \"audience\":" @@ -295,15 +298,16 @@ public void testValidExternalAccountAuthenticationRawJson() throws SQLException public void testValidPreGeneratedAccessTokenAuthentication(String scope, boolean isReadOnly) throws Exception { final JsonObject authJson = getAuthJson(); - InputStream stream = - new ByteArrayInputStream(authJson.toString().getBytes(StandardCharsets.UTF_8)); + GoogleCredentials credentials = - GoogleCredentials.fromStream(stream).createScoped(Arrays.asList(scope)); + ((GoogleCredentials) bigQuery.getOptions().getCredentials()) + .createScoped(Arrays.asList(scope)); credentials.refresh(); String accessToken = credentials.getAccessToken().getTokenValue(); String connectionUri = - "jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;ProjectId=" + getBaseConnectionUrl() + + "ProjectId=" + authJson.get("project_id").getAsString() + ";OAuthType=2" + ";OAuthAccessToken=" @@ -319,10 +323,13 @@ public void testValidPreGeneratedAccessTokenAuthentication(String scope, boolean @Disabled public void testValidRefreshTokenAuthentication() throws SQLException { String connection_uri = - "jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;PROJECTID=" + getBaseConnectionUrl() + + "PROJECTID=" + PROJECT_ID - + ";OAUTHTYPE=2;OAuthRefreshToken=refresh_token;" - + ";OAuthClientId=client;OAuthClientSecret=secret;"; + + ";OAUTHTYPE=2;" + + "OAuthRefreshToken=refresh_token;" + + ";OAuthClientId=client;" + + "OAuthClientSecret=secret;"; Connection connection = DriverManager.getConnection(connection_uri); assertNotNull(connection); diff --git a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITBase.java b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITBase.java index 5b4d36fac4fe..0224cafab695 100644 --- a/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITBase.java +++ b/java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITBase.java @@ -20,9 +20,9 @@ import com.google.cloud.ServiceOptions; import com.google.cloud.bigquery.BigQuery; -import com.google.cloud.bigquery.BigQueryOptions; import com.google.cloud.bigquery.QueryJobConfiguration; import com.google.cloud.bigquery.jdbc.BigQueryJdbcBaseTest; +import com.google.cloud.bigquery.jdbc.utils.TestUtilities; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; @@ -32,6 +32,11 @@ public class ITBase extends BigQueryJdbcBaseTest { + // This query takes 300 seconds to complete + public static final String query300seconds = + "DECLARE DELAY_TIME DATETIME; SET DELAY_TIME = DATETIME_ADD(CURRENT_DATETIME, INTERVAL 300" + + " SECOND); WHILE CURRENT_DATETIME < DELAY_TIME DO END WHILE;"; + private static String sharedDataset; private static String sharedDataset2; @@ -103,6 +108,78 @@ public class ITBase extends BigQueryJdbcBaseTest { + " CONSTRAINT my_fk2 FOREIGN KEY (address) REFERENCES `%1$s.%2$s.JDBC_CONSTRAINTS_TEST_TABLE3`(address) NOT ENFORCED\n" + ");\n"; + private static final String DDL_ALL_BQ_TYPES = + "CREATE OR REPLACE TABLE `%1$s.%2$s.all_bq_types`\n" + + "(\n" + + " stringField STRING,\n" + + " bytesField BYTES,\n" + + " intField INT64,\n" + + " floatField FLOAT64,\n" + + " numericField NUMERIC,\n" + + " bigNumericField BIGNUMERIC,\n" + + " booleanField BOOLEAN,\n" + + " timestampFiled TIMESTAMP,\n" + + " dateField DATE,\n" + + " timeField TIME,\n" + + " dateTimeField DATETIME,\n" + + " geographyField GEOGRAPHY,\n" + + " recordField STRUCT>,\n" + + " rangeField RANGE,\n" + + " jsonField JSON,\n" + + " arrayString ARRAY,\n" + + " arrayRecord ARRAY>,\n" + + " arrayBytes ARRAY,\n" + + " arrayInteger ARRAY,\n" + + " arrayNumeric ARRAY,\n" + + " arrayBignumeric ARRAY,\n" + + " arrayBoolean ARRAY,\n" + + " arrayTimestamp ARRAY,\n" + + " arrayDate ARRAY,\n" + + " arrayTime ARRAY