Full Code of googleapis/gapic-showcase for AI

main be113b34662e cached
222 files
2.3 MB
616.9k tokens
2815 symbols
1 requests
Download .txt
Showing preview only (2,467K chars total). Download the full file or copy to clipboard to get everything.
Repository: googleapis/gapic-showcase
Branch: main
Commit: be113b34662e
Files: 222
Total size: 2.3 MB

Directory structure:
gitextract_m2mww3pq/

├── .bazeliskrc
├── .bazelrc
├── .github/
│   ├── CODEOWNERS
│   ├── auto-label.yml
│   ├── label-sync.yml
│   ├── release-please.yml
│   ├── snippet-bot.yml
│   ├── sync-repo-settings.yaml
│   └── workflows/
│       ├── assets.yaml
│       └── ci.yaml
├── .gitignore
├── .gitmodules
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Dockerfile
├── LICENSE
├── README.md
├── SECURITY.md
├── WORKSPACE.bazel
├── client/
│   ├── auxiliary.go
│   ├── auxiliary_go123.go
│   ├── compliance_client.go
│   ├── compliance_client_example_go123_test.go
│   ├── compliance_client_example_test.go
│   ├── doc.go
│   ├── echo_client.go
│   ├── echo_client_example_go123_test.go
│   ├── echo_client_example_test.go
│   ├── gapic_metadata.json
│   ├── helpers.go
│   ├── identity_client.go
│   ├── identity_client_example_go123_test.go
│   ├── identity_client_example_test.go
│   ├── messaging_client.go
│   ├── messaging_client_example_go123_test.go
│   ├── messaging_client_example_test.go
│   ├── sequence_client.go
│   ├── sequence_client_example_go123_test.go
│   ├── sequence_client_example_test.go
│   ├── testing_client.go
│   ├── testing_client_example_go123_test.go
│   └── testing_client_example_test.go
├── cmd/
│   └── gapic-showcase/
│       ├── README.md
│       ├── attempt-sequence.go
│       ├── attempt-streaming-sequence.go
│       ├── block.go
│       ├── chat.go
│       ├── collect.go
│       ├── completion.go
│       ├── compliance_service.go
│       ├── compliance_suite_errors_test.go
│       ├── compliance_suite_test.go
│       ├── connect.go
│       ├── create-blurb.go
│       ├── create-room.go
│       ├── create-sequence.go
│       ├── create-session.go
│       ├── create-streaming-sequence.go
│       ├── create-user.go
│       ├── defaults.go
│       ├── delete-blurb.go
│       ├── delete-room.go
│       ├── delete-session.go
│       ├── delete-test.go
│       ├── delete-user.go
│       ├── echo-error-details.go
│       ├── echo.go
│       ├── echo_service.go
│       ├── endpoint.go
│       ├── endpoint_test.go
│       ├── expand.go
│       ├── fail-echo-with-details.go
│       ├── gapic-showcase.go
│       ├── get-blurb.go
│       ├── get-enum.go
│       ├── get-room.go
│       ├── get-sequence-report.go
│       ├── get-session.go
│       ├── get-streaming-sequence-report.go
│       ├── get-user.go
│       ├── identity_service.go
│       ├── list-blurbs.go
│       ├── list-rooms.go
│       ├── list-sessions.go
│       ├── list-tests.go
│       ├── list-users.go
│       ├── loggers.go
│       ├── messaging_service.go
│       ├── paged-expand-legacy-mapped.go
│       ├── paged-expand.go
│       ├── repeat-data-body-info.go
│       ├── repeat-data-body-patch.go
│       ├── repeat-data-body-put.go
│       ├── repeat-data-body.go
│       ├── repeat-data-path-resource.go
│       ├── repeat-data-path-trailing-resource.go
│       ├── repeat-data-query.go
│       ├── repeat-data-simple-path.go
│       ├── report-session.go
│       ├── run.go
│       ├── search-blurbs.go
│       ├── send-blurbs.go
│       ├── sequence_service.go
│       ├── stream-blurbs.go
│       ├── testing_service.go
│       ├── update-blurb.go
│       ├── update-room.go
│       ├── update-user.go
│       ├── verify-enum.go
│       ├── verify-test.go
│       ├── version.go
│       └── wait.go
├── go.mod
├── go.sum
├── renovate.json
├── schema/
│   └── google/
│       └── showcase/
│           └── v1beta1/
│               ├── BUILD.bazel
│               ├── compliance.proto
│               ├── echo.proto
│               ├── identity.proto
│               ├── messaging.proto
│               ├── rest_error.proto
│               ├── sequence.proto
│               ├── showcase_grpc_service_config.json
│               ├── showcase_v1beta1.yaml
│               └── testing.proto
├── server/
│   ├── genproto/
│   │   ├── compliance.pb.go
│   │   ├── echo.pb.go
│   │   ├── identity.pb.go
│   │   ├── messaging.pb.go
│   │   ├── rest_error.pb.go
│   │   ├── sequence.pb.go
│   │   └── testing.pb.go
│   ├── genrest/
│   │   ├── README.md
│   │   ├── compliance.go
│   │   ├── echo.go
│   │   ├── genrest.go
│   │   ├── iampolicy.go
│   │   ├── identity.go
│   │   ├── locations.go
│   │   ├── messaging.go
│   │   ├── operations.go
│   │   ├── sequenceservice.go
│   │   ├── showcase-rest-sample-response.txt
│   │   └── testing.go
│   ├── observer.go
│   ├── observer_test.go
│   ├── page_token.go
│   ├── page_token_test.go
│   ├── services/
│   │   ├── compliance_service.go
│   │   ├── compliance_service_test.go
│   │   ├── compliance_suite.json
│   │   ├── echo_service.go
│   │   ├── echo_service_test.go
│   │   ├── iam_policy_service.go
│   │   ├── iam_policy_service_test.go
│   │   ├── identity_service.go
│   │   ├── identity_service_test.go
│   │   ├── locations_service.go
│   │   ├── locations_service_test.go
│   │   ├── messaging_service.go
│   │   ├── messaging_service_test.go
│   │   ├── operations_service.go
│   │   ├── operations_service_test.go
│   │   ├── sequence_service.go
│   │   ├── sequence_service_test.go
│   │   ├── services.go
│   │   ├── test_common.go
│   │   ├── testing_service.go
│   │   ├── testing_service_test.go
│   │   └── util.go
│   ├── session.go
│   ├── session_test.go
│   ├── spec/
│   │   ├── showcase_tests.go
│   │   └── v1/
│   │       ├── unary.go
│   │       └── unary_test.go
│   ├── test.go
│   ├── unique_id.go
│   ├── unique_id_test.go
│   ├── waiter.go
│   └── waiter_test.go
├── util/
│   ├── cmd/
│   │   ├── compile_protos/
│   │   │   └── main.go
│   │   ├── protoc-gen-go_rest_server/
│   │   │   ├── README.md
│   │   │   └── main.go
│   │   └── release/
│   │       └── main.go
│   ├── compile_protos.go
│   ├── execute.go
│   └── genrest/
│       ├── README.md
│       ├── errorhandling/
│       │   └── accumulator.go
│       ├── genserver.go
│       ├── gomodel/
│       │   ├── gomodel.go
│       │   ├── pathtemplate.go
│       │   ├── pathtemplate_test.go
│       │   ├── pathtemplatematch.go
│       │   ├── pathtemplatematch_test.go
│       │   ├── pathtemplateparser.go
│       │   └── pathtemplateparser_test.go
│       ├── gomodelcreator.go
│       ├── goview/
│       │   └── goview.go
│       ├── goviewcreator.go
│       ├── goviewcreator_test.go
│       ├── internal/
│       │   └── pbinfo/
│       │       └── pbinfo.go
│       ├── protomodel/
│       │   └── protomodel.go
│       ├── protomodelcreator.go
│       ├── resttools/
│       │   ├── checkrequestformat.go
│       │   ├── checkrequestformat_test.go
│       │   ├── constants.go
│       │   ├── error_response.go
│       │   ├── error_response_test.go
│       │   ├── headers.go
│       │   ├── json.go
│       │   ├── keysmatching.go
│       │   ├── keysmatching_test.go
│       │   ├── populatefield.go
│       │   ├── populatefield_test.go
│       │   ├── server_streamer.go
│       │   ├── server_streamer_test.go
│       │   ├── systemparam.go
│       │   └── systemparam_test.go
│       └── testdata/
│           └── TestConstructServerStreamer.go.baseline
├── version.go
└── version.txt

================================================
FILE CONTENTS
================================================

================================================
FILE: .bazeliskrc
================================================
# See https://github.com/bazelbuild/bazelisk
# Should match https://github.com/googleapis/googleapis/blob/master/.bazeliskrc
USE_BAZEL_VERSION=6.3.0


================================================
FILE: .bazelrc
================================================
# To make proto_library rules to include source info in the descriptor
build --protocopt=--include_source_info

# Required because showcase protos include proto3_optional fields
build --protocopt=--experimental_allow_proto3_optional

# New boringssl requires C++14
# Copied from googleapis.
build --repo_env=BAZEL_CXXOPTS="-std=c++14"


================================================
FILE: .github/CODEOWNERS
================================================
# Code owners file.
# This file controls who is tagged for review for any given pull request.

# For syntax help see:
# https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners#codeowners-syntax

* @googleapis/cloud-sdk @googleapis/cloud-sdk-java-team


================================================
FILE: .github/auto-label.yml
================================================
---
product: false

================================================
FILE: .github/label-sync.yml
================================================
---
ignored: true

================================================
FILE: .github/release-please.yml
================================================
handleGHRelease: true
releaseType: simple


================================================
FILE: .github/snippet-bot.yml
================================================
aggregateChecks: false
alwaysCreateStatusCheck: false


================================================
FILE: .github/sync-repo-settings.yaml
================================================
rebaseMergeAllowed: false
squashMergeAllowed: true
mergeCommitAllowed: false
branchProtectionRules:
- pattern: main
  isAdminEnforced: true
  requiredStatusCheckContexts:
    - 'regenerate'
    - 'lint'
    - 'tests'
    - 'probes'
    - 'protobufjs-load-test'
    - 'cla/google'
  requiredApprovingReviewCount: 1
  requiresCodeOwnerReviews: true
  requiresStrictStatusChecks: true
permissionRules:
  - team: actools
    permission: admin


================================================
FILE: .github/workflows/assets.yaml
================================================
---
name: assets
on:
  release:
    types:
      - created
  workflow_dispatch:
    inputs:
      tag:
        description: 'Release tag to checkout'
        required: true
        type: string
env:
  # e.g. v1.0.0 (use release tag on release events or the provided tag on manual invocation)
  TAG_NAME: ${{ github.event.release.tag_name || github.event.inputs.tag }}

jobs:
  get-upload-url:
    outputs:
      automated_upload_url: ${{ steps.automated-upload-url.outputs.AUTO_UPLOAD_URL }}
      manual_upload_url: ${{ steps.manual-upload-url.outputs.MANUAL_UPLOAD_URL }}
    runs-on: ubuntu-latest
    steps:
      - name: Get upload URL for automated releases
        id: automated-upload-url
        if: ${{ github.event.release.tag_name }}
        run: echo "AUTO_UPLOAD_URL=${{ github.event.release.upload_url }}" >> "$GITHUB_OUTPUT"
      - name: Get upload URL for manually triggered releases
        id: manual-upload-url
        if: ${{ github.event.inputs.tag }}
        uses: actions/github-script@v9
        with:
          script: |
            const release = await github.rest.repos.getReleaseByTag({
              owner: context.repo.owner,
              repo: context.repo.repo,
              tag: "${{ github.event.inputs.tag }}"
            });
            core.setOutput("MANUAL_UPLOAD_URL", release.data.upload_url);
  proto-assets:
    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
      - uses: actions/setup-go@v6
        with:
          go-version: '1.26'
      - uses: actions/checkout@v6
      - name: Init submodule
        run: git submodule init && git submodule update
      - name: Set raw version
        id: raw_tag
        # Strips the 'v' from the actual semver version.
        run: echo ::set-output name=raw_version::"${TAG_NAME#v}"
      - name: Install Protoc
        uses: arduino/setup-protoc@v1
      - name: Compile proto release assets
        run: go run ./util/cmd/release -version=${{ steps.raw_tag.outputs.raw_version }}
      - name: Upload proto release assets
        uses: svenstaro/upload-release-action@v2
        with:
          repo_token: ${{ secrets.GITHUB_TOKEN }}
          file: ./dist/*
          tag: ${{ env.TAG_NAME }}
          overwrite: true
          file_glob: true
  binary-assets:
    runs-on: ubuntu-latest
    permissions:
      contents: write
    needs: [get-upload-url, proto-assets]
    env:
      AUTO_UPLOAD_URL: ${{ needs.get-upload-url.outputs.automated_upload_url }}
      MANUAL_UPLOAD_URL: ${{ needs.get-upload-url.outputs.manual_upload_url }}
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    strategy:
      matrix:
        osarch:
          - os: linux
            arch: amd64
          - os: linux
            arch: arm
          - os: darwin
            arch: amd64
          - os: darwin
            arch: arm64
          - os: windows
            arch: amd64
    steps:
      - name: Determine which upload URL to use
        id: determine_upload_url
        run: |
          echo "automated URL: $AUTO_UPLOAD_URL"
          echo "manual URL: $MANUAL_UPLOAD_URL"
          if [[ -n "$AUTO_UPLOAD_URL" ]]; then
          echo "GITHUB_UPLOAD_URL=$AUTO_UPLOAD_URL" >> "$GITHUB_OUTPUT"
          else
          echo "GITHUB_UPLOAD_URL=$MANUAL_UPLOAD_URL" >> "$GITHUB_OUTPUT"
          fi
      - uses: actions/setup-go@v6
        with:
          go-version: '1.26'
      - name: Install gox
        run: go install github.com/mitchellh/gox@latest
      - uses: actions/checkout@v6
      - name: Set raw version
        id: raw_tag
        # Strips the 'v' from the actual semver version.
        run: echo ::set-output name=raw_version::"${TAG_NAME#v}"
      # The generator does not use this,  but we need it to build the
      # binaries.
      #
      # Mousetrap is installed individually because it is needed for the
      # Windows build. Since we are building on Linux, it is not installed
      # automatically as a dependency.
      - name: Install the cross-platform build dependency.
        run: go get github.com/inconshreveable/mousetrap
      - name: Build for the ${{ matrix.osarch.os }}/${{ matrix.osarch.arch }} platform.
        run: |
          gox -osarch ${{ matrix.osarch.os }}/${{ matrix.osarch.arch }} -output gapic-showcase ./cmd/gapic-showcase && \
          tar cvfz gapic-showcase.tar.gz gapic-showcase*
      - name: Upload the ${{ matrix.osarch.os }}/${{ matrix.osarch.arch }} release.
        uses: actions/upload-release-asset@v1
        with:
          upload_url: ${{ steps.determine_upload_url.outputs.GITHUB_UPLOAD_URL }}
          asset_path: ./gapic-showcase.tar.gz
          asset_name: gapic-showcase-${{ steps.raw_tag.outputs.raw_version }}-${{ matrix.osarch.os }}-${{ matrix.osarch.arch }}.tar.gz
          asset_content_type: application/tar+gzip
  # Note: Disabled until better solution for storing the GCR key is found.
  # push_to_registry:
  #   needs:
  #     - inspect
  #     - release
  #   runs-on: ubuntu-latest
  #   steps:
  #     - name: Check out the repo
  #       uses: actions/checkout@v2
  #     - name: Login to GCR
  #       uses: docker/login-action@v1
  #       with:
  #         registry: gcr.io
  #         username: _json_key
  #         password: ${{ secrets.GCR_JSON_KEY }}
  #     - name: Push to GCR
  #       uses: docker/build-push-action@v2
  #       with:
  #         tags: gcr.io/gapic-images/gapic-showcase:${{ needs.inspect.outputs.raw_version }},gcr.io/gapic-images/gapic-showcase:latest
  #         push: true
  #         context: .


================================================
FILE: .github/workflows/ci.yaml
================================================
---
name: Showcase CI
on:
  push:
    branches:
      - main
  pull_request:
  workflow_dispatch:

jobs:
  regenerate:
    runs-on: ubuntu-latest
    outputs:
      modified_files: ${{ steps.mod.outputs.modified_files }}
    steps:
    - uses: actions/setup-go@v6
      with:
        go-version: '1.26'
    - name: Install Protoc
      uses: arduino/setup-protoc@v1
    - name: Install external generators
      run: |
        go install github.com/golang/protobuf/protoc-gen-go@latest
        go install github.com/googleapis/gapic-generator-go/cmd/protoc-gen-go_cli@latest
        go install github.com/googleapis/gapic-generator-go/cmd/protoc-gen-go_gapic@latest
    - uses: actions/checkout@v6
    - name: Checkout common protos
      run: git submodule init && git submodule update
    - name: Download go deps
      run: go mod download
    - name: Install REST server generator
      run: go install ./util/cmd/protoc-gen-go_rest_server
    - name: Regenerate sources
      run: go run ./util/cmd/compile_protos
    - name: Capture modified files
      id: mod
      run: |
        files=$(git ls-files --deleted --modified --other --directory --exclude-standard cmd client server/genproto server/genrest)
        echo ::set-output name=modified_files::$files
    - name: Prepare regenerated sources
      if: steps.mod.outputs.modified_files
      run: tar czf regen.tgz ${{ steps.mod.outputs.modified_files }}
    - uses: actions/upload-artifact@v7
      if: steps.mod.outputs.modified_files
      with:
        name: regenerated-sources
        path: regen.tgz
  lint:
    needs: regenerate
    runs-on: ubuntu-latest
    steps:
    - uses: actions/setup-go@v6
      with:
        go-version: '1.26'
    - name: Install golint
      run: go install golang.org/x/lint/golint@latest
    - uses: actions/checkout@v6
    - uses: actions/download-artifact@v8
      if: needs.regenerate.outputs.modified_files
      with:
        name: regenerated-sources
    - name: Expand regen archive
      if: needs.regenerate.outputs.modified_files
      run: |
        tar xvzf regen.tgz
        rm regen.tgz
    - name: Check formatting
      run: gofmt -l ./server/services > gofmt.txt && ! [ -s gofmt.txt ]
      if: ${{ always() }}
    - name: Lint service implementations
      run: golint ./server/services >> golint.txt && ! [ -s golint.txt ]
      if: ${{ always() }}
    - name: Vet service implementations
      # The mod download is there to prevent go vet from logging mod downloads
      # which would mess up the empty vetting results check.
      run: go mod download && go vet ./server/services 2> govet.txt && ! [ -s govet.txt ]
      if: ${{ always() }}
    - uses: actions/upload-artifact@v7
      if: ${{ always() }}
      with:
        name: linting-results
        path: |
          gofmt.txt
          golint.txt
          govet.txt
  tests:
    needs: regenerate
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v6
    - uses: actions/setup-go@v6
      with:
        go-version: '1.26'
    - uses: actions/download-artifact@v8
      if: needs.regenerate.outputs.modified_files
      with:
        name: regenerated-sources
    - name: Expand regen archive
      if: needs.regenerate.outputs.modified_files
      run: |
        tar xvzf regen.tgz
        rm regen.tgz
    - name: Run mod tidy
      run: go mod tidy
    - name: Build the code
      run: go build ./...
    - name: Run unit tests
      run: go test ./...
    - name: Run server coverage
      run: go test ./server/... -coverprofile=coverage.txt -covermode=atomic
  probes:
    needs: regenerate
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v6
    - uses: actions/setup-go@v6
      with:
        go-version: '1.26'
    - uses: actions/download-artifact@v8
      if: needs.regenerate.outputs.modified_files
      with:
        name: regenerated-sources
    - name: Expand regen archive
      if: needs.regenerate.outputs.modified_files
      run: |
        tar xvzf regen.tgz
        rm regen.tgz
    - name: Run mod tidy
      run: go mod tidy
    - name: Install gapic-showcase CLI
      run: go install ./cmd/gapic-showcase
    - name: Probe gRPC and REST servers
      run: |
        gapic-showcase run &
        gapic-showcase echo echo --response content --response.content "hello!"
        GRPC_EXIT_CODE=$?
        STATUSCODE=$(curl --silent --output /dev/null --write-out "%{http_code}" http://localhost:7469/hello)
        echo "gRPC exit code: $GRPC_EXIT_CODE"
        echo "REST status code: $STATUSCODE"
        [ $STATUSCODE = "200" ]  && [ GRPC_EXIT_CODE != 0 ]
  # Disabled until https://github.com/googleapis/gapic-generator-typescript/pull/955 is merged/released.
  # typescript-smoke-test:
  #   runs-on: ubuntu-latest
  #   steps:
  #   - uses: actions/checkout@v2
  #   - uses: actions/setup-node@v2
  #     with:
  #       node-version: '12'
  #   - name: Run gapic-generator-typescript
  #     run: |
  #       mkdir tsout
  #       docker run --rm --user $UID \
  #         --mount type=bind,source="$(pwd)"/schema,destination=/in/protos/google/showcase/v1beta1,readonly \
  #         --mount type=bind,source="$(pwd)"/tsout,destination=/out/ \
  #         gcr.io/gapic-images/gapic-generator-typescript:latest
  #   - name: Run auto-generated tests
  #     run: |
  #       cd tsout
  #       npm install
  #       npm test
  #       npm run system-test
  protobufjs-load-test:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v6
    - uses: actions/setup-node@v6
      with:
        node-version: '24'
    - name: Install protobuf loader
      run: npm install google-proto-files
    - name: Verify protos can be loaded by protobufjs
      run: |
        node -e "require('google-proto-files').loadSync('schema/google/showcase/v1beta1/echo.proto');"
        node -e "require('google-proto-files').loadSync('schema/google/showcase/v1beta1/identity.proto');"
        node -e "require('google-proto-files').loadSync('schema/google/showcase/v1beta1/messaging.proto');"
        node -e "require('google-proto-files').loadSync('schema/google/showcase/v1beta1/rest_error.proto');"
        node -e "require('google-proto-files').loadSync('schema/google/showcase/v1beta1/testing.proto');"
        node -e "require('google-proto-files').loadSync('schema/google/showcase/v1beta1/compliance.proto');"
        node -e "require('google-proto-files').loadSync('schema/google/showcase/v1beta1/sequence.proto');"
  push-generated-sources:
    needs: [regenerate, lint, tests, probes]
    runs-on: ubuntu-latest
    if: github.ref == 'refs/heads/main' && needs.regenerate.outputs.modified_files
    steps:
    - uses: actions/checkout@v6
      with:
        ref: main
    - uses: actions/download-artifact@v8
      with:
        name: regenerated-sources
    - name: Expand regen archive
      run: |
        tar xvzf regen.tgz
        rm regen.tgz
    - uses: googleapis/code-suggester@v5
      id: code_suggester
      env:
        ACCESS_TOKEN: ${{ secrets.YOSHI_CODE_BOT_TOKEN }}
      with:
        command: pr
        upstream_owner: googleapis
        upstream_repo: gapic-showcase
        description: 'Regenerated sources resulting from most recent commit to main'
        title: 'chore: regenerate sources'
        message: 'chore: regenerate sources'
        primary: 'main'
        branch: regen
        git_dir: '.'
        force: true
    - name: Add automerge label to pull request
      uses: actions/github-script@v9
      with:
        script: |
          github.rest.issues.addLabels({
            issue_number: ${{ steps.code_suggester.outputs.pull }},
            owner: context.repo.owner,
            repo: context.repo.repo,
            labels: ['automerge']
          })
  bazel_build_protos:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v6
    - uses: bazel-contrib/setup-bazel@0.19.0
      with:
        # Avoid downloading Bazel every time.
        bazelisk-cache: true
        # Store build cache per workflow.
        disk-cache: ${{ github.workflow }}
        # Share repository cache between workflows.
        repository-cache: true
    - run: bazelisk build //schema/google/showcase/v1beta1:showcase_proto


================================================
FILE: .gitignore
================================================
# Temp directories
tmp/
dist/
coverage.txt
.vscode
*~
bazel-*
golint.txt
gofmt.txt
govet.txt


================================================
FILE: .gitmodules
================================================
[submodule "googleapis"]
	path = schema/googleapis
	url = https://github.com/googleapis/googleapis.git


================================================
FILE: CHANGELOG.md
================================================
# Release History

## [0.39.0](https://github.com/googleapis/gapic-showcase/compare/v0.38.0...v0.39.0) (2026-03-30)


### Features

* Echo W3C trace propagation headers in showcase ([#1621](https://github.com/googleapis/gapic-showcase/issues/1621)) ([e8cd646](https://github.com/googleapis/gapic-showcase/commit/e8cd646fb411a9ca4e266a5d97e072794757fa4b))

## [0.38.0](https://github.com/googleapis/gapic-showcase/compare/v0.37.0...v0.38.0) (2026-02-10)


### Features

* **compliance:** Add optional fields for all primitive types ([#1602](https://github.com/googleapis/gapic-showcase/issues/1602)) ([ec41cbd](https://github.com/googleapis/gapic-showcase/commit/ec41cbde514ec092ce0da86d791bdef3c525aff6))
* Support apiVersion system parameter ([#1607](https://github.com/googleapis/gapic-showcase/issues/1607)) ([3fd9cb2](https://github.com/googleapis/gapic-showcase/commit/3fd9cb2f682d5f8263d913eaba8b78e045acc4d2))

## [0.37.0](https://github.com/googleapis/gapic-showcase/compare/v0.36.2...v0.37.0) (2025-10-21)


### Features

* Update dependencies and regenerate clients ([#1597](https://github.com/googleapis/gapic-showcase/issues/1597)) ([0ae044d](https://github.com/googleapis/gapic-showcase/commit/0ae044d8dda556672eaf6b2eb24a82ef0d2e4c4e))

## [0.36.2](https://github.com/googleapis/gapic-showcase/compare/v0.36.1...v0.36.2) (2025-04-16)


### Bug Fixes

* Name code_suggester step to fix CI action ([#1586](https://github.com/googleapis/gapic-showcase/issues/1586)) ([08c981d](https://github.com/googleapis/gapic-showcase/commit/08c981d696f1d5841119d97b131a39f182d8acb7))

## [0.36.1](https://github.com/googleapis/gapic-showcase/compare/v0.36.0...v0.36.1) (2025-04-16)


### Bug Fixes

* Update generated files to reflect proto changes ([#1579](https://github.com/googleapis/gapic-showcase/pull/1579)) ([6579d3a](https://github.com/googleapis/gapic-showcase/commit/6579d3aaf4bd541c43d3c2f8e981e94caf446dbe))
* Expand echo.proto comments ([#1580](https://github.com/googleapis/gapic-showcase/issues/1580)) ([076cb09](https://github.com/googleapis/gapic-showcase/commit/076cb0923e02f60a791ad82e6fc2c94c57e6671f))

## [0.36.0](https://github.com/googleapis/gapic-showcase/compare/v0.35.5...v0.36.0) (2025-04-10)


### Features

* Add Echo.FailEchoWithDetails RPC that always fails with all standard and one custom error detail ([#1576](https://github.com/googleapis/gapic-showcase/issues/1576)) ([709b57d](https://github.com/googleapis/gapic-showcase/commit/709b57d724327abe091965c54f402042155aa178))


### Bug Fixes

* Return AIP/193-compliant errors over rest transport ([#1573](https://github.com/googleapis/gapic-showcase/issues/1573)) ([d47045b](https://github.com/googleapis/gapic-showcase/commit/d47045be1ee31f373d5a6ded287cbc9c5b9b605a))
* Typos in some proto comments ([#1563](https://github.com/googleapis/gapic-showcase/issues/1563)) ([ae41e96](https://github.com/googleapis/gapic-showcase/commit/ae41e96133b36fa86f8d08c0f839ab9fb12e3e96))

## [0.35.5](https://github.com/googleapis/gapic-showcase/compare/v0.35.4...v0.35.5) (2024-12-04)


### Bug Fixes

* Replace use of github.com/golang/protobuf/proto where possible ([#1557](https://github.com/googleapis/gapic-showcase/issues/1557)) ([0215dd6](https://github.com/googleapis/gapic-showcase/commit/0215dd637e130ca0c0a74adcc74d34d3373060d8)), closes [#1525](https://github.com/googleapis/gapic-showcase/issues/1525)

## [0.35.4](https://github.com/googleapis/gapic-showcase/compare/v0.35.3...v0.35.4) (2024-12-03)


### Bug Fixes

* Revert replace use of github.com/golang/protobuf/proto ([#1534](https://github.com/googleapis/gapic-showcase/issues/1534))" ([#1553](https://github.com/googleapis/gapic-showcase/issues/1553)) ([b82e7c5](https://github.com/googleapis/gapic-showcase/commit/b82e7c5d8b63ba11cc21361a4b84d0cb29a59826))

## [0.35.3](https://github.com/googleapis/gapic-showcase/compare/v0.35.2...v0.35.3) (2024-12-03)


### Bug Fixes

* Downgrade go version to 1.21 ([#1551](https://github.com/googleapis/gapic-showcase/issues/1551)) ([36831cf](https://github.com/googleapis/gapic-showcase/commit/36831cfe255e13e3a5328ad548ddba9c3174434e))

## [0.35.2](https://github.com/googleapis/gapic-showcase/compare/v0.35.1...v0.35.2) (2024-12-03)


### Bug Fixes

* **deps:** Update bazel-contrib/setup-bazel action to v0.9.1 ([#1546](https://github.com/googleapis/gapic-showcase/issues/1546)) ([bc936fb](https://github.com/googleapis/gapic-showcase/commit/bc936fb7c3607853bbc58fcd8f4d0aa7ccbc4a1c))

## [0.35.1](https://github.com/googleapis/gapic-showcase/compare/v0.35.0...v0.35.1) (2024-07-08)


### Bug Fixes

* Use io.ReadAll ([#1520](https://github.com/googleapis/gapic-showcase/issues/1520)) ([6dddadd](https://github.com/googleapis/gapic-showcase/commit/6dddadd9fcdfed197209271a1201178a57951660))

## [0.35.0](https://github.com/googleapis/gapic-showcase/compare/v0.34.0...v0.35.0) (2024-04-29)


### Features

* Echo request headers in response over REST transport ([#1509](https://github.com/googleapis/gapic-showcase/issues/1509)) ([de93c4c](https://github.com/googleapis/gapic-showcase/commit/de93c4c5e33b4e1a8ec3ebbeb7af36143dbc19dd))

## [0.34.0](https://github.com/googleapis/gapic-showcase/compare/v0.33.0...v0.34.0) (2024-04-23)


### Features

* Add ability to echo request headers in trailing metadata ([#1501](https://github.com/googleapis/gapic-showcase/issues/1501)) ([48f9b74](https://github.com/googleapis/gapic-showcase/commit/48f9b742970e2199431066807d3f7a5cd2f31728))

## [0.33.0](https://github.com/googleapis/gapic-showcase/compare/v0.32.2...v0.33.0) (2024-04-15)


### Features

* Add google.api.api_version annotation to echo.proto ([#1484](https://github.com/googleapis/gapic-showcase/issues/1484)) ([9a2298b](https://github.com/googleapis/gapic-showcase/commit/9a2298b90a90d812c331f2c0d9971b2312ae167d))
* Log REST request headers ([#1497](https://github.com/googleapis/gapic-showcase/issues/1497)) ([05605c6](https://github.com/googleapis/gapic-showcase/commit/05605c60b41b95be07ca7cf38ae12e2fdbe82094))

## [0.32.2](https://github.com/googleapis/gapic-showcase/compare/v0.32.1...v0.32.2) (2024-03-22)


### Bug Fixes

* **bazel:** Fix bazel build and add presubmit ([#1479](https://github.com/googleapis/gapic-showcase/issues/1479)) ([e446229](https://github.com/googleapis/gapic-showcase/commit/e44622986d706bcbdb5de710484318f40b571c20))

## [0.32.1](https://github.com/googleapis/gapic-showcase/compare/v0.32.0...v0.32.1) (2024-03-21)


### Bug Fixes

* Add missing dependency in bazel rule ([#1477](https://github.com/googleapis/gapic-showcase/issues/1477)) ([f08b26d](https://github.com/googleapis/gapic-showcase/commit/f08b26d62da0a3c3214382915167b33633eb9558))

## [0.32.0](https://github.com/googleapis/gapic-showcase/compare/v0.31.0...v0.32.0) (2024-03-20)


### Features

* Add autopopulated proto3 optional field to echo ([#1471](https://github.com/googleapis/gapic-showcase/issues/1471)) ([dba317f](https://github.com/googleapis/gapic-showcase/commit/dba317ff2ef63899bcc20de6a29c21f63afc7acc))

## [0.31.0](https://github.com/googleapis/gapic-showcase/compare/v0.30.0...v0.31.0) (2024-02-08)


### Features

* Add request id as part of EchoResponse ([#1440](https://github.com/googleapis/gapic-showcase/issues/1440)) ([fe3c90e](https://github.com/googleapis/gapic-showcase/commit/fe3c90eba35a5d94fb419d495178ff90c9bcc795))

## [0.30.0](https://github.com/googleapis/gapic-showcase/compare/v0.29.0...v0.30.0) (2024-01-10)


### Features

* Add autopopulated request id field to echo ([#1404](https://github.com/googleapis/gapic-showcase/issues/1404)) ([196b665](https://github.com/googleapis/gapic-showcase/commit/196b6650ff01483246d5c3fe67ca2ad29d1a21dc))
* Replace api-common-protos submodule with googleapis ([#1395](https://github.com/googleapis/gapic-showcase/issues/1395)) ([d72c489](https://github.com/googleapis/gapic-showcase/commit/d72c4899c111e8c870b552cd1721166434096348))

## [0.29.0](https://github.com/googleapis/gapic-showcase/compare/v0.28.4...v0.29.0) (2023-11-08)


### Features

* Add EchoErrorDetails RPC for Any testing ([#1385](https://github.com/googleapis/gapic-showcase/issues/1385)) ([c839a8e](https://github.com/googleapis/gapic-showcase/commit/c839a8ec6973b6c5189c9cba8b6a81f1663b8fd1))

## [0.28.4](https://github.com/googleapis/gapic-showcase/compare/v0.28.3...v0.28.4) (2023-08-14)


### Bug Fixes

* Add fail index to streaming sequence ([#1364](https://github.com/googleapis/gapic-showcase/issues/1364)) ([567e756](https://github.com/googleapis/gapic-showcase/commit/567e7567600a0c3cb369a98ac25351f10000fcec))

## [0.28.3](https://github.com/googleapis/gapic-showcase/compare/v0.28.2...v0.28.3) (2023-07-07)


### Bug Fixes

* Remove content_sent from StreamingSequences ([#1351](https://github.com/googleapis/gapic-showcase/issues/1351)) ([ae910cc](https://github.com/googleapis/gapic-showcase/commit/ae910cca182787fb5babbfe1005b086d4f2f8c4b))

## [0.28.2](https://github.com/googleapis/gapic-showcase/compare/v0.28.1...v0.28.2) (2023-07-05)


### Bug Fixes

* Update HttpJson regex for URL paths ([#1340](https://github.com/googleapis/gapic-showcase/issues/1340)) ([4110fee](https://github.com/googleapis/gapic-showcase/commit/4110fee63a22f8d32cae7f8ba318919bee94e752))

## [0.28.1](https://github.com/googleapis/gapic-showcase/compare/v0.28.0...v0.28.1) (2023-05-10)


### Bug Fixes

* Remove non-exist fields from method signature in sequence.proto ([#1315](https://github.com/googleapis/gapic-showcase/issues/1315)) ([a7c8ffc](https://github.com/googleapis/gapic-showcase/commit/a7c8ffca1fec5f25b630ac1d2aa83bc3db0fe521))

## [0.28.0](https://github.com/googleapis/gapic-showcase/compare/v0.27.0...v0.28.0) (2023-05-09)


### Features

* Add a configurable wait time between messages sent for server streaming RPCs ([#1309](https://github.com/googleapis/gapic-showcase/issues/1309)) ([dd11687](https://github.com/googleapis/gapic-showcase/commit/dd1168792054cfccb16e53753764cda3431d6170))

## [0.27.0](https://github.com/googleapis/gapic-showcase/compare/v0.26.1...v0.27.0) (2023-04-19)


### Features

* Add iam and location mixin rest handlers ([#1300](https://github.com/googleapis/gapic-showcase/issues/1300)) ([6adab7b](https://github.com/googleapis/gapic-showcase/commit/6adab7bb4e7c979f90441a37cde36ecda0bee68f))
* Add proto + logic for streaming sequence ([#1266](https://github.com/googleapis/gapic-showcase/issues/1266)) ([82814d8](https://github.com/googleapis/gapic-showcase/commit/82814d8a8ada26bf9a831497b667183edf1f0e4f))


### Bug Fixes

* Handle already quoted protojson wkt ([#1294](https://github.com/googleapis/gapic-showcase/issues/1294)) ([f74f03d](https://github.com/googleapis/gapic-showcase/commit/f74f03d50ea8aa5832f830a6f92e16e99fb3e623))

## [0.26.1](https://github.com/googleapis/gapic-showcase/compare/v0.26.0...v0.26.1) (2023-03-28)


### Bug Fixes

* **rest:** Properly handle string-encoded well-known types in URLs ([#1282](https://github.com/googleapis/gapic-showcase/issues/1282)) ([579fe72](https://github.com/googleapis/gapic-showcase/commit/579fe729c0b506cdf48cd834beb14a8ffb4b5994))

## [0.26.0](https://github.com/googleapis/gapic-showcase/compare/v0.25.0...v0.26.0) (2023-03-07)


### Features

* **go:** Update Go version to 1.19 ([#1225](https://github.com/googleapis/gapic-showcase/issues/1225)) ([d4b108e](https://github.com/googleapis/gapic-showcase/commit/d4b108e16dc91c0ea6d4dec3dca4d3270d3bf47a))


### Bug Fixes

* Build assets for darwin/arm64 ([#1267](https://github.com/googleapis/gapic-showcase/issues/1267)) ([0833a57](https://github.com/googleapis/gapic-showcase/commit/0833a579131c14582b053f26698fdfe93e465d87))
* Export showcase_v1beta1.yaml from BUILD.bazel to support external GAPIC generation ([#1223](https://github.com/googleapis/gapic-showcase/issues/1223)) ([5076348](https://github.com/googleapis/gapic-showcase/commit/507634898e208b7ff88784e4ec5f0efd22bff9ab))
* Handle x-http-method-override for PATCH as POST ([#1262](https://github.com/googleapis/gapic-showcase/issues/1262)) ([4070ce3](https://github.com/googleapis/gapic-showcase/commit/4070ce331bd5e852ccb2f4f2267dce80a9dda9c4))
* Use quotes around extreme int64 values ([#1206](https://github.com/googleapis/gapic-showcase/issues/1206)) ([c9d9ff1](https://github.com/googleapis/gapic-showcase/commit/c9d9ff191bfd72fe8563625be4074fe4659585d6)), closes [#1205](https://github.com/googleapis/gapic-showcase/issues/1205)

## [0.25.0](https://github.com/googleapis/gapic-showcase/compare/v0.24.0...v0.25.0) (2022-09-01)


### Features

* Support FieldMask in Updates ([#1197](https://github.com/googleapis/gapic-showcase/issues/1197)) ([cdb4ce6](https://github.com/googleapis/gapic-showcase/commit/cdb4ce63778a8ea6bcef0006c1e4c4a50da45a6c))


### Bug Fixes

* Use resource field in http body for Updates ([#1198](https://github.com/googleapis/gapic-showcase/issues/1198)) ([48a2632](https://github.com/googleapis/gapic-showcase/commit/48a2632b5f25af24b239216f1ff079ed60de2a61))

## [0.24.0](https://github.com/googleapis/gapic-showcase/compare/v0.23.0...v0.24.0) (2022-07-28)


### Features

* **regapic:** accept numeric enums, allow testing enum round trips ([#1159](https://github.com/googleapis/gapic-showcase/issues/1159)) ([1e863ae](https://github.com/googleapis/gapic-showcase/commit/1e863ae834ad58453c1d74cf593be1188ff15033))

## [0.23.0](https://github.com/googleapis/gapic-showcase/compare/v0.22.0...v0.23.0) (2022-07-27)


### Features

* add binding testing and multiple bindings test data to compliance service ([#1150](https://github.com/googleapis/gapic-showcase/issues/1150)) ([9d43ed0](https://github.com/googleapis/gapic-showcase/commit/9d43ed0621e4c9549a3d92a53dedc5dd57e9bec2))


### Bug Fixes

* remove broken test cases in compliance ([#1151](https://github.com/googleapis/gapic-showcase/issues/1151)) ([a56df9a](https://github.com/googleapis/gapic-showcase/commit/a56df9ab5ad9cdd6cb0385ba9c74263b95538ad8))

## [0.22.0](https://github.com/googleapis/gapic-showcase/compare/v0.21.0...v0.22.0) (2022-06-13)


### Features

* Support LRO mixins over REST ([#1118](https://github.com/googleapis/gapic-showcase/issues/1118)) ([5ca6fe1](https://github.com/googleapis/gapic-showcase/commit/5ca6fe1b8ea7e5645e87718e84b1198ad8ce9c63))

## [0.21.0](https://github.com/googleapis/gapic-showcase/compare/v0.20.0...v0.21.0) (2022-06-08)


### Features

* respond to requests specifying response enum values be JSON-encoded as ints ([#1111](https://github.com/googleapis/gapic-showcase/issues/1111)) ([5389bd1](https://github.com/googleapis/gapic-showcase/commit/5389bd17aedb7f0c8a8de562421222e703589823))


### Bug Fixes

* **genrest:** pass http request context to service handler ([#1088](https://github.com/googleapis/gapic-showcase/issues/1088)) ([bad9b6b](https://github.com/googleapis/gapic-showcase/commit/bad9b6b89b0f75d3ec8408610d329068775703e5))

## [0.20.0](https://github.com/googleapis/gapic-showcase/compare/v0.19.5...v0.20.0) (2022-05-10)


### Features

* **genrest:** format rest errors as Google Errors ([#1082](https://github.com/googleapis/gapic-showcase/issues/1082)) ([e49f134](https://github.com/googleapis/gapic-showcase/commit/e49f134dc54ae734c716f8649fc3279efd68916f))

### [0.19.5](https://github.com/googleapis/gapic-showcase/compare/v0.19.4...v0.19.5) (2022-03-08)


### Bug Fixes

* add a routing.proto dependency to showcase proto bazel target ([#1033](https://github.com/googleapis/gapic-showcase/issues/1033)) ([e2aa303](https://github.com/googleapis/gapic-showcase/commit/e2aa3033e67c0c50c5650512211001e1ad29d36a))

### [0.19.4](https://github.com/googleapis/gapic-showcase/compare/v0.19.3...v0.19.4) (2022-03-03)


### Bug Fixes

* **ci:** yet another attempt to fix asset ci ([#1026](https://github.com/googleapis/gapic-showcase/issues/1026)) ([32a2603](https://github.com/googleapis/gapic-showcase/commit/32a2603550220dcd0a86d533a883fa1ba860a3b1))

### [0.19.3](https://github.com/googleapis/gapic-showcase/compare/v0.19.2...v0.19.3) (2022-03-03)


### Bug Fixes

* **ci:** asset version shouldn't include the leading v ([#1023](https://github.com/googleapis/gapic-showcase/issues/1023)) ([a78d624](https://github.com/googleapis/gapic-showcase/commit/a78d6243b9cbfa088b6863954b0bf6dec91c6786))

### [0.19.2](https://github.com/googleapis/gapic-showcase/compare/v0.19.1...v0.19.2) (2022-03-02)


### Bug Fixes

* use tag_name for proto-assets upload ([#1021](https://github.com/googleapis/gapic-showcase/issues/1021)) ([c3f2f36](https://github.com/googleapis/gapic-showcase/commit/c3f2f36128a3c7b5c51fc1bd87c83f8f833adf9a))

### [0.19.1](https://github.com/googleapis/gapic-showcase/compare/v0.19.0...v0.19.1) (2022-03-02)


### Bug Fixes

* ruby package name ([#1015](https://github.com/googleapis/gapic-showcase/issues/1015)) ([7289f2e](https://github.com/googleapis/gapic-showcase/commit/7289f2e20afa198695d3da9d5a5362a161032244))

### v0.19.0 / 2022-01-31
- update api-common-protos submodule
- add ability to echo headers and added several routing annotations to the `Echo` method
- enable generation of both grpc and rest clients

### v0.18.0 / 2021-12-06
- add `parent` to method signature for `Messaging.SearchBlurbs()`
- update `RELEASING.md` instructions

### v0.17.0 / 2021-11-02
- Implement server streaming RPCs over REST, using chunked encoding.
- Implement RPCs that map to PUT and PATCH HTTP verbs
- Check that REST RPCs using HTTP GET or DELETE don't contain bodies.
- Disable TypeScript smoke tests pending upstream fixes (TS generator Docker image).

### v0.16.0 / 2021-06-16
- Require incoming REST requests to have expected `x-goog-api-client` header tokens
- Allow mTLS to work over gRPC when using `cmux` to also listen to REST requests on the same port
- Make REST `PATCH` methods work
- Fix multi-line truncation in release notes
- Add Docker push instructions to RELEASING.md

### v0.15.0 / 2021-05-05
- Enforce `Content-Type: application/json` in the bodies of REST requests
- Enforce correct `optional` field presence/absence in test suite requests (bodies and query strings)
- Lower-camel-case field names in `compliance_suite.json`

### v0.14.0 / 2021-04-27
- Fix collision between operation helper for `Echo.Wait` and generated mixin `Operations.WaitOpertation`
- REST endpoints: ensure enum values are received as string values
- REST endpoints: ensure full body responses
- Rest endpoints: enforce lower-camel-cased field names in request bodies and query params
- fix windows binary upload
- fix go vet/lint warnings
- pin Go version in CI
- fix release asset version
- add Code of Conduct
- add `SECURITY.md`

### v0.13.0 / 2021-02-24
- Auto-generate REST endpoints for Showcase services via `genrest` (partial)
- Add Compliance service for generators to use to test REST-transcoding their
  protos and RPCs (partial)
- Add mix-in service implementations
- Update API Service config with mix-ins and more
- Add Bazel proto_library targets for schema/
- Migrated to GitHub Actions
- Regen client & CLI with small updates
- Update dependencies

### v0.12.0 / 2020-08-12
- Add client-side retry/deadline testing surface
- Regen client & CLI with small updates
- Update dependencies

### v0.11.0 / 2020-05-26
- Add non-slash resource name patterns to Blurb resource
- Fix typo in User-parented Blurb resource patterns
- Add an enum to EchoRequest/EchoResponse
- Regen CLI with new fields
- Update dependencies

### v0.10.1 / 2020-05-20
- Fix UpdateUser handler response to send entire updated resource
- Note: non-slash resource name changes are not included in this release

### v0.10.0 / 2020-05-18
- Add use of proto3_optional in schema
- Upgrade CI protoc to v3.12.0
- Regen CLI with new proto3_optional fields
- Update dependencies

### v0.9.0 / 2020-04-22
- Print gRPC request headers in verbose mode (`gapic-showcase run -v`)
- Add TypeScript smoke tests
- Fix Kotlin smoke tests

### v0.8.1 / 2020-04-15
- Fix bug in mTLS configuration resolution

### v0.8.0 / 2020-04-14
- Add mtls support with user provided cert/key to server
- Regen cli:
  - Paginated RPCs only collect a single page
  - Default page_size changed from 0 to 10 to avoid short circuiting
- Regen client:
  - clientHook support added
- Update CI use of go.mod
- Update dependencies

### v0.7.0 / 2020-02-06
- Regen client and protobuf code for Go grpc.ClientConn interface
- Update dependencies

### v0.6.1 / 2019-11-01
- Fix the resource name for Blurb.

### v0.6.0 / 2019-11-01
- Add a gRPC ServiceConfig for microgenerator retry config
- Regen client code with retry config
- Update dependencies

### v0.5.0 / 2019-09-04
- Update to Go version 1.13
- Update dependencies
- Add trailers testing support to Echo
- Fix pagination in operations service

### v0.4.0 / 2019-08-13
- Add dummy LRO service
- Dependency updates

### v0.3.0 / 2019-08-09
- Remove nodejs server implementation
- Update dependencies
- Update golang docker tag to v1.12
- Add Block method to Echo service
- Enable kotlin smoke test
- Add renovate.json

### v0.2.4 / 2019-07-11
- Update `grpc-fallback-go` version to `v0.1.3`

### v0.2.3 / 2019-07-09
- Update `grpc-fallback-go` version to `v0.1.2`

### v0.2.2 / 2019-07-09
- Update `grpc-fallback-go` version to `v0.1.1`

### v0.2.1 / 2019-07-03
- Add fallback-proxy to `gapic-showcase run` via grpc-fallback-go
- Expose fallback-proxy port in Dockerfile
- Tidy `go.mod`

### v0.2.0 / 2019-05-24
- Regenerate GAPIC & GCLI with small updates
- Update resource annotations
- Fix bug in README
- Add Node.js EchoService implementation
- Remove extraneous logging

### v0.1.1 / 2019-04-17
- Regenerate GAPIC & GCLI to capture fixes for paged RPCs & commands

### v0.1.0 / 2019-04-04
- Beta release.

### v0.0.16 / 2019-03-25
- Fixing some field names in path templates

### v0.0.15 / 2019-03-25
- Fixing path templates to make sure curly braces match
- Use Go modules

### v0.0.14 / 2019-03-25
- Serve Testing service CLI service
- Ensure all path templates start with `/`

### v0.0.13 / 2019-03-01
- Fix issue which tombstones users.

### v0.0.12 / 2019-02-20
- Remove google.api.client_package proto annotations.

### v0.0.11 / 2019-02-19
- Update GAPIC config proto annotations.

### v0.0.10 / 2019-01-29
- Expose messaging and identity services when running `gapic-showcase run`.
- Refactor `Echo.WaitRequest` to follow API style for denoting time to live.
- Use GCLI Generated Code for the CLI cmd.


================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Code of Conduct

As contributors and maintainers of this project,
and in the interest of fostering an open and welcoming community,
we pledge to respect all people who contribute through reporting issues,
posting feature requests, updating documentation,
submitting pull requests or patches, and other activities.

We are committed to making participation in this project
a harassment-free experience for everyone,
regardless of level of experience, gender, gender identity and expression,
sexual orientation, disability, personal appearance,
body size, race, ethnicity, age, religion, or nationality.

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery
* Personal attacks
* Trolling or insulting/derogatory comments
* Public or private harassment
* Publishing other's private information,
such as physical or electronic
addresses, without explicit permission
* Other unethical or unprofessional conduct.

Project maintainers have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct.
By adopting this Code of Conduct,
project maintainers commit themselves to fairly and consistently
applying these principles to every aspect of managing this project.
Project maintainers who do not follow or enforce the Code of Conduct
may be permanently removed from the project team.

This code of conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community.

Instances of abusive, harassing, or otherwise unacceptable behavior
may be reported by opening an issue
or contacting one or more of the project maintainers.

This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0,
available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/)


================================================
FILE: CONTRIBUTING.md
================================================
Contributing
============

We are thrilled that you are interested in contributing to this project.
Please open an issue or pull request with your ideas.

Contributor License Agreements
------------------------------

Before we can accept your pull requests, you will need to sign a
Contributor License Agreement (CLA):

-   **If you are an individual writing original source code** and **you
    own the intellectual property**, then you'll need to sign an
    [individual CLA].
-   **If you work for a company that wants to allow you to contribute
    your work**, then you'll need to sign a [corporate CLA].

You can sign these electronically (just scroll to the bottom). After
that, we'll be able to accept your pull requests.

  [individual CLA]: https://developers.google.com/open-source/cla/individual
  [corporate CLA]: https://developers.google.com/open-source/cla/corporate


================================================
FILE: Dockerfile
================================================
FROM golang:1.26-alpine AS builder

# Install git and gcc.
RUN apk add --no-cache git gcc musl-dev

# Setup directory.
WORKDIR /go/src/github.com/googleapis/gapic-showcase
COPY . .

# Compile for Linux.
ENV CGO_ENABLED 0
ENV GOOS linux
ENV GOARCH amd64

# Install showcase.
RUN go get ./...
RUN go build -installsuffix cgo \
  -ldflags="-w -s" \
  -o /go/bin/gapic-showcase \
  ./cmd/gapic-showcase

# Start a fresh image, and only copy the built binary.
FROM scratch
COPY --from=builder /go/bin/gapic-showcase /go/bin/gapic-showcase

# Expose ports
EXPOSE 7469
EXPOSE 1337

# Run the server.
ENTRYPOINT ["/go/bin/gapic-showcase"]
CMD ["run"]


================================================
FILE: LICENSE
================================================

                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.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.


================================================
FILE: README.md
================================================
# GAPIC Showcase

[![Release Level][releaselevelimg]][releaselevel]
[![Code Coverage][codecovimg]][codecov]
[![GoDoc][godocimg]][godoc]

GAPIC Showcase is an API that demonstrates Generated API Client (GAPIC) features
and common API patterns used by Google. It follows the [Cloud APIs design
guide](https://cloud.google.com/apis/design/).  This project provides a server
and client implementation of the API that can be run locally over both gRPC and
HTTP/JSON.

## Installation
The GAPIC Showcase CLI can be installed using three different mechanisms:
pulling a docker image from [Google Container Registry](https://gcr.io/gapic-images/gapic-showcase),
downloading the compiled binary from our our [releases](https://github.com/googleapis/gapic-showcase/releases)
page, or simply by installing from source using go.

### Docker

**NOTE**: The "latest" Docker image is currently stale. We expect to update it in the near future. (We're upgrading our processes.)

```sh
$ docker pull gcr.io/gapic-images/gapic-showcase:latest
$ docker run \
    --rm \
    -p 7469:7469/tcp \
    -p 7469:7469/udp \
    gcr.io/gapic-images/gapic-showcase:latest \
    --help
> Root command of gapic-showcase
>
> Usage:
>   gapic-showcase [command]
>
> Available Commands:
>   completion  Emits bash a completion for gapic-showcase
>   echo        This service is used showcase the four main types...
>   help        Help about any command
>   identity    A simple identity service.
>   messaging   A simple messaging service that implements chat...
>   run         Runs the showcase server
>   testing     A service to facilitate running discrete sets of...
>
> Flags:
>   -h, --help      help for gapic-showcase
>   -j, --json      Print JSON output
>   -v, --verbose   Print verbose output
>       --version   version for gapic-showcase
>
> Use "gapic-showcase [command] --help" for more information about a command.
```

### Binary
```sh
$ export GAPIC_SHOWCASE_VERSION=0.36.1  # use the current version here
$ export OS=linux
$ export ARCH=amd64
$ curl -L https://github.com/googleapis/gapic-showcase/releases/download/v${GAPIC_SHOWCASE_VERSION}/gapic-showcase-${GAPIC_SHOWCASE_VERSION}-${OS}-${ARCH}.tar.gz | sudo tar -zx --directory /usr/local/bin/
$ gapic-showcase --help
...
```

### Source
```sh
$ go install github.com/googleapis/gapic-showcase/cmd/gapic-showcase@latest
$ PATH=$PATH:`go env GOPATH`/bin
$ gapic-showcase --help
...
```
_* Bear in mind this is not a versioned installation so no versioning guarantees
hold using this installation method._

## Schema
The schema of GAPIC Showcase API can be found in [schema/google/showcase/v1beta1](schema/google/showcase/v1beta1)
Its dependencies can be found in the [googleapis/googleapis](https://github.com/googleapis/googleapis)
submodule.

## Development Environment
To set up this repository for local development, follow these steps:

1. Install `protoc` from the protobuf [release page](https://github.com/protocolbuffers/protobuf/releases)
or your OS package manager. This API utilizes `proto3_optional`, thus `v3.12.0`
is the minimum supported version of `protoc`.

1. Initialize the `googleapis` submodule:
    ```sh
    git submodule update --init --recursive
    ```

1. Install Go
    1. Linux: `sudo apt-get install golang`
    2. Mac, Windows, or other options: Please see the [official set-up docs](https://golang.org/doc/install).

1. Clone this repository.

1. Set up Go protobuf tools:
    ```sh
    go install github.com/golang/protobuf/protoc-gen-go@latest
    go install github.com/googleapis/gapic-generator-go/cmd/protoc-gen-go_cli@latest
    go install github.com/googleapis/gapic-generator-go/cmd/protoc-gen-go_gapic@latest
    ```

1. Export the Go binaries to your environment path.
    ```sh
    PATH=$PATH:`go env GOPATH`/bin
    ```

1. To compile the Showcase binary, as well as associated development utilities in this repository, run the following after you make changes:
    ```sh
    go install ./...
    ```



### Making changes to the protos

If there are any changes to the protobuf files, the generated support code must
be regenerated. This can be done by executing the following command:

    go install ./util/cmd/... && go run ./util/cmd/compile_protos

If successful, you may see changes in the following directories:

* `server/genproto`
* `server/genrest`
* `client/`
* `cmd/gapic-showcase`

Then, update the binaries:

    go install ./...

## Quick Start
This quick start guide will show you how to start the server and make a request to it.

### Step 1. Run the server
Run the showcase server to allow requests to be sent to it. This opens port :7469 to
send and receive requests.

```sh
$ gapic-showcase run
> 2018/09/19 02:13:09 Showcase listening on port: :7469
```

### Step 2. Make a request
Open a new terminal window and make a request to the server.
```sh
$ gapic-showcase \
  identity \ # Service name
  create-user \ # Message name
  --user.display_name Rumble \ # Request fields
  --user.email rumble@goodboi.com
> name:"users/0" display_name:"Rumble" email:"rumble@goodboi.com" create_time:<seconds:1554414332 nanos:494679000 > update_time:<seconds:1554414332 nanos:494679000 >
```
**_Note: You can make requests to this server from your own client but an insecure channel
must be used since the server does not implement auth. Client library generators with
Showcase-based integration tests need to provide the insecure channel to the client library
in the tests._**

#### Example for Node.js:

```js
const grpc = require('@grpc/grpc-js');
const showcase = require('showcase');
const client = new showcase.EchoClient({ grpc, sslCreds: grpc.credentials.createInsecure() });
```

#### Example for Go:

```go
package main

import (
	"context"
	"fmt"
	"log"

	"github.com/googleapis/gapic-showcase/client"
	"google.golang.org/api/option"
	"google.golang.org/grpc"
	"google.golang.org/grpc/credentials/insecure"
)

func main() {
	conn, err := grpc.Dial("localhost:7469", grpc.WithTransportCredentials(insecure.NewCredentials()))
	if err != nil {
		log.Fatal(err)
	}
	opt := option.WithGRPCConn(conn)
	ctx := context.Background()
	_, err = client.NewEchoClient(ctx, opt)
	if err != nil {
		log.Fatal(err)
	}
}
```


#### Example for Java (gRPC):

```java
EchoSettings echoSettings = EchoSettings.newBuilder()
    .setCredentialsProvider(NoCredentialsProvider.create())
    .setTransportChannelProvider(
        InstantiatingGrpcChannelProvider.newBuilder()
            .setChannelConfigurator(
                new ApiFunction<ManagedChannelBuilder, ManagedChannelBuilder>() {
                  @Override
                  public ManagedChannelBuilder apply(ManagedChannelBuilder input) {
                    return input.usePlaintext();
                  }
                })
            .build())
    .build();
EchoClient echoClient = EchoClient.create(echoSettings);
```

#### Example for Java (httpJson):

```java
EchoSettings echoSettings = EchoSettings.newHttpJsonBuilder()
    .setTransportChannelProvider(EchoSettings.defaultHttpJsonTransportProviderBuilder()
        .setHttpTransport(new NetHttpTransport.Builder().doNotValidateCertificate().build())
        .setEndpoint("http://localhost:7469")
        .build())
    .build();
EchoClient echoClient = EchoClient.create(echoSettings);
```

#### Example for Python

```python
from google import showcase_v1beta1
from google.auth import credentials

import grpc

# ...

if do_grpc:
    transport_cls = showcase_v1beta1.EchoClient.get_transport_class("grpc")
    transport = transport_cls(
        credentials=credentials.AnonymousCredentials(),
        channel=grpc.insecure_channel("localhost:7469"),
        host="localhost:7469",
    )
else:
    transport_cls = showcase_v1beta1.EchoClient.get_transport_class("rest")
    transport = transport_cls(
        credentials=credentials.AnonymousCredentials(),
        host="localhost:7469",
        url_scheme="http",
    )

```

## Released Artifacts
GAPIC Showcase releases three main artifacts, a CLI tool, the gapic-showcase
service protobuf files staged alongside its dependencies, and a protocol buffer
descriptor set compiled from the gapic-showcase service protos.

Check out our [releases](https://github.com/googleapis/gapic-showcase/releases) page to see our released artifacts.

## Versioning
GAPIC Showcase follows semantic versioning. All artifacts that are
released for a certain version are guaranteed to be compatible with one another.

## Releases
Releases are made by [release-please](https://github.com/googleapis/release-please)
based on the contents of the Conventional Commits made to the project. Assets
are then uploaded to the releases that are created.

## Supported Go Versions
GAPIC Showcase is supported for go versions 1.16 and later.

## FAQ

### Is this Showcase API publicly served?

This API is not publicly served.

## Disclaimer

This is not an official Google product.

[codecovimg]: https://codecov.io/github/googleapis/gapic-showcase/coverage.svg?branch=main
[codecov]: https://codecov.io/github/googleapis/gapic-showcase?branch=main
[godoc]: https://godoc.org/github.com/googleapis/gapic-showcase/server
[godocimg]: https://godoc.org/github.com/googleapis/gapic-showcase/server?status.svg
[releaselevel]: https://cloud.google.com/terms/launch-stages
[releaselevelimg]: https://img.shields.io/badge/release%20level-beta-red.svg?style&#x3D;flat


================================================
FILE: SECURITY.md
================================================
# Security Policy

To report a security issue, please use [g.co/vulnz](https://g.co/vulnz).

The Google Security Team will respond within 5 working days of your report on g.co/vulnz.

We use g.co/vulnz for our intake, and do coordination and disclosure here using GitHub Security Advisory to privately discuss and fix the issue.


================================================
FILE: WORKSPACE.bazel
================================================
# 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
#
#      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 workspace for gapic-showcase
"""
workspace(name = "gapic_showcase")
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

##
# googleapis for the common protos
#
http_archive(
  name = "com_google_googleapis",
  strip_prefix = "googleapis-7976ffadc0f21ee9149708c0c97ef000e15de1eb",
  urls = ["https://github.com/googleapis/googleapis/archive/7976ffadc0f21ee9149708c0c97ef000e15de1eb.zip"],
  sha256 = "935fb7ebbc65f43e293fac7240471c24d9d52249f5c8bf09c0d04327b2191053"
)
load("@com_google_googleapis//:repository_rules.bzl", "switched_rules_by_language")
switched_rules_by_language(name = "com_google_googleapis_imports", grpc = True)

##
# protobuf for the protobuf protos
#
http_archive(
  name = "com_google_protobuf",
  sha256 = "ddd0f5271f31b549efc74eb39061e142132653d5d043071fcec265bd571e73c4",
  urls = ["https://github.com/protocolbuffers/protobuf/archive/v25.2.zip"],
  strip_prefix = "protobuf-25.2",
)
load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
protobuf_deps()

http_archive(
    name = "bazel_features",
    sha256 = "5d7e4eb0bb17aee392143cd667b67d9044c270a9345776a5e5a3cccbc44aa4b3",
    strip_prefix = "bazel_features-1.13.0",
    url = "https://github.com/bazel-contrib/bazel_features/releases/download/v1.13.0/bazel_features-v1.13.0.tar.gz",
)
load("@bazel_features//:deps.bzl", "bazel_features_deps")
bazel_features_deps()

##
# rules_proto for the proto_library rule
#
http_archive(
    name = "rules_proto",
    sha256 = "6fb6767d1bef535310547e03247f7518b03487740c11b6c6adb7952033fe1295",
    # Using a release candidate because the latest stable release is too old for
    # our needs, and we want to stay closer to the latest without pinning to a
    # specific commit.
    strip_prefix = "rules_proto-6.0.2",
    url = "https://github.com/bazelbuild/rules_proto/releases/download/6.0.2/rules_proto-6.0.2.tar.gz",
)

load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies","rules_proto_toolchains")
rules_proto_dependencies()
rules_proto_toolchains()


================================================
FILE: client/auxiliary.go
================================================
// 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.

// Code generated by protoc-gen-go_gapic. DO NOT EDIT.

package client

import (
	"context"
	"time"

	"cloud.google.com/go/longrunning"
	longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb"
	genprotopb "github.com/googleapis/gapic-showcase/server/genproto"
	gax "github.com/googleapis/gax-go/v2"
	"google.golang.org/api/iterator"
	locationpb "google.golang.org/genproto/googleapis/cloud/location"
)

// SearchBlurbsOperation manages a long-running operation from SearchBlurbs.
type SearchBlurbsOperation struct {
	lro      *longrunning.Operation
	pollPath string
}

// Wait blocks until the long-running operation is completed, returning the response and any errors encountered.
//
// See documentation of Poll for error-handling information.
func (op *SearchBlurbsOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*genprotopb.SearchBlurbsResponse, error) {
	opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...)
	var resp genprotopb.SearchBlurbsResponse
	if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil {
		return nil, err
	}
	return &resp, nil
}

// Poll fetches the latest state of the long-running operation.
//
// Poll also fetches the latest metadata, which can be retrieved by Metadata.
//
// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and
// the operation has completed with failure, the error is returned and op.Done will return true.
// If Poll succeeds and the operation has completed successfully,
// op.Done will return true, and the response of the operation is returned.
// If Poll succeeds and the operation has not completed, the returned response and error are both nil.
func (op *SearchBlurbsOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*genprotopb.SearchBlurbsResponse, error) {
	opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...)
	var resp genprotopb.SearchBlurbsResponse
	if err := op.lro.Poll(ctx, &resp, opts...); err != nil {
		return nil, err
	}
	if !op.Done() {
		return nil, nil
	}
	return &resp, nil
}

// Metadata returns metadata associated with the long-running operation.
// Metadata itself does not contact the server, but Poll does.
// To get the latest metadata, call this method after a successful call to Poll.
// If the metadata is not available, the returned metadata and error are both nil.
func (op *SearchBlurbsOperation) Metadata() (*genprotopb.SearchBlurbsMetadata, error) {
	var meta genprotopb.SearchBlurbsMetadata
	if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata {
		return nil, nil
	} else if err != nil {
		return nil, err
	}
	return &meta, nil
}

// Done reports whether the long-running operation has completed.
func (op *SearchBlurbsOperation) Done() bool {
	return op.lro.Done()
}

// Name returns the name of the long-running operation.
// The name is assigned by the server and is unique within the service from which the operation is created.
func (op *SearchBlurbsOperation) Name() string {
	return op.lro.Name()
}

// WaitOperation manages a long-running operation from Wait.
type WaitOperation struct {
	lro      *longrunning.Operation
	pollPath string
}

// Wait blocks until the long-running operation is completed, returning the response and any errors encountered.
//
// See documentation of Poll for error-handling information.
func (op *WaitOperation) Wait(ctx context.Context, opts ...gax.CallOption) (*genprotopb.WaitResponse, error) {
	opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...)
	var resp genprotopb.WaitResponse
	if err := op.lro.WaitWithInterval(ctx, &resp, time.Minute, opts...); err != nil {
		return nil, err
	}
	return &resp, nil
}

// Poll fetches the latest state of the long-running operation.
//
// Poll also fetches the latest metadata, which can be retrieved by Metadata.
//
// If Poll fails, the error is returned and op is unmodified. If Poll succeeds and
// the operation has completed with failure, the error is returned and op.Done will return true.
// If Poll succeeds and the operation has completed successfully,
// op.Done will return true, and the response of the operation is returned.
// If Poll succeeds and the operation has not completed, the returned response and error are both nil.
func (op *WaitOperation) Poll(ctx context.Context, opts ...gax.CallOption) (*genprotopb.WaitResponse, error) {
	opts = append([]gax.CallOption{gax.WithPath(op.pollPath)}, opts...)
	var resp genprotopb.WaitResponse
	if err := op.lro.Poll(ctx, &resp, opts...); err != nil {
		return nil, err
	}
	if !op.Done() {
		return nil, nil
	}
	return &resp, nil
}

// Metadata returns metadata associated with the long-running operation.
// Metadata itself does not contact the server, but Poll does.
// To get the latest metadata, call this method after a successful call to Poll.
// If the metadata is not available, the returned metadata and error are both nil.
func (op *WaitOperation) Metadata() (*genprotopb.WaitMetadata, error) {
	var meta genprotopb.WaitMetadata
	if err := op.lro.Metadata(&meta); err == longrunning.ErrNoMetadata {
		return nil, nil
	} else if err != nil {
		return nil, err
	}
	return &meta, nil
}

// Done reports whether the long-running operation has completed.
func (op *WaitOperation) Done() bool {
	return op.lro.Done()
}

// Name returns the name of the long-running operation.
// The name is assigned by the server and is unique within the service from which the operation is created.
func (op *WaitOperation) Name() string {
	return op.lro.Name()
}

// BlurbIterator manages a stream of *genprotopb.Blurb.
type BlurbIterator struct {
	items    []*genprotopb.Blurb
	pageInfo *iterator.PageInfo
	nextFunc func() error

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*genprotopb.Blurb, nextPageToken string, err error)
}

// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details.
func (it *BlurbIterator) PageInfo() *iterator.PageInfo {
	return it.pageInfo
}

// Next returns the next result. Its second return value is iterator.Done if there are no more
// results. Once Next returns Done, all subsequent calls will return Done.
func (it *BlurbIterator) Next() (*genprotopb.Blurb, error) {
	var item *genprotopb.Blurb
	if err := it.nextFunc(); err != nil {
		return item, err
	}
	item = it.items[0]
	it.items = it.items[1:]
	return item, nil
}

func (it *BlurbIterator) bufLen() int {
	return len(it.items)
}

func (it *BlurbIterator) takeBuf() interface{} {
	b := it.items
	it.items = nil
	return b
}

// EchoResponseIterator manages a stream of *genprotopb.EchoResponse.
type EchoResponseIterator struct {
	items    []*genprotopb.EchoResponse
	pageInfo *iterator.PageInfo
	nextFunc func() error

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*genprotopb.EchoResponse, nextPageToken string, err error)
}

// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details.
func (it *EchoResponseIterator) PageInfo() *iterator.PageInfo {
	return it.pageInfo
}

// Next returns the next result. Its second return value is iterator.Done if there are no more
// results. Once Next returns Done, all subsequent calls will return Done.
func (it *EchoResponseIterator) Next() (*genprotopb.EchoResponse, error) {
	var item *genprotopb.EchoResponse
	if err := it.nextFunc(); err != nil {
		return item, err
	}
	item = it.items[0]
	it.items = it.items[1:]
	return item, nil
}

func (it *EchoResponseIterator) bufLen() int {
	return len(it.items)
}

func (it *EchoResponseIterator) takeBuf() interface{} {
	b := it.items
	it.items = nil
	return b
}

// LocationIterator manages a stream of *locationpb.Location.
type LocationIterator struct {
	items    []*locationpb.Location
	pageInfo *iterator.PageInfo
	nextFunc func() error

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*locationpb.Location, nextPageToken string, err error)
}

// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details.
func (it *LocationIterator) PageInfo() *iterator.PageInfo {
	return it.pageInfo
}

// Next returns the next result. Its second return value is iterator.Done if there are no more
// results. Once Next returns Done, all subsequent calls will return Done.
func (it *LocationIterator) Next() (*locationpb.Location, error) {
	var item *locationpb.Location
	if err := it.nextFunc(); err != nil {
		return item, err
	}
	item = it.items[0]
	it.items = it.items[1:]
	return item, nil
}

func (it *LocationIterator) bufLen() int {
	return len(it.items)
}

func (it *LocationIterator) takeBuf() interface{} {
	b := it.items
	it.items = nil
	return b
}

// OperationIterator manages a stream of *longrunningpb.Operation.
type OperationIterator struct {
	items    []*longrunningpb.Operation
	pageInfo *iterator.PageInfo
	nextFunc func() error

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*longrunningpb.Operation, nextPageToken string, err error)
}

// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details.
func (it *OperationIterator) PageInfo() *iterator.PageInfo {
	return it.pageInfo
}

// Next returns the next result. Its second return value is iterator.Done if there are no more
// results. Once Next returns Done, all subsequent calls will return Done.
func (it *OperationIterator) Next() (*longrunningpb.Operation, error) {
	var item *longrunningpb.Operation
	if err := it.nextFunc(); err != nil {
		return item, err
	}
	item = it.items[0]
	it.items = it.items[1:]
	return item, nil
}

func (it *OperationIterator) bufLen() int {
	return len(it.items)
}

func (it *OperationIterator) takeBuf() interface{} {
	b := it.items
	it.items = nil
	return b
}

// PagedExpandResponseListPair is a holder type for string/*genprotopb.PagedExpandResponseList map entries
type PagedExpandResponseListPair struct {
	Key   string
	Value *genprotopb.PagedExpandResponseList
}

// PagedExpandResponseListPairIterator manages a stream of PagedExpandResponseListPair.
type PagedExpandResponseListPairIterator struct {
	items    []PagedExpandResponseListPair
	pageInfo *iterator.PageInfo
	nextFunc func() error

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []PagedExpandResponseListPair, nextPageToken string, err error)
}

// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details.
func (it *PagedExpandResponseListPairIterator) PageInfo() *iterator.PageInfo {
	return it.pageInfo
}

// Next returns the next result. Its second return value is iterator.Done if there are no more
// results. Once Next returns Done, all subsequent calls will return Done.
func (it *PagedExpandResponseListPairIterator) Next() (PagedExpandResponseListPair, error) {
	var item PagedExpandResponseListPair
	if err := it.nextFunc(); err != nil {
		return item, err
	}
	item = it.items[0]
	it.items = it.items[1:]
	return item, nil
}

func (it *PagedExpandResponseListPairIterator) bufLen() int {
	return len(it.items)
}

func (it *PagedExpandResponseListPairIterator) takeBuf() interface{} {
	b := it.items
	it.items = nil
	return b
}

// RoomIterator manages a stream of *genprotopb.Room.
type RoomIterator struct {
	items    []*genprotopb.Room
	pageInfo *iterator.PageInfo
	nextFunc func() error

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*genprotopb.Room, nextPageToken string, err error)
}

// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details.
func (it *RoomIterator) PageInfo() *iterator.PageInfo {
	return it.pageInfo
}

// Next returns the next result. Its second return value is iterator.Done if there are no more
// results. Once Next returns Done, all subsequent calls will return Done.
func (it *RoomIterator) Next() (*genprotopb.Room, error) {
	var item *genprotopb.Room
	if err := it.nextFunc(); err != nil {
		return item, err
	}
	item = it.items[0]
	it.items = it.items[1:]
	return item, nil
}

func (it *RoomIterator) bufLen() int {
	return len(it.items)
}

func (it *RoomIterator) takeBuf() interface{} {
	b := it.items
	it.items = nil
	return b
}

// SessionIterator manages a stream of *genprotopb.Session.
type SessionIterator struct {
	items    []*genprotopb.Session
	pageInfo *iterator.PageInfo
	nextFunc func() error

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*genprotopb.Session, nextPageToken string, err error)
}

// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details.
func (it *SessionIterator) PageInfo() *iterator.PageInfo {
	return it.pageInfo
}

// Next returns the next result. Its second return value is iterator.Done if there are no more
// results. Once Next returns Done, all subsequent calls will return Done.
func (it *SessionIterator) Next() (*genprotopb.Session, error) {
	var item *genprotopb.Session
	if err := it.nextFunc(); err != nil {
		return item, err
	}
	item = it.items[0]
	it.items = it.items[1:]
	return item, nil
}

func (it *SessionIterator) bufLen() int {
	return len(it.items)
}

func (it *SessionIterator) takeBuf() interface{} {
	b := it.items
	it.items = nil
	return b
}

// TestIterator manages a stream of *genprotopb.Test.
type TestIterator struct {
	items    []*genprotopb.Test
	pageInfo *iterator.PageInfo
	nextFunc func() error

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*genprotopb.Test, nextPageToken string, err error)
}

// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details.
func (it *TestIterator) PageInfo() *iterator.PageInfo {
	return it.pageInfo
}

// Next returns the next result. Its second return value is iterator.Done if there are no more
// results. Once Next returns Done, all subsequent calls will return Done.
func (it *TestIterator) Next() (*genprotopb.Test, error) {
	var item *genprotopb.Test
	if err := it.nextFunc(); err != nil {
		return item, err
	}
	item = it.items[0]
	it.items = it.items[1:]
	return item, nil
}

func (it *TestIterator) bufLen() int {
	return len(it.items)
}

func (it *TestIterator) takeBuf() interface{} {
	b := it.items
	it.items = nil
	return b
}

// UserIterator manages a stream of *genprotopb.User.
type UserIterator struct {
	items    []*genprotopb.User
	pageInfo *iterator.PageInfo
	nextFunc func() error

	// Response is the raw response for the current page.
	// It must be cast to the RPC response type.
	// Calling Next() or InternalFetch() updates this value.
	Response interface{}

	// InternalFetch is for use by the Google Cloud Libraries only.
	// It is not part of the stable interface of this package.
	//
	// InternalFetch returns results from a single call to the underlying RPC.
	// The number of results is no greater than pageSize.
	// If there are no more results, nextPageToken is empty and err is nil.
	InternalFetch func(pageSize int, pageToken string) (results []*genprotopb.User, nextPageToken string, err error)
}

// PageInfo supports pagination. See the [google.golang.org/api/iterator] package for details.
func (it *UserIterator) PageInfo() *iterator.PageInfo {
	return it.pageInfo
}

// Next returns the next result. Its second return value is iterator.Done if there are no more
// results. Once Next returns Done, all subsequent calls will return Done.
func (it *UserIterator) Next() (*genprotopb.User, error) {
	var item *genprotopb.User
	if err := it.nextFunc(); err != nil {
		return item, err
	}
	item = it.items[0]
	it.items = it.items[1:]
	return item, nil
}

func (it *UserIterator) bufLen() int {
	return len(it.items)
}

func (it *UserIterator) takeBuf() interface{} {
	b := it.items
	it.items = nil
	return b
}


================================================
FILE: client/auxiliary_go123.go
================================================
// 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.

// Code generated by protoc-gen-go_gapic. DO NOT EDIT.

//go:build go1.23

package client

import (
	"iter"

	longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb"
	genprotopb "github.com/googleapis/gapic-showcase/server/genproto"
	"github.com/googleapis/gax-go/v2/iterator"
	locationpb "google.golang.org/genproto/googleapis/cloud/location"
)

// All returns an iterator. If an error is returned by the iterator, the
// iterator will stop after that iteration.
func (it *BlurbIterator) All() iter.Seq2[*genprotopb.Blurb, error] {
	return iterator.RangeAdapter(it.Next)
}

// All returns an iterator. If an error is returned by the iterator, the
// iterator will stop after that iteration.
func (it *EchoResponseIterator) All() iter.Seq2[*genprotopb.EchoResponse, error] {
	return iterator.RangeAdapter(it.Next)
}

// All returns an iterator. If an error is returned by the iterator, the
// iterator will stop after that iteration.
func (it *LocationIterator) All() iter.Seq2[*locationpb.Location, error] {
	return iterator.RangeAdapter(it.Next)
}

// All returns an iterator. If an error is returned by the iterator, the
// iterator will stop after that iteration.
func (it *OperationIterator) All() iter.Seq2[*longrunningpb.Operation, error] {
	return iterator.RangeAdapter(it.Next)
}

// All returns an iterator. If an error is returned by the iterator, the
// iterator will stop after that iteration.
func (it *PagedExpandResponseListPairIterator) All() iter.Seq2[PagedExpandResponseListPair, error] {
	return iterator.RangeAdapter(it.Next)
}

// All returns an iterator. If an error is returned by the iterator, the
// iterator will stop after that iteration.
func (it *RoomIterator) All() iter.Seq2[*genprotopb.Room, error] {
	return iterator.RangeAdapter(it.Next)
}

// All returns an iterator. If an error is returned by the iterator, the
// iterator will stop after that iteration.
func (it *SessionIterator) All() iter.Seq2[*genprotopb.Session, error] {
	return iterator.RangeAdapter(it.Next)
}

// All returns an iterator. If an error is returned by the iterator, the
// iterator will stop after that iteration.
func (it *TestIterator) All() iter.Seq2[*genprotopb.Test, error] {
	return iterator.RangeAdapter(it.Next)
}

// All returns an iterator. If an error is returned by the iterator, the
// iterator will stop after that iteration.
func (it *UserIterator) All() iter.Seq2[*genprotopb.User, error] {
	return iterator.RangeAdapter(it.Next)
}


================================================
FILE: client/compliance_client.go
================================================
// 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.

// Code generated by protoc-gen-go_gapic. DO NOT EDIT.

package client

import (
	"bytes"
	"context"
	"fmt"
	"log/slog"
	"math"
	"net/http"
	"net/url"

	iampb "cloud.google.com/go/iam/apiv1/iampb"
	longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb"
	genprotopb "github.com/googleapis/gapic-showcase/server/genproto"
	gax "github.com/googleapis/gax-go/v2"
	"google.golang.org/api/iterator"
	"google.golang.org/api/option"
	"google.golang.org/api/option/internaloption"
	gtransport "google.golang.org/api/transport/grpc"
	httptransport "google.golang.org/api/transport/http"
	locationpb "google.golang.org/genproto/googleapis/cloud/location"
	"google.golang.org/grpc"
	"google.golang.org/protobuf/encoding/protojson"
	"google.golang.org/protobuf/proto"
)

var newComplianceClientHook clientHook

// ComplianceCallOptions contains the retry settings for each method of ComplianceClient.
type ComplianceCallOptions struct {
	RepeatDataBody                 []gax.CallOption
	RepeatDataBodyInfo             []gax.CallOption
	RepeatDataQuery                []gax.CallOption
	RepeatDataSimplePath           []gax.CallOption
	RepeatDataPathResource         []gax.CallOption
	RepeatDataPathTrailingResource []gax.CallOption
	RepeatDataBodyPut              []gax.CallOption
	RepeatDataBodyPatch            []gax.CallOption
	GetEnum                        []gax.CallOption
	VerifyEnum                     []gax.CallOption
	ListLocations                  []gax.CallOption
	GetLocation                    []gax.CallOption
	SetIamPolicy                   []gax.CallOption
	GetIamPolicy                   []gax.CallOption
	TestIamPermissions             []gax.CallOption
	ListOperations                 []gax.CallOption
	GetOperation                   []gax.CallOption
	DeleteOperation                []gax.CallOption
	CancelOperation                []gax.CallOption
}

func defaultComplianceGRPCClientOptions() []option.ClientOption {
	return []option.ClientOption{
		internaloption.WithDefaultEndpoint("localhost:7469"),
		internaloption.WithDefaultEndpointTemplate("localhost:7469"),
		internaloption.WithDefaultMTLSEndpoint("localhost:7469"),
		internaloption.WithDefaultUniverseDomain("googleapis.com"),
		internaloption.WithDefaultAudience("https://localhost/"),
		internaloption.WithDefaultScopes(DefaultAuthScopes()...),
		internaloption.EnableJwtWithScope(),
		internaloption.EnableNewAuthLibrary(),
		option.WithGRPCDialOption(grpc.WithDefaultCallOptions(
			grpc.MaxCallRecvMsgSize(math.MaxInt32))),
	}
}

func defaultComplianceCallOptions() *ComplianceCallOptions {
	return &ComplianceCallOptions{
		RepeatDataBody:                 []gax.CallOption{},
		RepeatDataBodyInfo:             []gax.CallOption{},
		RepeatDataQuery:                []gax.CallOption{},
		RepeatDataSimplePath:           []gax.CallOption{},
		RepeatDataPathResource:         []gax.CallOption{},
		RepeatDataPathTrailingResource: []gax.CallOption{},
		RepeatDataBodyPut:              []gax.CallOption{},
		RepeatDataBodyPatch:            []gax.CallOption{},
		GetEnum:                        []gax.CallOption{},
		VerifyEnum:                     []gax.CallOption{},
		ListLocations:                  []gax.CallOption{},
		GetLocation:                    []gax.CallOption{},
		SetIamPolicy:                   []gax.CallOption{},
		GetIamPolicy:                   []gax.CallOption{},
		TestIamPermissions:             []gax.CallOption{},
		ListOperations:                 []gax.CallOption{},
		GetOperation:                   []gax.CallOption{},
		DeleteOperation:                []gax.CallOption{},
		CancelOperation:                []gax.CallOption{},
	}
}

func defaultComplianceRESTCallOptions() *ComplianceCallOptions {
	return &ComplianceCallOptions{
		RepeatDataBody:                 []gax.CallOption{},
		RepeatDataBodyInfo:             []gax.CallOption{},
		RepeatDataQuery:                []gax.CallOption{},
		RepeatDataSimplePath:           []gax.CallOption{},
		RepeatDataPathResource:         []gax.CallOption{},
		RepeatDataPathTrailingResource: []gax.CallOption{},
		RepeatDataBodyPut:              []gax.CallOption{},
		RepeatDataBodyPatch:            []gax.CallOption{},
		GetEnum:                        []gax.CallOption{},
		VerifyEnum:                     []gax.CallOption{},
		ListLocations:                  []gax.CallOption{},
		GetLocation:                    []gax.CallOption{},
		SetIamPolicy:                   []gax.CallOption{},
		GetIamPolicy:                   []gax.CallOption{},
		TestIamPermissions:             []gax.CallOption{},
		ListOperations:                 []gax.CallOption{},
		GetOperation:                   []gax.CallOption{},
		DeleteOperation:                []gax.CallOption{},
		CancelOperation:                []gax.CallOption{},
	}
}

// internalComplianceClient is an interface that defines the methods available from Client Libraries Showcase API.
type internalComplianceClient interface {
	Close() error
	setGoogleClientInfo(...string)
	Connection() *grpc.ClientConn
	RepeatDataBody(context.Context, *genprotopb.RepeatRequest, ...gax.CallOption) (*genprotopb.RepeatResponse, error)
	RepeatDataBodyInfo(context.Context, *genprotopb.RepeatRequest, ...gax.CallOption) (*genprotopb.RepeatResponse, error)
	RepeatDataQuery(context.Context, *genprotopb.RepeatRequest, ...gax.CallOption) (*genprotopb.RepeatResponse, error)
	RepeatDataSimplePath(context.Context, *genprotopb.RepeatRequest, ...gax.CallOption) (*genprotopb.RepeatResponse, error)
	RepeatDataPathResource(context.Context, *genprotopb.RepeatRequest, ...gax.CallOption) (*genprotopb.RepeatResponse, error)
	RepeatDataPathTrailingResource(context.Context, *genprotopb.RepeatRequest, ...gax.CallOption) (*genprotopb.RepeatResponse, error)
	RepeatDataBodyPut(context.Context, *genprotopb.RepeatRequest, ...gax.CallOption) (*genprotopb.RepeatResponse, error)
	RepeatDataBodyPatch(context.Context, *genprotopb.RepeatRequest, ...gax.CallOption) (*genprotopb.RepeatResponse, error)
	GetEnum(context.Context, *genprotopb.EnumRequest, ...gax.CallOption) (*genprotopb.EnumResponse, error)
	VerifyEnum(context.Context, *genprotopb.EnumResponse, ...gax.CallOption) (*genprotopb.EnumResponse, error)
	ListLocations(context.Context, *locationpb.ListLocationsRequest, ...gax.CallOption) *LocationIterator
	GetLocation(context.Context, *locationpb.GetLocationRequest, ...gax.CallOption) (*locationpb.Location, error)
	SetIamPolicy(context.Context, *iampb.SetIamPolicyRequest, ...gax.CallOption) (*iampb.Policy, error)
	GetIamPolicy(context.Context, *iampb.GetIamPolicyRequest, ...gax.CallOption) (*iampb.Policy, error)
	TestIamPermissions(context.Context, *iampb.TestIamPermissionsRequest, ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error)
	ListOperations(context.Context, *longrunningpb.ListOperationsRequest, ...gax.CallOption) *OperationIterator
	GetOperation(context.Context, *longrunningpb.GetOperationRequest, ...gax.CallOption) (*longrunningpb.Operation, error)
	DeleteOperation(context.Context, *longrunningpb.DeleteOperationRequest, ...gax.CallOption) error
	CancelOperation(context.Context, *longrunningpb.CancelOperationRequest, ...gax.CallOption) error
}

// ComplianceClient is a client for interacting with Client Libraries Showcase API.
// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
//
// This service is used to test that GAPICs implement various REST-related features correctly. This mostly means transcoding proto3 requests to REST format
// correctly for various types of HTTP annotations, but it also includes verifying that unknown (numeric) enums received by clients can be round-tripped
// correctly.
type ComplianceClient struct {
	// The internal transport-dependent client.
	internalClient internalComplianceClient

	// The call options for this service.
	CallOptions *ComplianceCallOptions
}

// Wrapper methods routed to the internal client.

// Close closes the connection to the API service. The user should invoke this when
// the client is no longer required.
func (c *ComplianceClient) Close() error {
	return c.internalClient.Close()
}

// setGoogleClientInfo sets the name and version of the application in
// the `x-goog-api-client` header passed on each request. Intended for
// use by Google-written clients.
func (c *ComplianceClient) setGoogleClientInfo(keyval ...string) {
	c.internalClient.setGoogleClientInfo(keyval...)
}

// Connection returns a connection to the API service.
//
// Deprecated: Connections are now pooled so this method does not always
// return the same resource.
func (c *ComplianceClient) Connection() *grpc.ClientConn {
	return c.internalClient.Connection()
}

// RepeatDataBody this method echoes the ComplianceData request. This method exercises
// sending the entire request object in the REST body.
func (c *ComplianceClient) RepeatDataBody(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	return c.internalClient.RepeatDataBody(ctx, req, opts...)
}

// RepeatDataBodyInfo this method echoes the ComplianceData request. This method exercises
// sending the a message-type field in the REST body. Per AIP-127, only
// top-level, non-repeated fields can be sent this way.
func (c *ComplianceClient) RepeatDataBodyInfo(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	return c.internalClient.RepeatDataBodyInfo(ctx, req, opts...)
}

// RepeatDataQuery this method echoes the ComplianceData request. This method exercises
// sending all request fields as query parameters.
func (c *ComplianceClient) RepeatDataQuery(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	return c.internalClient.RepeatDataQuery(ctx, req, opts...)
}

// RepeatDataSimplePath this method echoes the ComplianceData request. This method exercises
// sending some parameters as “simple” path variables (i.e., of the form
// “/bar/{foo}” rather than “/{foo=bar/*}”), and the rest as query parameters.
func (c *ComplianceClient) RepeatDataSimplePath(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	return c.internalClient.RepeatDataSimplePath(ctx, req, opts...)
}

// RepeatDataPathResource same as RepeatDataSimplePath, but with a path resource.
func (c *ComplianceClient) RepeatDataPathResource(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	return c.internalClient.RepeatDataPathResource(ctx, req, opts...)
}

// RepeatDataPathTrailingResource same as RepeatDataSimplePath, but with a trailing resource.
func (c *ComplianceClient) RepeatDataPathTrailingResource(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	return c.internalClient.RepeatDataPathTrailingResource(ctx, req, opts...)
}

// RepeatDataBodyPut this method echoes the ComplianceData request, using the HTTP PUT method.
func (c *ComplianceClient) RepeatDataBodyPut(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	return c.internalClient.RepeatDataBodyPut(ctx, req, opts...)
}

// RepeatDataBodyPatch this method echoes the ComplianceData request, using the HTTP PATCH method.
func (c *ComplianceClient) RepeatDataBodyPatch(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	return c.internalClient.RepeatDataBodyPatch(ctx, req, opts...)
}

// GetEnum this method requests an enum value from the server. Depending on the contents of EnumRequest, the enum value returned will be a known enum declared in the
// .proto file, or a made-up enum value the is unknown to the client. To verify that clients can round-trip unknown enum values they receive, use the
// response from this RPC as the request to VerifyEnum()
//
// The values of enums sent by the server when a known or unknown value is requested will be the same within a single Showcase server run (this is needed for
// VerifyEnum() to work) but are not guaranteed to be the same across separate Showcase server runs.
func (c *ComplianceClient) GetEnum(ctx context.Context, req *genprotopb.EnumRequest, opts ...gax.CallOption) (*genprotopb.EnumResponse, error) {
	return c.internalClient.GetEnum(ctx, req, opts...)
}

// VerifyEnum this method is used to verify that clients can round-trip enum values, which is particularly important for unknown enum values over REST. VerifyEnum()
// verifies that its request, which is presumably the response that the client previously got to a GetEnum(), contains the correct data. If so, it responds
// with the same EnumResponse; otherwise, the RPC errors.
//
// This works because the values of enums sent by the server when a known or unknown value is requested will be the same within a single Showcase server run,
// although they are not guaranteed to be the same across separate Showcase server runs.
func (c *ComplianceClient) VerifyEnum(ctx context.Context, req *genprotopb.EnumResponse, opts ...gax.CallOption) (*genprotopb.EnumResponse, error) {
	return c.internalClient.VerifyEnum(ctx, req, opts...)
}

// ListLocations is a utility method from google.cloud.location.Locations.
func (c *ComplianceClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator {
	return c.internalClient.ListLocations(ctx, req, opts...)
}

// GetLocation is a utility method from google.cloud.location.Locations.
func (c *ComplianceClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) {
	return c.internalClient.GetLocation(ctx, req, opts...)
}

// SetIamPolicy is a utility method from google.iam.v1.IAMPolicy.
func (c *ComplianceClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) {
	return c.internalClient.SetIamPolicy(ctx, req, opts...)
}

// GetIamPolicy is a utility method from google.iam.v1.IAMPolicy.
func (c *ComplianceClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) {
	return c.internalClient.GetIamPolicy(ctx, req, opts...)
}

// TestIamPermissions is a utility method from google.iam.v1.IAMPolicy.
func (c *ComplianceClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) {
	return c.internalClient.TestIamPermissions(ctx, req, opts...)
}

// ListOperations is a utility method from google.longrunning.Operations.
func (c *ComplianceClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator {
	return c.internalClient.ListOperations(ctx, req, opts...)
}

// GetOperation is a utility method from google.longrunning.Operations.
func (c *ComplianceClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) {
	return c.internalClient.GetOperation(ctx, req, opts...)
}

// DeleteOperation is a utility method from google.longrunning.Operations.
func (c *ComplianceClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error {
	return c.internalClient.DeleteOperation(ctx, req, opts...)
}

// CancelOperation is a utility method from google.longrunning.Operations.
func (c *ComplianceClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error {
	return c.internalClient.CancelOperation(ctx, req, opts...)
}

// complianceGRPCClient is a client for interacting with Client Libraries Showcase API over gRPC transport.
//
// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
type complianceGRPCClient struct {
	// Connection pool of gRPC connections to the service.
	connPool gtransport.ConnPool

	// Points back to the CallOptions field of the containing ComplianceClient
	CallOptions **ComplianceCallOptions

	// The gRPC API client.
	complianceClient genprotopb.ComplianceClient

	operationsClient longrunningpb.OperationsClient

	iamPolicyClient iampb.IAMPolicyClient

	locationsClient locationpb.LocationsClient

	// The x-goog-* metadata to be sent with each request.
	xGoogHeaders []string

	logger *slog.Logger
}

// NewComplianceClient creates a new compliance client based on gRPC.
// The returned client must be Closed when it is done being used to clean up its underlying connections.
//
// This service is used to test that GAPICs implement various REST-related features correctly. This mostly means transcoding proto3 requests to REST format
// correctly for various types of HTTP annotations, but it also includes verifying that unknown (numeric) enums received by clients can be round-tripped
// correctly.
func NewComplianceClient(ctx context.Context, opts ...option.ClientOption) (*ComplianceClient, error) {
	clientOpts := defaultComplianceGRPCClientOptions()
	if newComplianceClientHook != nil {
		hookOpts, err := newComplianceClientHook(ctx, clientHookParams{})
		if err != nil {
			return nil, err
		}
		clientOpts = append(clientOpts, hookOpts...)
	}

	connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...)
	if err != nil {
		return nil, err
	}
	client := ComplianceClient{CallOptions: defaultComplianceCallOptions()}

	c := &complianceGRPCClient{
		connPool:         connPool,
		complianceClient: genprotopb.NewComplianceClient(connPool),
		CallOptions:      &client.CallOptions,
		logger:           internaloption.GetLogger(opts),
		operationsClient: longrunningpb.NewOperationsClient(connPool),
		iamPolicyClient:  iampb.NewIAMPolicyClient(connPool),
		locationsClient:  locationpb.NewLocationsClient(connPool),
	}
	c.setGoogleClientInfo()

	client.internalClient = c

	return &client, nil
}

// Connection returns a connection to the API service.
//
// Deprecated: Connections are now pooled so this method does not always
// return the same resource.
func (c *complianceGRPCClient) Connection() *grpc.ClientConn {
	return c.connPool.Conn()
}

// setGoogleClientInfo sets the name and version of the application in
// the `x-goog-api-client` header passed on each request. Intended for
// use by Google-written clients.
func (c *complianceGRPCClient) setGoogleClientInfo(keyval ...string) {
	kv := append([]string{"gl-go", gax.GoVersion}, keyval...)
	kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version, "pb", protoVersion)
	c.xGoogHeaders = []string{
		"x-goog-api-client", gax.XGoogHeader(kv...),
	}
}

// Close closes the connection to the API service. The user should invoke this when
// the client is no longer required.
func (c *complianceGRPCClient) Close() error {
	return c.connPool.Close()
}

// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
type complianceRESTClient struct {
	// The http endpoint to connect to.
	endpoint string

	// The http client.
	httpClient *http.Client

	// The x-goog-* headers to be sent with each request.
	xGoogHeaders []string

	// Points back to the CallOptions field of the containing ComplianceClient
	CallOptions **ComplianceCallOptions

	logger *slog.Logger
}

// NewComplianceRESTClient creates a new compliance rest client.
//
// This service is used to test that GAPICs implement various REST-related features correctly. This mostly means transcoding proto3 requests to REST format
// correctly for various types of HTTP annotations, but it also includes verifying that unknown (numeric) enums received by clients can be round-tripped
// correctly.
func NewComplianceRESTClient(ctx context.Context, opts ...option.ClientOption) (*ComplianceClient, error) {
	clientOpts := append(defaultComplianceRESTClientOptions(), opts...)
	httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...)
	if err != nil {
		return nil, err
	}

	callOpts := defaultComplianceRESTCallOptions()
	c := &complianceRESTClient{
		endpoint:    endpoint,
		httpClient:  httpClient,
		CallOptions: &callOpts,
		logger:      internaloption.GetLogger(opts),
	}
	c.setGoogleClientInfo()

	return &ComplianceClient{internalClient: c, CallOptions: callOpts}, nil
}

func defaultComplianceRESTClientOptions() []option.ClientOption {
	return []option.ClientOption{
		internaloption.WithDefaultEndpoint("https://localhost:7469"),
		internaloption.WithDefaultEndpointTemplate("https://localhost:7469"),
		internaloption.WithDefaultMTLSEndpoint("https://localhost:7469"),
		internaloption.WithDefaultUniverseDomain("googleapis.com"),
		internaloption.WithDefaultAudience("https://localhost/"),
		internaloption.WithDefaultScopes(DefaultAuthScopes()...),
		internaloption.EnableNewAuthLibrary(),
	}
}

// setGoogleClientInfo sets the name and version of the application in
// the `x-goog-api-client` header passed on each request. Intended for
// use by Google-written clients.
func (c *complianceRESTClient) setGoogleClientInfo(keyval ...string) {
	kv := append([]string{"gl-go", gax.GoVersion}, keyval...)
	kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN", "pb", protoVersion)
	c.xGoogHeaders = []string{
		"x-goog-api-client", gax.XGoogHeader(kv...),
	}
}

// Close closes the connection to the API service. The user should invoke this when
// the client is no longer required.
func (c *complianceRESTClient) Close() error {
	// Replace httpClient with nil to force cleanup.
	c.httpClient = nil
	return nil
}

// Connection returns a connection to the API service.
//
// Deprecated: This method always returns nil.
func (c *complianceRESTClient) Connection() *grpc.ClientConn {
	return nil
}
func (c *complianceGRPCClient) RepeatDataBody(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	ctx = gax.InsertMetadataIntoOutgoingContext(ctx, c.xGoogHeaders...)
	opts = append((*c.CallOptions).RepeatDataBody[0:len((*c.CallOptions).RepeatDataBody):len((*c.CallOptions).RepeatDataBody)], opts...)
	var resp *genprotopb.RepeatResponse
	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		var err error
		resp, err = executeRPC(ctx, c.complianceClient.RepeatDataBody, req, settings.GRPC, c.logger, "RepeatDataBody")
		return err
	}, opts...)
	if err != nil {
		return nil, err
	}
	return resp, nil
}

func (c *complianceGRPCClient) RepeatDataBodyInfo(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	ctx = gax.InsertMetadataIntoOutgoingContext(ctx, c.xGoogHeaders...)
	opts = append((*c.CallOptions).RepeatDataBodyInfo[0:len((*c.CallOptions).RepeatDataBodyInfo):len((*c.CallOptions).RepeatDataBodyInfo)], opts...)
	var resp *genprotopb.RepeatResponse
	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		var err error
		resp, err = executeRPC(ctx, c.complianceClient.RepeatDataBodyInfo, req, settings.GRPC, c.logger, "RepeatDataBodyInfo")
		return err
	}, opts...)
	if err != nil {
		return nil, err
	}
	return resp, nil
}

func (c *complianceGRPCClient) RepeatDataQuery(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	ctx = gax.InsertMetadataIntoOutgoingContext(ctx, c.xGoogHeaders...)
	opts = append((*c.CallOptions).RepeatDataQuery[0:len((*c.CallOptions).RepeatDataQuery):len((*c.CallOptions).RepeatDataQuery)], opts...)
	var resp *genprotopb.RepeatResponse
	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		var err error
		resp, err = executeRPC(ctx, c.complianceClient.RepeatDataQuery, req, settings.GRPC, c.logger, "RepeatDataQuery")
		return err
	}, opts...)
	if err != nil {
		return nil, err
	}
	return resp, nil
}

func (c *complianceGRPCClient) RepeatDataSimplePath(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v&%s=%v", "info.f_string", url.QueryEscape(req.GetInfo().GetFString()), "info.f_int32", req.GetInfo().GetFInt32(), "info.f_double", url.QueryEscape(fmt.Sprintf("%g", req.GetInfo().GetFDouble())), "info.f_bool", req.GetInfo().GetFBool(), "info.f_kingdom", genprotopb.ComplianceData_LifeKingdom_name[int32(req.GetInfo().GetFKingdom())])}

	hds = append(c.xGoogHeaders, hds...)
	ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
	opts = append((*c.CallOptions).RepeatDataSimplePath[0:len((*c.CallOptions).RepeatDataSimplePath):len((*c.CallOptions).RepeatDataSimplePath)], opts...)
	var resp *genprotopb.RepeatResponse
	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		var err error
		resp, err = executeRPC(ctx, c.complianceClient.RepeatDataSimplePath, req, settings.GRPC, c.logger, "RepeatDataSimplePath")
		return err
	}, opts...)
	if err != nil {
		return nil, err
	}
	return resp, nil
}

func (c *complianceGRPCClient) RepeatDataPathResource(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "info.f_string", url.QueryEscape(req.GetInfo().GetFString()), "info.f_child.f_string", url.QueryEscape(req.GetInfo().GetFChild().GetFString()), "info.f_bool", req.GetInfo().GetFBool())}

	hds = append(c.xGoogHeaders, hds...)
	ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
	opts = append((*c.CallOptions).RepeatDataPathResource[0:len((*c.CallOptions).RepeatDataPathResource):len((*c.CallOptions).RepeatDataPathResource)], opts...)
	var resp *genprotopb.RepeatResponse
	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		var err error
		resp, err = executeRPC(ctx, c.complianceClient.RepeatDataPathResource, req, settings.GRPC, c.logger, "RepeatDataPathResource")
		return err
	}, opts...)
	if err != nil {
		return nil, err
	}
	return resp, nil
}

func (c *complianceGRPCClient) RepeatDataPathTrailingResource(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v", "info.f_string", url.QueryEscape(req.GetInfo().GetFString()), "info.f_child.f_string", url.QueryEscape(req.GetInfo().GetFChild().GetFString()))}

	hds = append(c.xGoogHeaders, hds...)
	ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
	opts = append((*c.CallOptions).RepeatDataPathTrailingResource[0:len((*c.CallOptions).RepeatDataPathTrailingResource):len((*c.CallOptions).RepeatDataPathTrailingResource)], opts...)
	var resp *genprotopb.RepeatResponse
	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		var err error
		resp, err = executeRPC(ctx, c.complianceClient.RepeatDataPathTrailingResource, req, settings.GRPC, c.logger, "RepeatDataPathTrailingResource")
		return err
	}, opts...)
	if err != nil {
		return nil, err
	}
	return resp, nil
}

func (c *complianceGRPCClient) RepeatDataBodyPut(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	ctx = gax.InsertMetadataIntoOutgoingContext(ctx, c.xGoogHeaders...)
	opts = append((*c.CallOptions).RepeatDataBodyPut[0:len((*c.CallOptions).RepeatDataBodyPut):len((*c.CallOptions).RepeatDataBodyPut)], opts...)
	var resp *genprotopb.RepeatResponse
	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		var err error
		resp, err = executeRPC(ctx, c.complianceClient.RepeatDataBodyPut, req, settings.GRPC, c.logger, "RepeatDataBodyPut")
		return err
	}, opts...)
	if err != nil {
		return nil, err
	}
	return resp, nil
}

func (c *complianceGRPCClient) RepeatDataBodyPatch(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	ctx = gax.InsertMetadataIntoOutgoingContext(ctx, c.xGoogHeaders...)
	opts = append((*c.CallOptions).RepeatDataBodyPatch[0:len((*c.CallOptions).RepeatDataBodyPatch):len((*c.CallOptions).RepeatDataBodyPatch)], opts...)
	var resp *genprotopb.RepeatResponse
	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		var err error
		resp, err = executeRPC(ctx, c.complianceClient.RepeatDataBodyPatch, req, settings.GRPC, c.logger, "RepeatDataBodyPatch")
		return err
	}, opts...)
	if err != nil {
		return nil, err
	}
	return resp, nil
}

func (c *complianceGRPCClient) GetEnum(ctx context.Context, req *genprotopb.EnumRequest, opts ...gax.CallOption) (*genprotopb.EnumResponse, error) {
	ctx = gax.InsertMetadataIntoOutgoingContext(ctx, c.xGoogHeaders...)
	opts = append((*c.CallOptions).GetEnum[0:len((*c.CallOptions).GetEnum):len((*c.CallOptions).GetEnum)], opts...)
	var resp *genprotopb.EnumResponse
	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		var err error
		resp, err = executeRPC(ctx, c.complianceClient.GetEnum, req, settings.GRPC, c.logger, "GetEnum")
		return err
	}, opts...)
	if err != nil {
		return nil, err
	}
	return resp, nil
}

func (c *complianceGRPCClient) VerifyEnum(ctx context.Context, req *genprotopb.EnumResponse, opts ...gax.CallOption) (*genprotopb.EnumResponse, error) {
	ctx = gax.InsertMetadataIntoOutgoingContext(ctx, c.xGoogHeaders...)
	opts = append((*c.CallOptions).VerifyEnum[0:len((*c.CallOptions).VerifyEnum):len((*c.CallOptions).VerifyEnum)], opts...)
	var resp *genprotopb.EnumResponse
	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		var err error
		resp, err = executeRPC(ctx, c.complianceClient.VerifyEnum, req, settings.GRPC, c.logger, "VerifyEnum")
		return err
	}, opts...)
	if err != nil {
		return nil, err
	}
	return resp, nil
}

func (c *complianceGRPCClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator {
	hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))}

	hds = append(c.xGoogHeaders, hds...)
	ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
	opts = append((*c.CallOptions).ListLocations[0:len((*c.CallOptions).ListLocations):len((*c.CallOptions).ListLocations)], opts...)
	it := &LocationIterator{}
	req = proto.Clone(req).(*locationpb.ListLocationsRequest)
	it.InternalFetch = func(pageSize int, pageToken string) ([]*locationpb.Location, string, error) {
		resp := &locationpb.ListLocationsResponse{}
		if pageToken != "" {
			req.PageToken = pageToken
		}
		if pageSize > math.MaxInt32 {
			req.PageSize = math.MaxInt32
		} else if pageSize != 0 {
			req.PageSize = int32(pageSize)
		}
		err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
			var err error
			resp, err = executeRPC(ctx, c.locationsClient.ListLocations, req, settings.GRPC, c.logger, "ListLocations")
			return err
		}, opts...)
		if err != nil {
			return nil, "", err
		}

		it.Response = resp
		return resp.GetLocations(), resp.GetNextPageToken(), nil
	}
	fetch := func(pageSize int, pageToken string) (string, error) {
		items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
		if err != nil {
			return "", err
		}
		it.items = append(it.items, items...)
		return nextPageToken, nil
	}

	it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
	it.pageInfo.MaxSize = int(req.GetPageSize())
	it.pageInfo.Token = req.GetPageToken()

	return it
}

func (c *complianceGRPCClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) {
	hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))}

	hds = append(c.xGoogHeaders, hds...)
	ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
	opts = append((*c.CallOptions).GetLocation[0:len((*c.CallOptions).GetLocation):len((*c.CallOptions).GetLocation)], opts...)
	var resp *locationpb.Location
	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		var err error
		resp, err = executeRPC(ctx, c.locationsClient.GetLocation, req, settings.GRPC, c.logger, "GetLocation")
		return err
	}, opts...)
	if err != nil {
		return nil, err
	}
	return resp, nil
}

func (c *complianceGRPCClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) {
	hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))}

	hds = append(c.xGoogHeaders, hds...)
	ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
	opts = append((*c.CallOptions).SetIamPolicy[0:len((*c.CallOptions).SetIamPolicy):len((*c.CallOptions).SetIamPolicy)], opts...)
	var resp *iampb.Policy
	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		var err error
		resp, err = executeRPC(ctx, c.iamPolicyClient.SetIamPolicy, req, settings.GRPC, c.logger, "SetIamPolicy")
		return err
	}, opts...)
	if err != nil {
		return nil, err
	}
	return resp, nil
}

func (c *complianceGRPCClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) {
	hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))}

	hds = append(c.xGoogHeaders, hds...)
	ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
	opts = append((*c.CallOptions).GetIamPolicy[0:len((*c.CallOptions).GetIamPolicy):len((*c.CallOptions).GetIamPolicy)], opts...)
	var resp *iampb.Policy
	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		var err error
		resp, err = executeRPC(ctx, c.iamPolicyClient.GetIamPolicy, req, settings.GRPC, c.logger, "GetIamPolicy")
		return err
	}, opts...)
	if err != nil {
		return nil, err
	}
	return resp, nil
}

func (c *complianceGRPCClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) {
	hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))}

	hds = append(c.xGoogHeaders, hds...)
	ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
	opts = append((*c.CallOptions).TestIamPermissions[0:len((*c.CallOptions).TestIamPermissions):len((*c.CallOptions).TestIamPermissions)], opts...)
	var resp *iampb.TestIamPermissionsResponse
	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		var err error
		resp, err = executeRPC(ctx, c.iamPolicyClient.TestIamPermissions, req, settings.GRPC, c.logger, "TestIamPermissions")
		return err
	}, opts...)
	if err != nil {
		return nil, err
	}
	return resp, nil
}

func (c *complianceGRPCClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator {
	ctx = gax.InsertMetadataIntoOutgoingContext(ctx, c.xGoogHeaders...)
	opts = append((*c.CallOptions).ListOperations[0:len((*c.CallOptions).ListOperations):len((*c.CallOptions).ListOperations)], opts...)
	it := &OperationIterator{}
	req = proto.Clone(req).(*longrunningpb.ListOperationsRequest)
	it.InternalFetch = func(pageSize int, pageToken string) ([]*longrunningpb.Operation, string, error) {
		resp := &longrunningpb.ListOperationsResponse{}
		if pageToken != "" {
			req.PageToken = pageToken
		}
		if pageSize > math.MaxInt32 {
			req.PageSize = math.MaxInt32
		} else if pageSize != 0 {
			req.PageSize = int32(pageSize)
		}
		err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
			var err error
			resp, err = executeRPC(ctx, c.operationsClient.ListOperations, req, settings.GRPC, c.logger, "ListOperations")
			return err
		}, opts...)
		if err != nil {
			return nil, "", err
		}

		it.Response = resp
		return resp.GetOperations(), resp.GetNextPageToken(), nil
	}
	fetch := func(pageSize int, pageToken string) (string, error) {
		items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
		if err != nil {
			return "", err
		}
		it.items = append(it.items, items...)
		return nextPageToken, nil
	}

	it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
	it.pageInfo.MaxSize = int(req.GetPageSize())
	it.pageInfo.Token = req.GetPageToken()

	return it
}

func (c *complianceGRPCClient) GetOperation(ctx context.Context, req *longrunningpb.GetOperationRequest, opts ...gax.CallOption) (*longrunningpb.Operation, error) {
	hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))}

	hds = append(c.xGoogHeaders, hds...)
	ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
	opts = append((*c.CallOptions).GetOperation[0:len((*c.CallOptions).GetOperation):len((*c.CallOptions).GetOperation)], opts...)
	var resp *longrunningpb.Operation
	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		var err error
		resp, err = executeRPC(ctx, c.operationsClient.GetOperation, req, settings.GRPC, c.logger, "GetOperation")
		return err
	}, opts...)
	if err != nil {
		return nil, err
	}
	return resp, nil
}

func (c *complianceGRPCClient) DeleteOperation(ctx context.Context, req *longrunningpb.DeleteOperationRequest, opts ...gax.CallOption) error {
	hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))}

	hds = append(c.xGoogHeaders, hds...)
	ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
	opts = append((*c.CallOptions).DeleteOperation[0:len((*c.CallOptions).DeleteOperation):len((*c.CallOptions).DeleteOperation)], opts...)
	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		var err error
		_, err = executeRPC(ctx, c.operationsClient.DeleteOperation, req, settings.GRPC, c.logger, "DeleteOperation")
		return err
	}, opts...)
	return err
}

func (c *complianceGRPCClient) CancelOperation(ctx context.Context, req *longrunningpb.CancelOperationRequest, opts ...gax.CallOption) error {
	hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))}

	hds = append(c.xGoogHeaders, hds...)
	ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
	opts = append((*c.CallOptions).CancelOperation[0:len((*c.CallOptions).CancelOperation):len((*c.CallOptions).CancelOperation)], opts...)
	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		var err error
		_, err = executeRPC(ctx, c.operationsClient.CancelOperation, req, settings.GRPC, c.logger, "CancelOperation")
		return err
	}, opts...)
	return err
}

// RepeatDataBody this method echoes the ComplianceData request. This method exercises
// sending the entire request object in the REST body.
func (c *complianceRESTClient) RepeatDataBody(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true}
	jsonReq, err := m.Marshal(req)
	if err != nil {
		return nil, err
	}

	baseUrl, err := url.Parse(c.endpoint)
	if err != nil {
		return nil, err
	}
	baseUrl.Path += fmt.Sprintf("/v1beta1/repeat:body")

	// Build HTTP headers from client and context metadata.
	hds := append(c.xGoogHeaders, "Content-Type", "application/json")
	headers := gax.BuildHeaders(ctx, hds...)
	opts = append((*c.CallOptions).RepeatDataBody[0:len((*c.CallOptions).RepeatDataBody):len((*c.CallOptions).RepeatDataBody)], opts...)
	unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true}
	resp := &genprotopb.RepeatResponse{}
	e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		if settings.Path != "" {
			baseUrl.Path = settings.Path
		}
		httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq))
		if err != nil {
			return err
		}
		httpReq = httpReq.WithContext(ctx)
		httpReq.Header = headers

		buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "RepeatDataBody")
		if err != nil {
			return err
		}

		if err := unm.Unmarshal(buf, resp); err != nil {
			return err
		}

		return nil
	}, opts...)
	if e != nil {
		return nil, e
	}
	return resp, nil
}

// RepeatDataBodyInfo this method echoes the ComplianceData request. This method exercises
// sending the a message-type field in the REST body. Per AIP-127, only
// top-level, non-repeated fields can be sent this way.
func (c *complianceRESTClient) RepeatDataBodyInfo(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true}
	body := req.GetInfo()
	jsonReq, err := m.Marshal(body)
	if err != nil {
		return nil, err
	}

	baseUrl, err := url.Parse(c.endpoint)
	if err != nil {
		return nil, err
	}
	baseUrl.Path += fmt.Sprintf("/v1beta1/repeat:bodyinfo")

	params := url.Values{}
	if req.GetFDouble() != 0 {
		params.Add("fDouble", fmt.Sprintf("%v", req.GetFDouble()))
	}
	if req.GetFInt32() != 0 {
		params.Add("fInt32", fmt.Sprintf("%v", req.GetFInt32()))
	}
	if req.GetFInt64() != 0 {
		params.Add("fInt64", fmt.Sprintf("%v", req.GetFInt64()))
	}
	if req != nil && req.IntendedBindingUri != nil {
		params.Add("intendedBindingUri", fmt.Sprintf("%v", req.GetIntendedBindingUri()))
	}
	if req.GetName() != "" {
		params.Add("name", fmt.Sprintf("%v", req.GetName()))
	}
	if req != nil && req.PDouble != nil {
		params.Add("pDouble", fmt.Sprintf("%v", req.GetPDouble()))
	}
	if req != nil && req.PInt32 != nil {
		params.Add("pInt32", fmt.Sprintf("%v", req.GetPInt32()))
	}
	if req != nil && req.PInt64 != nil {
		params.Add("pInt64", fmt.Sprintf("%v", req.GetPInt64()))
	}
	if req.GetServerVerify() {
		params.Add("serverVerify", fmt.Sprintf("%v", req.GetServerVerify()))
	}

	baseUrl.RawQuery = params.Encode()

	// Build HTTP headers from client and context metadata.
	hds := append(c.xGoogHeaders, "Content-Type", "application/json")
	headers := gax.BuildHeaders(ctx, hds...)
	opts = append((*c.CallOptions).RepeatDataBodyInfo[0:len((*c.CallOptions).RepeatDataBodyInfo):len((*c.CallOptions).RepeatDataBodyInfo)], opts...)
	unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true}
	resp := &genprotopb.RepeatResponse{}
	e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		if settings.Path != "" {
			baseUrl.Path = settings.Path
		}
		httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq))
		if err != nil {
			return err
		}
		httpReq = httpReq.WithContext(ctx)
		httpReq.Header = headers

		buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "RepeatDataBodyInfo")
		if err != nil {
			return err
		}

		if err := unm.Unmarshal(buf, resp); err != nil {
			return err
		}

		return nil
	}, opts...)
	if e != nil {
		return nil, e
	}
	return resp, nil
}

// RepeatDataQuery this method echoes the ComplianceData request. This method exercises
// sending all request fields as query parameters.
func (c *complianceRESTClient) RepeatDataQuery(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	baseUrl, err := url.Parse(c.endpoint)
	if err != nil {
		return nil, err
	}
	baseUrl.Path += fmt.Sprintf("/v1beta1/repeat:query")

	params := url.Values{}
	if req.GetFDouble() != 0 {
		params.Add("fDouble", fmt.Sprintf("%v", req.GetFDouble()))
	}
	if req.GetFInt32() != 0 {
		params.Add("fInt32", fmt.Sprintf("%v", req.GetFInt32()))
	}
	if req.GetFInt64() != 0 {
		params.Add("fInt64", fmt.Sprintf("%v", req.GetFInt64()))
	}
	if req.GetInfo().GetFBool() {
		params.Add("info.fBool", fmt.Sprintf("%v", req.GetInfo().GetFBool()))
	}
	if req.GetInfo().GetFBytes() != nil {
		params.Add("info.fBytes", fmt.Sprintf("%v", req.GetInfo().GetFBytes()))
	}
	if req.GetInfo().GetFChild().GetFBool() {
		params.Add("info.fChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFBool()))
	}
	if req.GetInfo().GetFChild().GetFChild().GetFBool() {
		params.Add("info.fChild.fChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFChild().GetFBool()))
	}
	if req.GetInfo().GetFChild().GetFChild().GetFDouble() != 0 {
		params.Add("info.fChild.fChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFChild().GetFDouble()))
	}
	if req.GetInfo().GetFChild().GetFChild().GetFString() != "" {
		params.Add("info.fChild.fChild.fString", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFChild().GetFString()))
	}
	if req.GetInfo().GetFChild().GetFContinent() != 0 {
		params.Add("info.fChild.fContinent", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFContinent()))
	}
	if req.GetInfo().GetFChild().GetFDouble() != 0 {
		params.Add("info.fChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFDouble()))
	}
	if req.GetInfo().GetFChild().GetFFloat() != 0 {
		params.Add("info.fChild.fFloat", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFFloat()))
	}
	if req.GetInfo().GetFChild().GetFString() != "" {
		params.Add("info.fChild.fString", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFString()))
	}
	if req.GetInfo().GetFChild() != nil && req.GetInfo().GetFChild().PBool != nil {
		params.Add("info.fChild.pBool", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPBool()))
	}
	if req.GetInfo().GetFChild().GetPChild().GetFBool() {
		params.Add("info.fChild.pChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPChild().GetFBool()))
	}
	if req.GetInfo().GetFChild().GetPChild().GetFDouble() != 0 {
		params.Add("info.fChild.pChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPChild().GetFDouble()))
	}
	if req.GetInfo().GetFChild().GetPChild().GetFString() != "" {
		params.Add("info.fChild.pChild.fString", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPChild().GetFString()))
	}
	if req.GetInfo().GetFChild().GetPContinent() != 0 {
		params.Add("info.fChild.pContinent", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPContinent()))
	}
	if req.GetInfo().GetFChild() != nil && req.GetInfo().GetFChild().PDouble != nil {
		params.Add("info.fChild.pDouble", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPDouble()))
	}
	if req.GetInfo().GetFChild() != nil && req.GetInfo().GetFChild().PFloat != nil {
		params.Add("info.fChild.pFloat", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPFloat()))
	}
	if req.GetInfo().GetFChild() != nil && req.GetInfo().GetFChild().PString != nil {
		params.Add("info.fChild.pString", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPString()))
	}
	if req.GetInfo().GetFDouble() != 0 {
		params.Add("info.fDouble", fmt.Sprintf("%v", req.GetInfo().GetFDouble()))
	}
	if req.GetInfo().GetFFixed32() != 0 {
		params.Add("info.fFixed32", fmt.Sprintf("%v", req.GetInfo().GetFFixed32()))
	}
	if req.GetInfo().GetFFixed64() != 0 {
		params.Add("info.fFixed64", fmt.Sprintf("%v", req.GetInfo().GetFFixed64()))
	}
	if req.GetInfo().GetFFloat() != 0 {
		params.Add("info.fFloat", fmt.Sprintf("%v", req.GetInfo().GetFFloat()))
	}
	if req.GetInfo().GetFInt32() != 0 {
		params.Add("info.fInt32", fmt.Sprintf("%v", req.GetInfo().GetFInt32()))
	}
	if req.GetInfo().GetFInt64() != 0 {
		params.Add("info.fInt64", fmt.Sprintf("%v", req.GetInfo().GetFInt64()))
	}
	if req.GetInfo().GetFKingdom() != 0 {
		params.Add("info.fKingdom", fmt.Sprintf("%v", req.GetInfo().GetFKingdom()))
	}
	if req.GetInfo().GetFSfixed32() != 0 {
		params.Add("info.fSfixed32", fmt.Sprintf("%v", req.GetInfo().GetFSfixed32()))
	}
	if req.GetInfo().GetFSfixed64() != 0 {
		params.Add("info.fSfixed64", fmt.Sprintf("%v", req.GetInfo().GetFSfixed64()))
	}
	if req.GetInfo().GetFSint32() != 0 {
		params.Add("info.fSint32", fmt.Sprintf("%v", req.GetInfo().GetFSint32()))
	}
	if req.GetInfo().GetFSint64() != 0 {
		params.Add("info.fSint64", fmt.Sprintf("%v", req.GetInfo().GetFSint64()))
	}
	if req.GetInfo().GetFString() != "" {
		params.Add("info.fString", fmt.Sprintf("%v", req.GetInfo().GetFString()))
	}
	if req.GetInfo().GetFUint32() != 0 {
		params.Add("info.fUint32", fmt.Sprintf("%v", req.GetInfo().GetFUint32()))
	}
	if req.GetInfo().GetFUint64() != 0 {
		params.Add("info.fUint64", fmt.Sprintf("%v", req.GetInfo().GetFUint64()))
	}
	if req.GetInfo() != nil && req.GetInfo().PBool != nil {
		params.Add("info.pBool", fmt.Sprintf("%v", req.GetInfo().GetPBool()))
	}
	if req.GetInfo().GetPChild().GetFBool() {
		params.Add("info.pChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFBool()))
	}
	if req.GetInfo().GetPChild().GetFChild().GetFBool() {
		params.Add("info.pChild.fChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFChild().GetFBool()))
	}
	if req.GetInfo().GetPChild().GetFChild().GetFDouble() != 0 {
		params.Add("info.pChild.fChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFChild().GetFDouble()))
	}
	if req.GetInfo().GetPChild().GetFChild().GetFString() != "" {
		params.Add("info.pChild.fChild.fString", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFChild().GetFString()))
	}
	if req.GetInfo().GetPChild().GetFContinent() != 0 {
		params.Add("info.pChild.fContinent", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFContinent()))
	}
	if req.GetInfo().GetPChild().GetFDouble() != 0 {
		params.Add("info.pChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFDouble()))
	}
	if req.GetInfo().GetPChild().GetFFloat() != 0 {
		params.Add("info.pChild.fFloat", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFFloat()))
	}
	if req.GetInfo().GetPChild().GetFString() != "" {
		params.Add("info.pChild.fString", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFString()))
	}
	if req.GetInfo().GetPChild() != nil && req.GetInfo().GetPChild().PBool != nil {
		params.Add("info.pChild.pBool", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPBool()))
	}
	if req.GetInfo().GetPChild().GetPChild().GetFBool() {
		params.Add("info.pChild.pChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPChild().GetFBool()))
	}
	if req.GetInfo().GetPChild().GetPChild().GetFDouble() != 0 {
		params.Add("info.pChild.pChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPChild().GetFDouble()))
	}
	if req.GetInfo().GetPChild().GetPChild().GetFString() != "" {
		params.Add("info.pChild.pChild.fString", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPChild().GetFString()))
	}
	if req.GetInfo().GetPChild().GetPContinent() != 0 {
		params.Add("info.pChild.pContinent", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPContinent()))
	}
	if req.GetInfo().GetPChild() != nil && req.GetInfo().GetPChild().PDouble != nil {
		params.Add("info.pChild.pDouble", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPDouble()))
	}
	if req.GetInfo().GetPChild() != nil && req.GetInfo().GetPChild().PFloat != nil {
		params.Add("info.pChild.pFloat", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPFloat()))
	}
	if req.GetInfo().GetPChild() != nil && req.GetInfo().GetPChild().PString != nil {
		params.Add("info.pChild.pString", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPString()))
	}
	if req.GetInfo() != nil && req.GetInfo().PDouble != nil {
		params.Add("info.pDouble", fmt.Sprintf("%v", req.GetInfo().GetPDouble()))
	}
	if req.GetInfo() != nil && req.GetInfo().PFixed32 != nil {
		params.Add("info.pFixed32", fmt.Sprintf("%v", req.GetInfo().GetPFixed32()))
	}
	if req.GetInfo() != nil && req.GetInfo().PFixed64 != nil {
		params.Add("info.pFixed64", fmt.Sprintf("%v", req.GetInfo().GetPFixed64()))
	}
	if req.GetInfo() != nil && req.GetInfo().PFloat != nil {
		params.Add("info.pFloat", fmt.Sprintf("%v", req.GetInfo().GetPFloat()))
	}
	if req.GetInfo() != nil && req.GetInfo().PInt32 != nil {
		params.Add("info.pInt32", fmt.Sprintf("%v", req.GetInfo().GetPInt32()))
	}
	if req.GetInfo() != nil && req.GetInfo().PInt64 != nil {
		params.Add("info.pInt64", fmt.Sprintf("%v", req.GetInfo().GetPInt64()))
	}
	if req.GetInfo() != nil && req.GetInfo().PKingdom != nil {
		params.Add("info.pKingdom", fmt.Sprintf("%v", req.GetInfo().GetPKingdom()))
	}
	if req.GetInfo() != nil && req.GetInfo().PSfixed32 != nil {
		params.Add("info.pSfixed32", fmt.Sprintf("%v", req.GetInfo().GetPSfixed32()))
	}
	if req.GetInfo() != nil && req.GetInfo().PSfixed64 != nil {
		params.Add("info.pSfixed64", fmt.Sprintf("%v", req.GetInfo().GetPSfixed64()))
	}
	if req.GetInfo() != nil && req.GetInfo().PSint32 != nil {
		params.Add("info.pSint32", fmt.Sprintf("%v", req.GetInfo().GetPSint32()))
	}
	if req.GetInfo() != nil && req.GetInfo().PSint64 != nil {
		params.Add("info.pSint64", fmt.Sprintf("%v", req.GetInfo().GetPSint64()))
	}
	if req.GetInfo() != nil && req.GetInfo().PString != nil {
		params.Add("info.pString", fmt.Sprintf("%v", req.GetInfo().GetPString()))
	}
	if req.GetInfo() != nil && req.GetInfo().PUint32 != nil {
		params.Add("info.pUint32", fmt.Sprintf("%v", req.GetInfo().GetPUint32()))
	}
	if req.GetInfo() != nil && req.GetInfo().PUint64 != nil {
		params.Add("info.pUint64", fmt.Sprintf("%v", req.GetInfo().GetPUint64()))
	}
	if req != nil && req.IntendedBindingUri != nil {
		params.Add("intendedBindingUri", fmt.Sprintf("%v", req.GetIntendedBindingUri()))
	}
	if req.GetName() != "" {
		params.Add("name", fmt.Sprintf("%v", req.GetName()))
	}
	if req != nil && req.PDouble != nil {
		params.Add("pDouble", fmt.Sprintf("%v", req.GetPDouble()))
	}
	if req != nil && req.PInt32 != nil {
		params.Add("pInt32", fmt.Sprintf("%v", req.GetPInt32()))
	}
	if req != nil && req.PInt64 != nil {
		params.Add("pInt64", fmt.Sprintf("%v", req.GetPInt64()))
	}
	if req.GetServerVerify() {
		params.Add("serverVerify", fmt.Sprintf("%v", req.GetServerVerify()))
	}

	baseUrl.RawQuery = params.Encode()

	// Build HTTP headers from client and context metadata.
	hds := append(c.xGoogHeaders, "Content-Type", "application/json")
	headers := gax.BuildHeaders(ctx, hds...)
	opts = append((*c.CallOptions).RepeatDataQuery[0:len((*c.CallOptions).RepeatDataQuery):len((*c.CallOptions).RepeatDataQuery)], opts...)
	unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true}
	resp := &genprotopb.RepeatResponse{}
	e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		if settings.Path != "" {
			baseUrl.Path = settings.Path
		}
		httpReq, err := http.NewRequest("GET", baseUrl.String(), nil)
		if err != nil {
			return err
		}
		httpReq = httpReq.WithContext(ctx)
		httpReq.Header = headers

		buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "RepeatDataQuery")
		if err != nil {
			return err
		}

		if err := unm.Unmarshal(buf, resp); err != nil {
			return err
		}

		return nil
	}, opts...)
	if e != nil {
		return nil, e
	}
	return resp, nil
}

// RepeatDataSimplePath this method echoes the ComplianceData request. This method exercises
// sending some parameters as “simple” path variables (i.e., of the form
// “/bar/{foo}” rather than “/{foo=bar/*}”), and the rest as query parameters.
func (c *complianceRESTClient) RepeatDataSimplePath(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	baseUrl, err := url.Parse(c.endpoint)
	if err != nil {
		return nil, err
	}
	baseUrl.Path += fmt.Sprintf("/v1beta1/repeat/%v/%v/%v/%v/%v:simplepath", req.GetInfo().GetFString(), req.GetInfo().GetFInt32(), req.GetInfo().GetFDouble(), req.GetInfo().GetFBool(), req.GetInfo().GetFKingdom())

	params := url.Values{}
	if req.GetFDouble() != 0 {
		params.Add("fDouble", fmt.Sprintf("%v", req.GetFDouble()))
	}
	if req.GetFInt32() != 0 {
		params.Add("fInt32", fmt.Sprintf("%v", req.GetFInt32()))
	}
	if req.GetFInt64() != 0 {
		params.Add("fInt64", fmt.Sprintf("%v", req.GetFInt64()))
	}
	if req.GetInfo().GetFBytes() != nil {
		params.Add("info.fBytes", fmt.Sprintf("%v", req.GetInfo().GetFBytes()))
	}
	if req.GetInfo().GetFChild().GetFBool() {
		params.Add("info.fChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFBool()))
	}
	if req.GetInfo().GetFChild().GetFChild().GetFBool() {
		params.Add("info.fChild.fChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFChild().GetFBool()))
	}
	if req.GetInfo().GetFChild().GetFChild().GetFDouble() != 0 {
		params.Add("info.fChild.fChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFChild().GetFDouble()))
	}
	if req.GetInfo().GetFChild().GetFChild().GetFString() != "" {
		params.Add("info.fChild.fChild.fString", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFChild().GetFString()))
	}
	if req.GetInfo().GetFChild().GetFContinent() != 0 {
		params.Add("info.fChild.fContinent", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFContinent()))
	}
	if req.GetInfo().GetFChild().GetFDouble() != 0 {
		params.Add("info.fChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFDouble()))
	}
	if req.GetInfo().GetFChild().GetFFloat() != 0 {
		params.Add("info.fChild.fFloat", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFFloat()))
	}
	if req.GetInfo().GetFChild().GetFString() != "" {
		params.Add("info.fChild.fString", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFString()))
	}
	if req.GetInfo().GetFChild() != nil && req.GetInfo().GetFChild().PBool != nil {
		params.Add("info.fChild.pBool", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPBool()))
	}
	if req.GetInfo().GetFChild().GetPChild().GetFBool() {
		params.Add("info.fChild.pChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPChild().GetFBool()))
	}
	if req.GetInfo().GetFChild().GetPChild().GetFDouble() != 0 {
		params.Add("info.fChild.pChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPChild().GetFDouble()))
	}
	if req.GetInfo().GetFChild().GetPChild().GetFString() != "" {
		params.Add("info.fChild.pChild.fString", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPChild().GetFString()))
	}
	if req.GetInfo().GetFChild().GetPContinent() != 0 {
		params.Add("info.fChild.pContinent", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPContinent()))
	}
	if req.GetInfo().GetFChild() != nil && req.GetInfo().GetFChild().PDouble != nil {
		params.Add("info.fChild.pDouble", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPDouble()))
	}
	if req.GetInfo().GetFChild() != nil && req.GetInfo().GetFChild().PFloat != nil {
		params.Add("info.fChild.pFloat", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPFloat()))
	}
	if req.GetInfo().GetFChild() != nil && req.GetInfo().GetFChild().PString != nil {
		params.Add("info.fChild.pString", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPString()))
	}
	if req.GetInfo().GetFFixed32() != 0 {
		params.Add("info.fFixed32", fmt.Sprintf("%v", req.GetInfo().GetFFixed32()))
	}
	if req.GetInfo().GetFFixed64() != 0 {
		params.Add("info.fFixed64", fmt.Sprintf("%v", req.GetInfo().GetFFixed64()))
	}
	if req.GetInfo().GetFFloat() != 0 {
		params.Add("info.fFloat", fmt.Sprintf("%v", req.GetInfo().GetFFloat()))
	}
	if req.GetInfo().GetFInt64() != 0 {
		params.Add("info.fInt64", fmt.Sprintf("%v", req.GetInfo().GetFInt64()))
	}
	if req.GetInfo().GetFSfixed32() != 0 {
		params.Add("info.fSfixed32", fmt.Sprintf("%v", req.GetInfo().GetFSfixed32()))
	}
	if req.GetInfo().GetFSfixed64() != 0 {
		params.Add("info.fSfixed64", fmt.Sprintf("%v", req.GetInfo().GetFSfixed64()))
	}
	if req.GetInfo().GetFSint32() != 0 {
		params.Add("info.fSint32", fmt.Sprintf("%v", req.GetInfo().GetFSint32()))
	}
	if req.GetInfo().GetFSint64() != 0 {
		params.Add("info.fSint64", fmt.Sprintf("%v", req.GetInfo().GetFSint64()))
	}
	if req.GetInfo().GetFUint32() != 0 {
		params.Add("info.fUint32", fmt.Sprintf("%v", req.GetInfo().GetFUint32()))
	}
	if req.GetInfo().GetFUint64() != 0 {
		params.Add("info.fUint64", fmt.Sprintf("%v", req.GetInfo().GetFUint64()))
	}
	if req.GetInfo() != nil && req.GetInfo().PBool != nil {
		params.Add("info.pBool", fmt.Sprintf("%v", req.GetInfo().GetPBool()))
	}
	if req.GetInfo().GetPChild().GetFBool() {
		params.Add("info.pChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFBool()))
	}
	if req.GetInfo().GetPChild().GetFChild().GetFBool() {
		params.Add("info.pChild.fChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFChild().GetFBool()))
	}
	if req.GetInfo().GetPChild().GetFChild().GetFDouble() != 0 {
		params.Add("info.pChild.fChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFChild().GetFDouble()))
	}
	if req.GetInfo().GetPChild().GetFChild().GetFString() != "" {
		params.Add("info.pChild.fChild.fString", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFChild().GetFString()))
	}
	if req.GetInfo().GetPChild().GetFContinent() != 0 {
		params.Add("info.pChild.fContinent", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFContinent()))
	}
	if req.GetInfo().GetPChild().GetFDouble() != 0 {
		params.Add("info.pChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFDouble()))
	}
	if req.GetInfo().GetPChild().GetFFloat() != 0 {
		params.Add("info.pChild.fFloat", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFFloat()))
	}
	if req.GetInfo().GetPChild().GetFString() != "" {
		params.Add("info.pChild.fString", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFString()))
	}
	if req.GetInfo().GetPChild() != nil && req.GetInfo().GetPChild().PBool != nil {
		params.Add("info.pChild.pBool", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPBool()))
	}
	if req.GetInfo().GetPChild().GetPChild().GetFBool() {
		params.Add("info.pChild.pChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPChild().GetFBool()))
	}
	if req.GetInfo().GetPChild().GetPChild().GetFDouble() != 0 {
		params.Add("info.pChild.pChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPChild().GetFDouble()))
	}
	if req.GetInfo().GetPChild().GetPChild().GetFString() != "" {
		params.Add("info.pChild.pChild.fString", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPChild().GetFString()))
	}
	if req.GetInfo().GetPChild().GetPContinent() != 0 {
		params.Add("info.pChild.pContinent", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPContinent()))
	}
	if req.GetInfo().GetPChild() != nil && req.GetInfo().GetPChild().PDouble != nil {
		params.Add("info.pChild.pDouble", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPDouble()))
	}
	if req.GetInfo().GetPChild() != nil && req.GetInfo().GetPChild().PFloat != nil {
		params.Add("info.pChild.pFloat", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPFloat()))
	}
	if req.GetInfo().GetPChild() != nil && req.GetInfo().GetPChild().PString != nil {
		params.Add("info.pChild.pString", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPString()))
	}
	if req.GetInfo() != nil && req.GetInfo().PDouble != nil {
		params.Add("info.pDouble", fmt.Sprintf("%v", req.GetInfo().GetPDouble()))
	}
	if req.GetInfo() != nil && req.GetInfo().PFixed32 != nil {
		params.Add("info.pFixed32", fmt.Sprintf("%v", req.GetInfo().GetPFixed32()))
	}
	if req.GetInfo() != nil && req.GetInfo().PFixed64 != nil {
		params.Add("info.pFixed64", fmt.Sprintf("%v", req.GetInfo().GetPFixed64()))
	}
	if req.GetInfo() != nil && req.GetInfo().PFloat != nil {
		params.Add("info.pFloat", fmt.Sprintf("%v", req.GetInfo().GetPFloat()))
	}
	if req.GetInfo() != nil && req.GetInfo().PInt32 != nil {
		params.Add("info.pInt32", fmt.Sprintf("%v", req.GetInfo().GetPInt32()))
	}
	if req.GetInfo() != nil && req.GetInfo().PInt64 != nil {
		params.Add("info.pInt64", fmt.Sprintf("%v", req.GetInfo().GetPInt64()))
	}
	if req.GetInfo() != nil && req.GetInfo().PKingdom != nil {
		params.Add("info.pKingdom", fmt.Sprintf("%v", req.GetInfo().GetPKingdom()))
	}
	if req.GetInfo() != nil && req.GetInfo().PSfixed32 != nil {
		params.Add("info.pSfixed32", fmt.Sprintf("%v", req.GetInfo().GetPSfixed32()))
	}
	if req.GetInfo() != nil && req.GetInfo().PSfixed64 != nil {
		params.Add("info.pSfixed64", fmt.Sprintf("%v", req.GetInfo().GetPSfixed64()))
	}
	if req.GetInfo() != nil && req.GetInfo().PSint32 != nil {
		params.Add("info.pSint32", fmt.Sprintf("%v", req.GetInfo().GetPSint32()))
	}
	if req.GetInfo() != nil && req.GetInfo().PSint64 != nil {
		params.Add("info.pSint64", fmt.Sprintf("%v", req.GetInfo().GetPSint64()))
	}
	if req.GetInfo() != nil && req.GetInfo().PString != nil {
		params.Add("info.pString", fmt.Sprintf("%v", req.GetInfo().GetPString()))
	}
	if req.GetInfo() != nil && req.GetInfo().PUint32 != nil {
		params.Add("info.pUint32", fmt.Sprintf("%v", req.GetInfo().GetPUint32()))
	}
	if req.GetInfo() != nil && req.GetInfo().PUint64 != nil {
		params.Add("info.pUint64", fmt.Sprintf("%v", req.GetInfo().GetPUint64()))
	}
	if req != nil && req.IntendedBindingUri != nil {
		params.Add("intendedBindingUri", fmt.Sprintf("%v", req.GetIntendedBindingUri()))
	}
	if req.GetName() != "" {
		params.Add("name", fmt.Sprintf("%v", req.GetName()))
	}
	if req != nil && req.PDouble != nil {
		params.Add("pDouble", fmt.Sprintf("%v", req.GetPDouble()))
	}
	if req != nil && req.PInt32 != nil {
		params.Add("pInt32", fmt.Sprintf("%v", req.GetPInt32()))
	}
	if req != nil && req.PInt64 != nil {
		params.Add("pInt64", fmt.Sprintf("%v", req.GetPInt64()))
	}
	if req.GetServerVerify() {
		params.Add("serverVerify", fmt.Sprintf("%v", req.GetServerVerify()))
	}

	baseUrl.RawQuery = params.Encode()

	// Build HTTP headers from client and context metadata.
	hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v&%s=%v&%s=%v", "info.f_string", url.QueryEscape(req.GetInfo().GetFString()), "info.f_int32", req.GetInfo().GetFInt32(), "info.f_double", url.QueryEscape(fmt.Sprintf("%g", req.GetInfo().GetFDouble())), "info.f_bool", req.GetInfo().GetFBool(), "info.f_kingdom", genprotopb.ComplianceData_LifeKingdom_name[int32(req.GetInfo().GetFKingdom())])}

	hds = append(c.xGoogHeaders, hds...)
	hds = append(hds, "Content-Type", "application/json")
	headers := gax.BuildHeaders(ctx, hds...)
	opts = append((*c.CallOptions).RepeatDataSimplePath[0:len((*c.CallOptions).RepeatDataSimplePath):len((*c.CallOptions).RepeatDataSimplePath)], opts...)
	unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true}
	resp := &genprotopb.RepeatResponse{}
	e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		if settings.Path != "" {
			baseUrl.Path = settings.Path
		}
		httpReq, err := http.NewRequest("GET", baseUrl.String(), nil)
		if err != nil {
			return err
		}
		httpReq = httpReq.WithContext(ctx)
		httpReq.Header = headers

		buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "RepeatDataSimplePath")
		if err != nil {
			return err
		}

		if err := unm.Unmarshal(buf, resp); err != nil {
			return err
		}

		return nil
	}, opts...)
	if e != nil {
		return nil, e
	}
	return resp, nil
}

// RepeatDataPathResource same as RepeatDataSimplePath, but with a path resource.
func (c *complianceRESTClient) RepeatDataPathResource(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	baseUrl, err := url.Parse(c.endpoint)
	if err != nil {
		return nil, err
	}
	baseUrl.Path += fmt.Sprintf("/v1beta1/repeat/%v/%v/bool/%v:pathresource", req.GetInfo().GetFString(), req.GetInfo().GetFChild().GetFString(), req.GetInfo().GetFBool())

	params := url.Values{}
	if req.GetFDouble() != 0 {
		params.Add("fDouble", fmt.Sprintf("%v", req.GetFDouble()))
	}
	if req.GetFInt32() != 0 {
		params.Add("fInt32", fmt.Sprintf("%v", req.GetFInt32()))
	}
	if req.GetFInt64() != 0 {
		params.Add("fInt64", fmt.Sprintf("%v", req.GetFInt64()))
	}
	if req.GetInfo().GetFBytes() != nil {
		params.Add("info.fBytes", fmt.Sprintf("%v", req.GetInfo().GetFBytes()))
	}
	if req.GetInfo().GetFChild().GetFBool() {
		params.Add("info.fChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFBool()))
	}
	if req.GetInfo().GetFChild().GetFChild().GetFBool() {
		params.Add("info.fChild.fChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFChild().GetFBool()))
	}
	if req.GetInfo().GetFChild().GetFChild().GetFDouble() != 0 {
		params.Add("info.fChild.fChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFChild().GetFDouble()))
	}
	if req.GetInfo().GetFChild().GetFChild().GetFString() != "" {
		params.Add("info.fChild.fChild.fString", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFChild().GetFString()))
	}
	if req.GetInfo().GetFChild().GetFContinent() != 0 {
		params.Add("info.fChild.fContinent", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFContinent()))
	}
	if req.GetInfo().GetFChild().GetFDouble() != 0 {
		params.Add("info.fChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFDouble()))
	}
	if req.GetInfo().GetFChild().GetFFloat() != 0 {
		params.Add("info.fChild.fFloat", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFFloat()))
	}
	if req.GetInfo().GetFChild() != nil && req.GetInfo().GetFChild().PBool != nil {
		params.Add("info.fChild.pBool", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPBool()))
	}
	if req.GetInfo().GetFChild().GetPChild().GetFBool() {
		params.Add("info.fChild.pChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPChild().GetFBool()))
	}
	if req.GetInfo().GetFChild().GetPChild().GetFDouble() != 0 {
		params.Add("info.fChild.pChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPChild().GetFDouble()))
	}
	if req.GetInfo().GetFChild().GetPChild().GetFString() != "" {
		params.Add("info.fChild.pChild.fString", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPChild().GetFString()))
	}
	if req.GetInfo().GetFChild().GetPContinent() != 0 {
		params.Add("info.fChild.pContinent", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPContinent()))
	}
	if req.GetInfo().GetFChild() != nil && req.GetInfo().GetFChild().PDouble != nil {
		params.Add("info.fChild.pDouble", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPDouble()))
	}
	if req.GetInfo().GetFChild() != nil && req.GetInfo().GetFChild().PFloat != nil {
		params.Add("info.fChild.pFloat", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPFloat()))
	}
	if req.GetInfo().GetFChild() != nil && req.GetInfo().GetFChild().PString != nil {
		params.Add("info.fChild.pString", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPString()))
	}
	if req.GetInfo().GetFDouble() != 0 {
		params.Add("info.fDouble", fmt.Sprintf("%v", req.GetInfo().GetFDouble()))
	}
	if req.GetInfo().GetFFixed32() != 0 {
		params.Add("info.fFixed32", fmt.Sprintf("%v", req.GetInfo().GetFFixed32()))
	}
	if req.GetInfo().GetFFixed64() != 0 {
		params.Add("info.fFixed64", fmt.Sprintf("%v", req.GetInfo().GetFFixed64()))
	}
	if req.GetInfo().GetFFloat() != 0 {
		params.Add("info.fFloat", fmt.Sprintf("%v", req.GetInfo().GetFFloat()))
	}
	if req.GetInfo().GetFInt32() != 0 {
		params.Add("info.fInt32", fmt.Sprintf("%v", req.GetInfo().GetFInt32()))
	}
	if req.GetInfo().GetFInt64() != 0 {
		params.Add("info.fInt64", fmt.Sprintf("%v", req.GetInfo().GetFInt64()))
	}
	if req.GetInfo().GetFKingdom() != 0 {
		params.Add("info.fKingdom", fmt.Sprintf("%v", req.GetInfo().GetFKingdom()))
	}
	if req.GetInfo().GetFSfixed32() != 0 {
		params.Add("info.fSfixed32", fmt.Sprintf("%v", req.GetInfo().GetFSfixed32()))
	}
	if req.GetInfo().GetFSfixed64() != 0 {
		params.Add("info.fSfixed64", fmt.Sprintf("%v", req.GetInfo().GetFSfixed64()))
	}
	if req.GetInfo().GetFSint32() != 0 {
		params.Add("info.fSint32", fmt.Sprintf("%v", req.GetInfo().GetFSint32()))
	}
	if req.GetInfo().GetFSint64() != 0 {
		params.Add("info.fSint64", fmt.Sprintf("%v", req.GetInfo().GetFSint64()))
	}
	if req.GetInfo().GetFUint32() != 0 {
		params.Add("info.fUint32", fmt.Sprintf("%v", req.GetInfo().GetFUint32()))
	}
	if req.GetInfo().GetFUint64() != 0 {
		params.Add("info.fUint64", fmt.Sprintf("%v", req.GetInfo().GetFUint64()))
	}
	if req.GetInfo() != nil && req.GetInfo().PBool != nil {
		params.Add("info.pBool", fmt.Sprintf("%v", req.GetInfo().GetPBool()))
	}
	if req.GetInfo().GetPChild().GetFBool() {
		params.Add("info.pChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFBool()))
	}
	if req.GetInfo().GetPChild().GetFChild().GetFBool() {
		params.Add("info.pChild.fChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFChild().GetFBool()))
	}
	if req.GetInfo().GetPChild().GetFChild().GetFDouble() != 0 {
		params.Add("info.pChild.fChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFChild().GetFDouble()))
	}
	if req.GetInfo().GetPChild().GetFChild().GetFString() != "" {
		params.Add("info.pChild.fChild.fString", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFChild().GetFString()))
	}
	if req.GetInfo().GetPChild().GetFContinent() != 0 {
		params.Add("info.pChild.fContinent", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFContinent()))
	}
	if req.GetInfo().GetPChild().GetFDouble() != 0 {
		params.Add("info.pChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFDouble()))
	}
	if req.GetInfo().GetPChild().GetFFloat() != 0 {
		params.Add("info.pChild.fFloat", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFFloat()))
	}
	if req.GetInfo().GetPChild().GetFString() != "" {
		params.Add("info.pChild.fString", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFString()))
	}
	if req.GetInfo().GetPChild() != nil && req.GetInfo().GetPChild().PBool != nil {
		params.Add("info.pChild.pBool", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPBool()))
	}
	if req.GetInfo().GetPChild().GetPChild().GetFBool() {
		params.Add("info.pChild.pChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPChild().GetFBool()))
	}
	if req.GetInfo().GetPChild().GetPChild().GetFDouble() != 0 {
		params.Add("info.pChild.pChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPChild().GetFDouble()))
	}
	if req.GetInfo().GetPChild().GetPChild().GetFString() != "" {
		params.Add("info.pChild.pChild.fString", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPChild().GetFString()))
	}
	if req.GetInfo().GetPChild().GetPContinent() != 0 {
		params.Add("info.pChild.pContinent", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPContinent()))
	}
	if req.GetInfo().GetPChild() != nil && req.GetInfo().GetPChild().PDouble != nil {
		params.Add("info.pChild.pDouble", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPDouble()))
	}
	if req.GetInfo().GetPChild() != nil && req.GetInfo().GetPChild().PFloat != nil {
		params.Add("info.pChild.pFloat", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPFloat()))
	}
	if req.GetInfo().GetPChild() != nil && req.GetInfo().GetPChild().PString != nil {
		params.Add("info.pChild.pString", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPString()))
	}
	if req.GetInfo() != nil && req.GetInfo().PDouble != nil {
		params.Add("info.pDouble", fmt.Sprintf("%v", req.GetInfo().GetPDouble()))
	}
	if req.GetInfo() != nil && req.GetInfo().PFixed32 != nil {
		params.Add("info.pFixed32", fmt.Sprintf("%v", req.GetInfo().GetPFixed32()))
	}
	if req.GetInfo() != nil && req.GetInfo().PFixed64 != nil {
		params.Add("info.pFixed64", fmt.Sprintf("%v", req.GetInfo().GetPFixed64()))
	}
	if req.GetInfo() != nil && req.GetInfo().PFloat != nil {
		params.Add("info.pFloat", fmt.Sprintf("%v", req.GetInfo().GetPFloat()))
	}
	if req.GetInfo() != nil && req.GetInfo().PInt32 != nil {
		params.Add("info.pInt32", fmt.Sprintf("%v", req.GetInfo().GetPInt32()))
	}
	if req.GetInfo() != nil && req.GetInfo().PInt64 != nil {
		params.Add("info.pInt64", fmt.Sprintf("%v", req.GetInfo().GetPInt64()))
	}
	if req.GetInfo() != nil && req.GetInfo().PKingdom != nil {
		params.Add("info.pKingdom", fmt.Sprintf("%v", req.GetInfo().GetPKingdom()))
	}
	if req.GetInfo() != nil && req.GetInfo().PSfixed32 != nil {
		params.Add("info.pSfixed32", fmt.Sprintf("%v", req.GetInfo().GetPSfixed32()))
	}
	if req.GetInfo() != nil && req.GetInfo().PSfixed64 != nil {
		params.Add("info.pSfixed64", fmt.Sprintf("%v", req.GetInfo().GetPSfixed64()))
	}
	if req.GetInfo() != nil && req.GetInfo().PSint32 != nil {
		params.Add("info.pSint32", fmt.Sprintf("%v", req.GetInfo().GetPSint32()))
	}
	if req.GetInfo() != nil && req.GetInfo().PSint64 != nil {
		params.Add("info.pSint64", fmt.Sprintf("%v", req.GetInfo().GetPSint64()))
	}
	if req.GetInfo() != nil && req.GetInfo().PString != nil {
		params.Add("info.pString", fmt.Sprintf("%v", req.GetInfo().GetPString()))
	}
	if req.GetInfo() != nil && req.GetInfo().PUint32 != nil {
		params.Add("info.pUint32", fmt.Sprintf("%v", req.GetInfo().GetPUint32()))
	}
	if req.GetInfo() != nil && req.GetInfo().PUint64 != nil {
		params.Add("info.pUint64", fmt.Sprintf("%v", req.GetInfo().GetPUint64()))
	}
	if req != nil && req.IntendedBindingUri != nil {
		params.Add("intendedBindingUri", fmt.Sprintf("%v", req.GetIntendedBindingUri()))
	}
	if req.GetName() != "" {
		params.Add("name", fmt.Sprintf("%v", req.GetName()))
	}
	if req != nil && req.PDouble != nil {
		params.Add("pDouble", fmt.Sprintf("%v", req.GetPDouble()))
	}
	if req != nil && req.PInt32 != nil {
		params.Add("pInt32", fmt.Sprintf("%v", req.GetPInt32()))
	}
	if req != nil && req.PInt64 != nil {
		params.Add("pInt64", fmt.Sprintf("%v", req.GetPInt64()))
	}
	if req.GetServerVerify() {
		params.Add("serverVerify", fmt.Sprintf("%v", req.GetServerVerify()))
	}

	baseUrl.RawQuery = params.Encode()

	// Build HTTP headers from client and context metadata.
	hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "info.f_string", url.QueryEscape(req.GetInfo().GetFString()), "info.f_child.f_string", url.QueryEscape(req.GetInfo().GetFChild().GetFString()), "info.f_bool", req.GetInfo().GetFBool())}

	hds = append(c.xGoogHeaders, hds...)
	hds = append(hds, "Content-Type", "application/json")
	headers := gax.BuildHeaders(ctx, hds...)
	opts = append((*c.CallOptions).RepeatDataPathResource[0:len((*c.CallOptions).RepeatDataPathResource):len((*c.CallOptions).RepeatDataPathResource)], opts...)
	unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true}
	resp := &genprotopb.RepeatResponse{}
	e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		if settings.Path != "" {
			baseUrl.Path = settings.Path
		}
		httpReq, err := http.NewRequest("GET", baseUrl.String(), nil)
		if err != nil {
			return err
		}
		httpReq = httpReq.WithContext(ctx)
		httpReq.Header = headers

		buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "RepeatDataPathResource")
		if err != nil {
			return err
		}

		if err := unm.Unmarshal(buf, resp); err != nil {
			return err
		}

		return nil
	}, opts...)
	if e != nil {
		return nil, e
	}
	return resp, nil
}

// RepeatDataPathTrailingResource same as RepeatDataSimplePath, but with a trailing resource.
func (c *complianceRESTClient) RepeatDataPathTrailingResource(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	baseUrl, err := url.Parse(c.endpoint)
	if err != nil {
		return nil, err
	}
	baseUrl.Path += fmt.Sprintf("/v1beta1/repeat/%v/%v:pathtrailingresource", req.GetInfo().GetFString(), req.GetInfo().GetFChild().GetFString())

	params := url.Values{}
	if req.GetFDouble() != 0 {
		params.Add("fDouble", fmt.Sprintf("%v", req.GetFDouble()))
	}
	if req.GetFInt32() != 0 {
		params.Add("fInt32", fmt.Sprintf("%v", req.GetFInt32()))
	}
	if req.GetFInt64() != 0 {
		params.Add("fInt64", fmt.Sprintf("%v", req.GetFInt64()))
	}
	if req.GetInfo().GetFBool() {
		params.Add("info.fBool", fmt.Sprintf("%v", req.GetInfo().GetFBool()))
	}
	if req.GetInfo().GetFBytes() != nil {
		params.Add("info.fBytes", fmt.Sprintf("%v", req.GetInfo().GetFBytes()))
	}
	if req.GetInfo().GetFChild().GetFBool() {
		params.Add("info.fChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFBool()))
	}
	if req.GetInfo().GetFChild().GetFChild().GetFBool() {
		params.Add("info.fChild.fChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFChild().GetFBool()))
	}
	if req.GetInfo().GetFChild().GetFChild().GetFDouble() != 0 {
		params.Add("info.fChild.fChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFChild().GetFDouble()))
	}
	if req.GetInfo().GetFChild().GetFChild().GetFString() != "" {
		params.Add("info.fChild.fChild.fString", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFChild().GetFString()))
	}
	if req.GetInfo().GetFChild().GetFContinent() != 0 {
		params.Add("info.fChild.fContinent", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFContinent()))
	}
	if req.GetInfo().GetFChild().GetFDouble() != 0 {
		params.Add("info.fChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFDouble()))
	}
	if req.GetInfo().GetFChild().GetFFloat() != 0 {
		params.Add("info.fChild.fFloat", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetFFloat()))
	}
	if req.GetInfo().GetFChild() != nil && req.GetInfo().GetFChild().PBool != nil {
		params.Add("info.fChild.pBool", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPBool()))
	}
	if req.GetInfo().GetFChild().GetPChild().GetFBool() {
		params.Add("info.fChild.pChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPChild().GetFBool()))
	}
	if req.GetInfo().GetFChild().GetPChild().GetFDouble() != 0 {
		params.Add("info.fChild.pChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPChild().GetFDouble()))
	}
	if req.GetInfo().GetFChild().GetPChild().GetFString() != "" {
		params.Add("info.fChild.pChild.fString", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPChild().GetFString()))
	}
	if req.GetInfo().GetFChild().GetPContinent() != 0 {
		params.Add("info.fChild.pContinent", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPContinent()))
	}
	if req.GetInfo().GetFChild() != nil && req.GetInfo().GetFChild().PDouble != nil {
		params.Add("info.fChild.pDouble", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPDouble()))
	}
	if req.GetInfo().GetFChild() != nil && req.GetInfo().GetFChild().PFloat != nil {
		params.Add("info.fChild.pFloat", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPFloat()))
	}
	if req.GetInfo().GetFChild() != nil && req.GetInfo().GetFChild().PString != nil {
		params.Add("info.fChild.pString", fmt.Sprintf("%v", req.GetInfo().GetFChild().GetPString()))
	}
	if req.GetInfo().GetFDouble() != 0 {
		params.Add("info.fDouble", fmt.Sprintf("%v", req.GetInfo().GetFDouble()))
	}
	if req.GetInfo().GetFFixed32() != 0 {
		params.Add("info.fFixed32", fmt.Sprintf("%v", req.GetInfo().GetFFixed32()))
	}
	if req.GetInfo().GetFFixed64() != 0 {
		params.Add("info.fFixed64", fmt.Sprintf("%v", req.GetInfo().GetFFixed64()))
	}
	if req.GetInfo().GetFFloat() != 0 {
		params.Add("info.fFloat", fmt.Sprintf("%v", req.GetInfo().GetFFloat()))
	}
	if req.GetInfo().GetFInt32() != 0 {
		params.Add("info.fInt32", fmt.Sprintf("%v", req.GetInfo().GetFInt32()))
	}
	if req.GetInfo().GetFInt64() != 0 {
		params.Add("info.fInt64", fmt.Sprintf("%v", req.GetInfo().GetFInt64()))
	}
	if req.GetInfo().GetFKingdom() != 0 {
		params.Add("info.fKingdom", fmt.Sprintf("%v", req.GetInfo().GetFKingdom()))
	}
	if req.GetInfo().GetFSfixed32() != 0 {
		params.Add("info.fSfixed32", fmt.Sprintf("%v", req.GetInfo().GetFSfixed32()))
	}
	if req.GetInfo().GetFSfixed64() != 0 {
		params.Add("info.fSfixed64", fmt.Sprintf("%v", req.GetInfo().GetFSfixed64()))
	}
	if req.GetInfo().GetFSint32() != 0 {
		params.Add("info.fSint32", fmt.Sprintf("%v", req.GetInfo().GetFSint32()))
	}
	if req.GetInfo().GetFSint64() != 0 {
		params.Add("info.fSint64", fmt.Sprintf("%v", req.GetInfo().GetFSint64()))
	}
	if req.GetInfo().GetFUint32() != 0 {
		params.Add("info.fUint32", fmt.Sprintf("%v", req.GetInfo().GetFUint32()))
	}
	if req.GetInfo().GetFUint64() != 0 {
		params.Add("info.fUint64", fmt.Sprintf("%v", req.GetInfo().GetFUint64()))
	}
	if req.GetInfo() != nil && req.GetInfo().PBool != nil {
		params.Add("info.pBool", fmt.Sprintf("%v", req.GetInfo().GetPBool()))
	}
	if req.GetInfo().GetPChild().GetFBool() {
		params.Add("info.pChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFBool()))
	}
	if req.GetInfo().GetPChild().GetFChild().GetFBool() {
		params.Add("info.pChild.fChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFChild().GetFBool()))
	}
	if req.GetInfo().GetPChild().GetFChild().GetFDouble() != 0 {
		params.Add("info.pChild.fChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFChild().GetFDouble()))
	}
	if req.GetInfo().GetPChild().GetFChild().GetFString() != "" {
		params.Add("info.pChild.fChild.fString", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFChild().GetFString()))
	}
	if req.GetInfo().GetPChild().GetFContinent() != 0 {
		params.Add("info.pChild.fContinent", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFContinent()))
	}
	if req.GetInfo().GetPChild().GetFDouble() != 0 {
		params.Add("info.pChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFDouble()))
	}
	if req.GetInfo().GetPChild().GetFFloat() != 0 {
		params.Add("info.pChild.fFloat", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFFloat()))
	}
	if req.GetInfo().GetPChild().GetFString() != "" {
		params.Add("info.pChild.fString", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetFString()))
	}
	if req.GetInfo().GetPChild() != nil && req.GetInfo().GetPChild().PBool != nil {
		params.Add("info.pChild.pBool", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPBool()))
	}
	if req.GetInfo().GetPChild().GetPChild().GetFBool() {
		params.Add("info.pChild.pChild.fBool", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPChild().GetFBool()))
	}
	if req.GetInfo().GetPChild().GetPChild().GetFDouble() != 0 {
		params.Add("info.pChild.pChild.fDouble", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPChild().GetFDouble()))
	}
	if req.GetInfo().GetPChild().GetPChild().GetFString() != "" {
		params.Add("info.pChild.pChild.fString", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPChild().GetFString()))
	}
	if req.GetInfo().GetPChild().GetPContinent() != 0 {
		params.Add("info.pChild.pContinent", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPContinent()))
	}
	if req.GetInfo().GetPChild() != nil && req.GetInfo().GetPChild().PDouble != nil {
		params.Add("info.pChild.pDouble", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPDouble()))
	}
	if req.GetInfo().GetPChild() != nil && req.GetInfo().GetPChild().PFloat != nil {
		params.Add("info.pChild.pFloat", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPFloat()))
	}
	if req.GetInfo().GetPChild() != nil && req.GetInfo().GetPChild().PString != nil {
		params.Add("info.pChild.pString", fmt.Sprintf("%v", req.GetInfo().GetPChild().GetPString()))
	}
	if req.GetInfo() != nil && req.GetInfo().PDouble != nil {
		params.Add("info.pDouble", fmt.Sprintf("%v", req.GetInfo().GetPDouble()))
	}
	if req.GetInfo() != nil && req.GetInfo().PFixed32 != nil {
		params.Add("info.pFixed32", fmt.Sprintf("%v", req.GetInfo().GetPFixed32()))
	}
	if req.GetInfo() != nil && req.GetInfo().PFixed64 != nil {
		params.Add("info.pFixed64", fmt.Sprintf("%v", req.GetInfo().GetPFixed64()))
	}
	if req.GetInfo() != nil && req.GetInfo().PFloat != nil {
		params.Add("info.pFloat", fmt.Sprintf("%v", req.GetInfo().GetPFloat()))
	}
	if req.GetInfo() != nil && req.GetInfo().PInt32 != nil {
		params.Add("info.pInt32", fmt.Sprintf("%v", req.GetInfo().GetPInt32()))
	}
	if req.GetInfo() != nil && req.GetInfo().PInt64 != nil {
		params.Add("info.pInt64", fmt.Sprintf("%v", req.GetInfo().GetPInt64()))
	}
	if req.GetInfo() != nil && req.GetInfo().PKingdom != nil {
		params.Add("info.pKingdom", fmt.Sprintf("%v", req.GetInfo().GetPKingdom()))
	}
	if req.GetInfo() != nil && req.GetInfo().PSfixed32 != nil {
		params.Add("info.pSfixed32", fmt.Sprintf("%v", req.GetInfo().GetPSfixed32()))
	}
	if req.GetInfo() != nil && req.GetInfo().PSfixed64 != nil {
		params.Add("info.pSfixed64", fmt.Sprintf("%v", req.GetInfo().GetPSfixed64()))
	}
	if req.GetInfo() != nil && req.GetInfo().PSint32 != nil {
		params.Add("info.pSint32", fmt.Sprintf("%v", req.GetInfo().GetPSint32()))
	}
	if req.GetInfo() != nil && req.GetInfo().PSint64 != nil {
		params.Add("info.pSint64", fmt.Sprintf("%v", req.GetInfo().GetPSint64()))
	}
	if req.GetInfo() != nil && req.GetInfo().PString != nil {
		params.Add("info.pString", fmt.Sprintf("%v", req.GetInfo().GetPString()))
	}
	if req.GetInfo() != nil && req.GetInfo().PUint32 != nil {
		params.Add("info.pUint32", fmt.Sprintf("%v", req.GetInfo().GetPUint32()))
	}
	if req.GetInfo() != nil && req.GetInfo().PUint64 != nil {
		params.Add("info.pUint64", fmt.Sprintf("%v", req.GetInfo().GetPUint64()))
	}
	if req != nil && req.IntendedBindingUri != nil {
		params.Add("intendedBindingUri", fmt.Sprintf("%v", req.GetIntendedBindingUri()))
	}
	if req.GetName() != "" {
		params.Add("name", fmt.Sprintf("%v", req.GetName()))
	}
	if req != nil && req.PDouble != nil {
		params.Add("pDouble", fmt.Sprintf("%v", req.GetPDouble()))
	}
	if req != nil && req.PInt32 != nil {
		params.Add("pInt32", fmt.Sprintf("%v", req.GetPInt32()))
	}
	if req != nil && req.PInt64 != nil {
		params.Add("pInt64", fmt.Sprintf("%v", req.GetPInt64()))
	}
	if req.GetServerVerify() {
		params.Add("serverVerify", fmt.Sprintf("%v", req.GetServerVerify()))
	}

	baseUrl.RawQuery = params.Encode()

	// Build HTTP headers from client and context metadata.
	hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v", "info.f_string", url.QueryEscape(req.GetInfo().GetFString()), "info.f_child.f_string", url.QueryEscape(req.GetInfo().GetFChild().GetFString()))}

	hds = append(c.xGoogHeaders, hds...)
	hds = append(hds, "Content-Type", "application/json")
	headers := gax.BuildHeaders(ctx, hds...)
	opts = append((*c.CallOptions).RepeatDataPathTrailingResource[0:len((*c.CallOptions).RepeatDataPathTrailingResource):len((*c.CallOptions).RepeatDataPathTrailingResource)], opts...)
	unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true}
	resp := &genprotopb.RepeatResponse{}
	e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		if settings.Path != "" {
			baseUrl.Path = settings.Path
		}
		httpReq, err := http.NewRequest("GET", baseUrl.String(), nil)
		if err != nil {
			return err
		}
		httpReq = httpReq.WithContext(ctx)
		httpReq.Header = headers

		buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "RepeatDataPathTrailingResource")
		if err != nil {
			return err
		}

		if err := unm.Unmarshal(buf, resp); err != nil {
			return err
		}

		return nil
	}, opts...)
	if e != nil {
		return nil, e
	}
	return resp, nil
}

// RepeatDataBodyPut this method echoes the ComplianceData request, using the HTTP PUT method.
func (c *complianceRESTClient) RepeatDataBodyPut(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true}
	jsonReq, err := m.Marshal(req)
	if err != nil {
		return nil, err
	}

	baseUrl, err := url.Parse(c.endpoint)
	if err != nil {
		return nil, err
	}
	baseUrl.Path += fmt.Sprintf("/v1beta1/repeat:bodyput")

	// Build HTTP headers from client and context metadata.
	hds := append(c.xGoogHeaders, "Content-Type", "application/json")
	headers := gax.BuildHeaders(ctx, hds...)
	opts = append((*c.CallOptions).RepeatDataBodyPut[0:len((*c.CallOptions).RepeatDataBodyPut):len((*c.CallOptions).RepeatDataBodyPut)], opts...)
	unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true}
	resp := &genprotopb.RepeatResponse{}
	e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		if settings.Path != "" {
			baseUrl.Path = settings.Path
		}
		httpReq, err := http.NewRequest("PUT", baseUrl.String(), bytes.NewReader(jsonReq))
		if err != nil {
			return err
		}
		httpReq = httpReq.WithContext(ctx)
		httpReq.Header = headers

		buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "RepeatDataBodyPut")
		if err != nil {
			return err
		}

		if err := unm.Unmarshal(buf, resp); err != nil {
			return err
		}

		return nil
	}, opts...)
	if e != nil {
		return nil, e
	}
	return resp, nil
}

// RepeatDataBodyPatch this method echoes the ComplianceData request, using the HTTP PATCH method.
func (c *complianceRESTClient) RepeatDataBodyPatch(ctx context.Context, req *genprotopb.RepeatRequest, opts ...gax.CallOption) (*genprotopb.RepeatResponse, error) {
	m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true}
	jsonReq, err := m.Marshal(req)
	if err != nil {
		return nil, err
	}

	baseUrl, err := url.Parse(c.endpoint)
	if err != nil {
		return nil, err
	}
	baseUrl.Path += fmt.Sprintf("/v1beta1/repeat:bodypatch")

	// Build HTTP headers from client and context metadata.
	hds := append(c.xGoogHeaders, "Content-Type", "application/json")
	headers := gax.BuildHeaders(ctx, hds...)
	opts = append((*c.CallOptions).RepeatDataBodyPatch[0:len((*c.CallOptions).RepeatDataBodyPatch):len((*c.CallOptions).RepeatDataBodyPatch)], opts...)
	unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true}
	resp := &genprotopb.RepeatResponse{}
	e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		if settings.Path != "" {
			baseUrl.Path = settings.Path
		}
		httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq))
		if err != nil {
			return err
		}
		httpReq = httpReq.WithContext(ctx)
		httpReq.Header = headers

		buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "RepeatDataBodyPatch")
		if err != nil {
			return err
		}

		if err := unm.Unmarshal(buf, resp); err != nil {
			return err
		}

		return nil
	}, opts...)
	if e != nil {
		return nil, e
	}
	return resp, nil
}

// GetEnum this method requests an enum value from the server. Depending on the contents of EnumRequest, the enum value returned will be a known enum declared in the
// .proto file, or a made-up enum value the is unknown to the client. To verify that clients can round-trip unknown enum values they receive, use the
// response from this RPC as the request to VerifyEnum()
//
// The values of enums sent by the server when a known or unknown value is requested will be the same within a single Showcase server run (this is needed for
// VerifyEnum() to work) but are not guaranteed to be the same across separate Showcase server runs.
func (c *complianceRESTClient) GetEnum(ctx context.Context, req *genprotopb.EnumRequest, opts ...gax.CallOption) (*genprotopb.EnumResponse, error) {
	baseUrl, err := url.Parse(c.endpoint)
	if err != nil {
		return nil, err
	}
	baseUrl.Path += fmt.Sprintf("/v1beta1/compliance/enum")

	params := url.Values{}
	if req.GetUnknownEnum() {
		params.Add("unknownEnum", fmt.Sprintf("%v", req.GetUnknownEnum()))
	}

	baseUrl.RawQuery = params.Encode()

	// Build HTTP headers from client and context metadata.
	hds := append(c.xGoogHeaders, "Content-Type", "application/json")
	headers := gax.BuildHeaders(ctx, hds...)
	opts = append((*c.CallOptions).GetEnum[0:len((*c.CallOptions).GetEnum):len((*c.CallOptions).GetEnum)], opts...)
	unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true}
	resp := &genprotopb.EnumResponse{}
	e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		if settings.Path != "" {
			baseUrl.Path = settings.Path
		}
		httpReq, err := http.NewRequest("GET", baseUrl.String(), nil)
		if err != nil {
			return err
		}
		httpReq = httpReq.WithContext(ctx)
		httpReq.Header = headers

		buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetEnum")
		if err != nil {
			return err
		}

		if err := unm.Unmarshal(buf, resp); err != nil {
			return err
		}

		return nil
	}, opts...)
	if e != nil {
		return nil, e
	}
	return resp, nil
}

// VerifyEnum this method is used to verify that clients can round-trip enum values, which is particularly important for unknown enum values over REST. VerifyEnum()
// verifies that its request, which is presumably the response that the client previously got to a GetEnum(), contains the correct data. If so, it responds
// with the same EnumResponse; otherwise, the RPC errors.
//
// This works because the values of enums sent by the server when a known or unknown value is requested will be the same within a single Showcase server run,
// although they are not guaranteed to be the same across separate Showcase server runs.
func (c *complianceRESTClient) VerifyEnum(ctx context.Context, req *genprotopb.EnumResponse, opts ...gax.CallOption) (*genprotopb.EnumResponse, error) {
	baseUrl, err := url.Parse(c.endpoint)
	if err != nil {
		return nil, err
	}
	baseUrl.Path += fmt.Sprintf("/v1beta1/compliance/enum")

	params := url.Values{}
	if req.GetContinent() != 0 {
		params.Add("continent", fmt.Sprintf("%v", req.GetContinent()))
	}
	if req.GetRequest().GetUnknownEnum() {
		params.Add("request.unknownEnum", fmt.Sprintf("%v", req.GetRequest().GetUnknownEnum()))
	}

	baseUrl.RawQuery = params.Encode()

	// Build HTTP headers from client and context metadata.
	hds := append(c.xGoogHeaders, "Content-Type", "application/json")
	headers := gax.BuildHeaders(ctx, hds...)
	opts = append((*c.CallOptions).VerifyEnum[0:len((*c.CallOptions).VerifyEnum):len((*c.CallOptions).VerifyEnum)], opts...)
	unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true}
	resp := &genprotopb.EnumResponse{}
	e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		if settings.Path != "" {
			baseUrl.Path = settings.Path
		}
		httpReq, err := http.NewRequest("POST", baseUrl.String(), nil)
		if err != nil {
			return err
		}
		httpReq = httpReq.WithContext(ctx)
		httpReq.Header = headers

		buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "VerifyEnum")
		if err != nil {
			return err
		}

		if err := unm.Unmarshal(buf, resp); err != nil {
			return err
		}

		return nil
	}, opts...)
	if e != nil {
		return nil, e
	}
	return resp, nil
}

// ListLocations is a utility method from google.cloud.location.Locations.
func (c *complianceRESTClient) ListLocations(ctx context.Context, req *locationpb.ListLocationsRequest, opts ...gax.CallOption) *LocationIterator {
	it := &LocationIterator{}
	req = proto.Clone(req).(*locationpb.ListLocationsRequest)
	unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true}
	it.InternalFetch = func(pageSize int, pageToken string) ([]*locationpb.Location, string, error) {
		resp := &locationpb.ListLocationsResponse{}
		if pageToken != "" {
			req.PageToken = pageToken
		}
		if pageSize > math.MaxInt32 {
			req.PageSize = math.MaxInt32
		} else if pageSize != 0 {
			req.PageSize = int32(pageSize)
		}
		baseUrl, err := url.Parse(c.endpoint)
		if err != nil {
			return nil, "", err
		}
		baseUrl.Path += fmt.Sprintf("/v1beta1/%v/locations", req.GetName())

		params := url.Values{}
		if req.GetFilter() != "" {
			params.Add("filter", fmt.Sprintf("%v", req.GetFilter()))
		}
		if req.GetPageSize() != 0 {
			params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize()))
		}
		if req.GetPageToken() != "" {
			params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken()))
		}

		baseUrl.RawQuery = params.Encode()

		// Build HTTP headers from client and context metadata.
		hds := append(c.xGoogHeaders, "Content-Type", "application/json")
		headers := gax.BuildHeaders(ctx, hds...)
		e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
			if settings.Path != "" {
				baseUrl.Path = settings.Path
			}
			httpReq, err := http.NewRequest("GET", baseUrl.String(), nil)
			if err != nil {
				return err
			}
			httpReq.Header = headers

			buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "ListLocations")
			if err != nil {
				return err
			}
			if err := unm.Unmarshal(buf, resp); err != nil {
				return err
			}

			return nil
		}, opts...)
		if e != nil {
			return nil, "", e
		}
		it.Response = resp
		return resp.GetLocations(), resp.GetNextPageToken(), nil
	}

	fetch := func(pageSize int, pageToken string) (string, error) {
		items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
		if err != nil {
			return "", err
		}
		it.items = append(it.items, items...)
		return nextPageToken, nil
	}

	it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
	it.pageInfo.MaxSize = int(req.GetPageSize())
	it.pageInfo.Token = req.GetPageToken()

	return it
}

// GetLocation is a utility method from google.cloud.location.Locations.
func (c *complianceRESTClient) GetLocation(ctx context.Context, req *locationpb.GetLocationRequest, opts ...gax.CallOption) (*locationpb.Location, error) {
	baseUrl, err := url.Parse(c.endpoint)
	if err != nil {
		return nil, err
	}
	baseUrl.Path += fmt.Sprintf("/v1beta1/%v", req.GetName())

	// Build HTTP headers from client and context metadata.
	hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))}

	hds = append(c.xGoogHeaders, hds...)
	hds = append(hds, "Content-Type", "application/json")
	headers := gax.BuildHeaders(ctx, hds...)
	opts = append((*c.CallOptions).GetLocation[0:len((*c.CallOptions).GetLocation):len((*c.CallOptions).GetLocation)], opts...)
	unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true}
	resp := &locationpb.Location{}
	e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		if settings.Path != "" {
			baseUrl.Path = settings.Path
		}
		httpReq, err := http.NewRequest("GET", baseUrl.String(), nil)
		if err != nil {
			return err
		}
		httpReq = httpReq.WithContext(ctx)
		httpReq.Header = headers

		buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetLocation")
		if err != nil {
			return err
		}

		if err := unm.Unmarshal(buf, resp); err != nil {
			return err
		}

		return nil
	}, opts...)
	if e != nil {
		return nil, e
	}
	return resp, nil
}

// SetIamPolicy is a utility method from google.iam.v1.IAMPolicy.
func (c *complianceRESTClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) {
	m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true}
	jsonReq, err := m.Marshal(req)
	if err != nil {
		return nil, err
	}

	baseUrl, err := url.Parse(c.endpoint)
	if err != nil {
		return nil, err
	}
	baseUrl.Path += fmt.Sprintf("/v1beta1/%v:setIamPolicy", req.GetResource())

	// Build HTTP headers from client and context metadata.
	hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))}

	hds = append(c.xGoogHeaders, hds...)
	hds = append(hds, "Content-Type", "application/json")
	headers := gax.BuildHeaders(ctx, hds...)
	opts = append((*c.CallOptions).SetIamPolicy[0:len((*c.CallOptions).SetIamPolicy):len((*c.CallOptions).SetIamPolicy)], opts...)
	unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true}
	resp := &iampb.Policy{}
	e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		if settings.Path != "" {
			baseUrl.Path = settings.Path
		}
		httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq))
		if err != nil {
			return err
		}
		httpReq = httpReq.WithContext(ctx)
		httpReq.Header = headers

		buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "SetIamPolicy")
		if err != nil {
			return err
		}

		if err := unm.Unmarshal(buf, resp); err != nil {
			return err
		}

		return nil
	}, opts...)
	if e != nil {
		return nil, e
	}
	return resp, nil
}

// GetIamPolicy is a utility method from google.iam.v1.IAMPolicy.
func (c *complianceRESTClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) {
	baseUrl, err := url.Parse(c.endpoint)
	if err != nil {
		return nil, err
	}
	baseUrl.Path += fmt.Sprintf("/v1beta1/%v:getIamPolicy", req.GetResource())

	params := url.Values{}
	if req.GetOptions().GetRequestedPolicyVersion() != 0 {
		params.Add("options.requestedPolicyVersion", fmt.Sprintf("%v", req.GetOptions().GetRequestedPolicyVersion()))
	}

	baseUrl.RawQuery = params.Encode()

	// Build HTTP headers from client and context metadata.
	hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))}

	hds = append(c.xGoogHeaders, hds...)
	hds = append(hds, "Content-Type", "application/json")
	headers := gax.BuildHeaders(ctx, hds...)
	opts = append((*c.CallOptions).GetIamPolicy[0:len((*c.CallOptions).GetIamPolicy):len((*c.CallOptions).GetIamPolicy)], opts...)
	unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true}
	resp := &iampb.Policy{}
	e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		if settings.Path != "" {
			baseUrl.Path = settings.Path
		}
		httpReq, err := http.NewRequest("GET", baseUrl.String(), nil)
		if err != nil {
			return err
		}
		httpReq = httpReq.WithContext(ctx)
		httpReq.Header = headers

		buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, nil, "GetIamPolicy")
		if err != nil {
			return err
		}

		if err := unm.Unmarshal(buf, resp); err != nil {
			return err
		}

		return nil
	}, opts...)
	if e != nil {
		return nil, e
	}
	return resp, nil
}

// TestIamPermissions is a utility method from google.iam.v1.IAMPolicy.
func (c *complianceRESTClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) {
	m := protojson.MarshalOptions{AllowPartial: true, UseEnumNumbers: true}
	jsonReq, err := m.Marshal(req)
	if err != nil {
		return nil, err
	}

	baseUrl, err := url.Parse(c.endpoint)
	if err != nil {
		return nil, err
	}
	baseUrl.Path += fmt.Sprintf("/v1beta1/%v:testIamPermissions", req.GetResource())

	// Build HTTP headers from client and context metadata.
	hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "resource", url.QueryEscape(req.GetResource()))}

	hds = append(c.xGoogHeaders, hds...)
	hds = append(hds, "Content-Type", "application/json")
	headers := gax.BuildHeaders(ctx, hds...)
	opts = append((*c.CallOptions).TestIamPermissions[0:len((*c.CallOptions).TestIamPermissions):len((*c.CallOptions).TestIamPermissions)], opts...)
	unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true}
	resp := &iampb.TestIamPermissionsResponse{}
	e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
		if settings.Path != "" {
			baseUrl.Path = settings.Path
		}
		httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq))
		if err != nil {
			return err
		}
		httpReq = httpReq.WithContext(ctx)
		httpReq.Header = headers

		buf, err := executeHTTPRequest(ctx, c.httpClient, httpReq, c.logger, jsonReq, "TestIamPermissions")
		if err != nil {
			return err
		}

		if err := unm.Unmarshal(buf, resp); err != nil {
			return err
		}

		return nil
	}, opts...)
	if e != nil {
		return nil, e
	}
	return resp, nil
}

// ListOperations is a utility method from google.longrunning.Operations.
func (c *complianceRESTClient) ListOperations(ctx context.Context, req *longrunningpb.ListOperationsRequest, opts ...gax.CallOption) *OperationIterator {
	it := &OperationIterator{}
	req = proto.Clone(req).(*longrunningpb.ListOperationsRequest)
	unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true}
	it.InternalFetch = func(pageSize int, pageToken string) ([]*longrunningpb.Operation, string, error) {
		resp := &longrunningpb.ListOperationsResponse{}
		if pageToken != "" {
			req.PageToken = pageToken
		}
		if pageSize > math.MaxInt32 {
			req.PageSize = math.MaxInt32
		} else if pageSize != 0 {
			req.PageSize = int32(pageSize)
		}
		baseUrl, err := url.Parse(c.endpoint)
		if err != nil {
			return nil, "", err
		}
		baseUrl.Path += fmt.Sprintf("/v1beta1/operations")

		params := url.Values{}
		if req.GetFilter() != "" {
			params.Add("filter", fmt.Sprintf("%v", req.GetFilter()))
		}
		if req.GetName() != "" {
			params.Add("name", fmt.Sprintf("%v", req.GetName()))
		}
		if req.GetPageSize() != 0 {
			params.Add("pageSize", fmt.Sprintf("%v", req.GetPageSize()))
		}
		if req.GetPageToken() != "" {
			params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken()))
		}
		if req.GetReturnPartialSuccess() {
			params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess()))
		}

		baseUrl.RawQuery = params.Encode()

		// Build HTTP headers from client 
Download .txt
gitextract_m2mww3pq/

├── .bazeliskrc
├── .bazelrc
├── .github/
│   ├── CODEOWNERS
│   ├── auto-label.yml
│   ├── label-sync.yml
│   ├── release-please.yml
│   ├── snippet-bot.yml
│   ├── sync-repo-settings.yaml
│   └── workflows/
│       ├── assets.yaml
│       └── ci.yaml
├── .gitignore
├── .gitmodules
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Dockerfile
├── LICENSE
├── README.md
├── SECURITY.md
├── WORKSPACE.bazel
├── client/
│   ├── auxiliary.go
│   ├── auxiliary_go123.go
│   ├── compliance_client.go
│   ├── compliance_client_example_go123_test.go
│   ├── compliance_client_example_test.go
│   ├── doc.go
│   ├── echo_client.go
│   ├── echo_client_example_go123_test.go
│   ├── echo_client_example_test.go
│   ├── gapic_metadata.json
│   ├── helpers.go
│   ├── identity_client.go
│   ├── identity_client_example_go123_test.go
│   ├── identity_client_example_test.go
│   ├── messaging_client.go
│   ├── messaging_client_example_go123_test.go
│   ├── messaging_client_example_test.go
│   ├── sequence_client.go
│   ├── sequence_client_example_go123_test.go
│   ├── sequence_client_example_test.go
│   ├── testing_client.go
│   ├── testing_client_example_go123_test.go
│   └── testing_client_example_test.go
├── cmd/
│   └── gapic-showcase/
│       ├── README.md
│       ├── attempt-sequence.go
│       ├── attempt-streaming-sequence.go
│       ├── block.go
│       ├── chat.go
│       ├── collect.go
│       ├── completion.go
│       ├── compliance_service.go
│       ├── compliance_suite_errors_test.go
│       ├── compliance_suite_test.go
│       ├── connect.go
│       ├── create-blurb.go
│       ├── create-room.go
│       ├── create-sequence.go
│       ├── create-session.go
│       ├── create-streaming-sequence.go
│       ├── create-user.go
│       ├── defaults.go
│       ├── delete-blurb.go
│       ├── delete-room.go
│       ├── delete-session.go
│       ├── delete-test.go
│       ├── delete-user.go
│       ├── echo-error-details.go
│       ├── echo.go
│       ├── echo_service.go
│       ├── endpoint.go
│       ├── endpoint_test.go
│       ├── expand.go
│       ├── fail-echo-with-details.go
│       ├── gapic-showcase.go
│       ├── get-blurb.go
│       ├── get-enum.go
│       ├── get-room.go
│       ├── get-sequence-report.go
│       ├── get-session.go
│       ├── get-streaming-sequence-report.go
│       ├── get-user.go
│       ├── identity_service.go
│       ├── list-blurbs.go
│       ├── list-rooms.go
│       ├── list-sessions.go
│       ├── list-tests.go
│       ├── list-users.go
│       ├── loggers.go
│       ├── messaging_service.go
│       ├── paged-expand-legacy-mapped.go
│       ├── paged-expand.go
│       ├── repeat-data-body-info.go
│       ├── repeat-data-body-patch.go
│       ├── repeat-data-body-put.go
│       ├── repeat-data-body.go
│       ├── repeat-data-path-resource.go
│       ├── repeat-data-path-trailing-resource.go
│       ├── repeat-data-query.go
│       ├── repeat-data-simple-path.go
│       ├── report-session.go
│       ├── run.go
│       ├── search-blurbs.go
│       ├── send-blurbs.go
│       ├── sequence_service.go
│       ├── stream-blurbs.go
│       ├── testing_service.go
│       ├── update-blurb.go
│       ├── update-room.go
│       ├── update-user.go
│       ├── verify-enum.go
│       ├── verify-test.go
│       ├── version.go
│       └── wait.go
├── go.mod
├── go.sum
├── renovate.json
├── schema/
│   └── google/
│       └── showcase/
│           └── v1beta1/
│               ├── BUILD.bazel
│               ├── compliance.proto
│               ├── echo.proto
│               ├── identity.proto
│               ├── messaging.proto
│               ├── rest_error.proto
│               ├── sequence.proto
│               ├── showcase_grpc_service_config.json
│               ├── showcase_v1beta1.yaml
│               └── testing.proto
├── server/
│   ├── genproto/
│   │   ├── compliance.pb.go
│   │   ├── echo.pb.go
│   │   ├── identity.pb.go
│   │   ├── messaging.pb.go
│   │   ├── rest_error.pb.go
│   │   ├── sequence.pb.go
│   │   └── testing.pb.go
│   ├── genrest/
│   │   ├── README.md
│   │   ├── compliance.go
│   │   ├── echo.go
│   │   ├── genrest.go
│   │   ├── iampolicy.go
│   │   ├── identity.go
│   │   ├── locations.go
│   │   ├── messaging.go
│   │   ├── operations.go
│   │   ├── sequenceservice.go
│   │   ├── showcase-rest-sample-response.txt
│   │   └── testing.go
│   ├── observer.go
│   ├── observer_test.go
│   ├── page_token.go
│   ├── page_token_test.go
│   ├── services/
│   │   ├── compliance_service.go
│   │   ├── compliance_service_test.go
│   │   ├── compliance_suite.json
│   │   ├── echo_service.go
│   │   ├── echo_service_test.go
│   │   ├── iam_policy_service.go
│   │   ├── iam_policy_service_test.go
│   │   ├── identity_service.go
│   │   ├── identity_service_test.go
│   │   ├── locations_service.go
│   │   ├── locations_service_test.go
│   │   ├── messaging_service.go
│   │   ├── messaging_service_test.go
│   │   ├── operations_service.go
│   │   ├── operations_service_test.go
│   │   ├── sequence_service.go
│   │   ├── sequence_service_test.go
│   │   ├── services.go
│   │   ├── test_common.go
│   │   ├── testing_service.go
│   │   ├── testing_service_test.go
│   │   └── util.go
│   ├── session.go
│   ├── session_test.go
│   ├── spec/
│   │   ├── showcase_tests.go
│   │   └── v1/
│   │       ├── unary.go
│   │       └── unary_test.go
│   ├── test.go
│   ├── unique_id.go
│   ├── unique_id_test.go
│   ├── waiter.go
│   └── waiter_test.go
├── util/
│   ├── cmd/
│   │   ├── compile_protos/
│   │   │   └── main.go
│   │   ├── protoc-gen-go_rest_server/
│   │   │   ├── README.md
│   │   │   └── main.go
│   │   └── release/
│   │       └── main.go
│   ├── compile_protos.go
│   ├── execute.go
│   └── genrest/
│       ├── README.md
│       ├── errorhandling/
│       │   └── accumulator.go
│       ├── genserver.go
│       ├── gomodel/
│       │   ├── gomodel.go
│       │   ├── pathtemplate.go
│       │   ├── pathtemplate_test.go
│       │   ├── pathtemplatematch.go
│       │   ├── pathtemplatematch_test.go
│       │   ├── pathtemplateparser.go
│       │   └── pathtemplateparser_test.go
│       ├── gomodelcreator.go
│       ├── goview/
│       │   └── goview.go
│       ├── goviewcreator.go
│       ├── goviewcreator_test.go
│       ├── internal/
│       │   └── pbinfo/
│       │       └── pbinfo.go
│       ├── protomodel/
│       │   └── protomodel.go
│       ├── protomodelcreator.go
│       ├── resttools/
│       │   ├── checkrequestformat.go
│       │   ├── checkrequestformat_test.go
│       │   ├── constants.go
│       │   ├── error_response.go
│       │   ├── error_response_test.go
│       │   ├── headers.go
│       │   ├── json.go
│       │   ├── keysmatching.go
│       │   ├── keysmatching_test.go
│       │   ├── populatefield.go
│       │   ├── populatefield_test.go
│       │   ├── server_streamer.go
│       │   ├── server_streamer_test.go
│       │   ├── systemparam.go
│       │   └── systemparam_test.go
│       └── testdata/
│           └── TestConstructServerStreamer.go.baseline
├── version.go
└── version.txt
Download .txt
Showing preview only (270K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (2815 symbols across 178 files)

FILE: client/auxiliary.go
  type SearchBlurbsOperation (line 32) | type SearchBlurbsOperation struct
    method Wait (line 40) | func (op *SearchBlurbsOperation) Wait(ctx context.Context, opts ...gax...
    method Poll (line 58) | func (op *SearchBlurbsOperation) Poll(ctx context.Context, opts ...gax...
    method Metadata (line 74) | func (op *SearchBlurbsOperation) Metadata() (*genprotopb.SearchBlurbsM...
    method Done (line 85) | func (op *SearchBlurbsOperation) Done() bool {
    method Name (line 91) | func (op *SearchBlurbsOperation) Name() string {
  type WaitOperation (line 96) | type WaitOperation struct
    method Wait (line 104) | func (op *WaitOperation) Wait(ctx context.Context, opts ...gax.CallOpt...
    method Poll (line 122) | func (op *WaitOperation) Poll(ctx context.Context, opts ...gax.CallOpt...
    method Metadata (line 138) | func (op *WaitOperation) Metadata() (*genprotopb.WaitMetadata, error) {
    method Done (line 149) | func (op *WaitOperation) Done() bool {
    method Name (line 155) | func (op *WaitOperation) Name() string {
  type BlurbIterator (line 160) | type BlurbIterator struct
    method PageInfo (line 180) | func (it *BlurbIterator) PageInfo() *iterator.PageInfo {
    method Next (line 186) | func (it *BlurbIterator) Next() (*genprotopb.Blurb, error) {
    method bufLen (line 196) | func (it *BlurbIterator) bufLen() int {
    method takeBuf (line 200) | func (it *BlurbIterator) takeBuf() interface{} {
  type EchoResponseIterator (line 207) | type EchoResponseIterator struct
    method PageInfo (line 227) | func (it *EchoResponseIterator) PageInfo() *iterator.PageInfo {
    method Next (line 233) | func (it *EchoResponseIterator) Next() (*genprotopb.EchoResponse, erro...
    method bufLen (line 243) | func (it *EchoResponseIterator) bufLen() int {
    method takeBuf (line 247) | func (it *EchoResponseIterator) takeBuf() interface{} {
  type LocationIterator (line 254) | type LocationIterator struct
    method PageInfo (line 274) | func (it *LocationIterator) PageInfo() *iterator.PageInfo {
    method Next (line 280) | func (it *LocationIterator) Next() (*locationpb.Location, error) {
    method bufLen (line 290) | func (it *LocationIterator) bufLen() int {
    method takeBuf (line 294) | func (it *LocationIterator) takeBuf() interface{} {
  type OperationIterator (line 301) | type OperationIterator struct
    method PageInfo (line 321) | func (it *OperationIterator) PageInfo() *iterator.PageInfo {
    method Next (line 327) | func (it *OperationIterator) Next() (*longrunningpb.Operation, error) {
    method bufLen (line 337) | func (it *OperationIterator) bufLen() int {
    method takeBuf (line 341) | func (it *OperationIterator) takeBuf() interface{} {
  type PagedExpandResponseListPair (line 348) | type PagedExpandResponseListPair struct
  type PagedExpandResponseListPairIterator (line 354) | type PagedExpandResponseListPairIterator struct
    method PageInfo (line 374) | func (it *PagedExpandResponseListPairIterator) PageInfo() *iterator.Pa...
    method Next (line 380) | func (it *PagedExpandResponseListPairIterator) Next() (PagedExpandResp...
    method bufLen (line 390) | func (it *PagedExpandResponseListPairIterator) bufLen() int {
    method takeBuf (line 394) | func (it *PagedExpandResponseListPairIterator) takeBuf() interface{} {
  type RoomIterator (line 401) | type RoomIterator struct
    method PageInfo (line 421) | func (it *RoomIterator) PageInfo() *iterator.PageInfo {
    method Next (line 427) | func (it *RoomIterator) Next() (*genprotopb.Room, error) {
    method bufLen (line 437) | func (it *RoomIterator) bufLen() int {
    method takeBuf (line 441) | func (it *RoomIterator) takeBuf() interface{} {
  type SessionIterator (line 448) | type SessionIterator struct
    method PageInfo (line 468) | func (it *SessionIterator) PageInfo() *iterator.PageInfo {
    method Next (line 474) | func (it *SessionIterator) Next() (*genprotopb.Session, error) {
    method bufLen (line 484) | func (it *SessionIterator) bufLen() int {
    method takeBuf (line 488) | func (it *SessionIterator) takeBuf() interface{} {
  type TestIterator (line 495) | type TestIterator struct
    method PageInfo (line 515) | func (it *TestIterator) PageInfo() *iterator.PageInfo {
    method Next (line 521) | func (it *TestIterator) Next() (*genprotopb.Test, error) {
    method bufLen (line 531) | func (it *TestIterator) bufLen() int {
    method takeBuf (line 535) | func (it *TestIterator) takeBuf() interface{} {
  type UserIterator (line 542) | type UserIterator struct
    method PageInfo (line 562) | func (it *UserIterator) PageInfo() *iterator.PageInfo {
    method Next (line 568) | func (it *UserIterator) Next() (*genprotopb.User, error) {
    method bufLen (line 578) | func (it *UserIterator) bufLen() int {
    method takeBuf (line 582) | func (it *UserIterator) takeBuf() interface{} {

FILE: client/auxiliary_go123.go
  method All (line 32) | func (it *BlurbIterator) All() iter.Seq2[*genprotopb.Blurb, error] {
  method All (line 38) | func (it *EchoResponseIterator) All() iter.Seq2[*genprotopb.EchoResponse...
  method All (line 44) | func (it *LocationIterator) All() iter.Seq2[*locationpb.Location, error] {
  method All (line 50) | func (it *OperationIterator) All() iter.Seq2[*longrunningpb.Operation, e...
  method All (line 56) | func (it *PagedExpandResponseListPairIterator) All() iter.Seq2[PagedExpa...
  method All (line 62) | func (it *RoomIterator) All() iter.Seq2[*genprotopb.Room, error] {
  method All (line 68) | func (it *SessionIterator) All() iter.Seq2[*genprotopb.Session, error] {
  method All (line 74) | func (it *TestIterator) All() iter.Seq2[*genprotopb.Test, error] {
  method All (line 80) | func (it *UserIterator) All() iter.Seq2[*genprotopb.User, error] {

FILE: client/compliance_client.go
  type ComplianceCallOptions (line 46) | type ComplianceCallOptions struct
  function defaultComplianceGRPCClientOptions (line 68) | func defaultComplianceGRPCClientOptions() []option.ClientOption {
  function defaultComplianceCallOptions (line 83) | func defaultComplianceCallOptions() *ComplianceCallOptions {
  function defaultComplianceRESTCallOptions (line 107) | func defaultComplianceRESTCallOptions() *ComplianceCallOptions {
  type internalComplianceClient (line 132) | type internalComplianceClient interface
  type ComplianceClient (line 163) | type ComplianceClient struct
    method Close (line 175) | func (c *ComplianceClient) Close() error {
    method setGoogleClientInfo (line 182) | func (c *ComplianceClient) setGoogleClientInfo(keyval ...string) {
    method Connection (line 190) | func (c *ComplianceClient) Connection() *grpc.ClientConn {
    method RepeatDataBody (line 196) | func (c *ComplianceClient) RepeatDataBody(ctx context.Context, req *ge...
    method RepeatDataBodyInfo (line 203) | func (c *ComplianceClient) RepeatDataBodyInfo(ctx context.Context, req...
    method RepeatDataQuery (line 209) | func (c *ComplianceClient) RepeatDataQuery(ctx context.Context, req *g...
    method RepeatDataSimplePath (line 216) | func (c *ComplianceClient) RepeatDataSimplePath(ctx context.Context, r...
    method RepeatDataPathResource (line 221) | func (c *ComplianceClient) RepeatDataPathResource(ctx context.Context,...
    method RepeatDataPathTrailingResource (line 226) | func (c *ComplianceClient) RepeatDataPathTrailingResource(ctx context....
    method RepeatDataBodyPut (line 231) | func (c *ComplianceClient) RepeatDataBodyPut(ctx context.Context, req ...
    method RepeatDataBodyPatch (line 236) | func (c *ComplianceClient) RepeatDataBodyPatch(ctx context.Context, re...
    method GetEnum (line 246) | func (c *ComplianceClient) GetEnum(ctx context.Context, req *genprotop...
    method VerifyEnum (line 256) | func (c *ComplianceClient) VerifyEnum(ctx context.Context, req *genpro...
    method ListLocations (line 261) | func (c *ComplianceClient) ListLocations(ctx context.Context, req *loc...
    method GetLocation (line 266) | func (c *ComplianceClient) GetLocation(ctx context.Context, req *locat...
    method SetIamPolicy (line 271) | func (c *ComplianceClient) SetIamPolicy(ctx context.Context, req *iamp...
    method GetIamPolicy (line 276) | func (c *ComplianceClient) GetIamPolicy(ctx context.Context, req *iamp...
    method TestIamPermissions (line 281) | func (c *ComplianceClient) TestIamPermissions(ctx context.Context, req...
    method ListOperations (line 286) | func (c *ComplianceClient) ListOperations(ctx context.Context, req *lo...
    method GetOperation (line 291) | func (c *ComplianceClient) GetOperation(ctx context.Context, req *long...
    method DeleteOperation (line 296) | func (c *ComplianceClient) DeleteOperation(ctx context.Context, req *l...
    method CancelOperation (line 301) | func (c *ComplianceClient) CancelOperation(ctx context.Context, req *l...
  type complianceGRPCClient (line 308) | type complianceGRPCClient struct
    method Connection (line 372) | func (c *complianceGRPCClient) Connection() *grpc.ClientConn {
    method setGoogleClientInfo (line 379) | func (c *complianceGRPCClient) setGoogleClientInfo(keyval ...string) {
    method Close (line 389) | func (c *complianceGRPCClient) Close() error {
    method RepeatDataBody (line 471) | func (c *complianceGRPCClient) RepeatDataBody(ctx context.Context, req...
    method RepeatDataBodyInfo (line 486) | func (c *complianceGRPCClient) RepeatDataBodyInfo(ctx context.Context,...
    method RepeatDataQuery (line 501) | func (c *complianceGRPCClient) RepeatDataQuery(ctx context.Context, re...
    method RepeatDataSimplePath (line 516) | func (c *complianceGRPCClient) RepeatDataSimplePath(ctx context.Contex...
    method RepeatDataPathResource (line 534) | func (c *complianceGRPCClient) RepeatDataPathResource(ctx context.Cont...
    method RepeatDataPathTrailingResource (line 552) | func (c *complianceGRPCClient) RepeatDataPathTrailingResource(ctx cont...
    method RepeatDataBodyPut (line 570) | func (c *complianceGRPCClient) RepeatDataBodyPut(ctx context.Context, ...
    method RepeatDataBodyPatch (line 585) | func (c *complianceGRPCClient) RepeatDataBodyPatch(ctx context.Context...
    method GetEnum (line 600) | func (c *complianceGRPCClient) GetEnum(ctx context.Context, req *genpr...
    method VerifyEnum (line 615) | func (c *complianceGRPCClient) VerifyEnum(ctx context.Context, req *ge...
    method ListLocations (line 630) | func (c *complianceGRPCClient) ListLocations(ctx context.Context, req ...
    method GetLocation (line 676) | func (c *complianceGRPCClient) GetLocation(ctx context.Context, req *l...
    method SetIamPolicy (line 694) | func (c *complianceGRPCClient) SetIamPolicy(ctx context.Context, req *...
    method GetIamPolicy (line 712) | func (c *complianceGRPCClient) GetIamPolicy(ctx context.Context, req *...
    method TestIamPermissions (line 730) | func (c *complianceGRPCClient) TestIamPermissions(ctx context.Context,...
    method ListOperations (line 748) | func (c *complianceGRPCClient) ListOperations(ctx context.Context, req...
    method GetOperation (line 791) | func (c *complianceGRPCClient) GetOperation(ctx context.Context, req *...
    method DeleteOperation (line 809) | func (c *complianceGRPCClient) DeleteOperation(ctx context.Context, re...
    method CancelOperation (line 823) | func (c *complianceGRPCClient) CancelOperation(ctx context.Context, re...
  function NewComplianceClient (line 336) | func NewComplianceClient(ctx context.Context, opts ...option.ClientOptio...
  type complianceRESTClient (line 394) | type complianceRESTClient struct
    method setGoogleClientInfo (line 449) | func (c *complianceRESTClient) setGoogleClientInfo(keyval ...string) {
    method Close (line 459) | func (c *complianceRESTClient) Close() error {
    method Connection (line 468) | func (c *complianceRESTClient) Connection() *grpc.ClientConn {
    method RepeatDataBody (line 839) | func (c *complianceRESTClient) RepeatDataBody(ctx context.Context, req...
    method RepeatDataBodyInfo (line 889) | func (c *complianceRESTClient) RepeatDataBodyInfo(ctx context.Context,...
    method RepeatDataQuery (line 970) | func (c *complianceRESTClient) RepeatDataQuery(ctx context.Context, re...
    method RepeatDataSimplePath (line 1234) | func (c *complianceRESTClient) RepeatDataSimplePath(ctx context.Contex...
    method RepeatDataPathResource (line 1484) | func (c *complianceRESTClient) RepeatDataPathResource(ctx context.Cont...
    method RepeatDataPathTrailingResource (line 1740) | func (c *complianceRESTClient) RepeatDataPathTrailingResource(ctx cont...
    method RepeatDataBodyPut (line 1999) | func (c *complianceRESTClient) RepeatDataBodyPut(ctx context.Context, ...
    method RepeatDataBodyPatch (line 2047) | func (c *complianceRESTClient) RepeatDataBodyPatch(ctx context.Context...
    method GetEnum (line 2100) | func (c *complianceRESTClient) GetEnum(ctx context.Context, req *genpr...
    method VerifyEnum (line 2154) | func (c *complianceRESTClient) VerifyEnum(ctx context.Context, req *ge...
    method ListLocations (line 2206) | func (c *complianceRESTClient) ListLocations(ctx context.Context, req ...
    method GetLocation (line 2286) | func (c *complianceRESTClient) GetLocation(ctx context.Context, req *l...
    method SetIamPolicy (line 2331) | func (c *complianceRESTClient) SetIamPolicy(ctx context.Context, req *...
    method GetIamPolicy (line 2382) | func (c *complianceRESTClient) GetIamPolicy(ctx context.Context, req *...
    method TestIamPermissions (line 2434) | func (c *complianceRESTClient) TestIamPermissions(ctx context.Context,...
    method ListOperations (line 2485) | func (c *complianceRESTClient) ListOperations(ctx context.Context, req...
    method GetOperation (line 2571) | func (c *complianceRESTClient) GetOperation(ctx context.Context, req *...
    method DeleteOperation (line 2616) | func (c *complianceRESTClient) DeleteOperation(ctx context.Context, re...
    method CancelOperation (line 2646) | func (c *complianceRESTClient) CancelOperation(ctx context.Context, re...
  function NewComplianceRESTClient (line 415) | func NewComplianceRESTClient(ctx context.Context, opts ...option.ClientO...
  function defaultComplianceRESTClientOptions (line 434) | func defaultComplianceRESTClientOptions() []option.ClientOption {

FILE: client/compliance_client_example_go123_test.go
  function ExampleComplianceClient_ListLocations_all (line 29) | func ExampleComplianceClient_ListLocations_all() {
  function ExampleComplianceClient_ListOperations_all (line 55) | func ExampleComplianceClient_ListOperations_all() {

FILE: client/compliance_client_example_test.go
  function ExampleNewComplianceClient (line 30) | func ExampleNewComplianceClient() {
  function ExampleNewComplianceRESTClient (line 47) | func ExampleNewComplianceRESTClient() {
  function ExampleComplianceClient_GetEnum (line 64) | func ExampleComplianceClient_GetEnum() {
  function ExampleComplianceClient_RepeatDataBody (line 89) | func ExampleComplianceClient_RepeatDataBody() {
  function ExampleComplianceClient_RepeatDataBodyInfo (line 114) | func ExampleComplianceClient_RepeatDataBodyInfo() {
  function ExampleComplianceClient_RepeatDataBodyPatch (line 139) | func ExampleComplianceClient_RepeatDataBodyPatch() {
  function ExampleComplianceClient_RepeatDataBodyPut (line 164) | func ExampleComplianceClient_RepeatDataBodyPut() {
  function ExampleComplianceClient_RepeatDataPathResource (line 189) | func ExampleComplianceClient_RepeatDataPathResource() {
  function ExampleComplianceClient_RepeatDataPathTrailingResource (line 214) | func ExampleComplianceClient_RepeatDataPathTrailingResource() {
  function ExampleComplianceClient_RepeatDataQuery (line 239) | func ExampleComplianceClient_RepeatDataQuery() {
  function ExampleComplianceClient_RepeatDataSimplePath (line 264) | func ExampleComplianceClient_RepeatDataSimplePath() {
  function ExampleComplianceClient_VerifyEnum (line 289) | func ExampleComplianceClient_VerifyEnum() {
  function ExampleComplianceClient_ListLocations (line 314) | func ExampleComplianceClient_ListLocations() {
  function ExampleComplianceClient_GetLocation (line 351) | func ExampleComplianceClient_GetLocation() {
  function ExampleComplianceClient_SetIamPolicy (line 376) | func ExampleComplianceClient_SetIamPolicy() {
  function ExampleComplianceClient_GetIamPolicy (line 401) | func ExampleComplianceClient_GetIamPolicy() {
  function ExampleComplianceClient_TestIamPermissions (line 426) | func ExampleComplianceClient_TestIamPermissions() {
  function ExampleComplianceClient_ListOperations (line 451) | func ExampleComplianceClient_ListOperations() {
  function ExampleComplianceClient_GetOperation (line 488) | func ExampleComplianceClient_GetOperation() {
  function ExampleComplianceClient_DeleteOperation (line 513) | func ExampleComplianceClient_DeleteOperation() {
  function ExampleComplianceClient_CancelOperation (line 536) | func ExampleComplianceClient_CancelOperation() {

FILE: client/echo_client.go
  type EchoCallOptions (line 56) | type EchoCallOptions struct
  function defaultEchoGRPCClientOptions (line 79) | func defaultEchoGRPCClientOptions() []option.ClientOption {
  function defaultEchoCallOptions (line 94) | func defaultEchoCallOptions() *EchoCallOptions {
  function defaultEchoRESTCallOptions (line 166) | func defaultEchoRESTCallOptions() *EchoCallOptions {
  type internalEchoClient (line 241) | type internalEchoClient interface
  type EchoClient (line 280) | type EchoClient struct
    method Close (line 297) | func (c *EchoClient) Close() error {
    method setGoogleClientInfo (line 304) | func (c *EchoClient) setGoogleClientInfo(keyval ...string) {
    method Connection (line 312) | func (c *EchoClient) Connection() *grpc.ClientConn {
    method Echo (line 317) | func (c *EchoClient) Echo(ctx context.Context, req *genprotopb.EchoReq...
    method EchoErrorDetails (line 327) | func (c *EchoClient) EchoErrorDetails(ctx context.Context, req *genpro...
    method FailEchoWithDetails (line 338) | func (c *EchoClient) FailEchoWithDetails(ctx context.Context, req *gen...
    method Expand (line 344) | func (c *EchoClient) Expand(ctx context.Context, req *genprotopb.Expan...
    method Collect (line 353) | func (c *EchoClient) Collect(ctx context.Context, opts ...gax.CallOpti...
    method Chat (line 362) | func (c *EchoClient) Chat(ctx context.Context, opts ...gax.CallOption)...
    method PagedExpand (line 368) | func (c *EchoClient) PagedExpand(ctx context.Context, req *genprotopb....
    method PagedExpandLegacy (line 375) | func (c *EchoClient) PagedExpandLegacy(ctx context.Context, req *genpr...
    method PagedExpandLegacyMapped (line 384) | func (c *EchoClient) PagedExpandLegacyMapped(ctx context.Context, req ...
    method Wait (line 390) | func (c *EchoClient) Wait(ctx context.Context, req *genprotopb.WaitReq...
    method WaitOperation (line 396) | func (c *EchoClient) WaitOperation(name string) *WaitOperation {
    method Block (line 403) | func (c *EchoClient) Block(ctx context.Context, req *genprotopb.BlockR...
    method ListLocations (line 408) | func (c *EchoClient) ListLocations(ctx context.Context, req *locationp...
    method GetLocation (line 413) | func (c *EchoClient) GetLocation(ctx context.Context, req *locationpb....
    method SetIamPolicy (line 418) | func (c *EchoClient) SetIamPolicy(ctx context.Context, req *iampb.SetI...
    method GetIamPolicy (line 423) | func (c *EchoClient) GetIamPolicy(ctx context.Context, req *iampb.GetI...
    method TestIamPermissions (line 428) | func (c *EchoClient) TestIamPermissions(ctx context.Context, req *iamp...
    method ListOperations (line 433) | func (c *EchoClient) ListOperations(ctx context.Context, req *longrunn...
    method GetOperation (line 438) | func (c *EchoClient) GetOperation(ctx context.Context, req *longrunnin...
    method DeleteOperation (line 443) | func (c *EchoClient) DeleteOperation(ctx context.Context, req *longrun...
    method CancelOperation (line 448) | func (c *EchoClient) CancelOperation(ctx context.Context, req *longrun...
  type echoGRPCClient (line 455) | type echoGRPCClient struct
    method Connection (line 539) | func (c *echoGRPCClient) Connection() *grpc.ClientConn {
    method setGoogleClientInfo (line 546) | func (c *echoGRPCClient) setGoogleClientInfo(keyval ...string) {
    method Close (line 557) | func (c *echoGRPCClient) Close() error {
    method Echo (line 659) | func (c *echoGRPCClient) Echo(ctx context.Context, req *genprotopb.Ech...
    method EchoErrorDetails (line 713) | func (c *echoGRPCClient) EchoErrorDetails(ctx context.Context, req *ge...
    method FailEchoWithDetails (line 728) | func (c *echoGRPCClient) FailEchoWithDetails(ctx context.Context, req ...
    method Expand (line 743) | func (c *echoGRPCClient) Expand(ctx context.Context, req *genprotopb.E...
    method Collect (line 760) | func (c *echoGRPCClient) Collect(ctx context.Context, opts ...gax.Call...
    method Chat (line 777) | func (c *echoGRPCClient) Chat(ctx context.Context, opts ...gax.CallOpt...
    method PagedExpand (line 794) | func (c *echoGRPCClient) PagedExpand(ctx context.Context, req *genprot...
    method PagedExpandLegacy (line 837) | func (c *echoGRPCClient) PagedExpandLegacy(ctx context.Context, req *g...
    method PagedExpandLegacyMapped (line 880) | func (c *echoGRPCClient) PagedExpandLegacyMapped(ctx context.Context, ...
    method Wait (line 930) | func (c *echoGRPCClient) Wait(ctx context.Context, req *genprotopb.Wai...
    method Block (line 947) | func (c *echoGRPCClient) Block(ctx context.Context, req *genprotopb.Bl...
    method ListLocations (line 962) | func (c *echoGRPCClient) ListLocations(ctx context.Context, req *locat...
    method GetLocation (line 1008) | func (c *echoGRPCClient) GetLocation(ctx context.Context, req *locatio...
    method SetIamPolicy (line 1026) | func (c *echoGRPCClient) SetIamPolicy(ctx context.Context, req *iampb....
    method GetIamPolicy (line 1044) | func (c *echoGRPCClient) GetIamPolicy(ctx context.Context, req *iampb....
    method TestIamPermissions (line 1062) | func (c *echoGRPCClient) TestIamPermissions(ctx context.Context, req *...
    method ListOperations (line 1080) | func (c *echoGRPCClient) ListOperations(ctx context.Context, req *long...
    method GetOperation (line 1123) | func (c *echoGRPCClient) GetOperation(ctx context.Context, req *longru...
    method DeleteOperation (line 1141) | func (c *echoGRPCClient) DeleteOperation(ctx context.Context, req *lon...
    method CancelOperation (line 1155) | func (c *echoGRPCClient) CancelOperation(ctx context.Context, req *lon...
    method WaitOperation (line 2283) | func (c *echoGRPCClient) WaitOperation(name string) *WaitOperation {
  function NewEchoClient (line 492) | func NewEchoClient(ctx context.Context, opts ...option.ClientOption) (*E...
  type echoRESTClient (line 562) | type echoRESTClient struct
    method setGoogleClientInfo (line 636) | func (c *echoRESTClient) setGoogleClientInfo(keyval ...string) {
    method Close (line 647) | func (c *echoRESTClient) Close() error {
    method Connection (line 656) | func (c *echoRESTClient) Connection() *grpc.ClientConn {
    method Echo (line 1170) | func (c *echoRESTClient) Echo(ctx context.Context, req *genprotopb.Ech...
    method EchoErrorDetails (line 1262) | func (c *echoRESTClient) EchoErrorDetails(ctx context.Context, req *ge...
    method FailEchoWithDetails (line 1316) | func (c *echoRESTClient) FailEchoWithDetails(ctx context.Context, req ...
    method Expand (line 1365) | func (c *echoRESTClient) Expand(ctx context.Context, req *genprotopb.E...
    method Collect (line 1463) | func (c *echoRESTClient) Collect(ctx context.Context, opts ...gax.Call...
    method Chat (line 1472) | func (c *echoRESTClient) Chat(ctx context.Context, opts ...gax.CallOpt...
    method PagedExpand (line 1478) | func (c *echoRESTClient) PagedExpand(ctx context.Context, req *genprot...
    method PagedExpandLegacy (line 1553) | func (c *echoRESTClient) PagedExpandLegacy(ctx context.Context, req *g...
    method PagedExpandLegacyMapped (line 1630) | func (c *echoRESTClient) PagedExpandLegacyMapped(ctx context.Context, ...
    method Wait (line 1711) | func (c *echoRESTClient) Wait(ctx context.Context, req *genprotopb.Wai...
    method Block (line 1764) | func (c *echoRESTClient) Block(ctx context.Context, req *genprotopb.Bl...
    method ListLocations (line 1812) | func (c *echoRESTClient) ListLocations(ctx context.Context, req *locat...
    method GetLocation (line 1892) | func (c *echoRESTClient) GetLocation(ctx context.Context, req *locatio...
    method SetIamPolicy (line 1937) | func (c *echoRESTClient) SetIamPolicy(ctx context.Context, req *iampb....
    method GetIamPolicy (line 1988) | func (c *echoRESTClient) GetIamPolicy(ctx context.Context, req *iampb....
    method TestIamPermissions (line 2040) | func (c *echoRESTClient) TestIamPermissions(ctx context.Context, req *...
    method ListOperations (line 2091) | func (c *echoRESTClient) ListOperations(ctx context.Context, req *long...
    method GetOperation (line 2177) | func (c *echoRESTClient) GetOperation(ctx context.Context, req *longru...
    method DeleteOperation (line 2222) | func (c *echoRESTClient) DeleteOperation(ctx context.Context, req *lon...
    method CancelOperation (line 2252) | func (c *echoRESTClient) CancelOperation(ctx context.Context, req *lon...
    method WaitOperation (line 2291) | func (c *echoRESTClient) WaitOperation(name string) *WaitOperation {
  function NewEchoRESTClient (line 592) | func NewEchoRESTClient(ctx context.Context, opts ...option.ClientOption)...
  function defaultEchoRESTClientOptions (line 621) | func defaultEchoRESTClientOptions() []option.ClientOption {
  type expandRESTStreamClient (line 1411) | type expandRESTStreamClient struct
    method Recv (line 1417) | func (c *expandRESTStreamClient) Recv() (*genprotopb.EchoResponse, err...
    method Header (line 1431) | func (c *expandRESTStreamClient) Header() (metadata.MD, error) {
    method Trailer (line 1435) | func (c *expandRESTStreamClient) Trailer() metadata.MD {
    method CloseSend (line 1439) | func (c *expandRESTStreamClient) CloseSend() error {
    method Context (line 1444) | func (c *expandRESTStreamClient) Context() context.Context {
    method SendMsg (line 1448) | func (c *expandRESTStreamClient) SendMsg(m interface{}) error {
    method RecvMsg (line 1453) | func (c *expandRESTStreamClient) RecvMsg(m interface{}) error {

FILE: client/echo_client_example_go123_test.go
  function ExampleEchoClient_PagedExpand_all (line 30) | func ExampleEchoClient_PagedExpand_all() {
  function ExampleEchoClient_PagedExpandLegacy_all (line 56) | func ExampleEchoClient_PagedExpandLegacy_all() {
  function ExampleEchoClient_PagedExpandLegacyMapped_all (line 82) | func ExampleEchoClient_PagedExpandLegacyMapped_all() {
  function ExampleEchoClient_ListLocations_all (line 108) | func ExampleEchoClient_ListLocations_all() {
  function ExampleEchoClient_ListOperations_all (line 134) | func ExampleEchoClient_ListOperations_all() {

FILE: client/echo_client_example_test.go
  function ExampleNewEchoClient (line 31) | func ExampleNewEchoClient() {
  function ExampleNewEchoRESTClient (line 48) | func ExampleNewEchoRESTClient() {
  function ExampleEchoClient_Block (line 65) | func ExampleEchoClient_Block() {
  function ExampleEchoClient_Chat (line 90) | func ExampleEchoClient_Chat() {
  function ExampleEchoClient_Echo (line 130) | func ExampleEchoClient_Echo() {
  function ExampleEchoClient_EchoErrorDetails (line 155) | func ExampleEchoClient_EchoErrorDetails() {
  function ExampleEchoClient_FailEchoWithDetails (line 180) | func ExampleEchoClient_FailEchoWithDetails() {
  function ExampleEchoClient_PagedExpand (line 205) | func ExampleEchoClient_PagedExpand() {
  function ExampleEchoClient_PagedExpandLegacy (line 242) | func ExampleEchoClient_PagedExpandLegacy() {
  function ExampleEchoClient_PagedExpandLegacyMapped (line 279) | func ExampleEchoClient_PagedExpandLegacyMapped() {
  function ExampleEchoClient_Wait (line 316) | func ExampleEchoClient_Wait() {
  function ExampleEchoClient_ListLocations (line 346) | func ExampleEchoClient_ListLocations() {
  function ExampleEchoClient_GetLocation (line 383) | func ExampleEchoClient_GetLocation() {
  function ExampleEchoClient_SetIamPolicy (line 408) | func ExampleEchoClient_SetIamPolicy() {
  function ExampleEchoClient_GetIamPolicy (line 433) | func ExampleEchoClient_GetIamPolicy() {
  function ExampleEchoClient_TestIamPermissions (line 458) | func ExampleEchoClient_TestIamPermissions() {
  function ExampleEchoClient_ListOperations (line 483) | func ExampleEchoClient_ListOperations() {
  function ExampleEchoClient_GetOperation (line 520) | func ExampleEchoClient_GetOperation() {
  function ExampleEchoClient_DeleteOperation (line 545) | func ExampleEchoClient_DeleteOperation() {
  function ExampleEchoClient_CancelOperation (line 568) | func ExampleEchoClient_CancelOperation() {

FILE: client/helpers.go
  constant serviceName (line 35) | serviceName = "showcase.googleapis.com"
  type clientHookParams (line 41) | type clientHookParams struct
  type clientHook (line 42) | type clientHook
  function getVersionClient (line 46) | func getVersionClient() string {
  function DefaultAuthScopes (line 54) | func DefaultAuthScopes() []string {
  function executeHTTPRequestWithResponse (line 58) | func executeHTTPRequestWithResponse(ctx context.Context, client *http.Cl...
  function executeHTTPRequest (line 76) | func executeHTTPRequest(ctx context.Context, client *http.Client, req *h...
  function executeStreamingHTTPRequest (line 81) | func executeStreamingHTTPRequest(ctx context.Context, client *http.Clien...
  function executeRPC (line 94) | func executeRPC[I proto.Message, O proto.Message](ctx context.Context, f...

FILE: client/identity_client.go
  type IdentityCallOptions (line 48) | type IdentityCallOptions struct
  function defaultIdentityGRPCClientOptions (line 65) | func defaultIdentityGRPCClientOptions() []option.ClientOption {
  function defaultIdentityCallOptions (line 80) | func defaultIdentityCallOptions() *IdentityCallOptions {
  function defaultIdentityRESTCallOptions (line 123) | func defaultIdentityRESTCallOptions() *IdentityCallOptions {
  type internalIdentityClient (line 165) | type internalIdentityClient interface
  type IdentityClient (line 189) | type IdentityClient struct
    method Close (line 201) | func (c *IdentityClient) Close() error {
    method setGoogleClientInfo (line 208) | func (c *IdentityClient) setGoogleClientInfo(keyval ...string) {
    method Connection (line 216) | func (c *IdentityClient) Connection() *grpc.ClientConn {
    method CreateUser (line 221) | func (c *IdentityClient) CreateUser(ctx context.Context, req *genproto...
    method GetUser (line 226) | func (c *IdentityClient) GetUser(ctx context.Context, req *genprotopb....
    method UpdateUser (line 231) | func (c *IdentityClient) UpdateUser(ctx context.Context, req *genproto...
    method DeleteUser (line 236) | func (c *IdentityClient) DeleteUser(ctx context.Context, req *genproto...
    method ListUsers (line 241) | func (c *IdentityClient) ListUsers(ctx context.Context, req *genprotop...
    method ListLocations (line 246) | func (c *IdentityClient) ListLocations(ctx context.Context, req *locat...
    method GetLocation (line 251) | func (c *IdentityClient) GetLocation(ctx context.Context, req *locatio...
    method SetIamPolicy (line 256) | func (c *IdentityClient) SetIamPolicy(ctx context.Context, req *iampb....
    method GetIamPolicy (line 261) | func (c *IdentityClient) GetIamPolicy(ctx context.Context, req *iampb....
    method TestIamPermissions (line 266) | func (c *IdentityClient) TestIamPermissions(ctx context.Context, req *...
    method ListOperations (line 271) | func (c *IdentityClient) ListOperations(ctx context.Context, req *long...
    method GetOperation (line 276) | func (c *IdentityClient) GetOperation(ctx context.Context, req *longru...
    method DeleteOperation (line 281) | func (c *IdentityClient) DeleteOperation(ctx context.Context, req *lon...
    method CancelOperation (line 286) | func (c *IdentityClient) CancelOperation(ctx context.Context, req *lon...
  type identityGRPCClient (line 293) | type identityGRPCClient struct
    method Connection (line 355) | func (c *identityGRPCClient) Connection() *grpc.ClientConn {
    method setGoogleClientInfo (line 362) | func (c *identityGRPCClient) setGoogleClientInfo(keyval ...string) {
    method Close (line 372) | func (c *identityGRPCClient) Close() error {
    method CreateUser (line 452) | func (c *identityGRPCClient) CreateUser(ctx context.Context, req *genp...
    method GetUser (line 467) | func (c *identityGRPCClient) GetUser(ctx context.Context, req *genprot...
    method UpdateUser (line 485) | func (c *identityGRPCClient) UpdateUser(ctx context.Context, req *genp...
    method DeleteUser (line 503) | func (c *identityGRPCClient) DeleteUser(ctx context.Context, req *genp...
    method ListUsers (line 517) | func (c *identityGRPCClient) ListUsers(ctx context.Context, req *genpr...
    method ListLocations (line 560) | func (c *identityGRPCClient) ListLocations(ctx context.Context, req *l...
    method GetLocation (line 606) | func (c *identityGRPCClient) GetLocation(ctx context.Context, req *loc...
    method SetIamPolicy (line 624) | func (c *identityGRPCClient) SetIamPolicy(ctx context.Context, req *ia...
    method GetIamPolicy (line 642) | func (c *identityGRPCClient) GetIamPolicy(ctx context.Context, req *ia...
    method TestIamPermissions (line 660) | func (c *identityGRPCClient) TestIamPermissions(ctx context.Context, r...
    method ListOperations (line 678) | func (c *identityGRPCClient) ListOperations(ctx context.Context, req *...
    method GetOperation (line 721) | func (c *identityGRPCClient) GetOperation(ctx context.Context, req *lo...
    method DeleteOperation (line 739) | func (c *identityGRPCClient) DeleteOperation(ctx context.Context, req ...
    method CancelOperation (line 753) | func (c *identityGRPCClient) CancelOperation(ctx context.Context, req ...
  function NewIdentityClient (line 319) | func NewIdentityClient(ctx context.Context, opts ...option.ClientOption)...
  type identityRESTClient (line 377) | type identityRESTClient struct
    method setGoogleClientInfo (line 430) | func (c *identityRESTClient) setGoogleClientInfo(keyval ...string) {
    method Close (line 440) | func (c *identityRESTClient) Close() error {
    method Connection (line 449) | func (c *identityRESTClient) Connection() *grpc.ClientConn {
    method CreateUser (line 768) | func (c *identityRESTClient) CreateUser(ctx context.Context, req *genp...
    method GetUser (line 816) | func (c *identityRESTClient) GetUser(ctx context.Context, req *genprot...
    method UpdateUser (line 861) | func (c *identityRESTClient) UpdateUser(ctx context.Context, req *genp...
    method DeleteUser (line 924) | func (c *identityRESTClient) DeleteUser(ctx context.Context, req *genp...
    method ListUsers (line 954) | func (c *identityRESTClient) ListUsers(ctx context.Context, req *genpr...
    method ListLocations (line 1031) | func (c *identityRESTClient) ListLocations(ctx context.Context, req *l...
    method GetLocation (line 1111) | func (c *identityRESTClient) GetLocation(ctx context.Context, req *loc...
    method SetIamPolicy (line 1156) | func (c *identityRESTClient) SetIamPolicy(ctx context.Context, req *ia...
    method GetIamPolicy (line 1207) | func (c *identityRESTClient) GetIamPolicy(ctx context.Context, req *ia...
    method TestIamPermissions (line 1259) | func (c *identityRESTClient) TestIamPermissions(ctx context.Context, r...
    method ListOperations (line 1310) | func (c *identityRESTClient) ListOperations(ctx context.Context, req *...
    method GetOperation (line 1396) | func (c *identityRESTClient) GetOperation(ctx context.Context, req *lo...
    method DeleteOperation (line 1441) | func (c *identityRESTClient) DeleteOperation(ctx context.Context, req ...
    method CancelOperation (line 1471) | func (c *identityRESTClient) CancelOperation(ctx context.Context, req ...
  function NewIdentityRESTClient (line 396) | func NewIdentityRESTClient(ctx context.Context, opts ...option.ClientOpt...
  function defaultIdentityRESTClientOptions (line 415) | func defaultIdentityRESTClientOptions() []option.ClientOption {

FILE: client/identity_client_example_go123_test.go
  function ExampleIdentityClient_ListUsers_all (line 30) | func ExampleIdentityClient_ListUsers_all() {
  function ExampleIdentityClient_ListLocations_all (line 56) | func ExampleIdentityClient_ListLocations_all() {
  function ExampleIdentityClient_ListOperations_all (line 82) | func ExampleIdentityClient_ListOperations_all() {

FILE: client/identity_client_example_test.go
  function ExampleNewIdentityClient (line 30) | func ExampleNewIdentityClient() {
  function ExampleNewIdentityRESTClient (line 47) | func ExampleNewIdentityRESTClient() {
  function ExampleIdentityClient_CreateUser (line 64) | func ExampleIdentityClient_CreateUser() {
  function ExampleIdentityClient_DeleteUser (line 89) | func ExampleIdentityClient_DeleteUser() {
  function ExampleIdentityClient_GetUser (line 112) | func ExampleIdentityClient_GetUser() {
  function ExampleIdentityClient_ListUsers (line 137) | func ExampleIdentityClient_ListUsers() {
  function ExampleIdentityClient_UpdateUser (line 174) | func ExampleIdentityClient_UpdateUser() {
  function ExampleIdentityClient_ListLocations (line 199) | func ExampleIdentityClient_ListLocations() {
  function ExampleIdentityClient_GetLocation (line 236) | func ExampleIdentityClient_GetLocation() {
  function ExampleIdentityClient_SetIamPolicy (line 261) | func ExampleIdentityClient_SetIamPolicy() {
  function ExampleIdentityClient_GetIamPolicy (line 286) | func ExampleIdentityClient_GetIamPolicy() {
  function ExampleIdentityClient_TestIamPermissions (line 311) | func ExampleIdentityClient_TestIamPermissions() {
  function ExampleIdentityClient_ListOperations (line 336) | func ExampleIdentityClient_ListOperations() {
  function ExampleIdentityClient_GetOperation (line 373) | func ExampleIdentityClient_GetOperation() {
  function ExampleIdentityClient_DeleteOperation (line 398) | func ExampleIdentityClient_DeleteOperation() {
  function ExampleIdentityClient_CancelOperation (line 421) | func ExampleIdentityClient_CancelOperation() {

FILE: client/messaging_client.go
  type MessagingCallOptions (line 52) | type MessagingCallOptions struct
  function defaultMessagingGRPCClientOptions (line 78) | func defaultMessagingGRPCClientOptions() []option.ClientOption {
  function defaultMessagingCallOptions (line 93) | func defaultMessagingCallOptions() *MessagingCallOptions {
  function defaultMessagingRESTCallOptions (line 204) | func defaultMessagingRESTCallOptions() *MessagingCallOptions {
  type internalMessagingClient (line 315) | type internalMessagingClient interface
  type MessagingClient (line 352) | type MessagingClient struct
    method Close (line 369) | func (c *MessagingClient) Close() error {
    method setGoogleClientInfo (line 376) | func (c *MessagingClient) setGoogleClientInfo(keyval ...string) {
    method Connection (line 384) | func (c *MessagingClient) Connection() *grpc.ClientConn {
    method CreateRoom (line 389) | func (c *MessagingClient) CreateRoom(ctx context.Context, req *genprot...
    method GetRoom (line 394) | func (c *MessagingClient) GetRoom(ctx context.Context, req *genprotopb...
    method UpdateRoom (line 399) | func (c *MessagingClient) UpdateRoom(ctx context.Context, req *genprot...
    method DeleteRoom (line 404) | func (c *MessagingClient) DeleteRoom(ctx context.Context, req *genprot...
    method ListRooms (line 409) | func (c *MessagingClient) ListRooms(ctx context.Context, req *genproto...
    method CreateBlurb (line 416) | func (c *MessagingClient) CreateBlurb(ctx context.Context, req *genpro...
    method GetBlurb (line 421) | func (c *MessagingClient) GetBlurb(ctx context.Context, req *genprotop...
    method UpdateBlurb (line 426) | func (c *MessagingClient) UpdateBlurb(ctx context.Context, req *genpro...
    method DeleteBlurb (line 431) | func (c *MessagingClient) DeleteBlurb(ctx context.Context, req *genpro...
    method ListBlurbs (line 437) | func (c *MessagingClient) ListBlurbs(ctx context.Context, req *genprot...
    method SearchBlurbs (line 444) | func (c *MessagingClient) SearchBlurbs(ctx context.Context, req *genpr...
    method SearchBlurbsOperation (line 450) | func (c *MessagingClient) SearchBlurbsOperation(name string) *SearchBl...
    method StreamBlurbs (line 456) | func (c *MessagingClient) StreamBlurbs(ctx context.Context, req *genpr...
    method SendBlurbs (line 464) | func (c *MessagingClient) SendBlurbs(ctx context.Context, opts ...gax....
    method Connect (line 474) | func (c *MessagingClient) Connect(ctx context.Context, opts ...gax.Cal...
    method ListLocations (line 479) | func (c *MessagingClient) ListLocations(ctx context.Context, req *loca...
    method GetLocation (line 484) | func (c *MessagingClient) GetLocation(ctx context.Context, req *locati...
    method SetIamPolicy (line 489) | func (c *MessagingClient) SetIamPolicy(ctx context.Context, req *iampb...
    method GetIamPolicy (line 494) | func (c *MessagingClient) GetIamPolicy(ctx context.Context, req *iampb...
    method TestIamPermissions (line 499) | func (c *MessagingClient) TestIamPermissions(ctx context.Context, req ...
    method ListOperations (line 504) | func (c *MessagingClient) ListOperations(ctx context.Context, req *lon...
    method GetOperation (line 509) | func (c *MessagingClient) GetOperation(ctx context.Context, req *longr...
    method DeleteOperation (line 514) | func (c *MessagingClient) DeleteOperation(ctx context.Context, req *lo...
    method CancelOperation (line 519) | func (c *MessagingClient) CancelOperation(ctx context.Context, req *lo...
  type messagingGRPCClient (line 526) | type messagingGRPCClient struct
    method Connection (line 607) | func (c *messagingGRPCClient) Connection() *grpc.ClientConn {
    method setGoogleClientInfo (line 614) | func (c *messagingGRPCClient) setGoogleClientInfo(keyval ...string) {
    method Close (line 624) | func (c *messagingGRPCClient) Close() error {
    method CreateRoom (line 722) | func (c *messagingGRPCClient) CreateRoom(ctx context.Context, req *gen...
    method GetRoom (line 737) | func (c *messagingGRPCClient) GetRoom(ctx context.Context, req *genpro...
    method UpdateRoom (line 755) | func (c *messagingGRPCClient) UpdateRoom(ctx context.Context, req *gen...
    method DeleteRoom (line 773) | func (c *messagingGRPCClient) DeleteRoom(ctx context.Context, req *gen...
    method ListRooms (line 787) | func (c *messagingGRPCClient) ListRooms(ctx context.Context, req *genp...
    method CreateBlurb (line 830) | func (c *messagingGRPCClient) CreateBlurb(ctx context.Context, req *ge...
    method GetBlurb (line 848) | func (c *messagingGRPCClient) GetBlurb(ctx context.Context, req *genpr...
    method UpdateBlurb (line 866) | func (c *messagingGRPCClient) UpdateBlurb(ctx context.Context, req *ge...
    method DeleteBlurb (line 884) | func (c *messagingGRPCClient) DeleteBlurb(ctx context.Context, req *ge...
    method ListBlurbs (line 898) | func (c *messagingGRPCClient) ListBlurbs(ctx context.Context, req *gen...
    method SearchBlurbs (line 944) | func (c *messagingGRPCClient) SearchBlurbs(ctx context.Context, req *g...
    method StreamBlurbs (line 964) | func (c *messagingGRPCClient) StreamBlurbs(ctx context.Context, req *g...
    method SendBlurbs (line 984) | func (c *messagingGRPCClient) SendBlurbs(ctx context.Context, opts ......
    method Connect (line 1001) | func (c *messagingGRPCClient) Connect(ctx context.Context, opts ...gax...
    method ListLocations (line 1018) | func (c *messagingGRPCClient) ListLocations(ctx context.Context, req *...
    method GetLocation (line 1064) | func (c *messagingGRPCClient) GetLocation(ctx context.Context, req *lo...
    method SetIamPolicy (line 1082) | func (c *messagingGRPCClient) SetIamPolicy(ctx context.Context, req *i...
    method GetIamPolicy (line 1100) | func (c *messagingGRPCClient) GetIamPolicy(ctx context.Context, req *i...
    method TestIamPermissions (line 1118) | func (c *messagingGRPCClient) TestIamPermissions(ctx context.Context, ...
    method ListOperations (line 1136) | func (c *messagingGRPCClient) ListOperations(ctx context.Context, req ...
    method GetOperation (line 1179) | func (c *messagingGRPCClient) GetOperation(ctx context.Context, req *l...
    method DeleteOperation (line 1197) | func (c *messagingGRPCClient) DeleteOperation(ctx context.Context, req...
    method CancelOperation (line 1211) | func (c *messagingGRPCClient) CancelOperation(ctx context.Context, req...
    method SearchBlurbsOperation (line 2401) | func (c *messagingGRPCClient) SearchBlurbsOperation(name string) *Sear...
  function NewMessagingClient (line 560) | func NewMessagingClient(ctx context.Context, opts ...option.ClientOption...
  type messagingRESTClient (line 629) | type messagingRESTClient struct
    method setGoogleClientInfo (line 700) | func (c *messagingRESTClient) setGoogleClientInfo(keyval ...string) {
    method Close (line 710) | func (c *messagingRESTClient) Close() error {
    method Connection (line 719) | func (c *messagingRESTClient) Connection() *grpc.ClientConn {
    method CreateRoom (line 1226) | func (c *messagingRESTClient) CreateRoom(ctx context.Context, req *gen...
    method GetRoom (line 1274) | func (c *messagingRESTClient) GetRoom(ctx context.Context, req *genpro...
    method UpdateRoom (line 1319) | func (c *messagingRESTClient) UpdateRoom(ctx context.Context, req *gen...
    method DeleteRoom (line 1382) | func (c *messagingRESTClient) DeleteRoom(ctx context.Context, req *gen...
    method ListRooms (line 1412) | func (c *messagingRESTClient) ListRooms(ctx context.Context, req *genp...
    method CreateBlurb (line 1491) | func (c *messagingRESTClient) CreateBlurb(ctx context.Context, req *ge...
    method GetBlurb (line 1542) | func (c *messagingRESTClient) GetBlurb(ctx context.Context, req *genpr...
    method UpdateBlurb (line 1587) | func (c *messagingRESTClient) UpdateBlurb(ctx context.Context, req *ge...
    method DeleteBlurb (line 1650) | func (c *messagingRESTClient) DeleteBlurb(ctx context.Context, req *ge...
    method ListBlurbs (line 1681) | func (c *messagingRESTClient) ListBlurbs(ctx context.Context, req *gen...
    method SearchBlurbs (line 1760) | func (c *messagingRESTClient) SearchBlurbs(ctx context.Context, req *g...
    method StreamBlurbs (line 1815) | func (c *messagingRESTClient) StreamBlurbs(ctx context.Context, req *g...
    method SendBlurbs (line 1915) | func (c *messagingRESTClient) SendBlurbs(ctx context.Context, opts ......
    method Connect (line 1925) | func (c *messagingRESTClient) Connect(ctx context.Context, opts ...gax...
    method ListLocations (line 1930) | func (c *messagingRESTClient) ListLocations(ctx context.Context, req *...
    method GetLocation (line 2010) | func (c *messagingRESTClient) GetLocation(ctx context.Context, req *lo...
    method SetIamPolicy (line 2055) | func (c *messagingRESTClient) SetIamPolicy(ctx context.Context, req *i...
    method GetIamPolicy (line 2106) | func (c *messagingRESTClient) GetIamPolicy(ctx context.Context, req *i...
    method TestIamPermissions (line 2158) | func (c *messagingRESTClient) TestIamPermissions(ctx context.Context, ...
    method ListOperations (line 2209) | func (c *messagingRESTClient) ListOperations(ctx context.Context, req ...
    method GetOperation (line 2295) | func (c *messagingRESTClient) GetOperation(ctx context.Context, req *l...
    method DeleteOperation (line 2340) | func (c *messagingRESTClient) DeleteOperation(ctx context.Context, req...
    method CancelOperation (line 2370) | func (c *messagingRESTClient) CancelOperation(ctx context.Context, req...
    method SearchBlurbsOperation (line 2409) | func (c *messagingRESTClient) SearchBlurbsOperation(name string) *Sear...
  function NewMessagingRESTClient (line 656) | func NewMessagingRESTClient(ctx context.Context, opts ...option.ClientOp...
  function defaultMessagingRESTClientOptions (line 685) | func defaultMessagingRESTClientOptions() []option.ClientOption {
  type streamBlurbsRESTStreamClient (line 1864) | type streamBlurbsRESTStreamClient struct
    method Recv (line 1870) | func (c *streamBlurbsRESTStreamClient) Recv() (*genprotopb.StreamBlurb...
    method Header (line 1884) | func (c *streamBlurbsRESTStreamClient) Header() (metadata.MD, error) {
    method Trailer (line 1888) | func (c *streamBlurbsRESTStreamClient) Trailer() metadata.MD {
    method CloseSend (line 1892) | func (c *streamBlurbsRESTStreamClient) CloseSend() error {
    method Context (line 1897) | func (c *streamBlurbsRESTStreamClient) Context() context.Context {
    method SendMsg (line 1901) | func (c *streamBlurbsRESTStreamClient) SendMsg(m interface{}) error {
    method RecvMsg (line 1906) | func (c *streamBlurbsRESTStreamClient) RecvMsg(m interface{}) error {

FILE: client/messaging_client_example_go123_test.go
  function ExampleMessagingClient_ListBlurbs_all (line 30) | func ExampleMessagingClient_ListBlurbs_all() {
  function ExampleMessagingClient_ListRooms_all (line 56) | func ExampleMessagingClient_ListRooms_all() {
  function ExampleMessagingClient_ListLocations_all (line 82) | func ExampleMessagingClient_ListLocations_all() {
  function ExampleMessagingClient_ListOperations_all (line 108) | func ExampleMessagingClient_ListOperations_all() {

FILE: client/messaging_client_example_test.go
  function ExampleNewMessagingClient (line 31) | func ExampleNewMessagingClient() {
  function ExampleNewMessagingRESTClient (line 48) | func ExampleNewMessagingRESTClient() {
  function ExampleMessagingClient_Connect (line 65) | func ExampleMessagingClient_Connect() {
  function ExampleMessagingClient_CreateBlurb (line 105) | func ExampleMessagingClient_CreateBlurb() {
  function ExampleMessagingClient_CreateRoom (line 130) | func ExampleMessagingClient_CreateRoom() {
  function ExampleMessagingClient_DeleteBlurb (line 155) | func ExampleMessagingClient_DeleteBlurb() {
  function ExampleMessagingClient_DeleteRoom (line 178) | func ExampleMessagingClient_DeleteRoom() {
  function ExampleMessagingClient_GetBlurb (line 201) | func ExampleMessagingClient_GetBlurb() {
  function ExampleMessagingClient_GetRoom (line 226) | func ExampleMessagingClient_GetRoom() {
  function ExampleMessagingClient_ListBlurbs (line 251) | func ExampleMessagingClient_ListBlurbs() {
  function ExampleMessagingClient_ListRooms (line 288) | func ExampleMessagingClient_ListRooms() {
  function ExampleMessagingClient_SearchBlurbs (line 325) | func ExampleMessagingClient_SearchBlurbs() {
  function ExampleMessagingClient_UpdateBlurb (line 355) | func ExampleMessagingClient_UpdateBlurb() {
  function ExampleMessagingClient_UpdateRoom (line 380) | func ExampleMessagingClient_UpdateRoom() {
  function ExampleMessagingClient_ListLocations (line 405) | func ExampleMessagingClient_ListLocations() {
  function ExampleMessagingClient_GetLocation (line 442) | func ExampleMessagingClient_GetLocation() {
  function ExampleMessagingClient_SetIamPolicy (line 467) | func ExampleMessagingClient_SetIamPolicy() {
  function ExampleMessagingClient_GetIamPolicy (line 492) | func ExampleMessagingClient_GetIamPolicy() {
  function ExampleMessagingClient_TestIamPermissions (line 517) | func ExampleMessagingClient_TestIamPermissions() {
  function ExampleMessagingClient_ListOperations (line 542) | func ExampleMessagingClient_ListOperations() {
  function ExampleMessagingClient_GetOperation (line 579) | func ExampleMessagingClient_GetOperation() {
  function ExampleMessagingClient_DeleteOperation (line 604) | func ExampleMessagingClient_DeleteOperation() {
  function ExampleMessagingClient_CancelOperation (line 627) | func ExampleMessagingClient_CancelOperation() {

FILE: client/sequence_client.go
  type SequenceCallOptions (line 50) | type SequenceCallOptions struct
  function defaultSequenceGRPCClientOptions (line 68) | func defaultSequenceGRPCClientOptions() []option.ClientOption {
  function defaultSequenceCallOptions (line 83) | func defaultSequenceCallOptions() *SequenceCallOptions {
  function defaultSequenceRESTCallOptions (line 123) | func defaultSequenceRESTCallOptions() *SequenceCallOptions {
  type internalSequenceClient (line 165) | type internalSequenceClient interface
  type SequenceClient (line 191) | type SequenceClient struct
    method Close (line 203) | func (c *SequenceClient) Close() error {
    method setGoogleClientInfo (line 210) | func (c *SequenceClient) setGoogleClientInfo(keyval ...string) {
    method Connection (line 218) | func (c *SequenceClient) Connection() *grpc.ClientConn {
    method CreateSequence (line 223) | func (c *SequenceClient) CreateSequence(ctx context.Context, req *genp...
    method CreateStreamingSequence (line 228) | func (c *SequenceClient) CreateStreamingSequence(ctx context.Context, ...
    method GetSequenceReport (line 234) | func (c *SequenceClient) GetSequenceReport(ctx context.Context, req *g...
    method GetStreamingSequenceReport (line 240) | func (c *SequenceClient) GetStreamingSequenceReport(ctx context.Contex...
    method AttemptSequence (line 245) | func (c *SequenceClient) AttemptSequence(ctx context.Context, req *gen...
    method AttemptStreamingSequence (line 253) | func (c *SequenceClient) AttemptStreamingSequence(ctx context.Context,...
    method ListLocations (line 258) | func (c *SequenceClient) ListLocations(ctx context.Context, req *locat...
    method GetLocation (line 263) | func (c *SequenceClient) GetLocation(ctx context.Context, req *locatio...
    method SetIamPolicy (line 268) | func (c *SequenceClient) SetIamPolicy(ctx context.Context, req *iampb....
    method GetIamPolicy (line 273) | func (c *SequenceClient) GetIamPolicy(ctx context.Context, req *iampb....
    method TestIamPermissions (line 278) | func (c *SequenceClient) TestIamPermissions(ctx context.Context, req *...
    method ListOperations (line 283) | func (c *SequenceClient) ListOperations(ctx context.Context, req *long...
    method GetOperation (line 288) | func (c *SequenceClient) GetOperation(ctx context.Context, req *longru...
    method DeleteOperation (line 293) | func (c *SequenceClient) DeleteOperation(ctx context.Context, req *lon...
    method CancelOperation (line 298) | func (c *SequenceClient) CancelOperation(ctx context.Context, req *lon...
  type sequenceGRPCClient (line 305) | type sequenceGRPCClient struct
    method Connection (line 368) | func (c *sequenceGRPCClient) Connection() *grpc.ClientConn {
    method setGoogleClientInfo (line 375) | func (c *sequenceGRPCClient) setGoogleClientInfo(keyval ...string) {
    method Close (line 385) | func (c *sequenceGRPCClient) Close() error {
    method CreateSequence (line 466) | func (c *sequenceGRPCClient) CreateSequence(ctx context.Context, req *...
    method CreateStreamingSequence (line 481) | func (c *sequenceGRPCClient) CreateStreamingSequence(ctx context.Conte...
    method GetSequenceReport (line 496) | func (c *sequenceGRPCClient) GetSequenceReport(ctx context.Context, re...
    method GetStreamingSequenceReport (line 514) | func (c *sequenceGRPCClient) GetStreamingSequenceReport(ctx context.Co...
    method AttemptSequence (line 532) | func (c *sequenceGRPCClient) AttemptSequence(ctx context.Context, req ...
    method AttemptStreamingSequence (line 546) | func (c *sequenceGRPCClient) AttemptStreamingSequence(ctx context.Cont...
    method ListLocations (line 566) | func (c *sequenceGRPCClient) ListLocations(ctx context.Context, req *l...
    method GetLocation (line 612) | func (c *sequenceGRPCClient) GetLocation(ctx context.Context, req *loc...
    method SetIamPolicy (line 630) | func (c *sequenceGRPCClient) SetIamPolicy(ctx context.Context, req *ia...
    method GetIamPolicy (line 648) | func (c *sequenceGRPCClient) GetIamPolicy(ctx context.Context, req *ia...
    method TestIamPermissions (line 666) | func (c *sequenceGRPCClient) TestIamPermissions(ctx context.Context, r...
    method ListOperations (line 684) | func (c *sequenceGRPCClient) ListOperations(ctx context.Context, req *...
    method GetOperation (line 727) | func (c *sequenceGRPCClient) GetOperation(ctx context.Context, req *lo...
    method DeleteOperation (line 745) | func (c *sequenceGRPCClient) DeleteOperation(ctx context.Context, req ...
    method CancelOperation (line 759) | func (c *sequenceGRPCClient) CancelOperation(ctx context.Context, req ...
  function NewSequenceClient (line 332) | func NewSequenceClient(ctx context.Context, opts ...option.ClientOption)...
  type sequenceRESTClient (line 390) | type sequenceRESTClient struct
    method setGoogleClientInfo (line 444) | func (c *sequenceRESTClient) setGoogleClientInfo(keyval ...string) {
    method Close (line 454) | func (c *sequenceRESTClient) Close() error {
    method Connection (line 463) | func (c *sequenceRESTClient) Connection() *grpc.ClientConn {
    method CreateSequence (line 774) | func (c *sequenceRESTClient) CreateSequence(ctx context.Context, req *...
    method CreateStreamingSequence (line 823) | func (c *sequenceRESTClient) CreateStreamingSequence(ctx context.Conte...
    method GetSequenceReport (line 873) | func (c *sequenceRESTClient) GetSequenceReport(ctx context.Context, re...
    method GetStreamingSequenceReport (line 919) | func (c *sequenceRESTClient) GetStreamingSequenceReport(ctx context.Co...
    method AttemptSequence (line 964) | func (c *sequenceRESTClient) AttemptSequence(ctx context.Context, req ...
    method AttemptStreamingSequence (line 1003) | func (c *sequenceRESTClient) AttemptStreamingSequence(ctx context.Cont...
    method ListLocations (line 1100) | func (c *sequenceRESTClient) ListLocations(ctx context.Context, req *l...
    method GetLocation (line 1180) | func (c *sequenceRESTClient) GetLocation(ctx context.Context, req *loc...
    method SetIamPolicy (line 1225) | func (c *sequenceRESTClient) SetIamPolicy(ctx context.Context, req *ia...
    method GetIamPolicy (line 1276) | func (c *sequenceRESTClient) GetIamPolicy(ctx context.Context, req *ia...
    method TestIamPermissions (line 1328) | func (c *sequenceRESTClient) TestIamPermissions(ctx context.Context, r...
    method ListOperations (line 1379) | func (c *sequenceRESTClient) ListOperations(ctx context.Context, req *...
    method GetOperation (line 1465) | func (c *sequenceRESTClient) GetOperation(ctx context.Context, req *lo...
    method DeleteOperation (line 1510) | func (c *sequenceRESTClient) DeleteOperation(ctx context.Context, req ...
    method CancelOperation (line 1540) | func (c *sequenceRESTClient) CancelOperation(ctx context.Context, req ...
  function NewSequenceRESTClient (line 410) | func NewSequenceRESTClient(ctx context.Context, opts ...option.ClientOpt...
  function defaultSequenceRESTClientOptions (line 429) | func defaultSequenceRESTClientOptions() []option.ClientOption {
  type attemptStreamingSequenceRESTStreamClient (line 1052) | type attemptStreamingSequenceRESTStreamClient struct
    method Recv (line 1058) | func (c *attemptStreamingSequenceRESTStreamClient) Recv() (*genprotopb...
    method Header (line 1072) | func (c *attemptStreamingSequenceRESTStreamClient) Header() (metadata....
    method Trailer (line 1076) | func (c *attemptStreamingSequenceRESTStreamClient) Trailer() metadata....
    method CloseSend (line 1080) | func (c *attemptStreamingSequenceRESTStreamClient) CloseSend() error {
    method Context (line 1085) | func (c *attemptStreamingSequenceRESTStreamClient) Context() context.C...
    method SendMsg (line 1089) | func (c *attemptStreamingSequenceRESTStreamClient) SendMsg(m interface...
    method RecvMsg (line 1094) | func (c *attemptStreamingSequenceRESTStreamClient) RecvMsg(m interface...

FILE: client/sequence_client_example_go123_test.go
  function ExampleSequenceClient_ListLocations_all (line 29) | func ExampleSequenceClient_ListLocations_all() {
  function ExampleSequenceClient_ListOperations_all (line 55) | func ExampleSequenceClient_ListOperations_all() {

FILE: client/sequence_client_example_test.go
  function ExampleNewSequenceClient (line 30) | func ExampleNewSequenceClient() {
  function ExampleNewSequenceRESTClient (line 47) | func ExampleNewSequenceRESTClient() {
  function ExampleSequenceClient_AttemptSequence (line 64) | func ExampleSequenceClient_AttemptSequence() {
  function ExampleSequenceClient_CreateSequence (line 87) | func ExampleSequenceClient_CreateSequence() {
  function ExampleSequenceClient_CreateStreamingSequence (line 112) | func ExampleSequenceClient_CreateStreamingSequence() {
  function ExampleSequenceClient_GetSequenceReport (line 137) | func ExampleSequenceClient_GetSequenceReport() {
  function ExampleSequenceClient_GetStreamingSequenceReport (line 162) | func ExampleSequenceClient_GetStreamingSequenceReport() {
  function ExampleSequenceClient_ListLocations (line 187) | func ExampleSequenceClient_ListLocations() {
  function ExampleSequenceClient_GetLocation (line 224) | func ExampleSequenceClient_GetLocation() {
  function ExampleSequenceClient_SetIamPolicy (line 249) | func ExampleSequenceClient_SetIamPolicy() {
  function ExampleSequenceClient_GetIamPolicy (line 274) | func ExampleSequenceClient_GetIamPolicy() {
  function ExampleSequenceClient_TestIamPermissions (line 299) | func ExampleSequenceClient_TestIamPermissions() {
  function ExampleSequenceClient_ListOperations (line 324) | func ExampleSequenceClient_ListOperations() {
  function ExampleSequenceClient_GetOperation (line 361) | func ExampleSequenceClient_GetOperation() {
  function ExampleSequenceClient_DeleteOperation (line 386) | func ExampleSequenceClient_DeleteOperation() {
  function ExampleSequenceClient_CancelOperation (line 409) | func ExampleSequenceClient_CancelOperation() {

FILE: client/testing_client.go
  type TestingCallOptions (line 46) | type TestingCallOptions struct
  function defaultTestingGRPCClientOptions (line 66) | func defaultTestingGRPCClientOptions() []option.ClientOption {
  function defaultTestingCallOptions (line 81) | func defaultTestingCallOptions() *TestingCallOptions {
  function defaultTestingRESTCallOptions (line 103) | func defaultTestingRESTCallOptions() *TestingCallOptions {
  type internalTestingClient (line 126) | type internalTestingClient interface
  type TestingClient (line 159) | type TestingClient struct
    method Close (line 171) | func (c *TestingClient) Close() error {
    method setGoogleClientInfo (line 178) | func (c *TestingClient) setGoogleClientInfo(keyval ...string) {
    method Connection (line 186) | func (c *TestingClient) Connection() *grpc.ClientConn {
    method CreateSession (line 196) | func (c *TestingClient) CreateSession(ctx context.Context, req *genpro...
    method GetSession (line 201) | func (c *TestingClient) GetSession(ctx context.Context, req *genprotop...
    method ListSessions (line 206) | func (c *TestingClient) ListSessions(ctx context.Context, req *genprot...
    method DeleteSession (line 211) | func (c *TestingClient) DeleteSession(ctx context.Context, req *genpro...
    method ReportSession (line 218) | func (c *TestingClient) ReportSession(ctx context.Context, req *genpro...
    method ListTests (line 223) | func (c *TestingClient) ListTests(ctx context.Context, req *genprotopb...
    method DeleteTest (line 233) | func (c *TestingClient) DeleteTest(ctx context.Context, req *genprotop...
    method VerifyTest (line 241) | func (c *TestingClient) VerifyTest(ctx context.Context, req *genprotop...
    method ListLocations (line 246) | func (c *TestingClient) ListLocations(ctx context.Context, req *locati...
    method GetLocation (line 251) | func (c *TestingClient) GetLocation(ctx context.Context, req *location...
    method SetIamPolicy (line 256) | func (c *TestingClient) SetIamPolicy(ctx context.Context, req *iampb.S...
    method GetIamPolicy (line 261) | func (c *TestingClient) GetIamPolicy(ctx context.Context, req *iampb.G...
    method TestIamPermissions (line 266) | func (c *TestingClient) TestIamPermissions(ctx context.Context, req *i...
    method ListOperations (line 271) | func (c *TestingClient) ListOperations(ctx context.Context, req *longr...
    method GetOperation (line 276) | func (c *TestingClient) GetOperation(ctx context.Context, req *longrun...
    method DeleteOperation (line 281) | func (c *TestingClient) DeleteOperation(ctx context.Context, req *long...
    method CancelOperation (line 286) | func (c *TestingClient) CancelOperation(ctx context.Context, req *long...
  type testingGRPCClient (line 293) | type testingGRPCClient struct
    method Connection (line 361) | func (c *testingGRPCClient) Connection() *grpc.ClientConn {
    method setGoogleClientInfo (line 368) | func (c *testingGRPCClient) setGoogleClientInfo(keyval ...string) {
    method Close (line 378) | func (c *testingGRPCClient) Close() error {
    method CreateSession (line 464) | func (c *testingGRPCClient) CreateSession(ctx context.Context, req *ge...
    method GetSession (line 479) | func (c *testingGRPCClient) GetSession(ctx context.Context, req *genpr...
    method ListSessions (line 497) | func (c *testingGRPCClient) ListSessions(ctx context.Context, req *gen...
    method DeleteSession (line 540) | func (c *testingGRPCClient) DeleteSession(ctx context.Context, req *ge...
    method ReportSession (line 554) | func (c *testingGRPCClient) ReportSession(ctx context.Context, req *ge...
    method ListTests (line 572) | func (c *testingGRPCClient) ListTests(ctx context.Context, req *genpro...
    method DeleteTest (line 618) | func (c *testingGRPCClient) DeleteTest(ctx context.Context, req *genpr...
    method VerifyTest (line 632) | func (c *testingGRPCClient) VerifyTest(ctx context.Context, req *genpr...
    method ListLocations (line 650) | func (c *testingGRPCClient) ListLocations(ctx context.Context, req *lo...
    method GetLocation (line 696) | func (c *testingGRPCClient) GetLocation(ctx context.Context, req *loca...
    method SetIamPolicy (line 714) | func (c *testingGRPCClient) SetIamPolicy(ctx context.Context, req *iam...
    method GetIamPolicy (line 732) | func (c *testingGRPCClient) GetIamPolicy(ctx context.Context, req *iam...
    method TestIamPermissions (line 750) | func (c *testingGRPCClient) TestIamPermissions(ctx context.Context, re...
    method ListOperations (line 768) | func (c *testingGRPCClient) ListOperations(ctx context.Context, req *l...
    method GetOperation (line 811) | func (c *testingGRPCClient) GetOperation(ctx context.Context, req *lon...
    method DeleteOperation (line 829) | func (c *testingGRPCClient) DeleteOperation(ctx context.Context, req *...
    method CancelOperation (line 843) | func (c *testingGRPCClient) CancelOperation(ctx context.Context, req *...
  function NewTestingClient (line 325) | func NewTestingClient(ctx context.Context, opts ...option.ClientOption) ...
  type testingRESTClient (line 383) | type testingRESTClient struct
    method setGoogleClientInfo (line 442) | func (c *testingRESTClient) setGoogleClientInfo(keyval ...string) {
    method Close (line 452) | func (c *testingRESTClient) Close() error {
    method Connection (line 461) | func (c *testingRESTClient) Connection() *grpc.ClientConn {
    method CreateSession (line 863) | func (c *testingRESTClient) CreateSession(ctx context.Context, req *ge...
    method GetSession (line 912) | func (c *testingRESTClient) GetSession(ctx context.Context, req *genpr...
    method ListSessions (line 957) | func (c *testingRESTClient) ListSessions(ctx context.Context, req *gen...
    method DeleteSession (line 1034) | func (c *testingRESTClient) DeleteSession(ctx context.Context, req *ge...
    method ReportSession (line 1066) | func (c *testingRESTClient) ReportSession(ctx context.Context, req *ge...
    method ListTests (line 1111) | func (c *testingRESTClient) ListTests(ctx context.Context, req *genpro...
    method DeleteTest (line 1193) | func (c *testingRESTClient) DeleteTest(ctx context.Context, req *genpr...
    method VerifyTest (line 1226) | func (c *testingRESTClient) VerifyTest(ctx context.Context, req *genpr...
    method ListLocations (line 1283) | func (c *testingRESTClient) ListLocations(ctx context.Context, req *lo...
    method GetLocation (line 1363) | func (c *testingRESTClient) GetLocation(ctx context.Context, req *loca...
    method SetIamPolicy (line 1408) | func (c *testingRESTClient) SetIamPolicy(ctx context.Context, req *iam...
    method GetIamPolicy (line 1459) | func (c *testingRESTClient) GetIamPolicy(ctx context.Context, req *iam...
    method TestIamPermissions (line 1511) | func (c *testingRESTClient) TestIamPermissions(ctx context.Context, re...
    method ListOperations (line 1562) | func (c *testingRESTClient) ListOperations(ctx context.Context, req *l...
    method GetOperation (line 1648) | func (c *testingRESTClient) GetOperation(ctx context.Context, req *lon...
    method DeleteOperation (line 1693) | func (c *testingRESTClient) DeleteOperation(ctx context.Context, req *...
    method CancelOperation (line 1723) | func (c *testingRESTClient) CancelOperation(ctx context.Context, req *...
  function NewTestingRESTClient (line 408) | func NewTestingRESTClient(ctx context.Context, opts ...option.ClientOpti...
  function defaultTestingRESTClientOptions (line 427) | func defaultTestingRESTClientOptions() []option.ClientOption {

FILE: client/testing_client_example_go123_test.go
  function ExampleTestingClient_ListSessions_all (line 30) | func ExampleTestingClient_ListSessions_all() {
  function ExampleTestingClient_ListTests_all (line 56) | func ExampleTestingClient_ListTests_all() {
  function ExampleTestingClient_ListLocations_all (line 82) | func ExampleTestingClient_ListLocations_all() {
  function ExampleTestingClient_ListOperations_all (line 108) | func ExampleTestingClient_ListOperations_all() {

FILE: client/testing_client_example_test.go
  function ExampleNewTestingClient (line 30) | func ExampleNewTestingClient() {
  function ExampleNewTestingRESTClient (line 47) | func ExampleNewTestingRESTClient() {
  function ExampleTestingClient_CreateSession (line 64) | func ExampleTestingClient_CreateSession() {
  function ExampleTestingClient_DeleteSession (line 89) | func ExampleTestingClient_DeleteSession() {
  function ExampleTestingClient_DeleteTest (line 112) | func ExampleTestingClient_DeleteTest() {
  function ExampleTestingClient_GetSession (line 135) | func ExampleTestingClient_GetSession() {
  function ExampleTestingClient_ListSessions (line 160) | func ExampleTestingClient_ListSessions() {
  function ExampleTestingClient_ListTests (line 197) | func ExampleTestingClient_ListTests() {
  function ExampleTestingClient_ReportSession (line 234) | func ExampleTestingClient_ReportSession() {
  function ExampleTestingClient_VerifyTest (line 259) | func ExampleTestingClient_VerifyTest() {
  function ExampleTestingClient_ListLocations (line 284) | func ExampleTestingClient_ListLocations() {
  function ExampleTestingClient_GetLocation (line 321) | func ExampleTestingClient_GetLocation() {
  function ExampleTestingClient_SetIamPolicy (line 346) | func ExampleTestingClient_SetIamPolicy() {
  function ExampleTestingClient_GetIamPolicy (line 371) | func ExampleTestingClient_GetIamPolicy() {
  function ExampleTestingClient_TestIamPermissions (line 396) | func ExampleTestingClient_TestIamPermissions() {
  function ExampleTestingClient_ListOperations (line 421) | func ExampleTestingClient_ListOperations() {
  function ExampleTestingClient_GetOperation (line 458) | func ExampleTestingClient_GetOperation() {
  function ExampleTestingClient_DeleteOperation (line 483) | func ExampleTestingClient_DeleteOperation() {
  function ExampleTestingClient_CancelOperation (line 506) | func ExampleTestingClient_CancelOperation() {

FILE: cmd/gapic-showcase/attempt-sequence.go
  function init (line 19) | func init() {

FILE: cmd/gapic-showcase/attempt-streaming-sequence.go
  function init (line 23) | func init() {

FILE: cmd/gapic-showcase/block.go
  function init (line 35) | func init() {

FILE: cmd/gapic-showcase/chat.go
  function init (line 23) | func init() {

FILE: cmd/gapic-showcase/collect.go
  function init (line 21) | func init() {

FILE: cmd/gapic-showcase/completion.go
  function init (line 11) | func init() {

FILE: cmd/gapic-showcase/compliance_service.go
  function init (line 33) | func init() {

FILE: cmd/gapic-showcase/compliance_suite_errors_test.go
  function TestComplianceSuiteErrors (line 35) | func TestComplianceSuiteErrors(t *testing.T) {
  function TestComplianceSuiteUnexpectedFieldPresence (line 95) | func TestComplianceSuiteUnexpectedFieldPresence(t *testing.T) {
  type prepRepeatDataNegativeTestFunc (line 235) | type prepRepeatDataNegativeTestFunc
  function prepRepeatDataBodyInfoNegativeTestInvalidFields (line 237) | func prepRepeatDataBodyInfoNegativeTestInvalidFields(request *genproto.R...
  function prepRepeatDataBodyInfoNegativeTestSnakeCasedFieldNames (line 247) | func prepRepeatDataBodyInfoNegativeTestSnakeCasedFieldNames(request *gen...
  function prepRepeatDataQueryNegativeTestSnakeCasedFieldNames (line 263) | func prepRepeatDataQueryNegativeTestSnakeCasedFieldNames(request *genpro...
  function checkExpectedFailure (line 273) | func checkExpectedFailure(t *testing.T, verb, url, requestBody, failure,...
  type requestModifier (line 307) | type requestModifier

FILE: cmd/gapic-showcase/compliance_suite_test.go
  function TestComplianceSuite (line 43) | func TestComplianceSuite(t *testing.T) {
  function TestComplianceSuiteLoadedf (line 135) | func TestComplianceSuiteLoadedf(t *testing.T) {
  type prepRepeatDataTestFunc (line 154) | type prepRepeatDataTestFunc
  function prepRepeatDataBodyTest (line 156) | func prepRepeatDataBodyTest(request *genproto.RepeatRequest) (verb strin...
  function prepRepeatDataBodyPutTest (line 162) | func prepRepeatDataBodyPutTest(request *genproto.RepeatRequest) (verb st...
  function prepRepeatDataBodyPatchTest (line 167) | func prepRepeatDataBodyPatchTest(request *genproto.RepeatRequest) (verb ...
  function prepRepeatDataBodyInfoTest (line 172) | func prepRepeatDataBodyInfoTest(request *genproto.RepeatRequest) (verb s...
  function prepRepeatDataQueryTest (line 180) | func prepRepeatDataQueryTest(request *genproto.RepeatRequest) (verb stri...
  function prepRepeatDataSimplePathTest (line 186) | func prepRepeatDataSimplePathTest(request *genproto.RepeatRequest) (verb...
  function prepRepeatDataPathResourceTest (line 217) | func prepRepeatDataPathResourceTest(request *genproto.RepeatRequest) (ve...
  function prepRepeatDataPathResourceTestFirstBinding (line 228) | func prepRepeatDataPathResourceTestFirstBinding(request *genproto.Repeat...
  function prepRepeatDataPathResourceTestSecondBinding (line 257) | func prepRepeatDataPathResourceTestSecondBinding(request *genproto.Repea...
  function prepRepeatDataPathTrailingResourceTest (line 286) | func prepRepeatDataPathTrailingResourceTest(request *genproto.RepeatRequ...
  function prepRepeatDataTestsQueryString (line 318) | func prepRepeatDataTestsQueryString(request *genproto.RepeatRequest, exc...
  function prepRepeatDataTestsQueryParams (line 324) | func prepRepeatDataTestsQueryParams(request *genproto.RepeatRequest, exc...
  function prepQueryString (line 382) | func prepQueryString(queryParams []string) string {
  function complianceSuiteTestSetup (line 392) | func complianceSuiteTestSetup() (suite *pb.ComplianceSuite, server *http...
  function getCleanComplianceSuite (line 407) | func getCleanComplianceSuite() (*pb.ComplianceSuite, error) {
  function loadComplianceSuiteFile (line 422) | func loadComplianceSuiteFile() (err error) {
  type queryStringCaser (line 440) | type queryStringCaser
  function init (line 449) | func init() {

FILE: cmd/gapic-showcase/connect.go
  function init (line 23) | func init() {

FILE: cmd/gapic-showcase/create-blurb.go
  function init (line 33) | func init() {

FILE: cmd/gapic-showcase/create-room.go
  function init (line 21) | func init() {

FILE: cmd/gapic-showcase/create-sequence.go
  function init (line 23) | func init() {

FILE: cmd/gapic-showcase/create-session.go
  function init (line 25) | func init() {

FILE: cmd/gapic-showcase/create-streaming-sequence.go
  function init (line 23) | func init() {

FILE: cmd/gapic-showcase/create-user.go
  function init (line 29) | func init() {

FILE: cmd/gapic-showcase/defaults.go
  function init (line 22) | func init() {

FILE: cmd/gapic-showcase/delete-blurb.go
  function init (line 19) | func init() {

FILE: cmd/gapic-showcase/delete-room.go
  function init (line 19) | func init() {

FILE: cmd/gapic-showcase/delete-session.go
  function init (line 19) | func init() {

FILE: cmd/gapic-showcase/delete-test.go
  function init (line 19) | func init() {

FILE: cmd/gapic-showcase/delete-user.go
  function init (line 19) | func init() {

FILE: cmd/gapic-showcase/echo-error-details.go
  function init (line 21) | func init() {

FILE: cmd/gapic-showcase/echo.go
  function init (line 39) | func init() {

FILE: cmd/gapic-showcase/echo_service.go
  function init (line 34) | func init() {

FILE: cmd/gapic-showcase/endpoint.go
  type RuntimeConfig (line 48) | type RuntimeConfig struct
  type Endpoint (line 58) | type Endpoint interface
  function CreateAllEndpoints (line 74) | func CreateAllEndpoints(config RuntimeConfig) Endpoint {
  type endpointMux (line 108) | type endpointMux struct
    method String (line 121) | func (em *endpointMux) String() string {
    method Serve (line 125) | func (em *endpointMux) Serve() error {
    method Shutdown (line 157) | func (em *endpointMux) Shutdown() error {
  function newEndpointMux (line 114) | func newEndpointMux(cmuxEndpoint cmux.CMux, endpoints ...Endpoint) Endpo...
  type endpointGRPC (line 185) | type endpointGRPC struct
    method String (line 272) | func (eg *endpointGRPC) String() string {
    method Serve (line 276) | func (eg *endpointGRPC) Serve() error {
    method Shutdown (line 289) | func (eg *endpointGRPC) Shutdown() error {
  function createBackends (line 193) | func createBackends() *services.Backend {
  function newEndpointGRPC (line 218) | func newEndpointGRPC(lis net.Listener, config RuntimeConfig, backend *se...
  type endpointREST (line 310) | type endpointREST struct
    method String (line 328) | func (er *endpointREST) String() string {
    method Serve (line 332) | func (er *endpointREST) Serve() error {
    method Shutdown (line 341) | func (er *endpointREST) Shutdown() error {
  function newEndpointREST (line 316) | func newEndpointREST(lis net.Listener, backend *services.Backend) *endpo...

FILE: cmd/gapic-showcase/endpoint_test.go
  function TestRESTCalls (line 31) | func TestRESTCalls(t *testing.T) {
  function allowCompactJSON (line 215) | func allowCompactJSON() *resttools.JSONMarshalOptions {
  function allowFullJSON (line 228) | func allowFullJSON() *resttools.JSONMarshalOptions {
  function noSpace (line 235) | func noSpace(src string) string {

FILE: cmd/gapic-showcase/expand.go
  function init (line 31) | func init() {

FILE: cmd/gapic-showcase/fail-echo-with-details.go
  function init (line 21) | func init() {

FILE: cmd/gapic-showcase/gapic-showcase.go
  function init (line 20) | func init() {
  function Execute (line 30) | func Execute() {
  function main (line 37) | func main() {
  function printVerboseInput (line 41) | func printVerboseInput(srv, mthd string, data interface{}) {
  function printMessage (line 48) | func printMessage(data interface{}) {

FILE: cmd/gapic-showcase/get-blurb.go
  function init (line 21) | func init() {

FILE: cmd/gapic-showcase/get-enum.go
  function init (line 21) | func init() {

FILE: cmd/gapic-showcase/get-room.go
  function init (line 21) | func init() {

FILE: cmd/gapic-showcase/get-sequence-report.go
  function init (line 21) | func init() {

FILE: cmd/gapic-showcase/get-session.go
  function init (line 21) | func init() {

FILE: cmd/gapic-showcase/get-streaming-sequence-report.go
  function init (line 21) | func init() {

FILE: cmd/gapic-showcase/get-user.go
  function init (line 21) | func init() {

FILE: cmd/gapic-showcase/identity_service.go
  function init (line 28) | func init() {

FILE: cmd/gapic-showcase/list-blurbs.go
  function init (line 23) | func init() {

FILE: cmd/gapic-showcase/list-rooms.go
  function init (line 23) | func init() {

FILE: cmd/gapic-showcase/list-sessions.go
  function init (line 23) | func init() {

FILE: cmd/gapic-showcase/list-tests.go
  function init (line 23) | func init() {

FILE: cmd/gapic-showcase/list-users.go
  function init (line 23) | func init() {

FILE: cmd/gapic-showcase/loggers.go
  function init (line 28) | func init() {
  type loggerObserver (line 33) | type loggerObserver struct
    method GetName (line 35) | func (l *loggerObserver) GetName() string { return "loggerObserver" }
    method ObserveUnary (line 52) | func (l *loggerObserver) ObserveUnary(
    method ObserveStreamRequest (line 71) | func (l *loggerObserver) ObserveStreamRequest(
    method ObserveStreamResponse (line 84) | func (l *loggerObserver) ObserveStreamResponse(
  function dumpIncomingHeaders (line 37) | func dumpIncomingHeaders(ctx context.Context) {
  function streamType (line 94) | func streamType(info *grpc.StreamServerInfo) string {

FILE: cmd/gapic-showcase/messaging_service.go
  function init (line 37) | func init() {

FILE: cmd/gapic-showcase/paged-expand-legacy-mapped.go
  function init (line 23) | func init() {

FILE: cmd/gapic-showcase/paged-expand.go
  function init (line 23) | func init() {

FILE: cmd/gapic-showcase/repeat-data-body-info.go
  function init (line 87) | func init() {

FILE: cmd/gapic-showcase/repeat-data-body-patch.go
  function init (line 87) | func init() {

FILE: cmd/gapic-showcase/repeat-data-body-put.go
  function init (line 87) | func init() {

FILE: cmd/gapic-showcase/repeat-data-body.go
  function init (line 87) | func init() {

FILE: cmd/gapic-showcase/repeat-data-path-resource.go
  function init (line 87) | func init() {

FILE: cmd/gapic-showcase/repeat-data-path-trailing-resource.go
  function init (line 87) | func init() {

FILE: cmd/gapic-showcase/repeat-data-query.go
  function init (line 87) | func init() {

FILE: cmd/gapic-showcase/repeat-data-simple-path.go
  function init (line 87) | func init() {

FILE: cmd/gapic-showcase/report-session.go
  function init (line 21) | func init() {

FILE: cmd/gapic-showcase/run.go
  function message (line 25) | func message(err error) string {
  function init (line 32) | func init() {

FILE: cmd/gapic-showcase/search-blurbs.go
  function init (line 25) | func init() {

FILE: cmd/gapic-showcase/send-blurbs.go
  function init (line 21) | func init() {

FILE: cmd/gapic-showcase/sequence_service.go
  function init (line 29) | func init() {

FILE: cmd/gapic-showcase/stream-blurbs.go
  function init (line 25) | func init() {

FILE: cmd/gapic-showcase/testing_service.go
  function init (line 31) | func init() {

FILE: cmd/gapic-showcase/update-blurb.go
  function init (line 35) | func init() {

FILE: cmd/gapic-showcase/update-room.go
  function init (line 23) | func init() {

FILE: cmd/gapic-showcase/update-user.go
  function init (line 31) | func init() {

FILE: cmd/gapic-showcase/verify-enum.go
  function init (line 25) | func init() {

FILE: cmd/gapic-showcase/verify-test.go
  function init (line 21) | func init() {

FILE: cmd/gapic-showcase/version.go
  function init (line 23) | func init() {

FILE: cmd/gapic-showcase/wait.go
  function init (line 47) | func init() {

FILE: server/genproto/compliance.pb.go
  constant _ (line 37) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
  constant _ (line 39) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
  type Continent (line 42) | type Continent
    method Enum (line 73) | func (x Continent) Enum() *Continent {
    method String (line 79) | func (x Continent) String() string {
    method Descriptor (line 83) | func (Continent) Descriptor() protoreflect.EnumDescriptor {
    method Type (line 87) | func (Continent) Type() protoreflect.EnumType {
    method Number (line 91) | func (x Continent) Number() protoreflect.EnumNumber {
    method EnumDescriptor (line 96) | func (Continent) EnumDescriptor() ([]byte, []int) {
  constant Continent_CONTINENT_UNSPECIFIED (line 45) | Continent_CONTINENT_UNSPECIFIED Continent = 0
  constant Continent_AFRICA (line 46) | Continent_AFRICA                Continent = 1
  constant Continent_AMERICA (line 47) | Continent_AMERICA               Continent = 2
  constant Continent_ANTARTICA (line 48) | Continent_ANTARTICA             Continent = 3
  constant Continent_AUSTRALIA (line 49) | Continent_AUSTRALIA             Continent = 4
  constant Continent_EUROPE (line 50) | Continent_EUROPE                Continent = 5
  type ComplianceData_LifeKingdom (line 100) | type ComplianceData_LifeKingdom
    method Enum (line 134) | func (x ComplianceData_LifeKingdom) Enum() *ComplianceData_LifeKingdom {
    method String (line 140) | func (x ComplianceData_LifeKingdom) String() string {
    method Descriptor (line 144) | func (ComplianceData_LifeKingdom) Descriptor() protoreflect.EnumDescri...
    method Type (line 148) | func (ComplianceData_LifeKingdom) Type() protoreflect.EnumType {
    method Number (line 152) | func (x ComplianceData_LifeKingdom) Number() protoreflect.EnumNumber {
    method EnumDescriptor (line 157) | func (ComplianceData_LifeKingdom) EnumDescriptor() ([]byte, []int) {
  constant ComplianceData_LIFE_KINGDOM_UNSPECIFIED (line 103) | ComplianceData_LIFE_KINGDOM_UNSPECIFIED ComplianceData_LifeKingdom = 0
  constant ComplianceData_ARCHAEBACTERIA (line 104) | ComplianceData_ARCHAEBACTERIA           ComplianceData_LifeKingdom = 1
  constant ComplianceData_EUBACTERIA (line 105) | ComplianceData_EUBACTERIA               ComplianceData_LifeKingdom = 2
  constant ComplianceData_PROTISTA (line 106) | ComplianceData_PROTISTA                 ComplianceData_LifeKingdom = 3
  constant ComplianceData_FUNGI (line 107) | ComplianceData_FUNGI                    ComplianceData_LifeKingdom = 4
  constant ComplianceData_PLANTAE (line 108) | ComplianceData_PLANTAE                  ComplianceData_LifeKingdom = 5
  constant ComplianceData_ANIMALIA (line 109) | ComplianceData_ANIMALIA                 ComplianceData_LifeKingdom = 6
  type RepeatRequest (line 161) | type RepeatRequest struct
    method Reset (line 183) | func (x *RepeatRequest) Reset() {
    method String (line 192) | func (x *RepeatRequest) String() string {
    method ProtoMessage (line 196) | func (*RepeatRequest) ProtoMessage() {}
    method ProtoReflect (line 198) | func (x *RepeatRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 211) | func (*RepeatRequest) Descriptor() ([]byte, []int) {
    method GetName (line 215) | func (x *RepeatRequest) GetName() string {
    method GetInfo (line 222) | func (x *RepeatRequest) GetInfo() *ComplianceData {
    method GetServerVerify (line 229) | func (x *RepeatRequest) GetServerVerify() bool {
    method GetIntendedBindingUri (line 236) | func (x *RepeatRequest) GetIntendedBindingUri() string {
    method GetFInt32 (line 243) | func (x *RepeatRequest) GetFInt32() int32 {
    method GetFInt64 (line 250) | func (x *RepeatRequest) GetFInt64() int64 {
    method GetFDouble (line 257) | func (x *RepeatRequest) GetFDouble() float64 {
    method GetPInt32 (line 264) | func (x *RepeatRequest) GetPInt32() int32 {
    method GetPInt64 (line 271) | func (x *RepeatRequest) GetPInt64() int64 {
    method GetPDouble (line 278) | func (x *RepeatRequest) GetPDouble() float64 {
  type RepeatResponse (line 285) | type RepeatResponse struct
    method Reset (line 295) | func (x *RepeatResponse) Reset() {
    method String (line 304) | func (x *RepeatResponse) String() string {
    method ProtoMessage (line 308) | func (*RepeatResponse) ProtoMessage() {}
    method ProtoReflect (line 310) | func (x *RepeatResponse) ProtoReflect() protoreflect.Message {
    method Descriptor (line 323) | func (*RepeatResponse) Descriptor() ([]byte, []int) {
    method GetRequest (line 327) | func (x *RepeatResponse) GetRequest() *RepeatRequest {
    method GetBindingUri (line 334) | func (x *RepeatResponse) GetBindingUri() string {
  type ComplianceSuite (line 344) | type ComplianceSuite struct
    method Reset (line 352) | func (x *ComplianceSuite) Reset() {
    method String (line 361) | func (x *ComplianceSuite) String() string {
    method ProtoMessage (line 365) | func (*ComplianceSuite) ProtoMessage() {}
    method ProtoReflect (line 367) | func (x *ComplianceSuite) ProtoReflect() protoreflect.Message {
    method Descriptor (line 380) | func (*ComplianceSuite) Descriptor() ([]byte, []int) {
    method GetGroup (line 384) | func (x *ComplianceSuite) GetGroup() []*ComplianceGroup {
  type ComplianceGroup (line 394) | type ComplianceGroup struct
    method Reset (line 404) | func (x *ComplianceGroup) Reset() {
    method String (line 413) | func (x *ComplianceGroup) String() string {
    method ProtoMessage (line 417) | func (*ComplianceGroup) ProtoMessage() {}
    method ProtoReflect (line 419) | func (x *ComplianceGroup) ProtoReflect() protoreflect.Message {
    method Descriptor (line 432) | func (*ComplianceGroup) Descriptor() ([]byte, []int) {
    method GetName (line 436) | func (x *ComplianceGroup) GetName() string {
    method GetRpcs (line 443) | func (x *ComplianceGroup) GetRpcs() []string {
    method GetRequests (line 450) | func (x *ComplianceGroup) GetRequests() []*RepeatRequest {
  type ComplianceData (line 459) | type ComplianceData struct
    method Reset (line 499) | func (x *ComplianceData) Reset() {
    method String (line 508) | func (x *ComplianceData) String() string {
    method ProtoMessage (line 512) | func (*ComplianceData) ProtoMessage() {}
    method ProtoReflect (line 514) | func (x *ComplianceData) ProtoReflect() protoreflect.Message {
    method Descriptor (line 527) | func (*ComplianceData) Descriptor() ([]byte, []int) {
    method GetFString (line 531) | func (x *ComplianceData) GetFString() string {
    method GetFInt32 (line 538) | func (x *ComplianceData) GetFInt32() int32 {
    method GetFSint32 (line 545) | func (x *ComplianceData) GetFSint32() int32 {
    method GetFSfixed32 (line 552) | func (x *ComplianceData) GetFSfixed32() int32 {
    method GetFUint32 (line 559) | func (x *ComplianceData) GetFUint32() uint32 {
    method GetFFixed32 (line 566) | func (x *ComplianceData) GetFFixed32() uint32 {
    method GetFInt64 (line 573) | func (x *ComplianceData) GetFInt64() int64 {
    method GetFSint64 (line 580) | func (x *ComplianceData) GetFSint64() int64 {
    method GetFSfixed64 (line 587) | func (x *ComplianceData) GetFSfixed64() int64 {
    method GetFUint64 (line 594) | func (x *ComplianceData) GetFUint64() uint64 {
    method GetFFixed64 (line 601) | func (x *ComplianceData) GetFFixed64() uint64 {
    method GetFDouble (line 608) | func (x *ComplianceData) GetFDouble() float64 {
    method GetFFloat (line 615) | func (x *ComplianceData) GetFFloat() float32 {
    method GetFBool (line 622) | func (x *ComplianceData) GetFBool() bool {
    method GetFBytes (line 629) | func (x *ComplianceData) GetFBytes() []byte {
    method GetFKingdom (line 636) | func (x *ComplianceData) GetFKingdom() ComplianceData_LifeKingdom {
    method GetFChild (line 643) | func (x *ComplianceData) GetFChild() *ComplianceDataChild {
    method GetPString (line 650) | func (x *ComplianceData) GetPString() string {
    method GetPInt32 (line 657) | func (x *ComplianceData) GetPInt32() int32 {
    method GetPSint32 (line 664) | func (x *ComplianceData) GetPSint32() int32 {
    method GetPSfixed32 (line 671) | func (x *ComplianceData) GetPSfixed32() int32 {
    method GetPUint32 (line 678) | func (x *ComplianceData) GetPUint32() uint32 {
    method GetPFixed32 (line 685) | func (x *ComplianceData) GetPFixed32() uint32 {
    method GetPInt64 (line 692) | func (x *ComplianceData) GetPInt64() int64 {
    method GetPSint64 (line 699) | func (x *ComplianceData) GetPSint64() int64 {
    method GetPSfixed64 (line 706) | func (x *ComplianceData) GetPSfixed64() int64 {
    method GetPUint64 (line 713) | func (x *ComplianceData) GetPUint64() uint64 {
    method GetPFixed64 (line 720) | func (x *ComplianceData) GetPFixed64() uint64 {
    method GetPFloat (line 727) | func (x *ComplianceData) GetPFloat() float32 {
    method GetPDouble (line 734) | func (x *ComplianceData) GetPDouble() float64 {
    method GetPBool (line 741) | func (x *ComplianceData) GetPBool() bool {
    method GetPKingdom (line 748) | func (x *ComplianceData) GetPKingdom() ComplianceData_LifeKingdom {
    method GetPChild (line 755) | func (x *ComplianceData) GetPChild() *ComplianceDataChild {
  type ComplianceDataChild (line 762) | type ComplianceDataChild struct
    method Reset (line 781) | func (x *ComplianceDataChild) Reset() {
    method String (line 790) | func (x *ComplianceDataChild) String() string {
    method ProtoMessage (line 794) | func (*ComplianceDataChild) ProtoMessage() {}
    method ProtoReflect (line 796) | func (x *ComplianceDataChild) ProtoReflect() protoreflect.Message {
    method Descriptor (line 809) | func (*ComplianceDataChild) Descriptor() ([]byte, []int) {
    method GetFString (line 813) | func (x *ComplianceDataChild) GetFString() string {
    method GetFFloat (line 820) | func (x *ComplianceDataChild) GetFFloat() float32 {
    method GetFDouble (line 827) | func (x *ComplianceDataChild) GetFDouble() float64 {
    method GetFBool (line 834) | func (x *ComplianceDataChild) GetFBool() bool {
    method GetFContinent (line 841) | func (x *ComplianceDataChild) GetFContinent() Continent {
    method GetFChild (line 848) | func (x *ComplianceDataChild) GetFChild() *ComplianceDataGrandchild {
    method GetPString (line 855) | func (x *ComplianceDataChild) GetPString() string {
    method GetPFloat (line 862) | func (x *ComplianceDataChild) GetPFloat() float32 {
    method GetPDouble (line 869) | func (x *ComplianceDataChild) GetPDouble() float64 {
    method GetPBool (line 876) | func (x *ComplianceDataChild) GetPBool() bool {
    method GetPContinent (line 883) | func (x *ComplianceDataChild) GetPContinent() Continent {
    method GetPChild (line 890) | func (x *ComplianceDataChild) GetPChild() *ComplianceDataGrandchild {
  type ComplianceDataGrandchild (line 897) | type ComplianceDataGrandchild struct
    method Reset (line 907) | func (x *ComplianceDataGrandchild) Reset() {
    method String (line 916) | func (x *ComplianceDataGrandchild) String() string {
    method ProtoMessage (line 920) | func (*ComplianceDataGrandchild) ProtoMessage() {}
    method ProtoReflect (line 922) | func (x *ComplianceDataGrandchild) ProtoReflect() protoreflect.Message {
    method Descriptor (line 935) | func (*ComplianceDataGrandchild) Descriptor() ([]byte, []int) {
    method GetFString (line 939) | func (x *ComplianceDataGrandchild) GetFString() string {
    method GetFDouble (line 946) | func (x *ComplianceDataGrandchild) GetFDouble() float64 {
    method GetFBool (line 953) | func (x *ComplianceDataGrandchild) GetFBool() bool {
  type EnumRequest (line 960) | type EnumRequest struct
    method Reset (line 969) | func (x *EnumRequest) Reset() {
    method String (line 978) | func (x *EnumRequest) String() string {
    method ProtoMessage (line 982) | func (*EnumRequest) ProtoMessage() {}
    method ProtoReflect (line 984) | func (x *EnumRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 997) | func (*EnumRequest) Descriptor() ([]byte, []int) {
    method GetUnknownEnum (line 1001) | func (x *EnumRequest) GetUnknownEnum() bool {
  type EnumResponse (line 1008) | type EnumResponse struct
    method Reset (line 1019) | func (x *EnumResponse) Reset() {
    method String (line 1028) | func (x *EnumResponse) String() string {
    method ProtoMessage (line 1032) | func (*EnumResponse) ProtoMessage() {}
    method ProtoReflect (line 1034) | func (x *EnumResponse) ProtoReflect() protoreflect.Message {
    method Descriptor (line 1047) | func (*EnumResponse) Descriptor() ([]byte, []int) {
    method GetRequest (line 1051) | func (x *EnumResponse) GetRequest() *EnumRequest {
    method GetContinent (line 1058) | func (x *EnumResponse) GetContinent() Continent {
  function file_google_showcase_v1beta1_compliance_proto_rawDescGZIP (line 1406) | func file_google_showcase_v1beta1_compliance_proto_rawDescGZIP() []byte {
  function init (line 1470) | func init() { file_google_showcase_v1beta1_compliance_proto_init() }
  function file_google_showcase_v1beta1_compliance_proto_init (line 1471) | func file_google_showcase_v1beta1_compliance_proto_init() {
  constant _ (line 1615) | _ = grpc.SupportPackageIsVersion6
  type ComplianceClient (line 1620) | type ComplianceClient interface
  type complianceClient (line 1659) | type complianceClient struct
    method RepeatDataBody (line 1667) | func (c *complianceClient) RepeatDataBody(ctx context.Context, in *Rep...
    method RepeatDataBodyInfo (line 1676) | func (c *complianceClient) RepeatDataBodyInfo(ctx context.Context, in ...
    method RepeatDataQuery (line 1685) | func (c *complianceClient) RepeatDataQuery(ctx context.Context, in *Re...
    method RepeatDataSimplePath (line 1694) | func (c *complianceClient) RepeatDataSimplePath(ctx context.Context, i...
    method RepeatDataPathResource (line 1703) | func (c *complianceClient) RepeatDataPathResource(ctx context.Context,...
    method RepeatDataPathTrailingResource (line 1712) | func (c *complianceClient) RepeatDataPathTrailingResource(ctx context....
    method RepeatDataBodyPut (line 1721) | func (c *complianceClient) RepeatDataBodyPut(ctx context.Context, in *...
    method RepeatDataBodyPatch (line 1730) | func (c *complianceClient) RepeatDataBodyPatch(ctx context.Context, in...
    method GetEnum (line 1739) | func (c *complianceClient) GetEnum(ctx context.Context, in *EnumReques...
    method VerifyEnum (line 1748) | func (c *complianceClient) VerifyEnum(ctx context.Context, in *EnumRes...
  function NewComplianceClient (line 1663) | func NewComplianceClient(cc grpc.ClientConnInterface) ComplianceClient {
  type ComplianceServer (line 1758) | type ComplianceServer interface
  type UnimplementedComplianceServer (line 1798) | type UnimplementedComplianceServer struct
    method RepeatDataBody (line 1801) | func (*UnimplementedComplianceServer) RepeatDataBody(context.Context, ...
    method RepeatDataBodyInfo (line 1804) | func (*UnimplementedComplianceServer) RepeatDataBodyInfo(context.Conte...
    method RepeatDataQuery (line 1807) | func (*UnimplementedComplianceServer) RepeatDataQuery(context.Context,...
    method RepeatDataSimplePath (line 1810) | func (*UnimplementedComplianceServer) RepeatDataSimplePath(context.Con...
    method RepeatDataPathResource (line 1813) | func (*UnimplementedComplianceServer) RepeatDataPathResource(context.C...
    method RepeatDataPathTrailingResource (line 1816) | func (*UnimplementedComplianceServer) RepeatDataPathTrailingResource(c...
    method RepeatDataBodyPut (line 1819) | func (*UnimplementedComplianceServer) RepeatDataBodyPut(context.Contex...
    method RepeatDataBodyPatch (line 1822) | func (*UnimplementedComplianceServer) RepeatDataBodyPatch(context.Cont...
    method GetEnum (line 1825) | func (*UnimplementedComplianceServer) GetEnum(context.Context, *EnumRe...
    method VerifyEnum (line 1828) | func (*UnimplementedComplianceServer) VerifyEnum(context.Context, *Enu...
  function RegisterComplianceServer (line 1832) | func RegisterComplianceServer(s *grpc.Server, srv ComplianceServer) {
  function _Compliance_RepeatDataBody_Handler (line 1836) | func _Compliance_RepeatDataBody_Handler(srv interface{}, ctx context.Con...
  function _Compliance_RepeatDataBodyInfo_Handler (line 1854) | func _Compliance_RepeatDataBodyInfo_Handler(srv interface{}, ctx context...
  function _Compliance_RepeatDataQuery_Handler (line 1872) | func _Compliance_RepeatDataQuery_Handler(srv interface{}, ctx context.Co...
  function _Compliance_RepeatDataSimplePath_Handler (line 1890) | func _Compliance_RepeatDataSimplePath_Handler(srv interface{}, ctx conte...
  function _Compliance_RepeatDataPathResource_Handler (line 1908) | func _Compliance_RepeatDataPathResource_Handler(srv interface{}, ctx con...
  function _Compliance_RepeatDataPathTrailingResource_Handler (line 1926) | func _Compliance_RepeatDataPathTrailingResource_Handler(srv interface{},...
  function _Compliance_RepeatDataBodyPut_Handler (line 1944) | func _Compliance_RepeatDataBodyPut_Handler(srv interface{}, ctx context....
  function _Compliance_RepeatDataBodyPatch_Handler (line 1962) | func _Compliance_RepeatDataBodyPatch_Handler(srv interface{}, ctx contex...
  function _Compliance_GetEnum_Handler (line 1980) | func _Compliance_GetEnum_Handler(srv interface{}, ctx context.Context, d...
  function _Compliance_VerifyEnum_Handler (line 1998) | func _Compliance_VerifyEnum_Handler(srv interface{}, ctx context.Context...

FILE: server/genproto/echo.pb.go
  constant _ (line 42) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
  constant _ (line 44) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
  type Severity (line 48) | type Severity
    method Enum (line 73) | func (x Severity) Enum() *Severity {
    method String (line 79) | func (x Severity) String() string {
    method Descriptor (line 83) | func (Severity) Descriptor() protoreflect.EnumDescriptor {
    method Type (line 87) | func (Severity) Type() protoreflect.EnumType {
    method Number (line 91) | func (x Severity) Number() protoreflect.EnumNumber {
    method EnumDescriptor (line 96) | func (Severity) EnumDescriptor() ([]byte, []int) {
  constant Severity_UNNECESSARY (line 51) | Severity_UNNECESSARY Severity = 0
  constant Severity_NECESSARY (line 52) | Severity_NECESSARY   Severity = 1
  constant Severity_URGENT (line 53) | Severity_URGENT      Severity = 2
  constant Severity_CRITICAL (line 54) | Severity_CRITICAL    Severity = 3
  type EchoRequest (line 104) | type EchoRequest struct
    method Reset (line 126) | func (x *EchoRequest) Reset() {
    method String (line 135) | func (x *EchoRequest) String() string {
    method ProtoMessage (line 139) | func (*EchoRequest) ProtoMessage() {}
    method ProtoReflect (line 141) | func (x *EchoRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 154) | func (*EchoRequest) Descriptor() ([]byte, []int) {
    method GetResponse (line 158) | func (m *EchoRequest) GetResponse() isEchoRequest_Response {
    method GetContent (line 165) | func (x *EchoRequest) GetContent() string {
    method GetError (line 172) | func (x *EchoRequest) GetError() *status.Status {
    method GetSeverity (line 179) | func (x *EchoRequest) GetSeverity() Severity {
    method GetHeader (line 186) | func (x *EchoRequest) GetHeader() string {
    method GetOtherHeader (line 193) | func (x *EchoRequest) GetOtherHeader() string {
    method GetRequestId (line 200) | func (x *EchoRequest) GetRequestId() string {
    method GetOtherRequestId (line 207) | func (x *EchoRequest) GetOtherRequestId() string {
  type isEchoRequest_Response (line 214) | type isEchoRequest_Response interface
  type EchoRequest_Content (line 218) | type EchoRequest_Content struct
    method isEchoRequest_Response (line 228) | func (*EchoRequest_Content) isEchoRequest_Response() {}
  type EchoRequest_Error (line 223) | type EchoRequest_Error struct
    method isEchoRequest_Response (line 230) | func (*EchoRequest_Error) isEchoRequest_Response() {}
  type EchoResponse (line 233) | type EchoResponse struct
    method Reset (line 248) | func (x *EchoResponse) Reset() {
    method String (line 257) | func (x *EchoResponse) String() string {
    method ProtoMessage (line 261) | func (*EchoResponse) ProtoMessage() {}
    method ProtoReflect (line 263) | func (x *EchoResponse) ProtoReflect() protoreflect.Message {
    method Descriptor (line 276) | func (*EchoResponse) Descriptor() ([]byte, []int) {
    method GetContent (line 280) | func (x *EchoResponse) GetContent() string {
    method GetSeverity (line 287) | func (x *EchoResponse) GetSeverity() Severity {
    method GetRequestId (line 294) | func (x *EchoResponse) GetRequestId() string {
    method GetOtherRequestId (line 301) | func (x *EchoResponse) GetOtherRequestId() string {
  type EchoErrorDetailsRequest (line 309) | type EchoErrorDetailsRequest struct
    method Reset (line 322) | func (x *EchoErrorDetailsRequest) Reset() {
    method String (line 331) | func (x *EchoErrorDetailsRequest) String() string {
    method ProtoMessage (line 335) | func (*EchoErrorDetailsRequest) ProtoMessage() {}
    method ProtoReflect (line 337) | func (x *EchoErrorDetailsRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 350) | func (*EchoErrorDetailsRequest) Descriptor() ([]byte, []int) {
    method GetSingleDetailText (line 354) | func (x *EchoErrorDetailsRequest) GetSingleDetailText() string {
    method GetMultiDetailText (line 361) | func (x *EchoErrorDetailsRequest) GetMultiDetailText() []string {
  type EchoErrorDetailsResponse (line 369) | type EchoErrorDetailsResponse struct
    method Reset (line 378) | func (x *EchoErrorDetailsResponse) Reset() {
    method String (line 387) | func (x *EchoErrorDetailsResponse) String() string {
    method ProtoMessage (line 391) | func (*EchoErrorDetailsResponse) ProtoMessage() {}
    method ProtoReflect (line 393) | func (x *EchoErrorDetailsResponse) ProtoReflect() protoreflect.Message {
    method Descriptor (line 406) | func (*EchoErrorDetailsResponse) Descriptor() ([]byte, []int) {
    method GetSingleDetail (line 410) | func (x *EchoErrorDetailsResponse) GetSingleDetail() *EchoErrorDetails...
    method GetMultipleDetails (line 417) | func (x *EchoErrorDetailsResponse) GetMultipleDetails() *EchoErrorDeta...
  type ErrorWithSingleDetail (line 424) | type ErrorWithSingleDetail struct
    method Reset (line 432) | func (x *ErrorWithSingleDetail) Reset() {
    method String (line 441) | func (x *ErrorWithSingleDetail) String() string {
    method ProtoMessage (line 445) | func (*ErrorWithSingleDetail) ProtoMessage() {}
    method ProtoReflect (line 447) | func (x *ErrorWithSingleDetail) ProtoReflect() protoreflect.Message {
    method Descriptor (line 460) | func (*ErrorWithSingleDetail) Descriptor() ([]byte, []int) {
    method GetDetails (line 464) | func (x *ErrorWithSingleDetail) GetDetails() *anypb.Any {
  type ErrorWithMultipleDetails (line 471) | type ErrorWithMultipleDetails struct
    method Reset (line 479) | func (x *ErrorWithMultipleDetails) Reset() {
    method String (line 488) | func (x *ErrorWithMultipleDetails) String() string {
    method ProtoMessage (line 492) | func (*ErrorWithMultipleDetails) ProtoMessage() {}
    method ProtoReflect (line 494) | func (x *ErrorWithMultipleDetails) ProtoReflect() protoreflect.Message {
    method Descriptor (line 507) | func (*ErrorWithMultipleDetails) Descriptor() ([]byte, []int) {
    method GetDetails (line 511) | func (x *ErrorWithMultipleDetails) GetDetails() []*anypb.Any {
  type PoetryError (line 521) | type PoetryError struct
    method Reset (line 529) | func (x *PoetryError) Reset() {
    method String (line 538) | func (x *PoetryError) String() string {
    method ProtoMessage (line 542) | func (*PoetryError) ProtoMessage() {}
    method ProtoReflect (line 544) | func (x *PoetryError) ProtoReflect() protoreflect.Message {
    method Descriptor (line 557) | func (*PoetryError) Descriptor() ([]byte, []int) {
    method GetPoem (line 561) | func (x *PoetryError) GetPoem() string {
  type FailEchoWithDetailsRequest (line 569) | type FailEchoWithDetailsRequest struct
    method Reset (line 579) | func (x *FailEchoWithDetailsRequest) Reset() {
    method String (line 588) | func (x *FailEchoWithDetailsRequest) String() string {
    method ProtoMessage (line 592) | func (*FailEchoWithDetailsRequest) ProtoMessage() {}
    method ProtoReflect (line 594) | func (x *FailEchoWithDetailsRequest) ProtoReflect() protoreflect.Messa...
    method Descriptor (line 607) | func (*FailEchoWithDetailsRequest) Descriptor() ([]byte, []int) {
    method GetMessage (line 611) | func (x *FailEchoWithDetailsRequest) GetMessage() string {
  type FailEchoWithDetailsResponse (line 620) | type FailEchoWithDetailsResponse struct
    method Reset (line 626) | func (x *FailEchoWithDetailsResponse) Reset() {
    method String (line 635) | func (x *FailEchoWithDetailsResponse) String() string {
    method ProtoMessage (line 639) | func (*FailEchoWithDetailsResponse) ProtoMessage() {}
    method ProtoReflect (line 641) | func (x *FailEchoWithDetailsResponse) ProtoReflect() protoreflect.Mess...
    method Descriptor (line 654) | func (*FailEchoWithDetailsResponse) Descriptor() ([]byte, []int) {
  type ExpandRequest (line 659) | type ExpandRequest struct
    method Reset (line 672) | func (x *ExpandRequest) Reset() {
    method String (line 681) | func (x *ExpandRequest) String() string {
    method ProtoMessage (line 685) | func (*ExpandRequest) ProtoMessage() {}
    method ProtoReflect (line 687) | func (x *ExpandRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 700) | func (*ExpandRequest) Descriptor() ([]byte, []int) {
    method GetContent (line 704) | func (x *ExpandRequest) GetContent() string {
    method GetError (line 711) | func (x *ExpandRequest) GetError() *status.Status {
    method GetStreamWaitTime (line 718) | func (x *ExpandRequest) GetStreamWaitTime() *durationpb.Duration {
  type PagedExpandRequest (line 726) | type PagedExpandRequest struct
    method Reset (line 739) | func (x *PagedExpandRequest) Reset() {
    method String (line 748) | func (x *PagedExpandRequest) String() string {
    method ProtoMessage (line 752) | func (*PagedExpandRequest) ProtoMessage() {}
    method ProtoReflect (line 754) | func (x *PagedExpandRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 767) | func (*PagedExpandRequest) Descriptor() ([]byte, []int) {
    method GetContent (line 771) | func (x *PagedExpandRequest) GetContent() string {
    method GetPageSize (line 778) | func (x *PagedExpandRequest) GetPageSize() int32 {
    method GetPageToken (line 785) | func (x *PagedExpandRequest) GetPageToken() string {
  type PagedExpandLegacyRequest (line 795) | type PagedExpandLegacyRequest struct
    method Reset (line 811) | func (x *PagedExpandLegacyRequest) Reset() {
    method String (line 820) | func (x *PagedExpandLegacyRequest) String() string {
    method ProtoMessage (line 824) | func (*PagedExpandLegacyRequest) ProtoMessage() {}
    method ProtoReflect (line 826) | func (x *PagedExpandLegacyRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 839) | func (*PagedExpandLegacyRequest) Descriptor() ([]byte, []int) {
    method GetContent (line 843) | func (x *PagedExpandLegacyRequest) GetContent() string {
    method GetMaxResults (line 850) | func (x *PagedExpandLegacyRequest) GetMaxResults() int32 {
    method GetPageToken (line 857) | func (x *PagedExpandLegacyRequest) GetPageToken() string {
  type PagedExpandResponse (line 865) | type PagedExpandResponse struct
    method Reset (line 876) | func (x *PagedExpandResponse) Reset() {
    method String (line 885) | func (x *PagedExpandResponse) String() string {
    method ProtoMessage (line 889) | func (*PagedExpandResponse) ProtoMessage() {}
    method ProtoReflect (line 891) | func (x *PagedExpandResponse) ProtoReflect() protoreflect.Message {
    method Descriptor (line 904) | func (*PagedExpandResponse) Descriptor() ([]byte, []int) {
    method GetResponses (line 908) | func (x *PagedExpandResponse) GetResponses() []*EchoResponse {
    method GetNextPageToken (line 915) | func (x *PagedExpandResponse) GetNextPageToken() string {
  type PagedExpandResponseList (line 923) | type PagedExpandResponseList struct
    method Reset (line 931) | func (x *PagedExpandResponseList) Reset() {
    method String (line 940) | func (x *PagedExpandResponseList) String() string {
    method ProtoMessage (line 944) | func (*PagedExpandResponseList) ProtoMessage() {}
    method ProtoReflect (line 946) | func (x *PagedExpandResponseList) ProtoReflect() protoreflect.Message {
    method Descriptor (line 959) | func (*PagedExpandResponseList) Descriptor() ([]byte, []int) {
    method GetWords (line 963) | func (x *PagedExpandResponseList) GetWords() []string {
  type PagedExpandLegacyMappedResponse (line 970) | type PagedExpandLegacyMappedResponse struct
    method Reset (line 984) | func (x *PagedExpandLegacyMappedResponse) Reset() {
    method String (line 993) | func (x *PagedExpandLegacyMappedResponse) String() string {
    method ProtoMessage (line 997) | func (*PagedExpandLegacyMappedResponse) ProtoMessage() {}
    method ProtoReflect (line 999) | func (x *PagedExpandLegacyMappedResponse) ProtoReflect() protoreflect....
    method Descriptor (line 1012) | func (*PagedExpandLegacyMappedResponse) Descriptor() ([]byte, []int) {
    method GetAlphabetized (line 1016) | func (x *PagedExpandLegacyMappedResponse) GetAlphabetized() map[string...
    method GetNextPageToken (line 1023) | func (x *PagedExpandLegacyMappedResponse) GetNextPageToken() string {
  type WaitRequest (line 1031) | type WaitRequest struct
    method Reset (line 1048) | func (x *WaitRequest) Reset() {
    method String (line 1057) | func (x *WaitRequest) String() string {
    method ProtoMessage (line 1061) | func (*WaitRequest) ProtoMessage() {}
    method ProtoReflect (line 1063) | func (x *WaitRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 1076) | func (*WaitRequest) Descriptor() ([]byte, []int) {
    method GetEnd (line 1080) | func (m *WaitRequest) GetEnd() isWaitRequest_End {
    method GetEndTime (line 1087) | func (x *WaitRequest) GetEndTime() *timestamppb.Timestamp {
    method GetTtl (line 1094) | func (x *WaitRequest) GetTtl() *durationpb.Duration {
    method GetResponse (line 1101) | func (m *WaitRequest) GetResponse() isWaitRequest_Response {
    method GetError (line 1108) | func (x *WaitRequest) GetError() *status.Status {
    method GetSuccess (line 1115) | func (x *WaitRequest) GetSuccess() *WaitResponse {
  type isWaitRequest_End (line 1122) | type isWaitRequest_End interface
  type WaitRequest_EndTime (line 1126) | type WaitRequest_EndTime struct
    method isWaitRequest_End (line 1136) | func (*WaitRequest_EndTime) isWaitRequest_End() {}
  type WaitRequest_Ttl (line 1131) | type WaitRequest_Ttl struct
    method isWaitRequest_End (line 1138) | func (*WaitRequest_Ttl) isWaitRequest_End() {}
  type isWaitRequest_Response (line 1140) | type isWaitRequest_Response interface
  type WaitRequest_Error (line 1144) | type WaitRequest_Error struct
    method isWaitRequest_Response (line 1155) | func (*WaitRequest_Error) isWaitRequest_Response() {}
  type WaitRequest_Success (line 1150) | type WaitRequest_Success struct
    method isWaitRequest_Response (line 1157) | func (*WaitRequest_Success) isWaitRequest_Response() {}
  type WaitResponse (line 1160) | type WaitResponse struct
    method Reset (line 1169) | func (x *WaitResponse) Reset() {
    method String (line 1178) | func (x *WaitResponse) String() string {
    method ProtoMessage (line 1182) | func (*WaitResponse) ProtoMessage() {}
    method ProtoReflect (line 1184) | func (x *WaitResponse) ProtoReflect() protoreflect.Message {
    method Descriptor (line 1197) | func (*WaitResponse) Descriptor() ([]byte, []int) {
    method GetContent (line 1201) | func (x *WaitResponse) GetContent() string {
  type WaitMetadata (line 1209) | type WaitMetadata struct
    method Reset (line 1218) | func (x *WaitMetadata) Reset() {
    method String (line 1227) | func (x *WaitMetadata) String() string {
    method ProtoMessage (line 1231) | func (*WaitMetadata) ProtoMessage() {}
    method ProtoReflect (line 1233) | func (x *WaitMetadata) ProtoReflect() protoreflect.Message {
    method Descriptor (line 1246) | func (*WaitMetadata) Descriptor() ([]byte, []int) {
    method GetEndTime (line 1250) | func (x *WaitMetadata) GetEndTime() *timestamppb.Timestamp {
  type BlockRequest (line 1258) | type BlockRequest struct
    method Reset (line 1272) | func (x *BlockRequest) Reset() {
    method String (line 1281) | func (x *BlockRequest) String() string {
    method ProtoMessage (line 1285) | func (*BlockRequest) ProtoMessage() {}
    method ProtoReflect (line 1287) | func (x *BlockRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 1300) | func (*BlockRequest) Descriptor() ([]byte, []int) {
    method GetResponseDelay (line 1304) | func (x *BlockRequest) GetResponseDelay() *durationpb.Duration {
    method GetResponse (line 1311) | func (m *BlockRequest) GetResponse() isBlockRequest_Response {
    method GetError (line 1318) | func (x *BlockRequest) GetError() *status.Status {
    method GetSuccess (line 1325) | func (x *BlockRequest) GetSuccess() *BlockResponse {
  type isBlockRequest_Response (line 1332) | type isBlockRequest_Response interface
  type BlockRequest_Error (line 1336) | type BlockRequest_Error struct
    method isBlockRequest_Response (line 1347) | func (*BlockRequest_Error) isBlockRequest_Response() {}
  type BlockRequest_Success (line 1342) | type BlockRequest_Success struct
    method isBlockRequest_Response (line 1349) | func (*BlockRequest_Success) isBlockRequest_Response() {}
  type BlockResponse (line 1352) | type BlockResponse struct
    method Reset (line 1362) | func (x *BlockResponse) Reset() {
    method String (line 1371) | func (x *BlockResponse) String() string {
    method ProtoMessage (line 1375) | func (*BlockResponse) ProtoMessage() {}
    method ProtoReflect (line 1377) | func (x *BlockResponse) ProtoReflect() protoreflect.Message {
    method Descriptor (line 1390) | func (*BlockResponse) Descriptor() ([]byte, []int) {
    method GetContent (line 1394) | func (x *BlockResponse) GetContent() string {
  type EchoErrorDetailsResponse_SingleDetail (line 1401) | type EchoErrorDetailsResponse_SingleDetail struct
    method Reset (line 1409) | func (x *EchoErrorDetailsResponse_SingleDetail) Reset() {
    method String (line 1418) | func (x *EchoErrorDetailsResponse_SingleDetail) String() string {
    method ProtoMessage (line 1422) | func (*EchoErrorDetailsResponse_SingleDetail) ProtoMessage() {}
    method ProtoReflect (line 1424) | func (x *EchoErrorDetailsResponse_SingleDetail) ProtoReflect() protore...
    method Descriptor (line 1437) | func (*EchoErrorDetailsResponse_SingleDetail) Descriptor() ([]byte, []...
    method GetError (line 1441) | func (x *EchoErrorDetailsResponse_SingleDetail) GetError() *ErrorWithS...
  type EchoErrorDetailsResponse_MultipleDetails (line 1448) | type EchoErrorDetailsResponse_MultipleDetails struct
    method Reset (line 1456) | func (x *EchoErrorDetailsResponse_MultipleDetails) Reset() {
    method String (line 1465) | func (x *EchoErrorDetailsResponse_MultipleDetails) String() string {
    method ProtoMessage (line 1469) | func (*EchoErrorDetailsResponse_MultipleDetails) ProtoMessage() {}
    method ProtoReflect (line 1471) | func (x *EchoErrorDetailsResponse_MultipleDetails) ProtoReflect() prot...
    method Descriptor (line 1484) | func (*EchoErrorDetailsResponse_MultipleDetails) Descriptor() ([]byte,...
    method GetError (line 1488) | func (x *EchoErrorDetailsResponse_MultipleDetails) GetError() *ErrorWi...
  function file_google_showcase_v1beta1_echo_proto_rawDescGZIP (line 1834) | func file_google_showcase_v1beta1_echo_proto_rawDescGZIP() []byte {
  function init (line 1926) | func init() { file_google_showcase_v1beta1_echo_proto_init() }
  function file_google_showcase_v1beta1_echo_proto_init (line 1927) | func file_google_showcase_v1beta1_echo_proto_init() {
  constant _ (line 2238) | _ = grpc.SupportPackageIsVersion6
  type EchoClient (line 2243) | type EchoClient interface
  type echoClient (line 2294) | type echoClient struct
    method Echo (line 2302) | func (c *echoClient) Echo(ctx context.Context, in *EchoRequest, opts ....
    method EchoErrorDetails (line 2311) | func (c *echoClient) EchoErrorDetails(ctx context.Context, in *EchoErr...
    method FailEchoWithDetails (line 2320) | func (c *echoClient) FailEchoWithDetails(ctx context.Context, in *Fail...
    method Expand (line 2329) | func (c *echoClient) Expand(ctx context.Context, in *ExpandRequest, op...
    method Collect (line 2361) | func (c *echoClient) Collect(ctx context.Context, opts ...grpc.CallOpt...
    method Chat (line 2395) | func (c *echoClient) Chat(ctx context.Context, opts ...grpc.CallOption...
    method PagedExpand (line 2426) | func (c *echoClient) PagedExpand(ctx context.Context, in *PagedExpandR...
    method PagedExpandLegacy (line 2435) | func (c *echoClient) PagedExpandLegacy(ctx context.Context, in *PagedE...
    method PagedExpandLegacyMapped (line 2444) | func (c *echoClient) PagedExpandLegacyMapped(ctx context.Context, in *...
    method Wait (line 2453) | func (c *echoClient) Wait(ctx context.Context, in *WaitRequest, opts ....
    method Block (line 2462) | func (c *echoClient) Block(ctx context.Context, in *BlockRequest, opts...
  function NewEchoClient (line 2298) | func NewEchoClient(cc grpc.ClientConnInterface) EchoClient {
  type Echo_ExpandClient (line 2344) | type Echo_ExpandClient interface
  type echoExpandClient (line 2349) | type echoExpandClient struct
    method Recv (line 2353) | func (x *echoExpandClient) Recv() (*EchoResponse, error) {
  type Echo_CollectClient (line 2370) | type Echo_CollectClient interface
  type echoCollectClient (line 2376) | type echoCollectClient struct
    method Send (line 2380) | func (x *echoCollectClient) Send(m *EchoRequest) error {
    method CloseAndRecv (line 2384) | func (x *echoCollectClient) CloseAndRecv() (*EchoResponse, error) {
  type Echo_ChatClient (line 2404) | type Echo_ChatClient interface
  type echoChatClient (line 2410) | type echoChatClient struct
    method Send (line 2414) | func (x *echoChatClient) Send(m *EchoRequest) error {
    method Recv (line 2418) | func (x *echoChatClient) Recv() (*EchoResponse, error) {
  type EchoServer (line 2472) | type EchoServer interface
  type UnimplementedEchoServer (line 2524) | type UnimplementedEchoServer struct
    method Echo (line 2527) | func (*UnimplementedEchoServer) Echo(context.Context, *EchoRequest) (*...
    method EchoErrorDetails (line 2530) | func (*UnimplementedEchoServer) EchoErrorDetails(context.Context, *Ech...
    method FailEchoWithDetails (line 2533) | func (*UnimplementedEchoServer) FailEchoWithDetails(context.Context, *...
    method Expand (line 2536) | func (*UnimplementedEchoServer) Expand(*ExpandRequest, Echo_ExpandServ...
    method Collect (line 2539) | func (*UnimplementedEchoServer) Collect(Echo_CollectServer) error {
    method Chat (line 2542) | func (*UnimplementedEchoServer) Chat(Echo_ChatServer) error {
    method PagedExpand (line 2545) | func (*UnimplementedEchoServer) PagedExpand(context.Context, *PagedExp...
    method PagedExpandLegacy (line 2548) | func (*UnimplementedEchoServer) PagedExpandLegacy(context.Context, *Pa...
    method PagedExpandLegacyMapped (line 2551) | func (*UnimplementedEchoServer) PagedExpandLegacyMapped(context.Contex...
    method Wait (line 2554) | func (*UnimplementedEchoServer) Wait(context.Context, *WaitRequest) (*...
    method Block (line 2557) | func (*UnimplementedEchoServer) Block(context.Context, *BlockRequest) ...
  function RegisterEchoServer (line 2561) | func RegisterEchoServer(s *grpc.Server, srv EchoServer) {
  function _Echo_Echo_Handler (line 2565) | func _Echo_Echo_Handler(srv interface{}, ctx context.Context, dec func(i...
  function _Echo_EchoErrorDetails_Handler (line 2583) | func _Echo_EchoErrorDetails_Handler(srv interface{}, ctx context.Context...
  function _Echo_FailEchoWithDetails_Handler (line 2601) | func _Echo_FailEchoWithDetails_Handler(srv interface{}, ctx context.Cont...
  function _Echo_Expand_Handler (line 2619) | func _Echo_Expand_Handler(srv interface{}, stream grpc.ServerStream) err...
  type Echo_ExpandServer (line 2627) | type Echo_ExpandServer interface
  type echoExpandServer (line 2632) | type echoExpandServer struct
    method Send (line 2636) | func (x *echoExpandServer) Send(m *EchoResponse) error {
  function _Echo_Collect_Handler (line 2640) | func _Echo_Collect_Handler(srv interface{}, stream grpc.ServerStream) er...
  type Echo_CollectServer (line 2644) | type Echo_CollectServer interface
  type echoCollectServer (line 2650) | type echoCollectServer struct
    method SendAndClose (line 2654) | func (x *echoCollectServer) SendAndClose(m *EchoResponse) error {
    method Recv (line 2658) | func (x *echoCollectServer) Recv() (*EchoRequest, error) {
  function _Echo_Chat_Handler (line 2666) | func _Echo_Chat_Handler(srv interface{}, stream grpc.ServerStream) error {
  type Echo_ChatServer (line 2670) | type Echo_ChatServer interface
  type echoChatServer (line 2676) | type echoChatServer struct
    method Send (line 2680) | func (x *echoChatServer) Send(m *EchoResponse) error {
    method Recv (line 2684) | func (x *echoChatServer) Recv() (*EchoRequest, error) {
  function _Echo_PagedExpand_Handler (line 2692) | func _Echo_PagedExpand_Handler(srv interface{}, ctx context.Context, dec...
  function _Echo_PagedExpandLegacy_Handler (line 2710) | func _Echo_PagedExpandLegacy_Handler(srv interface{}, ctx context.Contex...
  function _Echo_PagedExpandLegacyMapped_Handler (line 2728) | func _Echo_PagedExpandLegacyMapped_Handler(srv interface{}, ctx context....
  function _Echo_Wait_Handler (line 2746) | func _Echo_Wait_Handler(srv interface{}, ctx context.Context, dec func(i...
  function _Echo_Block_Handler (line 2764) | func _Echo_Block_Handler(srv interface{}, ctx context.Context, dec func(...

FILE: server/genproto/identity.pb.go
  constant _ (line 40) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
  constant _ (line 42) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
  type User (line 46) | type User struct
    method Reset (line 79) | func (x *User) Reset() {
    method String (line 88) | func (x *User) String() string {
    method ProtoMessage (line 92) | func (*User) ProtoMessage() {}
    method ProtoReflect (line 94) | func (x *User) ProtoReflect() protoreflect.Message {
    method Descriptor (line 107) | func (*User) Descriptor() ([]byte, []int) {
    method GetName (line 111) | func (x *User) GetName() string {
    method GetDisplayName (line 118) | func (x *User) GetDisplayName() string {
    method GetEmail (line 125) | func (x *User) GetEmail() string {
    method GetCreateTime (line 132) | func (x *User) GetCreateTime() *timestamppb.Timestamp {
    method GetUpdateTime (line 139) | func (x *User) GetUpdateTime() *timestamppb.Timestamp {
    method GetAge (line 146) | func (x *User) GetAge() int32 {
    method GetHeightFeet (line 153) | func (x *User) GetHeightFeet() float64 {
    method GetNickname (line 160) | func (x *User) GetNickname() string {
    method GetEnableNotifications (line 167) | func (x *User) GetEnableNotifications() bool {
  type CreateUserRequest (line 176) | type CreateUserRequest struct
    method Reset (line 185) | func (x *CreateUserRequest) Reset() {
    method String (line 194) | func (x *CreateUserRequest) String() string {
    method ProtoMessage (line 198) | func (*CreateUserRequest) ProtoMessage() {}
    method ProtoReflect (line 200) | func (x *CreateUserRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 213) | func (*CreateUserRequest) Descriptor() ([]byte, []int) {
    method GetUser (line 217) | func (x *CreateUserRequest) GetUser() *User {
  type GetUserRequest (line 226) | type GetUserRequest struct
    method Reset (line 235) | func (x *GetUserRequest) Reset() {
    method String (line 244) | func (x *GetUserRequest) String() string {
    method ProtoMessage (line 248) | func (*GetUserRequest) ProtoMessage() {}
    method ProtoReflect (line 250) | func (x *GetUserRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 263) | func (*GetUserRequest) Descriptor() ([]byte, []int) {
    method GetName (line 267) | func (x *GetUserRequest) GetName() string {
  type UpdateUserRequest (line 276) | type UpdateUserRequest struct
    method Reset (line 288) | func (x *UpdateUserRequest) Reset() {
    method String (line 297) | func (x *UpdateUserRequest) String() string {
    method ProtoMessage (line 301) | func (*UpdateUserRequest) ProtoMessage() {}
    method ProtoReflect (line 303) | func (x *UpdateUserRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 316) | func (*UpdateUserRequest) Descriptor() ([]byte, []int) {
    method GetUser (line 320) | func (x *UpdateUserRequest) GetUser() *User {
    method GetUpdateMask (line 327) | func (x *UpdateUserRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
  type DeleteUserRequest (line 336) | type DeleteUserRequest struct
    method Reset (line 345) | func (x *DeleteUserRequest) Reset() {
    method String (line 354) | func (x *DeleteUserRequest) String() string {
    method ProtoMessage (line 358) | func (*DeleteUserRequest) ProtoMessage() {}
    method ProtoReflect (line 360) | func (x *DeleteUserRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 373) | func (*DeleteUserRequest) Descriptor() ([]byte, []int) {
    method GetName (line 377) | func (x *DeleteUserRequest) GetName() string {
  type ListUsersRequest (line 386) | type ListUsersRequest struct
    method Reset (line 400) | func (x *ListUsersRequest) Reset() {
    method String (line 409) | func (x *ListUsersRequest) String() string {
    method ProtoMessage (line 413) | func (*ListUsersRequest) ProtoMessage() {}
    method ProtoReflect (line 415) | func (x *ListUsersRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 428) | func (*ListUsersRequest) Descriptor() ([]byte, []int) {
    method GetPageSize (line 432) | func (x *ListUsersRequest) GetPageSize() int32 {
    method GetPageToken (line 439) | func (x *ListUsersRequest) GetPageToken() string {
  type ListUsersResponse (line 448) | type ListUsersResponse struct
    method Reset (line 462) | func (x *ListUsersResponse) Reset() {
    method String (line 471) | func (x *ListUsersResponse) String() string {
    method ProtoMessage (line 475) | func (*ListUsersResponse) ProtoMessage() {}
    method ProtoReflect (line 477) | func (x *ListUsersResponse) ProtoReflect() protoreflect.Message {
    method Descriptor (line 490) | func (*ListUsersResponse) Descriptor() ([]byte, []int) {
    method GetUsers (line 494) | func (x *ListUsersResponse) GetUsers() []*User {
    method GetNextPageToken (line 501) | func (x *ListUsersResponse) GetNextPageToken() string {
  function file_google_showcase_v1beta1_identity_proto_rawDescGZIP (line 657) | func file_google_showcase_v1beta1_identity_proto_rawDescGZIP() []byte {
  function init (line 701) | func init() { file_google_showcase_v1beta1_identity_proto_init() }
  function file_google_showcase_v1beta1_identity_proto_init (line 702) | func file_google_showcase_v1beta1_identity_proto_init() {
  constant _ (line 819) | _ = grpc.SupportPackageIsVersion6
  type IdentityClient (line 824) | type IdentityClient interface
  type identityClient (line 837) | type identityClient struct
    method CreateUser (line 845) | func (c *identityClient) CreateUser(ctx context.Context, in *CreateUse...
    method GetUser (line 854) | func (c *identityClient) GetUser(ctx context.Context, in *GetUserReque...
    method UpdateUser (line 863) | func (c *identityClient) UpdateUser(ctx context.Context, in *UpdateUse...
    method DeleteUser (line 872) | func (c *identityClient) DeleteUser(ctx context.Context, in *DeleteUse...
    method ListUsers (line 881) | func (c *identityClient) ListUsers(ctx context.Context, in *ListUsersR...
  function NewIdentityClient (line 841) | func NewIdentityClient(cc grpc.ClientConnInterface) IdentityClient {
  type IdentityServer (line 891) | type IdentityServer interface
  type UnimplementedIdentityServer (line 905) | type UnimplementedIdentityServer struct
    method CreateUser (line 908) | func (*UnimplementedIdentityServer) CreateUser(context.Context, *Creat...
    method GetUser (line 911) | func (*UnimplementedIdentityServer) GetUser(context.Context, *GetUserR...
    method UpdateUser (line 914) | func (*UnimplementedIdentityServer) UpdateUser(context.Context, *Updat...
    method DeleteUser (line 917) | func (*UnimplementedIdentityServer) DeleteUser(context.Context, *Delet...
    method ListUsers (line 920) | func (*UnimplementedIdentityServer) ListUsers(context.Context, *ListUs...
  function RegisterIdentityServer (line 924) | func RegisterIdentityServer(s *grpc.Server, srv IdentityServer) {
  function _Identity_CreateUser_Handler (line 928) | func _Identity_CreateUser_Handler(srv interface{}, ctx context.Context, ...
  function _Identity_GetUser_Handler (line 946) | func _Identity_GetUser_Handler(srv interface{}, ctx context.Context, dec...
  function _Identity_UpdateUser_Handler (line 964) | func _Identity_UpdateUser_Handler(srv interface{}, ctx context.Context, ...
  function _Identity_DeleteUser_Handler (line 982) | func _Identity_DeleteUser_Handler(srv interface{}, ctx context.Context, ...
  function _Identity_ListUsers_Handler (line 1000) | func _Identity_ListUsers_Handler(srv interface{}, ctx context.Context, d...

FILE: server/genproto/messaging.pb.go
  constant _ (line 42) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
  constant _ (line 44) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
  type StreamBlurbsResponse_Action (line 48) | type StreamBlurbsResponse_Action
    method Enum (line 76) | func (x StreamBlurbsResponse_Action) Enum() *StreamBlurbsResponse_Acti...
    method String (line 82) | func (x StreamBlurbsResponse_Action) String() string {
    method Descriptor (line 86) | func (StreamBlurbsResponse_Action) Descriptor() protoreflect.EnumDescr...
    method Type (line 90) | func (StreamBlurbsResponse_Action) Type() protoreflect.EnumType {
    method Number (line 94) | func (x StreamBlurbsResponse_Action) Number() protoreflect.EnumNumber {
    method EnumDescriptor (line 99) | func (StreamBlurbsResponse_Action) EnumDescriptor() ([]byte, []int) {
  constant StreamBlurbsResponse_ACTION_UNSPECIFIED (line 51) | StreamBlurbsResponse_ACTION_UNSPECIFIED StreamBlurbsResponse_Action = 0
  constant StreamBlurbsResponse_CREATE (line 53) | StreamBlurbsResponse_CREATE StreamBlurbsResponse_Action = 1
  constant StreamBlurbsResponse_UPDATE (line 55) | StreamBlurbsResponse_UPDATE StreamBlurbsResponse_Action = 2
  constant StreamBlurbsResponse_DELETE (line 57) | StreamBlurbsResponse_DELETE StreamBlurbsResponse_Action = 3
  type Room (line 104) | type Room struct
    method Reset (line 121) | func (x *Room) Reset() {
    method String (line 130) | func (x *Room) String() string {
    method ProtoMessage (line 134) | func (*Room) ProtoMessage() {}
    method ProtoReflect (line 136) | func (x *Room) ProtoReflect() protoreflect.Message {
    method Descriptor (line 149) | func (*Room) Descriptor() ([]byte, []int) {
    method GetName (line 153) | func (x *Room) GetName() string {
    method GetDisplayName (line 160) | func (x *Room) GetDisplayName() string {
    method GetDescription (line 167) | func (x *Room) GetDescription() string {
    method GetCreateTime (line 174) | func (x *Room) GetCreateTime() *timestamppb.Timestamp {
    method GetUpdateTime (line 181) | func (x *Room) GetUpdateTime() *timestamppb.Timestamp {
  type CreateRoomRequest (line 190) | type CreateRoomRequest struct
    method Reset (line 199) | func (x *CreateRoomRequest) Reset() {
    method String (line 208) | func (x *CreateRoomRequest) String() string {
    method ProtoMessage (line 212) | func (*CreateRoomRequest) ProtoMessage() {}
    method ProtoReflect (line 214) | func (x *CreateRoomRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 227) | func (*CreateRoomRequest) Descriptor() ([]byte, []int) {
    method GetRoom (line 231) | func (x *CreateRoomRequest) GetRoom() *Room {
  type GetRoomRequest (line 240) | type GetRoomRequest struct
    method Reset (line 249) | func (x *GetRoomRequest) Reset() {
    method String (line 258) | func (x *GetRoomRequest) String() string {
    method ProtoMessage (line 262) | func (*GetRoomRequest) ProtoMessage() {}
    method ProtoReflect (line 264) | func (x *GetRoomRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 277) | func (*GetRoomRequest) Descriptor() ([]byte, []int) {
    method GetName (line 281) | func (x *GetRoomRequest) GetName() string {
  type UpdateRoomRequest (line 290) | type UpdateRoomRequest struct
    method Reset (line 302) | func (x *UpdateRoomRequest) Reset() {
    method String (line 311) | func (x *UpdateRoomRequest) String() string {
    method ProtoMessage (line 315) | func (*UpdateRoomRequest) ProtoMessage() {}
    method ProtoReflect (line 317) | func (x *UpdateRoomRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 330) | func (*UpdateRoomRequest) Descriptor() ([]byte, []int) {
    method GetRoom (line 334) | func (x *UpdateRoomRequest) GetRoom() *Room {
    method GetUpdateMask (line 341) | func (x *UpdateRoomRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
  type DeleteRoomRequest (line 350) | type DeleteRoomRequest struct
    method Reset (line 359) | func (x *DeleteRoomRequest) Reset() {
    method String (line 368) | func (x *DeleteRoomRequest) String() string {
    method ProtoMessage (line 372) | func (*DeleteRoomRequest) ProtoMessage() {}
    method ProtoReflect (line 374) | func (x *DeleteRoomRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 387) | func (*DeleteRoomRequest) Descriptor() ([]byte, []int) {
    method GetName (line 391) | func (x *DeleteRoomRequest) GetName() string {
  type ListRoomsRequest (line 400) | type ListRoomsRequest struct
    method Reset (line 414) | func (x *ListRoomsRequest) Reset() {
    method String (line 423) | func (x *ListRoomsRequest) String() string {
    method ProtoMessage (line 427) | func (*ListRoomsRequest) ProtoMessage() {}
    method ProtoReflect (line 429) | func (x *ListRoomsRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 442) | func (*ListRoomsRequest) Descriptor() ([]byte, []int) {
    method GetPageSize (line 446) | func (x *ListRoomsRequest) GetPageSize() int32 {
    method GetPageToken (line 453) | func (x *ListRoomsRequest) GetPageToken() string {
  type ListRoomsResponse (line 462) | type ListRoomsResponse struct
    method Reset (line 476) | func (x *ListRoomsResponse) Reset() {
    method String (line 485) | func (x *ListRoomsResponse) String() string {
    method ProtoMessage (line 489) | func (*ListRoomsResponse) ProtoMessage() {}
    method ProtoReflect (line 491) | func (x *ListRoomsResponse) ProtoReflect() protoreflect.Message {
    method Descriptor (line 504) | func (*ListRoomsResponse) Descriptor() ([]byte, []int) {
    method GetRooms (line 508) | func (x *ListRoomsResponse) GetRooms() []*Room {
    method GetNextPageToken (line 515) | func (x *ListRoomsResponse) GetNextPageToken() string {
  type Blurb (line 524) | type Blurb struct
    method Reset (line 554) | func (x *Blurb) Reset() {
    method String (line 563) | func (x *Blurb) String() string {
    method ProtoMessage (line 567) | func (*Blurb) ProtoMessage() {}
    method ProtoReflect (line 569) | func (x *Blurb) ProtoReflect() protoreflect.Message {
    method Descriptor (line 582) | func (*Blurb) Descriptor() ([]byte, []int) {
    method GetName (line 586) | func (x *Blurb) GetName() string {
    method GetUser (line 593) | func (x *Blurb) GetUser() string {
    method GetContent (line 600) | func (m *Blurb) GetContent() isBlurb_Content {
    method GetText (line 607) | func (x *Blurb) GetText() string {
    method GetImage (line 614) | func (x *Blurb) GetImage() []byte {
    method GetCreateTime (line 621) | func (x *Blurb) GetCreateTime() *timestamppb.Timestamp {
    method GetUpdateTime (line 628) | func (x *Blurb) GetUpdateTime() *timestamppb.Timestamp {
    method GetLegacyId (line 635) | func (m *Blurb) GetLegacyId() isBlurb_LegacyId {
    method GetLegacyRoomId (line 642) | func (x *Blurb) GetLegacyRoomId() string {
    method GetLegacyUserId (line 649) | func (x *Blurb) GetLegacyUserId() string {
  type isBlurb_Content (line 656) | type isBlurb_Content interface
  type Blurb_Text (line 660) | type Blurb_Text struct
    method isBlurb_Content (line 670) | func (*Blurb_Text) isBlurb_Content() {}
  type Blurb_Image (line 665) | type Blurb_Image struct
    method isBlurb_Content (line 672) | func (*Blurb_Image) isBlurb_Content() {}
  type isBlurb_LegacyId (line 674) | type isBlurb_LegacyId interface
  type Blurb_LegacyRoomId (line 678) | type Blurb_LegacyRoomId struct
    method isBlurb_LegacyId (line 692) | func (*Blurb_LegacyRoomId) isBlurb_LegacyId() {}
  type Blurb_LegacyUserId (line 685) | type Blurb_LegacyUserId struct
    method isBlurb_LegacyId (line 694) | func (*Blurb_LegacyUserId) isBlurb_LegacyId() {}
  type CreateBlurbRequest (line 698) | type CreateBlurbRequest struct
    method Reset (line 710) | func (x *CreateBlurbRequest) Reset() {
    method String (line 719) | func (x *CreateBlurbRequest) String() string {
    method ProtoMessage (line 723) | func (*CreateBlurbRequest) ProtoMessage() {}
    method ProtoReflect (line 725) | func (x *CreateBlurbRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 738) | func (*CreateBlurbRequest) Descriptor() ([]byte, []int) {
    method GetParent (line 742) | func (x *CreateBlurbRequest) GetParent() string {
    method GetBlurb (line 749) | func (x *CreateBlurbRequest) GetBlurb() *Blurb {
  type GetBlurbRequest (line 758) | type GetBlurbRequest struct
    method Reset (line 767) | func (x *GetBlurbRequest) Reset() {
    method String (line 776) | func (x *GetBlurbRequest) String() string {
    method ProtoMessage (line 780) | func (*GetBlurbRequest) ProtoMessage() {}
    method ProtoReflect (line 782) | func (x *GetBlurbRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 795) | func (*GetBlurbRequest) Descriptor() ([]byte, []int) {
    method GetName (line 799) | func (x *GetBlurbRequest) GetName() string {
  type UpdateBlurbRequest (line 808) | type UpdateBlurbRequest struct
    method Reset (line 820) | func (x *UpdateBlurbRequest) Reset() {
    method String (line 829) | func (x *UpdateBlurbRequest) String() string {
    method ProtoMessage (line 833) | func (*UpdateBlurbRequest) ProtoMessage() {}
    method ProtoReflect (line 835) | func (x *UpdateBlurbRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 848) | func (*UpdateBlurbRequest) Descriptor() ([]byte, []int) {
    method GetBlurb (line 852) | func (x *UpdateBlurbRequest) GetBlurb() *Blurb {
    method GetUpdateMask (line 859) | func (x *UpdateBlurbRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
  type DeleteBlurbRequest (line 868) | type DeleteBlurbRequest struct
    method Reset (line 877) | func (x *DeleteBlurbRequest) Reset() {
    method String (line 886) | func (x *DeleteBlurbRequest) String() string {
    method ProtoMessage (line 890) | func (*DeleteBlurbRequest) ProtoMessage() {}
    method ProtoReflect (line 892) | func (x *DeleteBlurbRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 905) | func (*DeleteBlurbRequest) Descriptor() ([]byte, []int) {
    method GetName (line 909) | func (x *DeleteBlurbRequest) GetName() string {
  type ListBlurbsRequest (line 918) | type ListBlurbsRequest struct
    method Reset (line 935) | func (x *ListBlurbsRequest) Reset() {
    method String (line 944) | func (x *ListBlurbsRequest) String() string {
    method ProtoMessage (line 948) | func (*ListBlurbsRequest) ProtoMessage() {}
    method ProtoReflect (line 950) | func (x *ListBlurbsRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 963) | func (*ListBlurbsRequest) Descriptor() ([]byte, []int) {
    method GetParent (line 967) | func (x *ListBlurbsRequest) GetParent() string {
    method GetPageSize (line 974) | func (x *ListBlurbsRequest) GetPageSize() int32 {
    method GetPageToken (line 981) | func (x *ListBlurbsRequest) GetPageToken() string {
  type ListBlurbsResponse (line 990) | type ListBlurbsResponse struct
    method Reset (line 1004) | func (x *ListBlurbsResponse) Reset() {
    method String (line 1013) | func (x *ListBlurbsResponse) String() string {
    method ProtoMessage (line 1017) | func (*ListBlurbsResponse) ProtoMessage() {}
    method ProtoReflect (line 1019) | func (x *ListBlurbsResponse) ProtoReflect() protoreflect.Message {
    method Descriptor (line 1032) | func (*ListBlurbsResponse) Descriptor() ([]byte, []int) {
    method GetBlurbs (line 1036) | func (x *ListBlurbsResponse) GetBlurbs() []*Blurb {
    method GetNextPageToken (line 1043) | func (x *ListBlurbsResponse) GetNextPageToken() string {
  type SearchBlurbsRequest (line 1052) | type SearchBlurbsRequest struct
    method Reset (line 1074) | func (x *SearchBlurbsRequest) Reset() {
    method String (line 1083) | func (x *SearchBlurbsRequest) String() string {
    method ProtoMessage (line 1087) | func (*SearchBlurbsRequest) ProtoMessage() {}
    method ProtoReflect (line 1089) | func (x *SearchBlurbsRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 1102) | func (*SearchBlurbsRequest) Descriptor() ([]byte, []int) {
    method GetQuery (line 1106) | func (x *SearchBlurbsRequest) GetQuery() string {
    method GetParent (line 1113) | func (x *SearchBlurbsRequest) GetParent() string {
    method GetPageSize (line 1120) | func (x *SearchBlurbsRequest) GetPageSize() int32 {
    method GetPageToken (line 1127) | func (x *SearchBlurbsRequest) GetPageToken() string {
  type SearchBlurbsMetadata (line 1136) | type SearchBlurbsMetadata struct
    method Reset (line 1145) | func (x *SearchBlurbsMetadata) Reset() {
    method String (line 1154) | func (x *SearchBlurbsMetadata) String() string {
    method ProtoMessage (line 1158) | func (*SearchBlurbsMetadata) ProtoMessage() {}
    method ProtoReflect (line 1160) | func (x *SearchBlurbsMetadata) ProtoReflect() protoreflect.Message {
    method Descriptor (line 1173) | func (*SearchBlurbsMetadata) Descriptor() ([]byte, []int) {
    method GetRetryInfo (line 1177) | func (x *SearchBlurbsMetadata) GetRetryInfo() *errdetails.RetryInfo {
  type SearchBlurbsResponse (line 1186) | type SearchBlurbsResponse struct
    method Reset (line 1200) | func (x *SearchBlurbsResponse) Reset() {
    method String (line 1209) | func (x *SearchBlurbsResponse) String() string {
    method ProtoMessage (line 1213) | func (*SearchBlurbsResponse) ProtoMessage() {}
    method ProtoReflect (line 1215) | func (x *SearchBlurbsResponse) ProtoReflect() protoreflect.Message {
    method Descriptor (line 1228) | func (*SearchBlurbsResponse) Descriptor() ([]byte, []int) {
    method GetBlurbs (line 1232) | func (x *SearchBlurbsResponse) GetBlurbs() []*Blurb {
    method GetNextPageToken (line 1239) | func (x *SearchBlurbsResponse) GetNextPageToken() string {
  type StreamBlurbsRequest (line 1248) | type StreamBlurbsRequest struct
    method Reset (line 1259) | func (x *StreamBlurbsRequest) Reset() {
    method String (line 1268) | func (x *StreamBlurbsRequest) String() string {
    method ProtoMessage (line 1272) | func (*StreamBlurbsRequest) ProtoMessage() {}
    method ProtoReflect (line 1274) | func (x *StreamBlurbsRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 1287) | func (*StreamBlurbsRequest) Descriptor() ([]byte, []int) {
    method GetName (line 1291) | func (x *StreamBlurbsRequest) GetName() string {
    method GetExpireTime (line 1298) | func (x *StreamBlurbsRequest) GetExpireTime() *timestamppb.Timestamp {
  type StreamBlurbsResponse (line 1307) | type StreamBlurbsResponse struct
    method Reset (line 1318) | func (x *StreamBlurbsResponse) Reset() {
    method String (line 1327) | func (x *StreamBlurbsResponse) String() string {
    method ProtoMessage (line 1331) | func (*StreamBlurbsResponse) ProtoMessage() {}
    method ProtoReflect (line 1333) | func (x *StreamBlurbsResponse) ProtoReflect() protoreflect.Message {
    method Descriptor (line 1346) | func (*StreamBlurbsResponse) Descriptor() ([]byte, []int) {
    method GetBlurb (line 1350) | func (x *StreamBlurbsResponse) GetBlurb() *Blurb {
    method GetAction (line 1357) | func (x *StreamBlurbsResponse) GetAction() StreamBlurbsResponse_Action {
  type SendBlurbsResponse (line 1366) | type SendBlurbsResponse struct
    method Reset (line 1375) | func (x *SendBlurbsResponse) Reset() {
    method String (line 1384) | func (x *SendBlurbsResponse) String() string {
    method ProtoMessage (line 1388) | func (*SendBlurbsResponse) ProtoMessage() {}
    method ProtoReflect (line 1390) | func (x *SendBlurbsResponse) ProtoReflect() protoreflect.Message {
    method Descriptor (line 1403) | func (*SendBlurbsResponse) Descriptor() ([]byte, []int) {
    method GetNames (line 1407) | func (x *SendBlurbsResponse) GetNames() []string {
  type ConnectRequest (line 1416) | type ConnectRequest struct
    method Reset (line 1428) | func (x *ConnectRequest) Reset() {
    method String (line 1437) | func (x *ConnectRequest) String() string {
    method ProtoMessage (line 1441) | func (*ConnectRequest) ProtoMessage() {}
    method ProtoReflect (line 1443) | func (x *ConnectRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 1456) | func (*ConnectRequest) Descriptor() ([]byte, []int) {
    method GetRequest (line 1460) | func (m *ConnectRequest) GetRequest() isConnectRequest_Request {
    method GetConfig (line 1467) | func (x *ConnectRequest) GetConfig() *ConnectRequest_ConnectConfig {
    method GetBlurb (line 1474) | func (x *ConnectRequest) GetBlurb() *Blurb {
  type isConnectRequest_Request (line 1481) | type isConnectRequest_Request interface
  type ConnectRequest_Config (line 1485) | type ConnectRequest_Config struct
    method isConnectRequest_Request (line 1496) | func (*ConnectRequest_Config) isConnectRequest_Request() {}
  type ConnectRequest_Blurb (line 1491) | type ConnectRequest_Blurb struct
    method isConnectRequest_Request (line 1498) | func (*ConnectRequest_Blurb) isConnectRequest_Request() {}
  type ConnectRequest_ConnectConfig (line 1500) | type ConnectRequest_ConnectConfig struct
    method Reset (line 1509) | func (x *ConnectRequest_ConnectConfig) Reset() {
    method String (line 1518) | func (x *ConnectRequest_ConnectConfig) String() string {
    method ProtoMessage (line 1522) | func (*ConnectRequest_ConnectConfig) ProtoMessage() {}
    method ProtoReflect (line 1524) | func (x *ConnectRequest_ConnectConfig) ProtoReflect() protoreflect.Mes...
    method Descriptor (line 1537) | func (*ConnectRequest_ConnectConfig) Descriptor() ([]byte, []int) {
    method GetParent (line 1541) | func (x *ConnectRequest_ConnectConfig) GetParent() string {
  function file_google_showcase_v1beta1_messaging_proto_rawDescGZIP (line 1940) | func file_google_showcase_v1beta1_messaging_proto_rawDescGZIP() []byte {
  function init (line 2034) | func init() { file_google_showcase_v1beta1_messaging_proto_init() }
  function file_google_showcase_v1beta1_messaging_proto_init (line 2035) | func file_google_showcase_v1beta1_messaging_proto_init() {
  constant _ (line 2342) | _ = grpc.SupportPackageIsVersion6
  type MessagingClient (line 2347) | type MessagingClient interface
  type messagingClient (line 2388) | type messagingClient struct
    method CreateRoom (line 2396) | func (c *messagingClient) CreateRoom(ctx context.Context, in *CreateRo...
    method GetRoom (line 2405) | func (c *messagingClient) GetRoom(ctx context.Context, in *GetRoomRequ...
    method UpdateRoom (line 2414) | func (c *messagingClient) UpdateRoom(ctx context.Context, in *UpdateRo...
    method DeleteRoom (line 2423) | func (c *messagingClient) DeleteRoom(ctx context.Context, in *DeleteRo...
    method ListRooms (line 2432) | func (c *messagingClient) ListRooms(ctx context.Context, in *ListRooms...
    method CreateBlurb (line 2441) | func (c *messagingClient) CreateBlurb(ctx context.Context, in *CreateB...
    method GetBlurb (line 2450) | func (c *messagingClient) GetBlurb(ctx context.Context, in *GetBlurbRe...
    method UpdateBlurb (line 2459) | func (c *messagingClient) UpdateBlurb(ctx context.Context, in *UpdateB...
    method DeleteBlurb (line 2468) | func (c *messagingClient) DeleteBlurb(ctx context.Context, in *DeleteB...
    method ListBlurbs (line 2477) | func (c *messagingClient) ListBlurbs(ctx context.Context, in *ListBlur...
    method SearchBlurbs (line 2486) | func (c *messagingClient) SearchBlurbs(ctx context.Context, in *Search...
    method StreamBlurbs (line 2495) | func (c *messagingClient) StreamBlurbs(ctx context.Context, in *Stream...
    method SendBlurbs (line 2527) | func (c *messagingClient) SendBlurbs(ctx context.Context, opts ...grpc...
    method Connect (line 2561) | func (c *messagingClient) Connect(ctx context.Context, opts ...grpc.Ca...
  function NewMessagingClient (line 2392) | func NewMessagingClient(cc grpc.ClientConnInterface) MessagingClient {
  type Messaging_StreamBlurbsClient (line 2510) | type Messaging_StreamBlurbsClient interface
  type messagingStreamBlurbsClient (line 2515) | type messagingStreamBlurbsClient struct
    method Recv (line 2519) | func (x *messagingStreamBlurbsClient) Recv() (*StreamBlurbsResponse, e...
  type Messaging_SendBlurbsClient (line 2536) | type Messaging_SendBlurbsClient interface
  type messagingSendBlurbsClient (line 2542) | type messagingSendBlurbsClient struct
    method Send (line 2546) | func (x *messagingSendBlurbsClient) Send(m *CreateBlurbRequest) error {
    method CloseAndRecv (line 2550) | func (x *messagingSendBlurbsClient) CloseAndRecv() (*SendBlurbsRespons...
  type Messaging_ConnectClient (line 2570) | type Messaging_ConnectClient interface
  type messagingConnectClient (line 2576) | type messagingConnectClient struct
    method Send (line 2580) | func (x *messagingConnectClient) Send(m *ConnectRequest) error {
    method Recv (line 2584) | func (x *messagingConnectClient) Recv() (*StreamBlurbsResponse, error) {
  type MessagingServer (line 2593) | type MessagingServer interface
  type UnimplementedMessagingServer (line 2635) | type UnimplementedMessagingServer struct
    method CreateRoom (line 2638) | func (*UnimplementedMessagingServer) CreateRoom(context.Context, *Crea...
    method GetRoom (line 2641) | func (*UnimplementedMessagingServer) GetRoom(context.Context, *GetRoom...
    method UpdateRoom (line 2644) | func (*UnimplementedMessagingServer) UpdateRoom(context.Context, *Upda...
    method DeleteRoom (line 2647) | func (*UnimplementedMessagingServer) DeleteRoom(context.Context, *Dele...
    method ListRooms (line 2650) | func (*UnimplementedMessagingServer) ListRooms(context.Context, *ListR...
    method CreateBlurb (line 2653) | func (*UnimplementedMessagingServer) CreateBlurb(context.Context, *Cre...
    method GetBlurb (line 2656) | func (*UnimplementedMessagingServer) GetBlurb(context.Context, *GetBlu...
    method UpdateBlurb (line 2659) | func (*UnimplementedMessagingServer) UpdateBlurb(context.Context, *Upd...
    method DeleteBlurb (line 2662) | func (*UnimplementedMessagingServer) DeleteBlurb(context.Context, *Del...
    method ListBlurbs (line 2665) | func (*UnimplementedMessagingServer) ListBlurbs(context.Context, *List...
    method SearchBlurbs (line 2668) | func (*UnimplementedMessagingServer) SearchBlurbs(context.Context, *Se...
    method StreamBlurbs (line 2671) | func (*UnimplementedMessagingServer) StreamBlurbs(*StreamBlurbsRequest...
    method SendBlurbs (line 2674) | func (*UnimplementedMessagingServer) SendBlurbs(Messaging_SendBlurbsSe...
    method Connect (line 2677) | func (*UnimplementedMessagingServer) Connect(Messaging_ConnectServer) ...
  function RegisterMessagingServer (line 2681) | func RegisterMessagingServer(s *grpc.Server, srv MessagingServer) {
  function _Messaging_CreateRoom_Handler (line 2685) | func _Messaging_CreateRoom_Handler(srv interface{}, ctx context.Context,...
  function _Messaging_GetRoom_Handler (line 2703) | func _Messaging_GetRoom_Handler(srv interface{}, ctx context.Context, de...
  function _Messaging_UpdateRoom_Handler (line 2721) | func _Messaging_UpdateRoom_Handler(srv interface{}, ctx context.Context,...
  function _Messaging_DeleteRoom_Handler (line 2739) | func _Messaging_DeleteRoom_Handler(srv interface{}, ctx context.Context,...
  function _Messaging_ListRooms_Handler (line 2757) | func _Messaging_ListRooms_Handler(srv interface{}, ctx context.Context, ...
  function _Messaging_CreateBlurb_Handler (line 2775) | func _Messaging_CreateBlurb_Handler(srv interface{}, ctx context.Context...
  function _Messaging_GetBlurb_Handler (line 2793) | func _Messaging_GetBlurb_Handler(srv interface{}, ctx context.Context, d...
  function _Messaging_UpdateBlurb_Handler (line 2811) | func _Messaging_UpdateBlurb_Handler(srv interface{}, ctx context.Context...
  function _Messaging_DeleteBlurb_Handler (line 2829) | func _Messaging_DeleteBlurb_Handler(srv interface{}, ctx context.Context...
  function _Messaging_ListBlurbs_Handler (line 2847) | func _Messaging_ListBlurbs_Handler(srv interface{}, ctx context.Context,...
  function _Messaging_SearchBlurbs_Handler (line 2865) | func _Messaging_SearchBlurbs_Handler(srv interface{}, ctx context.Contex...
  function _Messaging_StreamBlurbs_Handler (line 2883) | func _Messaging_StreamBlurbs_Handler(srv interface{}, stream grpc.Server...
  type Messaging_StreamBlurbsServer (line 2891) | type Messaging_StreamBlurbsServer interface
  type messagingStreamBlurbsServer (line 2896) | type messagingStreamBlurbsServer struct
    method Send (line 2900) | func (x *messagingStreamBlurbsServer) Send(m *StreamBlurbsResponse) er...
  function _Messaging_SendBlurbs_Handler (line 2904) | func _Messaging_SendBlurbs_Handler(srv interface{}, stream grpc.ServerSt...
  type Messaging_SendBlurbsServer (line 2908) | type Messaging_SendBlurbsServer interface
  type messagingSendBlurbsServer (line 2914) | type messagingSendBlurbsServer struct
    method SendAndClose (line 2918) | func (x *messagingSendBlurbsServer) SendAndClose(m *SendBlurbsResponse...
    method Recv (line 2922) | func (x *messagingSendBlurbsServer) Recv() (*CreateBlurbRequest, error) {
  function _Messaging_Connect_Handler (line 2930) | func _Messaging_Connect_Handler(srv interface{}, stream grpc.ServerStrea...
  type Messaging_ConnectServer (line 2934) | type Messaging_ConnectServer interface
  type messagingConnectServer (line 2940) | type messagingConnectServer struct
    method Send (line 2944) | func (x *messagingConnectServer) Send(m *StreamBlurbsResponse) error {
    method Recv (line 2948) | func (x *messagingConnectServer) Recv() (*ConnectRequest, error) {

FILE: server/genproto/rest_error.pb.go
  constant _ (line 34) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
  constant _ (line 36) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
  type RestError (line 41) | type RestError struct
    method Reset (line 49) | func (x *RestError) Reset() {
    method String (line 58) | func (x *RestError) String() string {
    method ProtoMessage (line 62) | func (*RestError) ProtoMessage() {}
    method ProtoReflect (line 64) | func (x *RestError) ProtoReflect() protoreflect.Message {
    method Descriptor (line 77) | func (*RestError) Descriptor() ([]byte, []int) {
    method GetError (line 81) | func (x *RestError) GetError() *RestError_Status {
  type RestError_Status (line 88) | type RestError_Status struct
    method Reset (line 103) | func (x *RestError_Status) Reset() {
    method String (line 112) | func (x *RestError_Status) String() string {
    method ProtoMessage (line 116) | func (*RestError_Status) ProtoMessage() {}
    method ProtoReflect (line 118) | func (x *RestError_Status) ProtoReflect() protoreflect.Message {
    method Descriptor (line 131) | func (*RestError_Status) Descriptor() ([]byte, []int) {
    method GetCode (line 135) | func (x *RestError_Status) GetCode() int32 {
    method GetMessage (line 142) | func (x *RestError_Status) GetMessage() string {
    method GetStatus (line 149) | func (x *RestError_Status) GetStatus() code.Code {
    method GetDetails (line 156) | func (x *RestError_Status) GetDetails() []*anypb.Any {
  function file_google_showcase_v1beta1_rest_error_proto_rawDescGZIP (line 203) | func file_google_showcase_v1beta1_rest_error_proto_rawDescGZIP() []byte {
  function init (line 228) | func init() { file_google_showcase_v1beta1_rest_error_proto_init() }
  function file_google_showcase_v1beta1_rest_error_proto_init (line 229) | func file_google_showcase_v1beta1_rest_error_proto_init() {

FILE: server/genproto/sequence.pb.go
  constant _ (line 41) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
  constant _ (line 43) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
  type Sequence (line 47) | type Sequence struct
    method Reset (line 58) | func (x *Sequence) Reset() {
    method String (line 67) | func (x *Sequence) String() string {
    method ProtoMessage (line 71) | func (*Sequence) ProtoMessage() {}
    method ProtoReflect (line 73) | func (x *Sequence) ProtoReflect() protoreflect.Message {
    method Descriptor (line 86) | func (*Sequence) Descriptor() ([]byte, []int) {
    method GetName (line 90) | func (x *Sequence) GetName() string {
    method GetResponses (line 97) | func (x *Sequence) GetResponses() []*Sequence_Response {
  type StreamingSequence (line 106) | type StreamingSequence struct
    method Reset (line 121) | func (x *StreamingSequence) Reset() {
    method String (line 130) | func (x *StreamingSequence) String() string {
    method ProtoMessage (line 134) | func (*StreamingSequence) ProtoMessage() {}
    method ProtoReflect (line 136) | func (x *StreamingSequence) ProtoReflect() protoreflect.Message {
    method Descriptor (line 149) | func (*StreamingSequence) Descriptor() ([]byte, []int) {
    method GetName (line 153) | func (x *StreamingSequence) GetName() string {
    method GetContent (line 160) | func (x *StreamingSequence) GetContent() string {
    method GetResponses (line 167) | func (x *StreamingSequence) GetResponses() []*StreamingSequence_Respon...
  type StreamingSequenceReport (line 175) | type StreamingSequenceReport struct
    method Reset (line 185) | func (x *StreamingSequenceReport) Reset() {
    method String (line 194) | func (x *StreamingSequenceReport) String() string {
    method ProtoMessage (line 198) | func (*StreamingSequenceReport) ProtoMessage() {}
    method ProtoReflect (line 200) | func (x *StreamingSequenceReport) ProtoReflect() protoreflect.Message {
    method Descriptor (line 213) | func (*StreamingSequenceReport) Descriptor() ([]byte, []int) {
    method GetName (line 217) | func (x *StreamingSequenceReport) GetName() string {
    method GetAttempts (line 224) | func (x *StreamingSequenceReport) GetAttempts() []*StreamingSequenceRe...
  type SequenceReport (line 232) | type SequenceReport struct
    method Reset (line 242) | func (x *SequenceReport) Reset() {
    method String (line 251) | func (x *SequenceReport) String() string {
    method ProtoMessage (line 255) | func (*SequenceReport) ProtoMessage() {}
    method ProtoReflect (line 257) | func (x *SequenceReport) ProtoReflect() protoreflect.Message {
    method Descriptor (line 270) | func (*SequenceReport) Descriptor() ([]byte, []int) {
    method GetName (line 274) | func (x *SequenceReport) GetName() string {
    method GetAttempts (line 281) | func (x *SequenceReport) GetAttempts() []*SequenceReport_Attempt {
  type CreateSequenceRequest (line 289) | type CreateSequenceRequest struct
    method Reset (line 297) | func (x *CreateSequenceRequest) Reset() {
    method String (line 306) | func (x *CreateSequenceRequest) String() string {
    method ProtoMessage (line 310) | func (*CreateSequenceRequest) ProtoMessage() {}
    method ProtoReflect (line 312) | func (x *CreateSequenceRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 325) | func (*CreateSequenceRequest) Descriptor() ([]byte, []int) {
    method GetSequence (line 329) | func (x *CreateSequenceRequest) GetSequence() *Sequence {
  type CreateStreamingSequenceRequest (line 337) | type CreateStreamingSequenceRequest struct
    method Reset (line 345) | func (x *CreateStreamingSequenceRequest) Reset() {
    method String (line 354) | func (x *CreateStreamingSequenceRequest) String() string {
    method ProtoMessage (line 358) | func (*CreateStreamingSequenceRequest) ProtoMessage() {}
    method ProtoReflect (line 360) | func (x *CreateStreamingSequenceRequest) ProtoReflect() protoreflect.M...
    method Descriptor (line 373) | func (*CreateStreamingSequenceRequest) Descriptor() ([]byte, []int) {
    method GetStreamingSequence (line 377) | func (x *CreateStreamingSequenceRequest) GetStreamingSequence() *Strea...
  type AttemptSequenceRequest (line 385) | type AttemptSequenceRequest struct
    method Reset (line 393) | func (x *AttemptSequenceRequest) Reset() {
    method String (line 402) | func (x *AttemptSequenceRequest) String() string {
    method ProtoMessage (line 406) | func (*AttemptSequenceRequest) ProtoMessage() {}
    method ProtoReflect (line 408) | func (x *AttemptSequenceRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 421) | func (*AttemptSequenceRequest) Descriptor() ([]byte, []int) {
    method GetName (line 425) | func (x *AttemptSequenceRequest) GetName() string {
  type AttemptStreamingSequenceRequest (line 433) | type AttemptStreamingSequenceRequest struct
    method Reset (line 445) | func (x *AttemptStreamingSequenceRequest) Reset() {
    method String (line 454) | func (x *AttemptStreamingSequenceRequest) String() string {
    method ProtoMessage (line 458) | func (*AttemptStreamingSequenceRequest) ProtoMessage() {}
    method ProtoReflect (line 460) | func (x *AttemptStreamingSequenceRequest) ProtoReflect() protoreflect....
    method Descriptor (line 473) | func (*AttemptStreamingSequenceRequest) Descriptor() ([]byte, []int) {
    method GetName (line 477) | func (x *AttemptStreamingSequenceRequest) GetName() string {
    method GetLastFailIndex (line 484) | func (x *AttemptStreamingSequenceRequest) GetLastFailIndex() int32 {
  type AttemptStreamingSequenceResponse (line 492) | type AttemptStreamingSequenceResponse struct
    method Reset (line 501) | func (x *AttemptStreamingSequenceResponse) Reset() {
    method String (line 510) | func (x *AttemptStreamingSequenceResponse) String() string {
    method ProtoMessage (line 514) | func (*AttemptStreamingSequenceResponse) ProtoMessage() {}
    method ProtoReflect (line 516) | func (x *AttemptStreamingSequenceResponse) ProtoReflect() protoreflect...
    method Descriptor (line 529) | func (*AttemptStreamingSequenceResponse) Descriptor() ([]byte, []int) {
    method GetContent (line 533) | func (x *AttemptStreamingSequenceResponse) GetContent() string {
  type GetSequenceReportRequest (line 540) | type GetSequenceReportRequest struct
    method Reset (line 548) | func (x *GetSequenceReportRequest) Reset() {
    method String (line 557) | func (x *GetSequenceReportRequest) String() string {
    method ProtoMessage (line 561) | func (*GetSequenceReportRequest) ProtoMessage() {}
    method ProtoReflect (line 563) | func (x *GetSequenceReportRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 576) | func (*GetSequenceReportRequest) Descriptor() ([]byte, []int) {
    method GetName (line 580) | func (x *GetSequenceReportRequest) GetName() string {
  type GetStreamingSequenceReportRequest (line 587) | type GetStreamingSequenceReportRequest struct
    method Reset (line 595) | func (x *GetStreamingSequenceReportRequest) Reset() {
    method String (line 604) | func (x *GetStreamingSequenceReportRequest) String() string {
    method ProtoMessage (line 608) | func (*GetStreamingSequenceReportRequest) ProtoMessage() {}
    method ProtoReflect (line 610) | func (x *GetStreamingSequenceReportRequest) ProtoReflect() protoreflec...
    method Descriptor (line 623) | func (*GetStreamingSequenceReportRequest) Descriptor() ([]byte, []int) {
    method GetName (line 627) | func (x *GetStreamingSequenceReportRequest) GetName() string {
  type Sequence_Response (line 635) | type Sequence_Response struct
    method Reset (line 646) | func (x *Sequence_Response) Reset() {
    method String (line 655) | func (x *Sequence_Response) String() string {
    method ProtoMessage (line 659) | func (*Sequence_Response) ProtoMessage() {}
    method ProtoReflect (line 661) | func (x *Sequence_Response) ProtoReflect() protoreflect.Message {
    method Descriptor (line 674) | func (*Sequence_Response) Descriptor() ([]byte, []int) {
    method GetStatus (line 678) | func (x *Sequence_Response) GetStatus() *status.Status {
    method GetDelay (line 685) | func (x *Sequence_Response) GetDelay() *durationpb.Duration {
  type StreamingSequence_Response (line 693) | type StreamingSequence_Response struct
    method Reset (line 706) | func (x *StreamingSequence_Response) Reset() {
    method String (line 715) | func (x *StreamingSequence_Response) String() string {
    method ProtoMessage (line 719) | func (*StreamingSequence_Response) ProtoMessage() {}
    method ProtoReflect (line 721) | func (x *StreamingSequence_Response) ProtoReflect() protoreflect.Messa...
    method Descriptor (line 734) | func (*StreamingSequence_Response) Descriptor() ([]byte, []int) {
    method GetStatus (line 738) | func (x *StreamingSequence_Response) GetStatus() *status.Status {
    method GetDelay (line 745) | func (x *StreamingSequence_Response) GetDelay() *durationpb.Duration {
    method GetResponseIndex (line 752) | func (x *StreamingSequence_Response) GetResponseIndex() int32 {
  type StreamingSequenceReport_Attempt (line 760) | type StreamingSequenceReport_Attempt struct
    method Reset (line 779) | func (x *StreamingSequenceReport_Attempt) Reset() {
    method String (line 788) | func (x *StreamingSequenceReport_Attempt) String() string {
    method ProtoMessage (line 792) | func (*StreamingSequenceReport_Attempt) ProtoMessage() {}
    method ProtoReflect (line 794) | func (x *StreamingSequenceReport_Attempt) ProtoReflect() protoreflect....
    method Descriptor (line 807) | func (*StreamingSequenceReport_Attempt) Descriptor() ([]byte, []int) {
    method GetAttemptNumber (line 811) | func (x *StreamingSequenceReport_Attempt) GetAttemptNumber() int32 {
    method GetAttemptDeadline (line 818) | func (x *StreamingSequenceReport_Attempt) GetAttemptDeadline() *timest...
    method GetResponseTime (line 825) | func (x *StreamingSequenceReport_Attempt) GetResponseTime() *timestamp...
    method GetAttemptDelay (line 832) | func (x *StreamingSequenceReport_Attempt) GetAttemptDelay() *durationp...
    method GetStatus (line 839) | func (x *StreamingSequenceReport_Attempt) GetStatus() *status.Status {
  type SequenceReport_Attempt (line 847) | type SequenceReport_Attempt struct
    method Reset (line 866) | func (x *SequenceReport_Attempt) Reset() {
    method String (line 875) | func (x *SequenceReport_Attempt) String() string {
    method ProtoMessage (line 879) | func (*SequenceReport_Attempt) ProtoMessage() {}
    method ProtoReflect (line 881) | func (x *SequenceReport_Attempt) ProtoReflect() protoreflect.Message {
    method Descriptor (line 894) | func (*SequenceReport_Attempt) Descriptor() ([]byte, []int) {
    method GetAttemptNumber (line 898) | func (x *SequenceReport_Attempt) GetAttemptNumber() int32 {
    method GetAttemptDeadline (line 905) | func (x *SequenceReport_Attempt) GetAttemptDeadline() *timestamppb.Tim...
    method GetResponseTime (line 912) | func (x *SequenceReport_Attempt) GetResponseTime() *timestamppb.Timest...
    method GetAttemptDelay (line 919) | func (x *SequenceReport_Attempt) GetAttemptDelay() *durationpb.Duration {
    method GetStatus (line 926) | func (x *SequenceReport_Attempt) GetStatus() *status.Status {
  function file_google_showcase_v1beta1_sequence_proto_rawDescGZIP (line 1194) | func file_google_showcase_v1beta1_sequence_proto_rawDescGZIP() []byte {
  function init (line 1261) | func init() { file_google_showcase_v1beta1_sequence_proto_init() }
  function file_google_showcase_v1beta1_sequence_proto_init (line 1262) | func file_google_showcase_v1beta1_sequence_proto_init() {
  constant _ (line 1474) | _ = grpc.SupportPackageIsVersion6
  type SequenceServiceClient (line 1479) | type SequenceServiceClient interface
  type sequenceServiceClient (line 1499) | type sequenceServiceClient struct
    method CreateSequence (line 1507) | func (c *sequenceServiceClient) CreateSequence(ctx context.Context, in...
    method CreateStreamingSequence (line 1516) | func (c *sequenceServiceClient) CreateStreamingSequence(ctx context.Co...
    method GetSequenceReport (line 1525) | func (c *sequenceServiceClient) GetSequenceReport(ctx context.Context,...
    method GetStreamingSequenceReport (line 1534) | func (c *sequenceServiceClient) GetStreamingSequenceReport(ctx context...
    method AttemptSequence (line 1543) | func (c *sequenceServiceClient) AttemptSequence(ctx context.Context, i...
    method AttemptStreamingSequence (line 1552) | func (c *sequenceServiceClient) AttemptStreamingSequence(ctx context.C...
  function NewSequenceServiceClient (line 1503) | func NewSequenceServiceClient(cc grpc.ClientConnInterface) SequenceServi...
  type SequenceService_AttemptStreamingSequenceClient (line 1567) | type SequenceService_AttemptStreamingSequenceClient interface
  type sequenceServiceAttemptStreamingSequenceClient (line 1572) | type sequenceServiceAttemptStreamingSequenceClient struct
    method Recv (line 1576) | func (x *sequenceServiceAttemptStreamingSequenceClient) Recv() (*Attem...
  type SequenceServiceServer (line 1585) | type SequenceServiceServer interface
  type UnimplementedSequenceServiceServer (line 1606) | type UnimplementedSequenceServiceServer struct
    method CreateSequence (line 1609) | func (*UnimplementedSequenceServiceServer) CreateSequence(context.Cont...
    method CreateStreamingSequence (line 1612) | func (*UnimplementedSequenceServiceServer) CreateStreamingSequence(con...
    method GetSequenceReport (line 1615) | func (*UnimplementedSequenceServiceServer) GetSequenceReport(context.C...
    method GetStreamingSequenceReport (line 1618) | func (*UnimplementedSequenceServiceServer) GetStreamingSequenceReport(...
    method AttemptSequence (line 1621) | func (*UnimplementedSequenceServiceServer) AttemptSequence(context.Con...
    method AttemptStreamingSequence (line 1624) | func (*UnimplementedSequenceServiceServer) AttemptStreamingSequence(*A...
  function RegisterSequenceServiceServer (line 1628) | func RegisterSequenceServiceServer(s *grpc.Server, srv SequenceServiceSe...
  function _SequenceService_CreateSequence_Handler (line 1632) | func _SequenceService_CreateSequence_Handler(srv interface{}, ctx contex...
  function _SequenceService_CreateStreamingSequence_Handler (line 1650) | func _SequenceService_CreateStreamingSequence_Handler(srv interface{}, c...
  function _SequenceService_GetSequenceReport_Handler (line 1668) | func _SequenceService_GetSequenceReport_Handler(srv interface{}, ctx con...
  function _SequenceService_GetStreamingSequenceReport_Handler (line 1686) | func _SequenceService_GetStreamingSequenceReport_Handler(srv interface{}...
  function _SequenceService_AttemptSequence_Handler (line 1704) | func _SequenceService_AttemptSequence_Handler(srv interface{}, ctx conte...
  function _SequenceService_AttemptStreamingSequence_Handler (line 1722) | func _SequenceService_AttemptStreamingSequence_Handler(srv interface{}, ...
  type SequenceService_AttemptStreamingSequenceServer (line 1730) | type SequenceService_AttemptStreamingSequenceServer interface
  type sequenceServiceAttemptStreamingSequenceServer (line 1735) | type sequenceServiceAttemptStreamingSequenceServer struct
    method Send (line 1739) | func (x *sequenceServiceAttemptStreamingSequenceServer) Send(m *Attemp...

FILE: server/genproto/testing.pb.go
  constant _ (line 38) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
  constant _ (line 40) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
  type Session_Version (line 44) | type Session_Version
    method Enum (line 70) | func (x Session_Version) Enum() *Session_Version {
    method String (line 76) | func (x Session_Version) String() string {
    method Descriptor (line 80) | func (Session_Version) Descriptor() protoreflect.EnumDescriptor {
    method Type (line 84) | func (Session_Version) Type() protoreflect.EnumType {
    method Number (line 88) | func (x Session_Version) Number() protoreflect.EnumNumber {
    method EnumDescriptor (line 93) | func (Session_Version) EnumDescriptor() ([]byte, []int) {
  constant Session_VERSION_UNSPECIFIED (line 49) | Session_VERSION_UNSPECIFIED Session_Version = 0
  constant Session_V1_LATEST (line 51) | Session_V1_LATEST Session_Version = 1
  constant Session_V1_0 (line 53) | Session_V1_0 Session_Version = 2
  type ReportSessionResponse_Result (line 98) | type ReportSessionResponse_Result
    method Enum (line 126) | func (x ReportSessionResponse_Result) Enum() *ReportSessionResponse_Re...
    method String (line 132) | func (x ReportSessionResponse_Result) String() string {
    method Descriptor (line 136) | func (ReportSessionResponse_Result) Descriptor() protoreflect.EnumDesc...
    method Type (line 140) | func (ReportSessionResponse_Result) Type() protoreflect.EnumType {
    method Number (line 144) | func (x ReportSessionResponse_Result) Number() protoreflect.EnumNumber {
    method EnumDescriptor (line 149) | func (ReportSessionResponse_Result) EnumDescriptor() ([]byte, []int) {
  constant ReportSessionResponse_RESULT_UNSPECIFIED (line 101) | ReportSessionResponse_RESULT_UNSPECIFIED ReportSessionResponse_Result = 0
  constant ReportSessionResponse_PASSED (line 103) | ReportSessionResponse_PASSED ReportSessionResponse_Result = 1
  constant ReportSessionResponse_FAILED (line 105) | ReportSessionResponse_FAILED ReportSessionResponse_Result = 2
  constant ReportSessionResponse_INCOMPLETE (line 107) | ReportSessionResponse_INCOMPLETE ReportSessionResponse_Result = 3
  type Test_ExpectationLevel (line 154) | type Test_ExpectationLevel
    method Enum (line 195) | func (x Test_ExpectationLevel) Enum() *Test_ExpectationLevel {
    method String (line 201) | func (x Test_ExpectationLevel) String() string {
    method Descriptor (line 205) | func (Test_ExpectationLevel) Descriptor() protoreflect.EnumDescriptor {
    method Type (line 209) | func (Test_ExpectationLevel) Type() protoreflect.EnumType {
    method Number (line 213) | func (x Test_ExpectationLevel) Number() protoreflect.EnumNumber {
    method EnumDescriptor (line 218) | func (Test_ExpectationLevel) EnumDescriptor() ([]byte, []int) {
  constant Test_EXPECTATION_LEVEL_UNSPECIFIED (line 157) | Test_EXPECTATION_LEVEL_UNSPECIFIED Test_ExpectationLevel = 0
  constant Test_REQUIRED (line 159) | Test_REQUIRED Test_ExpectationLevel = 1
  constant Test_RECOMMENDED (line 167) | Test_RECOMMENDED Test_ExpectationLevel = 2
  constant Test_OPTIONAL (line 176) | Test_OPTIONAL Test_ExpectationLevel = 3
  type Issue_Type (line 223) | type Issue_Type
    method Enum (line 252) | func (x Issue_Type) Enum() *Issue_Type {
    method String (line 258) | func (x Issue_Type) String() string {
    method Descriptor (line 262) | func (Issue_Type) Descriptor() protoreflect.EnumDescriptor {
    method Type (line 266) | func (Issue_Type) Type() protoreflect.EnumType {
    method Number (line 270) | func (x Issue_Type) Number() protoreflect.EnumNumber {
    method EnumDescriptor (line 275) | func (Issue_Type) EnumDescriptor() ([]byte, []int) {
  constant Issue_TYPE_UNSPECIFIED (line 226) | Issue_TYPE_UNSPECIFIED Issue_Type = 0
  constant Issue_SKIPPED (line 228) | Issue_SKIPPED Issue_Type = 1
  constant Issue_PENDING (line 230) | Issue_PENDING Issue_Type = 2
  constant Issue_INCORRECT_CONFIRMATION (line 233) | Issue_INCORRECT_CONFIRMATION Issue_Type = 3
  type Issue_Severity (line 280) | type Issue_Severity
    method Enum (line 304) | func (x Issue_Severity) Enum() *Issue_Severity {
    method String (line 310) | func (x Issue_Severity) String() string {
    method Descriptor (line 314) | func (Issue_Severity) Descriptor() protoreflect.EnumDescriptor {
    method Type (line 318) | func (Issue_Severity) Type() protoreflect.EnumType {
    method Number (line 322) | func (x Issue_Severity) Number() protoreflect.EnumNumber {
    method EnumDescriptor (line 327) | func (Issue_Severity) EnumDescriptor() ([]byte, []int) {
  constant Issue_SEVERITY_UNSPECIFIED (line 283) | Issue_SEVERITY_UNSPECIFIED Issue_Severity = 0
  constant Issue_ERROR (line 285) | Issue_ERROR Issue_Severity = 1
  constant Issue_WARNING (line 287) | Issue_WARNING Issue_Severity = 2
  type Session (line 336) | type Session struct
    method Reset (line 348) | func (x *Session) Reset() {
    method String (line 357) | func (x *Session) String() string {
    method ProtoMessage (line 361) | func (*Session) ProtoMessage() {}
    method ProtoReflect (line 363) | func (x *Session) ProtoReflect() protoreflect.Message {
    method Descriptor (line 376) | func (*Session) Descriptor() ([]byte, []int) {
    method GetName (line 380) | func (x *Session) GetName() string {
    method GetVersion (line 387) | func (x *Session) GetVersion() Session_Version {
  type CreateSessionRequest (line 395) | type CreateSessionRequest struct
    method Reset (line 406) | func (x *CreateSessionRequest) Reset() {
    method String (line 415) | func (x *CreateSessionRequest) String() string {
    method ProtoMessage (line 419) | func (*CreateSessionRequest) ProtoMessage() {}
    method ProtoReflect (line 421) | func (x *CreateSessionRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 434) | func (*CreateSessionRequest) Descriptor() ([]byte, []int) {
    method GetSession (line 438) | func (x *CreateSessionRequest) GetSession() *Session {
  type GetSessionRequest (line 446) | type GetSessionRequest struct
    method Reset (line 455) | func (x *GetSessionRequest) Reset() {
    method String (line 464) | func (x *GetSessionRequest) String() string {
    method ProtoMessage (line 468) | func (*GetSessionRequest) ProtoMessage() {}
    method ProtoReflect (line 470) | func (x *GetSessionRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 483) | func (*GetSessionRequest) Descriptor() ([]byte, []int) {
    method GetName (line 487) | func (x *GetSessionRequest) GetName() string {
  type ListSessionsRequest (line 495) | type ListSessionsRequest struct
    method Reset (line 506) | func (x *ListSessionsRequest) Reset() {
    method String (line 515) | func (x *ListSessionsRequest) String() string {
    method ProtoMessage (line 519) | func (*ListSessionsRequest) ProtoMessage() {}
    method ProtoReflect (line 521) | func (x *ListSessionsRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 534) | func (*ListSessionsRequest) Descriptor() ([]byte, []int) {
    method GetPageSize (line 538) | func (x *ListSessionsRequest) GetPageSize() int32 {
    method GetPageToken (line 545) | func (x *ListSessionsRequest) GetPageToken() string {
  type ListSessionsResponse (line 553) | type ListSessionsResponse struct
    method Reset (line 565) | func (x *ListSessionsResponse) Reset() {
    method String (line 574) | func (x *ListSessionsResponse) String() string {
    method ProtoMessage (line 578) | func (*ListSessionsResponse) ProtoMessage() {}
    method ProtoReflect (line 580) | func (x *ListSessionsResponse) ProtoReflect() protoreflect.Message {
    method Descriptor (line 593) | func (*ListSessionsResponse) Descriptor() ([]byte, []int) {
    method GetSessions (line 597) | func (x *ListSessionsResponse) GetSessions() []*Session {
    method GetNextPageToken (line 604) | func (x *ListSessionsResponse) GetNextPageToken() string {
  type DeleteSessionRequest (line 612) | type DeleteSessionRequest struct
    method Reset (line 621) | func (x *DeleteSessionRequest) Reset() {
    method String (line 630) | func (x *DeleteSessionRequest) String() string {
    method ProtoMessage (line 634) | func (*DeleteSessionRequest) ProtoMessage() {}
    method ProtoReflect (line 636) | func (x *DeleteSessionRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 649) | func (*DeleteSessionRequest) Descriptor() ([]byte, []int) {
    method GetName (line 653) | func (x *DeleteSessionRequest) GetName() string {
  type ReportSessionRequest (line 661) | type ReportSessionRequest struct
    method Reset (line 670) | func (x *ReportSessionRequest) Reset() {
    method String (line 679) | func (x *ReportSessionRequest) String() string {
    method ProtoMessage (line 683) | func (*ReportSessionRequest) ProtoMessage() {}
    method ProtoReflect (line 685) | func (x *ReportSessionRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 698) | func (*ReportSessionRequest) Descriptor() ([]byte, []int) {
    method GetName (line 702) | func (x *ReportSessionRequest) GetName() string {
  type ReportSessionResponse (line 710) | type ReportSessionResponse struct
    method Reset (line 721) | func (x *ReportSessionResponse) Reset() {
    method String (line 730) | func (x *ReportSessionResponse) String() string {
    method ProtoMessage (line 734) | func (*ReportSessionResponse) ProtoMessage() {}
    method ProtoReflect (line 736) | func (x *ReportSessionResponse) ProtoReflect() protoreflect.Message {
    method Descriptor (line 749) | func (*ReportSessionResponse) Descriptor() ([]byte, []int) {
    method GetResult (line 753) | func (x *ReportSessionResponse) GetResult() ReportSessionResponse_Resu...
    method GetTestRuns (line 760) | func (x *ReportSessionResponse) GetTestRuns() []*TestRun {
  type Test (line 767) | type Test struct
    method Reset (line 787) | func (x *Test) Reset() {
    method String (line 796) | func (x *Test) String() string {
    method ProtoMessage (line 800) | func (*Test) ProtoMessage() {}
    method ProtoReflect (line 802) | func (x *Test) ProtoReflect() protoreflect.Message {
    method Descriptor (line 815) | func (*Test) Descriptor() ([]byte, []int) {
    method GetName (line 819) | func (x *Test) GetName() string {
    method GetExpectationLevel (line 826) | func (x *Test) GetExpectationLevel() Test_ExpectationLevel {
    method GetDescription (line 833) | func (x *Test) GetDescription() string {
    method GetBlueprints (line 840) | func (x *Test) GetBlueprints() []*Test_Blueprint {
  type Issue (line 848) | type Issue struct
    method Reset (line 861) | func (x *Issue) Reset() {
    method String (line 870) | func (x *Issue) String() string {
    method ProtoMessage (line 874) | func (*Issue) ProtoMessage() {}
    method ProtoReflect (line 876) | func (x *Issue) ProtoReflect() protoreflect.Message {
    method Descriptor (line 889) | func (*Issue) Descriptor() ([]byte, []int) {
    method GetType (line 893) | func (x *Issue) GetType() Issue_Type {
    method GetSeverity (line 900) | func (x *Issue) GetSeverity() Issue_Severity {
    method GetDescription (line 907) | func (x *Issue) GetDescription() string {
  type ListTestsRequest (line 915) | type ListTestsRequest struct
    method Reset (line 928) | func (x *ListTestsRequest) Reset() {
    method String (line 937) | func (x *ListTestsRequest) String() string {
    method ProtoMessage (line 941) | func (*ListTestsRequest) ProtoMessage() {}
    method ProtoReflect (line 943) | func (x *ListTestsRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 956) | func (*ListTestsRequest) Descriptor() ([]byte, []int) {
    method GetParent (line 960) | func (x *ListTestsRequest) GetParent() string {
    method GetPageSize (line 967) | func (x *ListTestsRequest) GetPageSize() int32 {
    method GetPageToken (line 974) | func (x *ListTestsRequest) GetPageToken() string {
  type ListTestsResponse (line 982) | type ListTestsResponse struct
    method Reset (line 994) | func (x *ListTestsResponse) Reset() {
    method String (line 1003) | func (x *ListTestsResponse) String() string {
    method ProtoMessage (line 1007) | func (*ListTestsResponse) ProtoMessage() {}
    method ProtoReflect (line 1009) | func (x *ListTestsResponse) ProtoReflect() protoreflect.Message {
    method Descriptor (line 1022) | func (*ListTestsResponse) Descriptor() ([]byte, []int) {
    method GetTests (line 1026) | func (x *ListTestsResponse) GetTests() []*Test {
    method GetNextPageToken (line 1033) | func (x *ListTestsResponse) GetNextPageToken() string {
  type TestRun (line 1041) | type TestRun struct
    method Reset (line 1054) | func (x *TestRun) Reset() {
    method String (line 1063) | func (x *TestRun) String() string {
    method ProtoMessage (line 1067) | func (*TestRun) ProtoMessage() {}
    method ProtoReflect (line 1069) | func (x *TestRun) ProtoReflect() protoreflect.Message {
    method Descriptor (line 1082) | func (*TestRun) Descriptor() ([]byte, []int) {
    method GetTest (line 1086) | func (x *TestRun) GetTest() string {
    method GetIssue (line 1093) | func (x *TestRun) GetIssue() *Issue {
  type DeleteTestRequest (line 1101) | type DeleteTestRequest struct
    method Reset (line 1110) | func (x *DeleteTestRequest) Reset() {
    method String (line 1119) | func (x *DeleteTestRequest) String() string {
    method ProtoMessage (line 1123) | func (*DeleteTestRequest) ProtoMessage() {}
    method ProtoReflect (line 1125) | func (x *DeleteTestRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 1138) | func (*DeleteTestRequest) Descriptor() ([]byte, []int) {
    method GetName (line 1142) | func (x *DeleteTestRequest) GetName() string {
  type VerifyTestRequest (line 1149) | type VerifyTestRequest struct
    method Reset (line 1162) | func (x *VerifyTestRequest) Reset() {
    method String (line 1171) | func (x *VerifyTestRequest) String() string {
    method ProtoMessage (line 1175) | func (*VerifyTestRequest) ProtoMessage() {}
    method ProtoReflect (line 1177) | func (x *VerifyTestRequest) ProtoReflect() protoreflect.Message {
    method Descriptor (line 1190) | func (*VerifyTestRequest) Descriptor() ([]byte, []int) {
    method GetName (line 1194) | func (x *VerifyTestRequest) GetName() string {
    method GetAnswer (line 1201) | func (x *VerifyTestRequest) GetAnswer() []byte {
    method GetAnswers (line 1208) | func (x *VerifyTestRequest) GetAnswers() [][]byte {
  type VerifyTestResponse (line 1215) | type VerifyTestResponse struct
    method Reset (line 1224) | func (x *VerifyTestResponse) Reset() {
    method String (line 1233) | func (x *VerifyTestResponse) String() string {
    method ProtoMessage (line 1237) | func (*VerifyTestResponse) ProtoMessage() {}
    method ProtoReflect (line 1239) | func (x *VerifyTestResponse) ProtoReflect() protoreflect.Message {
    method Descriptor (line 1252) | func (*VerifyTestResponse) Descriptor() ([]byte, []int) {
    method GetIssue (line 1256) | func (x *VerifyTestResponse) GetIssue() *Issue {
  type Test_Blueprint (line 1267) | type Test_Blueprint struct
    method Reset (line 1282) | func (x *Test_Blueprint) Reset() {
    method String (line 1291) | func (x *Test_Blueprint) String() string {
    method ProtoMessage (line 1295) | func (*Test_Blueprint) ProtoMessage() {}
    method ProtoReflect (line 1297) | func (x *Test_Blueprint) ProtoReflect() protoreflect.Message {
    method Descriptor (line 1310) | func (*Test_Blueprint) Descriptor() ([]byte, []int) {
    method GetName (line 1314) | func (x *Test_Blueprint) GetName() string {
    method GetDescription (line 1321) | func (x *Test_Blueprint) GetDescription() string {
    method GetRequest (line 1328) | func (x *Test_Blueprint) GetRequest() *Test_Blueprint_Invocation {
    method GetAdditionalRequests (line 1335) | func (x *Test_Blueprint) GetAdditionalRequests() []*Test_Blueprint_Inv...
  type Test_Blueprint_Invocation (line 1343) | type Test_Blueprint_Invocation struct
    method Reset (line 1354) | func (x *Test_Blueprint_Invocation) Reset() {
    method String (line 1363) | func (x *Test_Blueprint_Invocation) String() string {
    method ProtoMessage (line 1367) | func (*Test_Blueprint_Invocation) ProtoMessage() {}
    method ProtoReflect (line 1369) | func (x *Test_Blueprint_Invocation) ProtoReflect() protoreflect.Message {
    method Descriptor (line 1382) | func (*Test_Blueprint_Invocation) Descriptor() ([]byte, []int) {
    method GetMethod (line 1386) | func (x *Test_Blueprint_Invocation) GetMethod() string {
    method GetSerializedRequest (line 1393) | func (x *Test_Blueprint_Invocation) GetSerializedRequest() []byte {
  function file_google_showcase_v1beta1_testing_proto_rawDescGZIP (line 1675) | func file_google_showcase_v1beta1_testing_proto_rawDescGZIP() []byte {
  function init (line 1748) | func init() { file_google_showcase_v1beta1_testing_proto_init() }
  function file_google_showcase_v1beta1_testing_proto_init (line 1749) | func file_google_showcase_v1beta1_testing_proto_init() {
  constant _ (line 1998) | _ = grpc.SupportPackageIsVersion6
  type TestingClient (line 2003) | type TestingClient interface
  type testingClient (line 2035) | type testingClient struct
    method CreateSession (line 2043) | func (c *testingClient) CreateSession(ctx context.Context, in *CreateS...
    method GetSession (line 2052) | func (c *testingClient) GetSession(ctx context.Context, in *GetSession...
    method ListSessions (line 2061) | func (c *testingClient) ListSessions(ctx context.Context, in *ListSess...
    method DeleteSession (line 2070) | func (c *testingClient) DeleteSession(ctx context.Context, in *DeleteS...
    method ReportSession (line 2079) | func (c *testingClient) ReportSession(ctx context.Context, in *ReportS...
    method ListTests (line 2088) | func (c *testingClient) ListTests(ctx context.Context, in *ListTestsRe...
    method DeleteTest (line 2097) | func (c *testingClient) DeleteTest(ctx context.Context, in *DeleteTest...
    method VerifyTest (line 2106) | func (c *testingClient) VerifyTest(ctx context.Context, in *VerifyTest...
  function NewTestingClient (line 2039) | func NewTestingClient(cc grpc.ClientConnInterface) TestingClient {
  type TestingServer (line 2116) | type TestingServer interface
  type UnimplementedTestingServer (line 2149) | type UnimplementedTestingServer struct
    method CreateSession (line 2152) | func (*UnimplementedTestingServer) CreateSession(context.Context, *Cre...
    method GetSession (line 2155) | func (*UnimplementedTestingServer) GetSession(context.Context, *GetSes...
    method ListSessions (line 2158) | func (*UnimplementedTestingServer) ListSessions(context.Context, *List...
    method DeleteSession (line 2161) | func (*UnimplementedTestingServer) DeleteSession(context.Context, *Del...
    method ReportSession (line 2164) | func (*UnimplementedTestingServer) ReportSession(context.Context, *Rep...
    method ListTests (line 2167) | func (*UnimplementedTestingServer) ListTests(context.Context, *ListTes...
    method DeleteTest (line 2170) | func (*UnimplementedTestingServer) DeleteTest(context.Context, *Delete...
    method VerifyTest (line 2173) | func (*UnimplementedTestingServer) VerifyTest(context.Context, *Verify...
  function RegisterTestingServer (line 2177) | func RegisterTestingServer(s *grpc.Server, srv TestingServer) {
  function _Testing_CreateSession_Handler (line 2181) | func _Testing_CreateSession_Handler(srv interface{}, ctx context.Context...
  function _Testing_GetSession_Handler (line 2199) | func _Testing_GetSession_Handler(srv interface{}, ctx context.Context, d...
  function _Testing_ListSessions_Handler (line 2217) | func _Testing_ListSessions_Handler(srv interface{}, ctx context.Context,...
  function _Testing_DeleteSession_Handler (line 2235) | func _Testing_DeleteSession_Handler(srv interface{}, ctx context.Context...
  function _Testing_ReportSession_Handler (line 2253) | func _Testing_ReportSession_Handler(srv interface{}, ctx context.Context...
  function _Testing_ListTests_Handler (line 2271) | func _Testing_ListTests_Handler(srv interface{}, ctx context.Context, de...
  function _Testing_DeleteTest_Handler (line 2289) | func _Testing_DeleteTest_Handler(srv interface{}, ctx context.Context, d...
  function _Testing_VerifyTest_Handler (line 2307) | func _Testing_VerifyTest_Handler(srv interface{}, ctx context.Context, d...

FILE: server/genrest/compliance.go
  method HandleRepeatDataBody (line 33) | func (backend *RESTBackend) HandleRepeatDataBody(w http.ResponseWriter, ...
  method HandleRepeatDataBodyInfo (line 107) | func (backend *RESTBackend) HandleRepeatDataBodyInfo(w http.ResponseWrit...
  method HandleRepeatDataQuery (line 190) | func (backend *RESTBackend) HandleRepeatDataQuery(w http.ResponseWriter,...
  method HandleRepeatDataSimplePath (line 251) | func (backend *RESTBackend) HandleRepeatDataSimplePath(w http.ResponseWr...
  method HandleRepeatDataPathResource (line 317) | func (backend *RESTBackend) HandleRepeatDataPathResource(w http.Response...
  method HandleRepeatDataPathResource_1 (line 383) | func (backend *RESTBackend) HandleRepeatDataPathResource_1(w http.Respon...
  method HandleRepeatDataPathTrailingResource (line 449) | func (backend *RESTBackend) HandleRepeatDataPathTrailingResource(w http....
  method HandleRepeatDataBodyPut (line 515) | func (backend *RESTBackend) HandleRepeatDataBodyPut(w http.ResponseWrite...
  method HandleRepeatDataBodyPatch (line 589) | func (backend *RESTBackend) HandleRepeatDataBodyPatch(w http.ResponseWri...
  method HandleGetEnum (line 663) | func (backend *RESTBackend) HandleGetEnum(w http.ResponseWriter, r *http...
  method HandleVerifyEnum (line 724) | func (backend *RESTBackend) HandleVerifyEnum(w http.ResponseWriter, r *h...

FILE: server/genrest/echo.go
  method HandleEcho (line 33) | func (backend *RESTBackend) HandleEcho(w http.ResponseWriter, r *http.Re...
  method HandleEchoErrorDetails (line 107) | func (backend *RESTBackend) HandleEchoErrorDetails(w http.ResponseWriter...
  method HandleFailEchoWithDetails (line 181) | func (backend *RESTBackend) HandleFailEchoWithDetails(w http.ResponseWri...
  method HandleExpand (line 255) | func (backend *RESTBackend) HandleExpand(w http.ResponseWriter, r *http....
  method HandleCollect (line 325) | func (backend *RESTBackend) HandleCollect(w http.ResponseWriter, r *http...
  method HandlePagedExpand (line 332) | func (backend *RESTBackend) HandlePagedExpand(w http.ResponseWriter, r *...
  method HandlePagedExpandLegacy (line 406) | func (backend *RESTBackend) HandlePagedExpandLegacy(w http.ResponseW
Condensed preview — 222 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (2,608K chars).
[
  {
    "path": ".bazeliskrc",
    "chars": 149,
    "preview": "# See https://github.com/bazelbuild/bazelisk\n# Should match https://github.com/googleapis/googleapis/blob/master/.bazeli"
  },
  {
    "path": ".bazelrc",
    "chars": 335,
    "preview": "# To make proto_library rules to include source info in the descriptor\nbuild --protocopt=--include_source_info\n\n# Requir"
  },
  {
    "path": ".github/CODEOWNERS",
    "chars": 291,
    "preview": "# Code owners file.\n# This file controls who is tagged for review for any given pull request.\n\n# For syntax help see:\n# "
  },
  {
    "path": ".github/auto-label.yml",
    "chars": 18,
    "preview": "---\nproduct: false"
  },
  {
    "path": ".github/label-sync.yml",
    "chars": 17,
    "preview": "---\nignored: true"
  },
  {
    "path": ".github/release-please.yml",
    "chars": 42,
    "preview": "handleGHRelease: true\nreleaseType: simple\n"
  },
  {
    "path": ".github/snippet-bot.yml",
    "chars": 54,
    "preview": "aggregateChecks: false\nalwaysCreateStatusCheck: false\n"
  },
  {
    "path": ".github/sync-repo-settings.yaml",
    "chars": 439,
    "preview": "rebaseMergeAllowed: false\nsquashMergeAllowed: true\nmergeCommitAllowed: false\nbranchProtectionRules:\n- pattern: main\n  is"
  },
  {
    "path": ".github/workflows/assets.yaml",
    "chars": 5536,
    "preview": "---\nname: assets\non:\n  release:\n    types:\n      - created\n  workflow_dispatch:\n    inputs:\n      tag:\n        descripti"
  },
  {
    "path": ".github/workflows/ci.yaml",
    "chars": 8211,
    "preview": "---\nname: Showcase CI\non:\n  push:\n    branches:\n      - main\n  pull_request:\n  workflow_dispatch:\n\njobs:\n  regenerate:\n "
  },
  {
    "path": ".gitignore",
    "chars": 93,
    "preview": "# Temp directories\ntmp/\ndist/\ncoverage.txt\n.vscode\n*~\nbazel-*\ngolint.txt\ngofmt.txt\ngovet.txt\n"
  },
  {
    "path": ".gitmodules",
    "chars": 103,
    "preview": "[submodule \"googleapis\"]\n\tpath = schema/googleapis\n\turl = https://github.com/googleapis/googleapis.git\n"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 22355,
    "preview": "# Release History\n\n## [0.39.0](https://github.com/googleapis/gapic-showcase/compare/v0.38.0...v0.39.0) (2026-03-30)\n\n\n##"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "chars": 1981,
    "preview": "# Contributor Code of Conduct\n\nAs contributors and maintainers of this project,\nand in the interest of fostering an open"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 884,
    "preview": "Contributing\n============\n\nWe are thrilled that you are interested in contributing to this project.\nPlease open an issue"
  },
  {
    "path": "Dockerfile",
    "chars": 643,
    "preview": "FROM golang:1.26-alpine AS builder\n\n# Install git and gcc.\nRUN apk add --no-cache git gcc musl-dev\n\n# Setup directory.\nW"
  },
  {
    "path": "LICENSE",
    "chars": 11358,
    "preview": "\n                                 Apache License\n                           Version 2.0, January 2004\n                  "
  },
  {
    "path": "README.md",
    "chars": 9390,
    "preview": "# GAPIC Showcase\n\n[![Release Level][releaselevelimg]][releaselevel]\n[![Code Coverage][codecovimg]][codecov]\n[![GoDoc][go"
  },
  {
    "path": "SECURITY.md",
    "chars": 329,
    "preview": "# Security Policy\n\nTo report a security issue, please use [g.co/vulnz](https://g.co/vulnz).\n\nThe Google Security Team wi"
  },
  {
    "path": "WORKSPACE.bazel",
    "chars": 2609,
    "preview": "# Copyright 2021 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "client/auxiliary.go",
    "chars": 20349,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "client/auxiliary_go123.go",
    "chars": 3062,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "client/compliance_client.go",
    "chars": 113767,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "client/compliance_client_example_go123_test.go",
    "chars": 2818,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "client/compliance_client_example_test.go",
    "chars": 19115,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "client/doc.go",
    "chars": 3862,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "client/echo_client.go",
    "chars": 88700,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "client/echo_client_example_go123_test.go",
    "chars": 5714,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "client/echo_client_example_test.go",
    "chars": 19308,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "client/gapic_metadata.json",
    "chars": 28045,
    "preview": "{\n  \"schema\": \"1.0\",\n  \"comment\": \"This file maps proto services/RPCs to the corresponding library clients/methods.\",\n  "
  },
  {
    "path": "client/helpers.go",
    "chars": 3837,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "client/identity_client.go",
    "chars": 54230,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "client/identity_client_example_go123_test.go",
    "chars": 3812,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "client/identity_client_example_test.go",
    "chars": 15040,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "client/messaging_client.go",
    "chars": 88581,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "client/messaging_client_example_go123_test.go",
    "chars": 4759,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "client/messaging_client_example_test.go",
    "chars": 21564,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "client/sequence_client.go",
    "chars": 60318,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "client/sequence_client_example_go123_test.go",
    "chars": 2810,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "client/sequence_client_example_test.go",
    "chars": 14886,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "client/testing_client.go",
    "chars": 64240,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "client/testing_client_example_go123_test.go",
    "chars": 4751,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "client/testing_client_example_test.go",
    "chars": 17912,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "cmd/gapic-showcase/README.md",
    "chars": 4721,
    "preview": "# gapic-showcase\nThis directory contains the command line interface (CLI) used to run the\nShowcase API server as well as"
  },
  {
    "path": "cmd/gapic-showcase/attempt-sequence.go",
    "chars": 1435,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\tgenprotopb \"github.com/googleapis/ga"
  },
  {
    "path": "cmd/gapic-showcase/attempt-streaming-sequence.go",
    "chars": 2155,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/block.go",
    "chars": 3500,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\tanypb \"google.golang.org/protobuf/ty"
  },
  {
    "path": "cmd/gapic-showcase/chat.go",
    "chars": 2104,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"bufio\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github"
  },
  {
    "path": "cmd/gapic-showcase/collect.go",
    "chars": 1678,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"bufio\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github"
  },
  {
    "path": "cmd/gapic-showcase/completion.go",
    "chars": 614,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"os\"\n\n\t\"github.com/spf13/cobra\"\n)\n\nfunc init() {\n\trootCmd.AddCo"
  },
  {
    "path": "cmd/gapic-showcase/compliance_service.go",
    "chars": 3313,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/spf13/cobra\"\n\t\"github.com/spf13/viper\"\n\t\"go"
  },
  {
    "path": "cmd/gapic-showcase/compliance_suite_errors_test.go",
    "chars": 11289,
    "preview": "// Copyright 2021 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "cmd/gapic-showcase/compliance_suite_test.go",
    "chars": 19463,
    "preview": "// Copyright 2021 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "cmd/gapic-showcase/connect.go",
    "chars": 2180,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"bufio\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github"
  },
  {
    "path": "cmd/gapic-showcase/create-blurb.go",
    "chars": 3970,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/create-room.go",
    "chars": 1754,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/create-sequence.go",
    "chars": 2023,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/create-session.go",
    "chars": 2030,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/create-streaming-sequence.go",
    "chars": 2519,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/create-user.go",
    "chars": 2951,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/defaults.go",
    "chars": 1145,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "cmd/gapic-showcase/delete-blurb.go",
    "chars": 1361,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\tgenprotopb \"github.com/googleapis/ga"
  },
  {
    "path": "cmd/gapic-showcase/delete-room.go",
    "chars": 1384,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\tgenprotopb \"github.com/googleapis/ga"
  },
  {
    "path": "cmd/gapic-showcase/delete-session.go",
    "chars": 1345,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\tgenprotopb \"github.com/googleapis/ga"
  },
  {
    "path": "cmd/gapic-showcase/delete-test.go",
    "chars": 1444,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\tgenprotopb \"github.com/googleapis/ga"
  },
  {
    "path": "cmd/gapic-showcase/delete-user.go",
    "chars": 1423,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\tgenprotopb \"github.com/googleapis/ga"
  },
  {
    "path": "cmd/gapic-showcase/echo-error-details.go",
    "chars": 1855,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/echo.go",
    "chars": 3727,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\tanypb \"google.golang.org/protobuf/ty"
  },
  {
    "path": "cmd/gapic-showcase/echo_service.go",
    "chars": 3045,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/spf13/cobra\"\n\t\"github.com/spf13/viper\"\n\t\"go"
  },
  {
    "path": "cmd/gapic-showcase/endpoint.go",
    "chars": 10080,
    "preview": "// Copyright 2020 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "cmd/gapic-showcase/endpoint_test.go",
    "chars": 7493,
    "preview": "// Copyright 2021 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "cmd/gapic-showcase/expand.go",
    "chars": 2930,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\tanypb \"google.golang.org/protobuf/ty"
  },
  {
    "path": "cmd/gapic-showcase/fail-echo-with-details.go",
    "chars": 1708,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/gapic-showcase.go",
    "chars": 1122,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"fmt\"\n\t\"os\"\n\n\t\"github.com/golang/protobuf/j"
  },
  {
    "path": "cmd/gapic-showcase/get-blurb.go",
    "chars": 1454,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/get-enum.go",
    "chars": 1516,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/get-room.go",
    "chars": 1433,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/get-sequence-report.go",
    "chars": 1629,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/get-session.go",
    "chars": 1376,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/get-streaming-sequence-report.go",
    "chars": 1818,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/get-user.go",
    "chars": 1410,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/identity_service.go",
    "chars": 2927,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/spf13/cobra\"\n\t\"github.com/spf13/viper\"\n\t\"go"
  },
  {
    "path": "cmd/gapic-showcase/list-blurbs.go",
    "chars": 1956,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/list-rooms.go",
    "chars": 1670,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/list-sessions.go",
    "chars": 1780,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/list-tests.go",
    "chars": 1800,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/list-users.go",
    "chars": 1660,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/loggers.go",
    "chars": 2568,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "cmd/gapic-showcase/messaging_service.go",
    "chars": 3281,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/spf13/cobra\"\n\t\"github.com/spf13/viper\"\n\t\"go"
  },
  {
    "path": "cmd/gapic-showcase/paged-expand-legacy-mapped.go",
    "chars": 2276,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/paged-expand.go",
    "chars": 2015,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/repeat-data-body-info.go",
    "chars": 16600,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/repeat-data-body-patch.go",
    "chars": 16795,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/repeat-data-body-put.go",
    "chars": 16269,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/repeat-data-body.go",
    "chars": 15530,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/repeat-data-path-resource.go",
    "chars": 17560,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/repeat-data-path-trailing-resource.go",
    "chars": 19665,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/repeat-data-query.go",
    "chars": 15788,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/repeat-data-simple-path.go",
    "chars": 17125,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/report-session.go",
    "chars": 1555,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/run.go",
    "chars": 2300,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "cmd/gapic-showcase/search-blurbs.go",
    "chars": 3654,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/send-blurbs.go",
    "chars": 1711,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"bufio\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github"
  },
  {
    "path": "cmd/gapic-showcase/sequence_service.go",
    "chars": 3149,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/spf13/cobra\"\n\t\"github.com/spf13/viper\"\n\t\"go"
  },
  {
    "path": "cmd/gapic-showcase/stream-blurbs.go",
    "chars": 2196,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/testing_service.go",
    "chars": 3102,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/spf13/cobra\"\n\t\"github.com/spf13/viper\"\n\t\"go"
  },
  {
    "path": "cmd/gapic-showcase/update-blurb.go",
    "chars": 3900,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\tfieldmaskpb \"google.golang.org/proto"
  },
  {
    "path": "cmd/gapic-showcase/update-room.go",
    "chars": 2018,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\tfieldmaskpb \"google.golang.org/proto"
  },
  {
    "path": "cmd/gapic-showcase/update-user.go",
    "chars": 3215,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\tfieldmaskpb \"google.golang.org/proto"
  },
  {
    "path": "cmd/gapic-showcase/verify-enum.go",
    "chars": 1936,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/verify-test.go",
    "chars": 1660,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\t\"fmt\"\n\n\tgenprotopb \"github.com/googl"
  },
  {
    "path": "cmd/gapic-showcase/version.go",
    "chars": 994,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "cmd/gapic-showcase/wait.go",
    "chars": 5746,
    "preview": "// Code generated. DO NOT EDIT.\n\npackage main\n\nimport (\n\t\"github.com/spf13/cobra\"\n\n\tanypb \"google.golang.org/protobuf/ty"
  },
  {
    "path": "go.mod",
    "chars": 2537,
    "preview": "module github.com/googleapis/gapic-showcase\n\nrequire (\n\tcloud.google.com/go/iam v1.9.0\n\tcloud.google.com/go/longrunning "
  },
  {
    "path": "go.sum",
    "chars": 20936,
    "preview": "cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=\ncloud.google.com/go v0.123.0 h1:2NAUJ"
  },
  {
    "path": "renovate.json",
    "chars": 632,
    "preview": "{\n  \"extends\": [\n    \"config:base\",\n    \":disableDependencyDashboard\",\n    \"group:all\",\n    \"schedule:weekly\",\n    \":sem"
  },
  {
    "path": "schema/google/showcase/v1beta1/BUILD.bazel",
    "chars": 1952,
    "preview": "# Copyright 2021 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "schema/google/showcase/v1beta1/compliance.proto",
    "chars": 9634,
    "preview": "// Copyright 2021 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "schema/google/showcase/v1beta1/echo.proto",
    "chars": 14082,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "schema/google/showcase/v1beta1/identity.proto",
    "chars": 5904,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "schema/google/showcase/v1beta1/messaging.proto",
    "chars": 17106,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "schema/google/showcase/v1beta1/rest_error.proto",
    "chars": 1469,
    "preview": "// Copyright 2025 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "schema/google/showcase/v1beta1/sequence.proto",
    "chars": 9366,
    "preview": "// Copyright 2020 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "schema/google/showcase/v1beta1/showcase_grpc_service_config.json",
    "chars": 2874,
    "preview": "{\n    \"methodConfig\": [\n        {\n            \"name\": [\n                {\"service\": \"google.showcase.v1beta1.Echo\"},\n   "
  },
  {
    "path": "schema/google/showcase/v1beta1/showcase_v1beta1.yaml",
    "chars": 3302,
    "preview": "# Copyright 2020 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "schema/google/showcase/v1beta1/testing.proto",
    "chars": 11489,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/genproto/compliance.pb.go",
    "chars": 94097,
    "preview": "// Copyright 2021 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/genproto/echo.pb.go",
    "chars": 114681,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/genproto/identity.pb.go",
    "chars": 43361,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/genproto/messaging.pb.go",
    "chars": 123282,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/genproto/rest_error.pb.go",
    "chars": 10842,
    "preview": "// Copyright 2025 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/genproto/sequence.pb.go",
    "chars": 78153,
    "preview": "// Copyright 2020 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/genproto/testing.pb.go",
    "chars": 92779,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/genrest/README.md",
    "chars": 120,
    "preview": "# server/genrest\n\nThis directory contains auto-generated files used to implement a REST endpoint\nfor Showcase services.\n"
  },
  {
    "path": "server/genrest/compliance.go",
    "chars": 31247,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/genrest/echo.go",
    "chars": 26105,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/genrest/genrest.go",
    "chars": 10963,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/genrest/iampolicy.go",
    "chars": 34009,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/genrest/identity.go",
    "chars": 14392,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/genrest/locations.go",
    "chars": 6311,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/genrest/messaging.go",
    "chars": 54889,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/genrest/operations.go",
    "chars": 11351,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/genrest/sequenceservice.go",
    "chars": 19270,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/genrest/showcase-rest-sample-response.txt",
    "chars": 29559,
    "preview": "Generated via \"google.golang.org/protobuf/compiler/protogen\" via ProtoModel!\nFiles:\ngoogle/showcase/v1beta1/compliance.p"
  },
  {
    "path": "server/genrest/testing.go",
    "chars": 22459,
    "preview": "// Copyright 2026 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/observer.go",
    "chars": 5735,
    "preview": "// Copyright 2019 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/observer_test.go",
    "chars": 8221,
    "preview": "// Copyright 2019 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/page_token.go",
    "chars": 2047,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/page_token_test.go",
    "chars": 1925,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/services/compliance_service.go",
    "chars": 9432,
    "preview": "// Copyright 2021 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/services/compliance_service_test.go",
    "chars": 9731,
    "preview": "// Copyright 2021 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/services/compliance_suite.json",
    "chars": 6451,
    "preview": "{\n  \"group\": [\n    {\n      \"name\": \"Fully working conversions, no resources\",\n      \"rpcs\": [\"Compliance.RepeatDataBody\""
  },
  {
    "path": "server/services/echo_service.go",
    "chars": 12657,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/services/echo_service_test.go",
    "chars": 30252,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/services/iam_policy_service.go",
    "chars": 2932,
    "preview": "// Copyright 2021 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/services/iam_policy_service_test.go",
    "chars": 4382,
    "preview": "// Copyright 2021 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/services/identity_service.go",
    "chars": 5073,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/services/identity_service_test.go",
    "chars": 11347,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/services/locations_service.go",
    "chars": 2252,
    "preview": "// Copyright 2021 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/services/locations_service_test.go",
    "chars": 2851,
    "preview": "// Copyright 2021 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/services/messaging_service.go",
    "chars": 18319,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/services/messaging_service_test.go",
    "chars": 47469,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/services/operations_service.go",
    "chars": 6182,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/services/operations_service_test.go",
    "chars": 9809,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/services/sequence_service.go",
    "chars": 8449,
    "preview": "// Copyright 2020 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/services/sequence_service_test.go",
    "chars": 16160,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/services/services.go",
    "chars": 1570,
    "preview": "// Copyright 2020 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/services/test_common.go",
    "chars": 1000,
    "preview": "// Copyright 2019 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/services/testing_service.go",
    "chars": 5362,
    "preview": "// Copyright 2019 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/services/testing_service_test.go",
    "chars": 8669,
    "preview": "// Copyright 2019 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/services/util.go",
    "chars": 2529,
    "preview": "// Copyright 2022 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/session.go",
    "chars": 5004,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/session_test.go",
    "chars": 9066,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/spec/showcase_tests.go",
    "chars": 1346,
    "preview": "// Copyright 2019 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/spec/v1/unary.go",
    "chars": 2948,
    "preview": "// Copyright 2019 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/spec/v1/unary_test.go",
    "chars": 5031,
    "preview": "// Copyright 2019 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/test.go",
    "chars": 1612,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/unique_id.go",
    "chars": 836,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/unique_id_test.go",
    "chars": 758,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/waiter.go",
    "chars": 2281,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "server/waiter_test.go",
    "chars": 4658,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "util/cmd/compile_protos/main.go",
    "chars": 1127,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "util/cmd/protoc-gen-go_rest_server/README.md",
    "chars": 242,
    "preview": "# protoc-gen-go_rest_server\n\nThis directory contains the `protoc` plugin `go_rest_server` used to generate a Go\nHTTP ser"
  },
  {
    "path": "util/cmd/protoc-gen-go_rest_server/main.go",
    "chars": 961,
    "preview": "// Copyright 2020 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "util/cmd/release/main.go",
    "chars": 4549,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "util/compile_protos.go",
    "chars": 3587,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "util/execute.go",
    "chars": 829,
    "preview": "// Copyright 2018 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "util/genrest/README.md",
    "chars": 161,
    "preview": "# util/genrest\n\nThis directory contains the core functionality for the `protoc` plugin `go_rest_server`, which implement"
  },
  {
    "path": "util/genrest/errorhandling/accumulator.go",
    "chars": 1357,
    "preview": "// Copyright 2020 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "util/genrest/genserver.go",
    "chars": 1889,
    "preview": "// Copyright 2020 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "util/genrest/gomodel/gomodel.go",
    "chars": 7394,
    "preview": "// Copyright 2020 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "util/genrest/gomodel/pathtemplate.go",
    "chars": 4985,
    "preview": "// Copyright 2020 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "util/genrest/gomodel/pathtemplate_test.go",
    "chars": 2904,
    "preview": "// Copyright 2020 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "util/genrest/gomodel/pathtemplatematch.go",
    "chars": 5556,
    "preview": "// Copyright 2020 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "util/genrest/gomodel/pathtemplatematch_test.go",
    "chars": 3971,
    "preview": "// Copyright 2020 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "util/genrest/gomodel/pathtemplateparser.go",
    "chars": 8212,
    "preview": "// Copyright 2020 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "util/genrest/gomodel/pathtemplateparser_test.go",
    "chars": 4161,
    "preview": "// Copyright 2020 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "util/genrest/gomodelcreator.go",
    "chars": 5385,
    "preview": "// Copyright 2020 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "util/genrest/goview/goview.go",
    "chars": 2683,
    "preview": "// Copyright 2020 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "util/genrest/goviewcreator.go",
    "chars": 20466,
    "preview": "// Copyright 2020 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  }
]

// ... and 22 more files (download for full content)

About this extraction

This page contains the full source code of the googleapis/gapic-showcase GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 222 files (2.3 MB), approximately 616.9k tokens, and a symbol index with 2815 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!