diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index bc1e3a0b..7a1202e3 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -4,31 +4,30 @@ jobs:
go-lint:
runs-on: ubuntu-latest
steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v5
with:
- go-version: 1.23.x
- - name: Checkout code
- uses: actions/checkout@v4
+ go-version-file: go.mod
- name: Run linters
- uses: golangci/golangci-lint-action@v3
+ uses: golangci/golangci-lint-action@v8
with:
- version: latest
+ version: v2.4
args: --timeout=3m
go-test:
strategy:
matrix:
- go-version: [ 1.23.x ]
platform: [ ubuntu-latest ]
runs-on: ${{ matrix.platform }}
steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
- name: Install Go
if: success()
uses: actions/setup-go@v5
with:
- go-version: ${{ matrix.go-version }}
- - name: Checkout code
- uses: actions/checkout@v4
+ go-version-file: go.mod
- name: go tests
run: go test -v -covermode=count -json ./... > test.json
- name: annotate go tests
diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml
index b65b515d..62841b38 100644
--- a/.github/workflows/main.yaml
+++ b/.github/workflows/main.yaml
@@ -7,31 +7,31 @@ jobs:
go-lint:
runs-on: ubuntu-latest
steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
- name: Install Go
uses: actions/setup-go@v5
with:
- go-version: 1.23.x
- - name: Checkout code
- uses: actions/checkout@v4
+ go-version-file: go.mod
- name: Run linters
- uses: golangci/golangci-lint-action@v3
+ uses: golangci/golangci-lint-action@v8
with:
- version: latest
+ version: v2.4
args: --timeout=3m
go-test:
strategy:
matrix:
- go-version: [ 1.23.x ]
+ go-version: [ 1.25.x ]
platform: [ ubuntu-latest ]
runs-on: ${{ matrix.platform }}
steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
- name: Install Go
if: success()
uses: actions/setup-go@v5
with:
- go-version: ${{ matrix.go-version }}
- - name: Checkout code
- uses: actions/checkout@v4
+ go-version-file: go.mod
- name: go tests
run: go test -v -covermode=count -json ./... > test.json
- name: annotate go tests
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index 647257b3..0e1028c1 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -3,59 +3,17 @@ name: Release
on:
push:
tags:
- - '*'
+ - "*"
jobs:
- goreleaser:
- runs-on: macos-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- with:
- fetch-depth: 0
- - name: Set up Go
- uses: actions/setup-go@v5
- with:
- go-version: 1.23.x
- - name: Set up Gon
- run: brew tap conductorone/gon && brew install conductorone/gon/gon
- - name: Import Keychain Certs
- uses: apple-actions/import-codesign-certs@v1
- with:
- p12-file-base64: ${{ secrets.APPLE_SIGNING_KEY_P12 }}
- p12-password: ${{ secrets.APPLE_SIGNING_KEY_P12_PASSWORD }}
- - name: Run GoReleaser
- uses: goreleaser/goreleaser-action@v6
- with:
- version: "~> v2"
- args: release --clean
- env:
- GITHUB_TOKEN: ${{ secrets.RELENG_GITHUB_TOKEN }}
- AC_PASSWORD: ${{ secrets.AC_PASSWORD }}
- AC_PROVIDER: ${{ secrets.AC_PROVIDER }}
- goreleaser-docker:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- with:
- fetch-depth: 0
- - name: Set up Go
- uses: actions/setup-go@v5
- with:
- go-version: 1.23.x
- - name: Docker Login
- uses: docker/login-action@v1
- with:
- registry: ghcr.io
- username: ${{ github.repository_owner }}
- password: ${{ secrets.RELENG_GITHUB_TOKEN }}
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v1
- - name: Run GoReleaser
- uses: goreleaser/goreleaser-action@v6
- with:
- version: "~> v2"
- args: release --clean -f .goreleaser.docker.yaml
- env:
- GITHUB_TOKEN: ${{ secrets.RELENG_GITHUB_TOKEN }}
+ release:
+ uses: ConductorOne/github-workflows/.github/workflows/release.yaml@v2
+ with:
+ tag: ${{ github.ref_name }}
+ secrets:
+ RELENG_GITHUB_TOKEN: ${{ secrets.RELENG_GITHUB_TOKEN }}
+ APPLE_SIGNING_KEY_P12: ${{ secrets.APPLE_SIGNING_KEY_P12 }}
+ APPLE_SIGNING_KEY_P12_PASSWORD: ${{ secrets.APPLE_SIGNING_KEY_P12_PASSWORD }}
+ AC_PASSWORD: ${{ secrets.AC_PASSWORD }}
+ AC_PROVIDER: ${{ secrets.AC_PROVIDER }}
+ DATADOG_API_KEY: ${{ secrets.DATADOG_API_KEY }}
diff --git a/.golangci.yml b/.golangci.yml
index 4ab47e29..9699fc47 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -1,103 +1,118 @@
-linters-settings:
- exhaustive:
- default-signifies-exhaustive: true
-
- gocritic:
- # The list of supported checkers can be find in https://go-critic.github.io/overview.
- settings:
- underef:
- # Whether to skip (*x).method() calls where x is a pointer receiver.
- skipRecvDeref: false
-
- govet:
- enable-all: true
- disable:
- - fieldalignment # too strict
- - shadow # complains too much about shadowing errors. All research points to this being fine.
-
- nakedret:
- max-func-lines: 0
-
- nolintlint:
- allow-no-explanation: [ forbidigo, tracecheck, gomnd, gochecknoinits, makezero ]
- require-explanation: true
- require-specific: true
-
- revive:
- ignore-generated-header: true
- severity: error
- rules:
- - name: atomic
- - name: line-length-limit
- arguments: [ 200 ]
- # These are functions that we use without checking the errors often. Most of these can't return an error even
- # though they implement an interface that can.
- - name: unhandled-error
- arguments:
- - fmt.Printf
- - fmt.Println
- - fmt.Fprintf
- - fmt.Fprintln
- - os.Stderr.Sync
- - sb.WriteString
- - buf.WriteString
- - hasher.Write
- - os.Setenv
- - os.RemoveAll
- - name: var-naming
- arguments: [["ID", "URL", "HTTP", "API"], []]
-
- tenv:
- all: true
-
- varcheck:
- exported-fields: false # this appears to improperly detect exported variables as unused when they are used from a package with the same name
-
-
+version: "2"
linters:
- disable-all: true
+ default: none
enable:
- - errcheck # Errcheck is a program for checking for unchecked errors in go programs. These unchecked errors can be critical bugs in some cases
- - gosimple # Linter for Go source code that specializes in simplifying a code
- - govet # Vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string
- - ineffassign # Detects when assignments to existing variables are not used
- - staticcheck # Staticcheck is a go vet on steroids, applying a ton of static analysis checks
- - typecheck # Like the front-end of a Go compiler, parses and type-checks Go code
- - unused # Checks Go code for unused constants, variables, functions and types
- - asasalint # Check for pass []any as any in variadic func(...any)
- - asciicheck # Simple linter to check that your code does not contain non-ASCII identifiers
- - bidichk # Checks for dangerous unicode character sequences
- - bodyclose # checks whether HTTP response body is closed successfully
- - durationcheck # check for two durations multiplied together
- - errorlint # errorlint is a linter for that can be used to find code that will cause problems with the error wrapping scheme introduced in Go 1.13.
- - exhaustive # check exhaustiveness of enum switch statements
- - forbidigo # Forbids identifiers
- - gochecknoinits # Checks that no init functions are present in Go code
- - goconst # Finds repeated strings that could be replaced by a constant
- - gocritic # Provides diagnostics that check for bugs, performance and style issues.
- - godot # Check if comments end in a period
- - goimports # In addition to fixing imports, goimports also formats your code in the same style as gofmt.
- - gomoddirectives # Manage the use of 'replace', 'retract', and 'excludes' directives in go.mod.
- - goprintffuncname # Checks that printf-like functions are named with f at the end
- - gosec # Inspects source code for security problems
- - nakedret # Finds naked returns in functions greater than a specified function length
- - nilerr # Finds the code that returns nil even if it checks that the error is not nil.
- - noctx # noctx finds sending http request without context.Context
- - nolintlint # Reports ill-formed or insufficient nolint directives
- - nonamedreturns # Reports all named returns
- - nosprintfhostport # Checks for misuse of Sprintf to construct a host with port in a URL.
- - predeclared # find code that shadows one of Go's predeclared identifiers
- - revive # Fast, configurable, extensible, flexible, and beautiful linter for Go. Drop-in replacement of golint.
- - tenv # tenv is analyzer that detects using os.Setenv instead of t.Setenv since Go1.17
- - tparallel # tparallel detects inappropriate usage of t.Parallel() method in your Go test codes
- - unconvert # Remove unnecessary type conversions
- - usestdlibvars # detect the possibility to use variables/constants from the Go standard library
- - whitespace # Tool for detection of leading and trailing whitespace
-
+ - asasalint
+ - asciicheck
+ - bidichk
+ - bodyclose
+ - durationcheck
+ - errcheck
+ - errorlint
+ - exhaustive
+ - forbidigo
+ - gochecknoinits
+ - goconst
+ - gocritic
+ - godot
+ - gomoddirectives
+ - goprintffuncname
+ - gosec
+ - govet
+ - ineffassign
+ - nakedret
+ - nilerr
+ - noctx
+ - nolintlint
+ - nonamedreturns
+ - nosprintfhostport
+ - predeclared
+ - revive
+ - staticcheck
+ - tparallel
+ - unconvert
+ - unused
+ - usestdlibvars
+ - whitespace
+ settings:
+ exhaustive:
+ default-signifies-exhaustive: true
+ gocritic:
+ enabled-checks:
+ - ruleguard
+ settings:
+ ruleguard:
+ rules: ${base-path}/tools/rules.go
+ underef:
+ skipRecvDeref: false
+ govet:
+ disable:
+ - fieldalignment
+ - shadow
+ enable-all: true
+ nakedret:
+ max-func-lines: 0
+ nolintlint:
+ require-explanation: true
+ require-specific: true
+ allow-no-explanation:
+ - forbidigo
+ - tracecheck
+ - gomnd
+ - gochecknoinits
+ - makezero
+ revive:
+ severity: error
+ rules:
+ - name: atomic
+ - name: line-length-limit
+ arguments:
+ - 200
+ exclude:
+ - pkg/bcb/generate.go
+ - name: unhandled-error
+ arguments:
+ - fmt.Printf
+ - fmt.Println
+ - fmt.Fprint
+ - fmt.Fprintf
+ - fmt.Fprintln
+ - os.Stderr.Sync
+ - sb.WriteString
+ - buf.WriteString
+ - hasher.Write
+ - os.Setenv
+ - os.RemoveAll
+ - name: var-naming
+ arguments:
+ - - ID
+ - URL
+ - HTTP
+ - API
+ - []
+ exclusions:
+ generated: lax
+ presets:
+ - comments
+ - common-false-positives
+ - legacy
+ - std-error-handling
+ rules:
+ - linters:
+ - godot
+ source: (TODO)
+ paths:
+ - third_party$
+ - builtin$
+ - examples$
issues:
max-same-issues: 50
-
- exclude-rules:
- # Don't require TODO comments to end in a period
- - source: "(TODO)"
- linters: [ godot ]
+formatters:
+ enable:
+ - goimports
+ exclusions:
+ generated: lax
+ paths:
+ - third_party$
+ - builtin$
+ - examples$
diff --git a/.gon-amd64.json b/.gon-amd64.json
deleted file mode 100644
index 2d83a8bd..00000000
--- a/.gon-amd64.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "source": ["./dist/macos-amd64_darwin_amd64_v1/baton"],
- "bundle_id": "com.conductorone.baton",
- "apple_id": {
- "username" : "justin.gallardo@conductorone.com"
- },
- "sign": {
- "application_identity": "Developer ID Application: Justin Gallardo (858DKH55XL)"
- },
- "zip" :{
- "output_path": "./dist/baton-darwin-amd64.signed.zip"
- }
-}
\ No newline at end of file
diff --git a/.gon-arm64.json b/.gon-arm64.json
deleted file mode 100644
index 77236249..00000000
--- a/.gon-arm64.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "source": ["./dist/macos-arm64_darwin_arm64_v8.0/baton"],
- "bundle_id": "com.conductorone.baton",
- "apple_id": {
- "username" : "justin.gallardo@conductorone.com"
- },
- "sign": {
- "application_identity": "Developer ID Application: Justin Gallardo (858DKH55XL)"
- },
- "zip" :{
- "output_path": "./dist/baton-darwin-arm64.signed.zip"
- }
-}
\ No newline at end of file
diff --git a/.goreleaser.docker.yaml b/.goreleaser.docker.yaml
deleted file mode 100644
index 014aa3fb..00000000
--- a/.goreleaser.docker.yaml
+++ /dev/null
@@ -1,53 +0,0 @@
-version: 2
-project_name: baton
-builds:
- - binary: baton
- env:
- - CGO_ENABLED=0
- id: linux
- main: ./cmd/baton
- goos:
- - linux
- goarch:
- - amd64
- - arm64
-dockers:
- - use: buildx
- goos: linux
- goarch: amd64
- image_templates:
- - "ghcr.io/conductorone/baton:{{ .Version }}-amd64"
- - "ghcr.io/conductorone/baton:latest-amd64"
- build_flag_templates:
- - "--platform=linux/amd64"
- - "--label=org.opencontainers.image.created={{.Date}}"
- - "--label=org.opencontainers.image.title={{.ProjectName}}"
- - "--label=org.opencontainers.image.revision={{.FullCommit}}"
- - "--label=org.opencontainers.image.version={{.Version}}"
- - use: buildx
- goos: linux
- goarch: arm64
- image_templates:
- - "ghcr.io/conductorone/baton:{{ .Version }}-arm64"
- - "ghcr.io/conductorone/baton:latest-arm64"
- build_flag_templates:
- - "--platform=linux/arm64/v8"
- - "--label=org.opencontainers.image.created={{.Date}}"
- - "--label=org.opencontainers.image.title={{.ProjectName}}"
- - "--label=org.opencontainers.image.revision={{.FullCommit}}"
- - "--label=org.opencontainers.image.version={{.Version}}"
-docker_manifests:
- - name_template: ghcr.io/conductorone/baton:{{ .Version }}
- image_templates:
- - ghcr.io/conductorone/baton:{{ .Version }}-amd64
- - ghcr.io/conductorone/baton:{{ .Version }}-arm64
- - name_template: ghcr.io/conductorone/baton:latest
- image_templates:
- - ghcr.io/conductorone/baton:latest-amd64
- - ghcr.io/conductorone/baton:latest-arm64
-checksum:
- disable: true
-release:
- disable: true
-changelog:
- disable: true
\ No newline at end of file
diff --git a/.goreleaser.yaml b/.goreleaser.yaml
deleted file mode 100644
index a42997f9..00000000
--- a/.goreleaser.yaml
+++ /dev/null
@@ -1,102 +0,0 @@
-version: 2
-project_name: baton
-builds:
- - binary: baton
- env:
- - CGO_ENABLED=0
- id: linux
- main: ./cmd/baton
- goos:
- - linux
- goarch:
- - amd64
- - arm64
- - binary: baton
- env:
- - CGO_ENABLED=0
- id: windows
- main: ./cmd/baton
- goos:
- - windows
- goarch:
- - amd64
- - binary: baton
- env:
- - CGO_ENABLED=0
- id: macos-amd64
- main: ./cmd/baton
- goos:
- - darwin
- goarch:
- - amd64
- hooks:
- post:
- - gon .gon-amd64.json
- - mv dist/baton-darwin-amd64.signed.zip dist/macos-amd64_darwin_amd64_v1/baton
- - binary: baton
- env:
- - CGO_ENABLED=0
- id: macos-arm64
- main: ./cmd/baton
- goos:
- - darwin
- goarch:
- - arm64
- hooks:
- post:
- - gon .gon-arm64.json
- - mv dist/baton-darwin-arm64.signed.zip dist/macos-arm64_darwin_arm64_v8.0/baton
-archives:
- - id: linux-archive
- builds:
- - linux
- format: tar.gz
- name_template: "{{ .ProjectName }}-v{{ .Version }}-{{ .Os }}-{{ .Arch }}"
- files:
- - none*
- - id: windows-archive
- builds:
- - windows
- format: zip
- name_template: "{{ .ProjectName }}-v{{ .Version }}-{{ .Os }}-{{ .Arch }}"
- files:
- - none*
- - id: darwin-archive
- builds:
- - macos-amd64
- - macos-arm64
- format: binary
- name_template: "{{ .ProjectName }}-v{{ .Version }}-{{ .Os }}-{{ .Arch }}.zip"
- files:
- - none*
-release:
- ids:
- - linux-archive
- - darwin-archive
- - windows-archive
-snapshot:
- name_template: '{{ incpatch .Version }}-dev'
-checksum:
- ids:
- - linux-archive
- - windows-archive
- extra_files:
- - glob: ./dist/*-darwin-amd64.zip
- - glob: ./dist/*-darwin-arm64.zip
-brews:
- - repository:
- owner: conductorone
- name: homebrew-baton
- directory: Formula
- homepage: https://conductorone.com
- test: |
- system "#{bin}/baton -v"
- install: |-
- bin.install "baton"
-changelog:
- filters:
- exclude:
- - '^docs:'
- - typo
- - lint
- - Merge pull request
\ No newline at end of file
diff --git a/cmd/baton/diff.go b/cmd/baton/diff.go
index c5e1e169..0c472c8a 100644
--- a/cmd/baton/diff.go
+++ b/cmd/baton/diff.go
@@ -8,6 +8,7 @@ import (
"os"
v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2"
+ "github.com/conductorone/baton-sdk/pkg/connectorstore"
"github.com/conductorone/baton-sdk/pkg/dotc1z"
"github.com/conductorone/baton-sdk/pkg/dotc1z/manager"
"github.com/conductorone/baton-sdk/pkg/logging"
@@ -48,7 +49,7 @@ func runDiff(cmd *cobra.Command, args []string) error {
return err
}
- newSyncID, err := store.LatestSyncID(ctx)
+ newSyncID, err := store.LatestSyncID(ctx, connectorstore.SyncTypeFull)
if err != nil {
return err
}
@@ -57,7 +58,7 @@ func runDiff(cmd *cobra.Command, args []string) error {
return fmt.Errorf("no syncs found - cannot diff")
}
- oldSyncID, err := store.PreviousSyncID(ctx)
+ oldSyncID, err := store.PreviousSyncID(ctx, connectorstore.SyncTypeFull)
if err != nil {
return err
}
diff --git a/cmd/baton/explorer.go b/cmd/baton/explorer.go
index ab8947d4..47b8df9d 100644
--- a/cmd/baton/explorer.go
+++ b/cmd/baton/explorer.go
@@ -1,6 +1,7 @@
package main
import (
+ "context"
"fmt"
"log"
"os"
@@ -31,7 +32,8 @@ func explorerCmd() *cobra.Command {
}
func runNpmInstallAndStart(projectPath string) error {
- installCmd := exec.Command("npm", "install")
+ ctx := context.Background()
+ installCmd := exec.CommandContext(ctx, "npm", "install")
installCmd.Stdout = os.Stdout
installCmd.Stderr = os.Stderr
installCmd.Dir = projectPath
@@ -39,7 +41,7 @@ func runNpmInstallAndStart(projectPath string) error {
return fmt.Errorf("error running 'npm install': %w", err)
}
- startCmd := exec.Command("npm", "start")
+ startCmd := exec.CommandContext(ctx, "npm", "start")
startCmd.Stdout = os.Stdout
startCmd.Stderr = os.Stderr
startCmd.Dir = projectPath
@@ -64,35 +66,35 @@ func startExplorerAPI(cmd *cobra.Command, devMode bool) {
filePath, err := cmd.Flags().GetString("file")
if err != nil {
- log.Fatal("error fetching file path", err)
+ log.Fatal("error fetching file path", err) //nolint:gocritic // reason
}
syncID, err := cmd.Flags().GetString("sync-id")
if err != nil {
- log.Fatal("error fetching syncID", err)
+ log.Fatal("error fetching syncID", err) //nolint:gocritic // reason
}
resourceType, err := cmd.Flags().GetString(resourceTypeFlag)
if err != nil {
- log.Fatal("error fetching resourceType", err)
+ log.Fatal("error fetching resourceType", err) //nolint:gocritic // reason
}
m, err := manager.New(ctx, filePath)
if err != nil {
- log.Fatal("error creating c1z manager", err)
+ log.Fatal("error creating c1z manager", err) //nolint:gocritic // reason
}
defer m.Close(ctx)
store, err := m.LoadC1Z(ctx)
if err != nil {
- log.Fatal("error loading c1z", err) //nolint:gocritic // reason: in this case store is nil
+ log.Fatal("error loading c1z", err) //nolint:gocritic // reason
}
defer store.Close()
ctrl := explorer.NewController(ctx, store, syncID, resourceType, devMode)
e := ctrl.Run(":8080")
if e != nil {
- log.Fatal("error running explorer", err)
+ log.Fatal("error running explorer", err) //nolint:gocritic // reason
}
}
@@ -106,7 +108,7 @@ func runExplorer(cmd *cobra.Command, args []string) error {
go startExplorerAPI(cmd, isDevMode)
err = startFrontendServer()
if err != nil {
- log.Fatal(err)
+ log.Fatal(err) //nolint:gocritic // reason
}
}
startExplorerAPI(cmd, isDevMode)
diff --git a/cmd/baton/stats.go b/cmd/baton/stats.go
index e342056c..92d7f2b3 100644
--- a/cmd/baton/stats.go
+++ b/cmd/baton/stats.go
@@ -5,6 +5,7 @@ import (
"sort"
"strconv"
+ "github.com/conductorone/baton-sdk/pkg/connectorstore"
"github.com/conductorone/baton-sdk/pkg/dotc1z/manager"
"github.com/conductorone/baton-sdk/pkg/logging"
"github.com/pterm/pterm"
@@ -42,7 +43,7 @@ func runStats(cmd *cobra.Command, args []string) error {
return err
}
- counts, err := store.Stats(ctx)
+ counts, err := store.Stats(ctx, connectorstore.SyncTypeFull, "")
if err != nil {
return err
}
diff --git a/go.mod b/go.mod
index 52ce55f7..367fbfb3 100644
--- a/go.mod
+++ b/go.mod
@@ -1,14 +1,16 @@
module github.com/conductorone/baton
-go 1.23.6
+go 1.25
require (
- github.com/conductorone/baton-sdk v0.3.2
+ github.com/conductorone/baton-sdk v0.4.0
+ github.com/ennyjfrick/ruleguard-logfatal v0.0.2
github.com/envoyproxy/protoc-gen-validate v1.2.1
github.com/gin-gonic/contrib v0.0.0-20250113154928-93b827325fec
github.com/gin-gonic/gin v1.10.0
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0
github.com/pterm/pterm v0.12.80
+ github.com/quasilyte/go-ruleguard/dsl v0.3.22
github.com/spf13/cobra v1.8.1
github.com/xuri/excelize/v2 v2.9.0
go.uber.org/zap v1.27.0
@@ -61,7 +63,7 @@ require (
github.com/gookit/color v1.5.4 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
- github.com/klauspost/compress v1.17.11 // indirect
+ github.com/klauspost/compress v1.18.0 // indirect
github.com/klauspost/cpuid/v2 v2.2.9 // indirect
github.com/leodido/go-urn v1.4.0 // indirect
github.com/lithammer/fuzzysearch v1.1.8 // indirect
diff --git a/go.sum b/go.sum
index a6ad5687..0db5ff6d 100644
--- a/go.sum
+++ b/go.sum
@@ -72,8 +72,8 @@ github.com/cloudwego/base64x v0.1.5 h1:XPciSp1xaq2VCSt6lF0phncD4koWyULpl5bUxbfCy
github.com/cloudwego/base64x v0.1.5/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w=
github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
-github.com/conductorone/baton-sdk v0.3.2 h1:udxGxriAa1gryYBzvZtR0Dwiu2psb6uYqkPbisLBJ44=
-github.com/conductorone/baton-sdk v0.3.2/go.mod h1:nUgHSAf9P0lfamti5NlOSpeh1t99UNzMjIwf0I7n4/g=
+github.com/conductorone/baton-sdk v0.4.0 h1:I6SGe1KOI4QG6Ya62GFlYuIavDdzPS5pVDa9FiPFZso=
+github.com/conductorone/baton-sdk v0.4.0/go.mod h1:Csa1C2KrI4TxJAtC3WjQqOn24u0g2f4/5FgiYqZWpN4=
github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U=
github.com/containerd/console v1.0.4 h1:F2g4+oChYvBTsASRTz8NP6iIAi97J3TtSAsLbIFn4ro=
github.com/containerd/console v1.0.4/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk=
@@ -89,6 +89,8 @@ github.com/doug-martin/goqu/v9 v9.19.0 h1:PD7t1X3tRcUiSdc5TEyOFKujZA5gs3VSA7wxSv
github.com/doug-martin/goqu/v9 v9.19.0/go.mod h1:nf0Wc2/hV3gYK9LiyqIrzBEVGlI8qW3GuDCEobC4wBQ=
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
+github.com/ennyjfrick/ruleguard-logfatal v0.0.2 h1:FlNMe9+h029VZVD8n6YdFzZAQz/aA8y6WSZttg50yBM=
+github.com/ennyjfrick/ruleguard-logfatal v0.0.2/go.mod h1:Ng4Cc8dzYEo8vzB2xd+IOxsO8X1OqO9mNnY4jbngQac=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
@@ -124,6 +126,10 @@ github.com/go-playground/validator/v10 v10.24.0 h1:KHQckvo8G6hlWnrPX4NJJ+aBfWNAE
github.com/go-playground/validator/v10 v10.24.0/go.mod h1:GGzBIJMuE98Ic/kJsBXbz1x/7cByt++cQ+YOuDM5wus=
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
+github.com/go-toolsmith/astcopy v1.0.2 h1:YnWf5Rnh1hUudj11kei53kI57quN/VH6Hp1n+erozn0=
+github.com/go-toolsmith/astcopy v1.0.2/go.mod h1:4TcEdbElGc9twQEYpVo/aieIXfHhiuLh4aLAck6dO7Y=
+github.com/go-toolsmith/astequal v1.0.3 h1:+LVdyRatFS+XO78SGV4I3TCEA0AC7fKEGma+fH+674o=
+github.com/go-toolsmith/astequal v1.0.3/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4=
github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4=
github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
@@ -156,8 +162,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
-github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc=
-github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0=
+github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=
+github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/cpuid/v2 v2.0.10/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c=
github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c=
@@ -214,6 +220,14 @@ github.com/pterm/pterm v0.12.36/go.mod h1:NjiL09hFhT/vWjQHSj1athJpx6H8cjpHXNAK5b
github.com/pterm/pterm v0.12.40/go.mod h1:ffwPLwlbXxP+rxT0GsgDTzS3y3rmpAO1NMjUkGTYf8s=
github.com/pterm/pterm v0.12.80 h1:mM55B+GnKUnLMUSqhdINe4s6tOuVQIetQ3my8JGyAIg=
github.com/pterm/pterm v0.12.80/go.mod h1:c6DeF9bSnOSeFPZlfs4ZRAFcf5SCoTwvwQ5xaKGQlHo=
+github.com/quasilyte/go-ruleguard v0.4.4 h1:53DncefIeLX3qEpjzlS1lyUmQoUEeOWPFWqaTJq9eAQ=
+github.com/quasilyte/go-ruleguard v0.4.4/go.mod h1:Vl05zJ538vcEEwu16V/Hdu7IYZWyKSwIy4c88Ro1kRE=
+github.com/quasilyte/go-ruleguard/dsl v0.3.22 h1:wd8zkOhSNr+I+8Qeciml08ivDt1pSXe60+5DqOpCjPE=
+github.com/quasilyte/go-ruleguard/dsl v0.3.22/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU=
+github.com/quasilyte/gogrep v0.5.0 h1:eTKODPXbI8ffJMN+W2aE0+oL0z/nh8/5eNdiO34SOAo=
+github.com/quasilyte/gogrep v0.5.0/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng=
+github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs=
+github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ=
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
github.com/richardlehane/mscfb v1.0.4 h1:WULscsljNPConisD5hR0+OyZjwK46Pfyr6mPu5ZawpM=
@@ -309,6 +323,8 @@ golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZv
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20250210185358-939b2ce775ac h1:l5+whBCLH3iH2ZNHYLbAe58bo7yrN4mVcnkHDYz5vvs=
golang.org/x/exp v0.0.0-20250210185358-939b2ce775ac/go.mod h1:hH+7mtFmImwwcMvScyxUhjuVHR3HGaDPMn9rMSUUbxo=
+golang.org/x/exp/typeparams v0.0.0-20240213143201-ec583247a57a h1:rrd/FiSCWtI24jk057yBSfEfHrzzjXva1VkDNWRXMag=
+golang.org/x/exp/typeparams v0.0.0-20240213143201-ec583247a57a/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/image v0.18.0 h1:jGzIakQa/ZXI1I0Fxvaa9W7yP25TqT6cHIHn+6CqvSQ=
golang.org/x/image v0.18.0/go.mod h1:4yyo5vMFQjVjUcVk4jEQcU9MGy/rulF5WvUILseCM2E=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
diff --git a/pkg/explorer/controller.go b/pkg/explorer/controller.go
index b1dd4d70..441e1c77 100644
--- a/pkg/explorer/controller.go
+++ b/pkg/explorer/controller.go
@@ -59,11 +59,11 @@ func (ctrl *Controller) Run(addr string) error {
}
// TODO - this is a hack to get the frontend to work. Should be rewritten.
-func runNpmInstallAndBuild(projectPath string) error {
+func runNpmInstallAndBuild(ctx context.Context, projectPath string) error {
nodeModulesPath := filepath.Join(projectPath, "node_modules")
if _, err := os.Stat(nodeModulesPath); os.IsNotExist(err) {
log.Default().Print("node_modules folder not found. Running npm install...")
- cmd := exec.Command("npm", "install")
+ cmd := exec.CommandContext(ctx, "npm", "install")
cmd.Dir = projectPath
output, err := cmd.CombinedOutput()
if err != nil {
@@ -79,7 +79,7 @@ func runNpmInstallAndBuild(projectPath string) error {
if _, err := os.Stat(buildPath); os.IsNotExist(err) {
log.Default().Print("Build folder not found. Running npm build...")
- cmd := exec.Command("npm", "run", "build")
+ cmd := exec.CommandContext(ctx, "npm", "run", "build")
cmd.Dir = projectPath
output, err := cmd.CombinedOutput()
if err != nil {
@@ -94,10 +94,11 @@ func runNpmInstallAndBuild(projectPath string) error {
}
func (ctrl *Controller) router() *gin.Engine {
+ ctx := context.Background()
router := gin.Default()
api := router.Group("/api")
if !ctrl.baton.devMode {
- err := runNpmInstallAndBuild("frontend")
+ err := runNpmInstallAndBuild(ctx, "frontend")
if err != nil {
log.Default().Println("error setting up frontend: ", err)
}
@@ -108,7 +109,7 @@ func (ctrl *Controller) router() *gin.Engine {
// todo: make this configurable
if !ctrl.baton.devMode {
- err := openBrowser("http://localhost:8080")
+ err := openBrowser(ctx, "http://localhost:8080")
if err != nil {
log.Default().Print("error opening browser: ", err)
}
@@ -131,15 +132,15 @@ func (ctrl *Controller) router() *gin.Engine {
return router
}
-func openBrowser(url string) error {
+func openBrowser(ctx context.Context, url string) error {
var err error
switch runtime.GOOS {
case "darwin":
- err = exec.Command("open", url).Start()
+ err = exec.CommandContext(ctx, "open", url).Start()
case "linux":
- err = exec.Command("xdg-open", url).Start()
+ err = exec.CommandContext(ctx, "xdg-open", url).Start()
case "windows":
- err = exec.Command("rundll32", "url.dll,FileProtocolHandler", url).Start()
+ err = exec.CommandContext(ctx, "rundll32", "url.dll,FileProtocolHandler", url).Start()
default:
err = fmt.Errorf("platform not supported")
diff --git a/tools/rules.go b/tools/rules.go
new file mode 100644
index 00000000..be515fc8
--- /dev/null
+++ b/tools/rules.go
@@ -0,0 +1,14 @@
+//go:build ruleguard
+// +build ruleguard
+
+package gorules
+
+import (
+ "github.com/quasilyte/go-ruleguard/dsl"
+
+ logfatalrules "github.com/ennyjfrick/ruleguard-logfatal"
+)
+
+func init() {
+ dsl.ImportRules("logfatal", logfatalrules.Bundle) // checks for uses of log.Fatal or log.Panic
+}
diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/config/v1/config.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/config/v1/config.pb.go
index ac5856b5..ebbf484a 100644
--- a/vendor/github.com/conductorone/baton-sdk/pb/c1/config/v1/config.pb.go
+++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/config/v1/config.pb.go
@@ -133,16 +133,18 @@ func (StringFieldType) EnumDescriptor() ([]byte, []int) {
}
type Configuration struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Fields []*Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"`
- Constraints []*Constraint `protobuf:"bytes,2,rep,name=constraints,proto3" json:"constraints,omitempty"`
- DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
- HelpUrl string `protobuf:"bytes,4,opt,name=help_url,json=helpUrl,proto3" json:"help_url,omitempty"`
- IconUrl string `protobuf:"bytes,5,opt,name=icon_url,json=iconUrl,proto3" json:"icon_url,omitempty"`
- IsDirectory bool `protobuf:"varint,7,opt,name=is_directory,json=isDirectory,proto3" json:"is_directory,omitempty"`
- CatalogId string `protobuf:"bytes,8,opt,name=catalog_id,json=catalogId,proto3" json:"catalog_id,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
+ state protoimpl.MessageState `protogen:"open.v1"`
+ Fields []*Field `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"`
+ Constraints []*Constraint `protobuf:"bytes,2,rep,name=constraints,proto3" json:"constraints,omitempty"`
+ DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
+ HelpUrl string `protobuf:"bytes,4,opt,name=help_url,json=helpUrl,proto3" json:"help_url,omitempty"`
+ IconUrl string `protobuf:"bytes,5,opt,name=icon_url,json=iconUrl,proto3" json:"icon_url,omitempty"`
+ IsDirectory bool `protobuf:"varint,7,opt,name=is_directory,json=isDirectory,proto3" json:"is_directory,omitempty"`
+ CatalogId string `protobuf:"bytes,8,opt,name=catalog_id,json=catalogId,proto3" json:"catalog_id,omitempty"`
+ SupportsExternalResources bool `protobuf:"varint,9,opt,name=supports_external_resources,json=supportsExternalResources,proto3" json:"supports_external_resources,omitempty"`
+ RequiresExternalConnector bool `protobuf:"varint,10,opt,name=requires_external_connector,json=requiresExternalConnector,proto3" json:"requires_external_connector,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
}
func (x *Configuration) Reset() {
@@ -224,6 +226,20 @@ func (x *Configuration) GetCatalogId() string {
return ""
}
+func (x *Configuration) GetSupportsExternalResources() bool {
+ if x != nil {
+ return x.SupportsExternalResources
+ }
+ return false
+}
+
+func (x *Configuration) GetRequiresExternalConnector() bool {
+ if x != nil {
+ return x.RequiresExternalConnector
+ }
+ return false
+}
+
type Constraint struct {
state protoimpl.MessageState `protogen:"open.v1"`
Kind ConstraintKind `protobuf:"varint,1,opt,name=kind,proto3,enum=c1.config.v1.ConstraintKind" json:"kind,omitempty"`
@@ -849,7 +865,7 @@ var file_c1_config_v1_config_proto_rawDesc = string([]byte{
0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x93,
- 0x02, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x03, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x2b, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x13, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e,
0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x3a, 0x0a,
@@ -866,7 +882,15 @@ var file_c1_config_v1_config_proto_rawDesc = string([]byte{
0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x44, 0x69, 0x72, 0x65,
0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67,
0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x74, 0x61, 0x6c,
- 0x6f, 0x67, 0x49, 0x64, 0x22, 0xea, 0x01, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61,
+ 0x6f, 0x67, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x1b, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73,
+ 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x73, 0x75, 0x70, 0x70, 0x6f,
+ 0x72, 0x74, 0x73, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x1b, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73,
+ 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x72, 0x65, 0x71, 0x75, 0x69,
+ 0x72, 0x65, 0x73, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x22, 0xea, 0x01, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61,
0x69, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31,
0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x52,
diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/config/v1/config.pb.validate.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/config/v1/config.pb.validate.go
index c97b1e8f..e2114f8d 100644
--- a/vendor/github.com/conductorone/baton-sdk/pb/c1/config/v1/config.pb.validate.go
+++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/config/v1/config.pb.validate.go
@@ -135,6 +135,10 @@ func (m *Configuration) validate(all bool) error {
// no validation rules for CatalogId
+ // no validation rules for SupportsExternalResources
+
+ // no validation rules for RequiresExternalConnector
+
if len(errors) > 0 {
return ConfigurationMultiError(errors)
}
diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_external_ticket.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_external_ticket.pb.go
index c4d64910..2803d103 100644
--- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_external_ticket.pb.go
+++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_external_ticket.pb.go
@@ -65,6 +65,58 @@ func (x *ExternalTicketSettings) GetEnabled() bool {
return false
}
+type ExternalTicketRef struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ ExternalTicketProvisionerConfigId string `protobuf:"bytes,2,opt,name=external_ticket_provisioner_config_id,json=externalTicketProvisionerConfigId,proto3" json:"external_ticket_provisioner_config_id,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ExternalTicketRef) Reset() {
+ *x = ExternalTicketRef{}
+ mi := &file_c1_connector_v2_annotation_external_ticket_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ExternalTicketRef) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExternalTicketRef) ProtoMessage() {}
+
+func (x *ExternalTicketRef) ProtoReflect() protoreflect.Message {
+ mi := &file_c1_connector_v2_annotation_external_ticket_proto_msgTypes[1]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExternalTicketRef.ProtoReflect.Descriptor instead.
+func (*ExternalTicketRef) Descriptor() ([]byte, []int) {
+ return file_c1_connector_v2_annotation_external_ticket_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *ExternalTicketRef) GetId() string {
+ if x != nil {
+ return x.Id
+ }
+ return ""
+}
+
+func (x *ExternalTicketRef) GetExternalTicketProvisionerConfigId() string {
+ if x != nil {
+ return x.ExternalTicketProvisionerConfigId
+ }
+ return ""
+}
+
var File_c1_connector_v2_annotation_external_ticket_proto protoreflect.FileDescriptor
var file_c1_connector_v2_annotation_external_ticket_proto_rawDesc = string([]byte{
@@ -75,11 +127,18 @@ var file_c1_connector_v2_annotation_external_ticket_proto_rawDesc = string([]byt
0x2e, 0x76, 0x32, 0x22, 0x32, 0x0a, 0x16, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x54,
0x69, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x18, 0x0a,
0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
- 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75,
- 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x6f,
- 0x6e, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x70, 0x62, 0x2f,
- 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x62,
- 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x75, 0x0a, 0x11, 0x45, 0x78, 0x74, 0x65, 0x72,
+ 0x6e, 0x61, 0x6c, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x66, 0x12, 0x0e, 0x0a, 0x02,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x50, 0x0a, 0x25,
+ 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x5f,
+ 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x21, 0x65, 0x78, 0x74,
+ 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69,
+ 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x42, 0x36,
+ 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6e,
+ 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x6f, 0x6e, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2d,
+ 0x73, 0x64, 0x6b, 0x2f, 0x70, 0x62, 0x2f, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
})
var (
@@ -94,9 +153,10 @@ func file_c1_connector_v2_annotation_external_ticket_proto_rawDescGZIP() []byte
return file_c1_connector_v2_annotation_external_ticket_proto_rawDescData
}
-var file_c1_connector_v2_annotation_external_ticket_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_c1_connector_v2_annotation_external_ticket_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_c1_connector_v2_annotation_external_ticket_proto_goTypes = []any{
(*ExternalTicketSettings)(nil), // 0: c1.connector.v2.ExternalTicketSettings
+ (*ExternalTicketRef)(nil), // 1: c1.connector.v2.ExternalTicketRef
}
var file_c1_connector_v2_annotation_external_ticket_proto_depIdxs = []int32{
0, // [0:0] is the sub-list for method output_type
@@ -117,7 +177,7 @@ func file_c1_connector_v2_annotation_external_ticket_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_connector_v2_annotation_external_ticket_proto_rawDesc), len(file_c1_connector_v2_annotation_external_ticket_proto_rawDesc)),
NumEnums: 0,
- NumMessages: 1,
+ NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_external_ticket.pb.validate.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_external_ticket.pb.validate.go
index a718090c..7bb3ab10 100644
--- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_external_ticket.pb.validate.go
+++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_external_ticket.pb.validate.go
@@ -138,3 +138,109 @@ var _ interface {
Cause() error
ErrorName() string
} = ExternalTicketSettingsValidationError{}
+
+// Validate checks the field values on ExternalTicketRef with the rules defined
+// in the proto definition for this message. If any rules are violated, the
+// first error encountered is returned, or nil if there are no violations.
+func (m *ExternalTicketRef) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on ExternalTicketRef with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// ExternalTicketRefMultiError, or nil if none found.
+func (m *ExternalTicketRef) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *ExternalTicketRef) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for Id
+
+ // no validation rules for ExternalTicketProvisionerConfigId
+
+ if len(errors) > 0 {
+ return ExternalTicketRefMultiError(errors)
+ }
+
+ return nil
+}
+
+// ExternalTicketRefMultiError is an error wrapping multiple validation errors
+// returned by ExternalTicketRef.ValidateAll() if the designated constraints
+// aren't met.
+type ExternalTicketRefMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m ExternalTicketRefMultiError) Error() string {
+ msgs := make([]string, 0, len(m))
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m ExternalTicketRefMultiError) AllErrors() []error { return m }
+
+// ExternalTicketRefValidationError is the validation error returned by
+// ExternalTicketRef.Validate if the designated constraints aren't met.
+type ExternalTicketRefValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e ExternalTicketRefValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e ExternalTicketRefValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e ExternalTicketRefValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e ExternalTicketRefValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e ExternalTicketRefValidationError) ErrorName() string {
+ return "ExternalTicketRefValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e ExternalTicketRefValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sExternalTicketRef.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = ExternalTicketRefValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = ExternalTicketRefValidationError{}
diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_resource_tree.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_resource_tree.pb.go
index 75d893a7..61612ece 100644
--- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_resource_tree.pb.go
+++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_resource_tree.pb.go
@@ -101,6 +101,42 @@ func (*SkipEntitlementsAndGrants) Descriptor() ([]byte, []int) {
return file_c1_connector_v2_annotation_resource_tree_proto_rawDescGZIP(), []int{1}
}
+type SkipGrants struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *SkipGrants) Reset() {
+ *x = SkipGrants{}
+ mi := &file_c1_connector_v2_annotation_resource_tree_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *SkipGrants) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SkipGrants) ProtoMessage() {}
+
+func (x *SkipGrants) ProtoReflect() protoreflect.Message {
+ mi := &file_c1_connector_v2_annotation_resource_tree_proto_msgTypes[2]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SkipGrants.ProtoReflect.Descriptor instead.
+func (*SkipGrants) Descriptor() ([]byte, []int) {
+ return file_c1_connector_v2_annotation_resource_tree_proto_rawDescGZIP(), []int{2}
+}
+
var File_c1_connector_v2_annotation_resource_tree_proto protoreflect.FileDescriptor
var file_c1_connector_v2_annotation_resource_tree_proto_rawDesc = string([]byte{
@@ -113,11 +149,12 @@ var file_c1_connector_v2_annotation_resource_tree_proto_rawDesc = string([]byte{
0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64,
0x22, 0x1b, 0x0a, 0x19, 0x53, 0x6b, 0x69, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d,
- 0x65, 0x6e, 0x74, 0x73, 0x41, 0x6e, 0x64, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x42, 0x36, 0x5a,
- 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, 0x64,
- 0x75, 0x63, 0x74, 0x6f, 0x72, 0x6f, 0x6e, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2d, 0x73,
- 0x64, 0x6b, 0x2f, 0x70, 0x62, 0x2f, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
- 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x65, 0x6e, 0x74, 0x73, 0x41, 0x6e, 0x64, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x22, 0x0c, 0x0a,
+ 0x0a, 0x53, 0x6b, 0x69, 0x70, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x42, 0x36, 0x5a, 0x34, 0x67,
+ 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63,
+ 0x74, 0x6f, 0x72, 0x6f, 0x6e, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2d, 0x73, 0x64, 0x6b,
+ 0x2f, 0x70, 0x62, 0x2f, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
})
var (
@@ -132,10 +169,11 @@ func file_c1_connector_v2_annotation_resource_tree_proto_rawDescGZIP() []byte {
return file_c1_connector_v2_annotation_resource_tree_proto_rawDescData
}
-var file_c1_connector_v2_annotation_resource_tree_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_c1_connector_v2_annotation_resource_tree_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_c1_connector_v2_annotation_resource_tree_proto_goTypes = []any{
(*ChildResourceType)(nil), // 0: c1.connector.v2.ChildResourceType
(*SkipEntitlementsAndGrants)(nil), // 1: c1.connector.v2.SkipEntitlementsAndGrants
+ (*SkipGrants)(nil), // 2: c1.connector.v2.SkipGrants
}
var file_c1_connector_v2_annotation_resource_tree_proto_depIdxs = []int32{
0, // [0:0] is the sub-list for method output_type
@@ -156,7 +194,7 @@ func file_c1_connector_v2_annotation_resource_tree_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_connector_v2_annotation_resource_tree_proto_rawDesc), len(file_c1_connector_v2_annotation_resource_tree_proto_rawDesc)),
NumEnums: 0,
- NumMessages: 2,
+ NumMessages: 3,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_resource_tree.pb.validate.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_resource_tree.pb.validate.go
index 4a36fde5..36e768bd 100644
--- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_resource_tree.pb.validate.go
+++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_resource_tree.pb.validate.go
@@ -240,3 +240,102 @@ var _ interface {
Cause() error
ErrorName() string
} = SkipEntitlementsAndGrantsValidationError{}
+
+// Validate checks the field values on SkipGrants with the rules defined in the
+// proto definition for this message. If any rules are violated, the first
+// error encountered is returned, or nil if there are no violations.
+func (m *SkipGrants) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on SkipGrants with the rules defined in
+// the proto definition for this message. If any rules are violated, the
+// result is a list of violation errors wrapped in SkipGrantsMultiError, or
+// nil if none found.
+func (m *SkipGrants) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *SkipGrants) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ if len(errors) > 0 {
+ return SkipGrantsMultiError(errors)
+ }
+
+ return nil
+}
+
+// SkipGrantsMultiError is an error wrapping multiple validation errors
+// returned by SkipGrants.ValidateAll() if the designated constraints aren't met.
+type SkipGrantsMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m SkipGrantsMultiError) Error() string {
+ msgs := make([]string, 0, len(m))
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m SkipGrantsMultiError) AllErrors() []error { return m }
+
+// SkipGrantsValidationError is the validation error returned by
+// SkipGrants.Validate if the designated constraints aren't met.
+type SkipGrantsValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e SkipGrantsValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e SkipGrantsValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e SkipGrantsValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e SkipGrantsValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e SkipGrantsValidationError) ErrorName() string { return "SkipGrantsValidationError" }
+
+// Error satisfies the builtin error interface
+func (e SkipGrantsValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sSkipGrants.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = SkipGrantsValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = SkipGrantsValidationError{}
diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_sync_id.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_sync_id.pb.go
new file mode 100644
index 00000000..05159caa
--- /dev/null
+++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_sync_id.pb.go
@@ -0,0 +1,130 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.36.4
+// protoc (unknown)
+// source: c1/connector/v2/annotation_sync_id.proto
+
+package v2
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+ unsafe "unsafe"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// ActiveSync is an annotation is used by the session cache.
+type ActiveSync struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ActiveSync) Reset() {
+ *x = ActiveSync{}
+ mi := &file_c1_connector_v2_annotation_sync_id_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ActiveSync) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActiveSync) ProtoMessage() {}
+
+func (x *ActiveSync) ProtoReflect() protoreflect.Message {
+ mi := &file_c1_connector_v2_annotation_sync_id_proto_msgTypes[0]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActiveSync.ProtoReflect.Descriptor instead.
+func (*ActiveSync) Descriptor() ([]byte, []int) {
+ return file_c1_connector_v2_annotation_sync_id_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActiveSync) GetId() string {
+ if x != nil {
+ return x.Id
+ }
+ return ""
+}
+
+var File_c1_connector_v2_annotation_sync_id_proto protoreflect.FileDescriptor
+
+var file_c1_connector_v2_annotation_sync_id_proto_rawDesc = string([]byte{
+ 0x0a, 0x28, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76,
+ 0x32, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x79, 0x6e,
+ 0x63, 0x5f, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x63, 0x31, 0x2e, 0x63,
+ 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x22, 0x1c, 0x0a, 0x0a, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74,
+ 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f,
+ 0x72, 0x6f, 0x6e, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x70,
+ 0x62, 0x2f, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76,
+ 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+})
+
+var (
+ file_c1_connector_v2_annotation_sync_id_proto_rawDescOnce sync.Once
+ file_c1_connector_v2_annotation_sync_id_proto_rawDescData []byte
+)
+
+func file_c1_connector_v2_annotation_sync_id_proto_rawDescGZIP() []byte {
+ file_c1_connector_v2_annotation_sync_id_proto_rawDescOnce.Do(func() {
+ file_c1_connector_v2_annotation_sync_id_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_c1_connector_v2_annotation_sync_id_proto_rawDesc), len(file_c1_connector_v2_annotation_sync_id_proto_rawDesc)))
+ })
+ return file_c1_connector_v2_annotation_sync_id_proto_rawDescData
+}
+
+var file_c1_connector_v2_annotation_sync_id_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_c1_connector_v2_annotation_sync_id_proto_goTypes = []any{
+ (*ActiveSync)(nil), // 0: c1.connector.v2.ActiveSync
+}
+var file_c1_connector_v2_annotation_sync_id_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_c1_connector_v2_annotation_sync_id_proto_init() }
+func file_c1_connector_v2_annotation_sync_id_proto_init() {
+ if File_c1_connector_v2_annotation_sync_id_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_connector_v2_annotation_sync_id_proto_rawDesc), len(file_c1_connector_v2_annotation_sync_id_proto_rawDesc)),
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_c1_connector_v2_annotation_sync_id_proto_goTypes,
+ DependencyIndexes: file_c1_connector_v2_annotation_sync_id_proto_depIdxs,
+ MessageInfos: file_c1_connector_v2_annotation_sync_id_proto_msgTypes,
+ }.Build()
+ File_c1_connector_v2_annotation_sync_id_proto = out.File
+ file_c1_connector_v2_annotation_sync_id_proto_goTypes = nil
+ file_c1_connector_v2_annotation_sync_id_proto_depIdxs = nil
+}
diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_sync_id.pb.validate.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_sync_id.pb.validate.go
new file mode 100644
index 00000000..66613f9e
--- /dev/null
+++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/annotation_sync_id.pb.validate.go
@@ -0,0 +1,137 @@
+// Code generated by protoc-gen-validate. DO NOT EDIT.
+// source: c1/connector/v2/annotation_sync_id.proto
+
+package v2
+
+import (
+ "bytes"
+ "errors"
+ "fmt"
+ "net"
+ "net/mail"
+ "net/url"
+ "regexp"
+ "sort"
+ "strings"
+ "time"
+ "unicode/utf8"
+
+ "google.golang.org/protobuf/types/known/anypb"
+)
+
+// ensure the imports are used
+var (
+ _ = bytes.MinRead
+ _ = errors.New("")
+ _ = fmt.Print
+ _ = utf8.UTFMax
+ _ = (*regexp.Regexp)(nil)
+ _ = (*strings.Reader)(nil)
+ _ = net.IPv4len
+ _ = time.Duration(0)
+ _ = (*url.URL)(nil)
+ _ = (*mail.Address)(nil)
+ _ = anypb.Any{}
+ _ = sort.Sort
+)
+
+// Validate checks the field values on ActiveSync with the rules defined in the
+// proto definition for this message. If any rules are violated, the first
+// error encountered is returned, or nil if there are no violations.
+func (m *ActiveSync) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on ActiveSync with the rules defined in
+// the proto definition for this message. If any rules are violated, the
+// result is a list of violation errors wrapped in ActiveSyncMultiError, or
+// nil if none found.
+func (m *ActiveSync) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *ActiveSync) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for Id
+
+ if len(errors) > 0 {
+ return ActiveSyncMultiError(errors)
+ }
+
+ return nil
+}
+
+// ActiveSyncMultiError is an error wrapping multiple validation errors
+// returned by ActiveSync.ValidateAll() if the designated constraints aren't met.
+type ActiveSyncMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m ActiveSyncMultiError) Error() string {
+ msgs := make([]string, 0, len(m))
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m ActiveSyncMultiError) AllErrors() []error { return m }
+
+// ActiveSyncValidationError is the validation error returned by
+// ActiveSync.Validate if the designated constraints aren't met.
+type ActiveSyncValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e ActiveSyncValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e ActiveSyncValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e ActiveSyncValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e ActiveSyncValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e ActiveSyncValidationError) ErrorName() string { return "ActiveSyncValidationError" }
+
+// Error satisfies the builtin error interface
+func (e ActiveSyncValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sActiveSync.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = ActiveSyncValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = ActiveSyncValidationError{}
diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/connector.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/connector.pb.go
index 6ef572ac..da231740 100644
--- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/connector.pb.go
+++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/connector.pb.go
@@ -39,6 +39,7 @@ const (
Capability_CAPABILITY_SYNC_SECRETS Capability = 9
Capability_CAPABILITY_ACTIONS Capability = 10
Capability_CAPABILITY_TARGETED_SYNC Capability = 11
+ Capability_CAPABILITY_EVENT_FEED_V2 Capability = 12
)
// Enum value maps for Capability.
@@ -56,6 +57,7 @@ var (
9: "CAPABILITY_SYNC_SECRETS",
10: "CAPABILITY_ACTIONS",
11: "CAPABILITY_TARGETED_SYNC",
+ 12: "CAPABILITY_EVENT_FEED_V2",
}
Capability_value = map[string]int32{
"CAPABILITY_UNSPECIFIED": 0,
@@ -70,6 +72,7 @@ var (
"CAPABILITY_SYNC_SECRETS": 9,
"CAPABILITY_ACTIONS": 10,
"CAPABILITY_TARGETED_SYNC": 11,
+ "CAPABILITY_EVENT_FEED_V2": 12,
}
)
@@ -103,10 +106,11 @@ func (Capability) EnumDescriptor() ([]byte, []int) {
type CapabilityDetailCredentialOption int32
const (
- CapabilityDetailCredentialOption_CAPABILITY_DETAIL_CREDENTIAL_OPTION_UNSPECIFIED CapabilityDetailCredentialOption = 0
- CapabilityDetailCredentialOption_CAPABILITY_DETAIL_CREDENTIAL_OPTION_NO_PASSWORD CapabilityDetailCredentialOption = 1
- CapabilityDetailCredentialOption_CAPABILITY_DETAIL_CREDENTIAL_OPTION_RANDOM_PASSWORD CapabilityDetailCredentialOption = 2
- CapabilityDetailCredentialOption_CAPABILITY_DETAIL_CREDENTIAL_OPTION_SSO CapabilityDetailCredentialOption = 3
+ CapabilityDetailCredentialOption_CAPABILITY_DETAIL_CREDENTIAL_OPTION_UNSPECIFIED CapabilityDetailCredentialOption = 0
+ CapabilityDetailCredentialOption_CAPABILITY_DETAIL_CREDENTIAL_OPTION_NO_PASSWORD CapabilityDetailCredentialOption = 1
+ CapabilityDetailCredentialOption_CAPABILITY_DETAIL_CREDENTIAL_OPTION_RANDOM_PASSWORD CapabilityDetailCredentialOption = 2
+ CapabilityDetailCredentialOption_CAPABILITY_DETAIL_CREDENTIAL_OPTION_SSO CapabilityDetailCredentialOption = 3
+ CapabilityDetailCredentialOption_CAPABILITY_DETAIL_CREDENTIAL_OPTION_ENCRYPTED_PASSWORD CapabilityDetailCredentialOption = 4
)
// Enum value maps for CapabilityDetailCredentialOption.
@@ -116,12 +120,14 @@ var (
1: "CAPABILITY_DETAIL_CREDENTIAL_OPTION_NO_PASSWORD",
2: "CAPABILITY_DETAIL_CREDENTIAL_OPTION_RANDOM_PASSWORD",
3: "CAPABILITY_DETAIL_CREDENTIAL_OPTION_SSO",
+ 4: "CAPABILITY_DETAIL_CREDENTIAL_OPTION_ENCRYPTED_PASSWORD",
}
CapabilityDetailCredentialOption_value = map[string]int32{
- "CAPABILITY_DETAIL_CREDENTIAL_OPTION_UNSPECIFIED": 0,
- "CAPABILITY_DETAIL_CREDENTIAL_OPTION_NO_PASSWORD": 1,
- "CAPABILITY_DETAIL_CREDENTIAL_OPTION_RANDOM_PASSWORD": 2,
- "CAPABILITY_DETAIL_CREDENTIAL_OPTION_SSO": 3,
+ "CAPABILITY_DETAIL_CREDENTIAL_OPTION_UNSPECIFIED": 0,
+ "CAPABILITY_DETAIL_CREDENTIAL_OPTION_NO_PASSWORD": 1,
+ "CAPABILITY_DETAIL_CREDENTIAL_OPTION_RANDOM_PASSWORD": 2,
+ "CAPABILITY_DETAIL_CREDENTIAL_OPTION_SSO": 3,
+ "CAPABILITY_DETAIL_CREDENTIAL_OPTION_ENCRYPTED_PASSWORD": 4,
}
)
@@ -1473,7 +1479,7 @@ var file_c1_connector_v2_connector_proto_rawDesc = string([]byte{
0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x46,
0x69, 0x65, 0x6c, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a,
- 0xe8, 0x02, 0x0a, 0x0a, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1a,
+ 0x86, 0x03, 0x0a, 0x0a, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1a,
0x0a, 0x16, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53,
0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x41,
0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49,
@@ -1495,49 +1501,55 @@ var file_c1_connector_v2_connector_proto_rawDesc = string([]byte{
0x54, 0x53, 0x10, 0x09, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49,
0x54, 0x59, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x0a, 0x12, 0x1c, 0x0a, 0x18,
0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45,
- 0x54, 0x45, 0x44, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x0b, 0x2a, 0xf2, 0x01, 0x0a, 0x20, 0x43,
- 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x43,
- 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12,
- 0x33, 0x0a, 0x2f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x45,
- 0x54, 0x41, 0x49, 0x4c, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x5f,
- 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
- 0x45, 0x44, 0x10, 0x00, 0x12, 0x33, 0x0a, 0x2f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49,
- 0x54, 0x59, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e,
- 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x5f, 0x50,
- 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x01, 0x12, 0x37, 0x0a, 0x33, 0x43, 0x41, 0x50,
- 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x5f, 0x43,
- 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e,
- 0x5f, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44,
- 0x10, 0x02, 0x12, 0x2b, 0x0a, 0x27, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59,
+ 0x54, 0x45, 0x44, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x0b, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x41,
+ 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x46,
+ 0x45, 0x45, 0x44, 0x5f, 0x56, 0x32, 0x10, 0x0c, 0x2a, 0xae, 0x02, 0x0a, 0x20, 0x43, 0x61, 0x70,
+ 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x43, 0x72, 0x65,
+ 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a,
+ 0x2f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x45, 0x54, 0x41,
+ 0x49, 0x4c, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x4f, 0x50,
+ 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
+ 0x10, 0x00, 0x12, 0x33, 0x0a, 0x2f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59,
0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49,
- 0x41, 0x4c, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x53, 0x4f, 0x10, 0x03, 0x32,
- 0xeb, 0x02, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72,
- 0x76, 0x69, 0x63, 0x65, 0x12, 0x78, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64,
- 0x61, 0x74, 0x61, 0x12, 0x33, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
- 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53,
- 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
- 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f,
- 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65,
- 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x4d, 0x65,
- 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f,
- 0x0a, 0x08, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x31, 0x2e,
- 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e,
- 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, 0x61, 0x6c,
- 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63,
- 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43,
- 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56,
- 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x6c, 0x0a, 0x07, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x12, 0x2f, 0x2e, 0x63, 0x31, 0x2e,
- 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e,
- 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6c, 0x65,
- 0x61, 0x6e, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x31,
- 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f,
- 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6c,
- 0x65, 0x61, 0x6e, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x36, 0x5a,
- 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, 0x64,
- 0x75, 0x63, 0x74, 0x6f, 0x72, 0x6f, 0x6e, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2d, 0x73,
- 0x64, 0x6b, 0x2f, 0x70, 0x62, 0x2f, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
- 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x41, 0x4c, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x5f, 0x50, 0x41, 0x53,
+ 0x53, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x01, 0x12, 0x37, 0x0a, 0x33, 0x43, 0x41, 0x50, 0x41, 0x42,
+ 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x5f, 0x43, 0x52, 0x45,
+ 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52,
+ 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x02,
+ 0x12, 0x2b, 0x0a, 0x27, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x44,
+ 0x45, 0x54, 0x41, 0x49, 0x4c, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c,
+ 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x53, 0x4f, 0x10, 0x03, 0x12, 0x3a, 0x0a,
+ 0x36, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x45, 0x54, 0x41,
+ 0x49, 0x4c, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x4f, 0x50,
+ 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x5f, 0x50,
+ 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x04, 0x32, 0xeb, 0x02, 0x0a, 0x10, 0x43, 0x6f,
+ 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x78,
+ 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x33, 0x2e,
+ 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e,
+ 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
+ 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x53, 0x65,
+ 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x08, 0x56, 0x61, 0x6c, 0x69,
+ 0x64, 0x61, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
+ 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x07, 0x43, 0x6c, 0x65,
+ 0x61, 0x6e, 0x75, 0x70, 0x12, 0x2f, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75,
+ 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x6f,
+ 0x6e, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x70, 0x62, 0x2f,
+ 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
})
var (
diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/event_feed.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/event_feed.pb.go
index 916c5052..133fbcba 100644
--- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/event_feed.pb.go
+++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/event_feed.pb.go
@@ -24,13 +24,71 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
+type EventType int32
+
+const (
+ EventType_EVENT_TYPE_UNSPECIFIED EventType = 0
+ EventType_EVENT_TYPE_USAGE EventType = 1
+ EventType_EVENT_TYPE_RESOURCE_CHANGE EventType = 4
+ EventType_EVENT_TYPE_CREATE_GRANT EventType = 5
+ EventType_EVENT_TYPE_CREATE_REVOKE EventType = 6
+)
+
+// Enum value maps for EventType.
+var (
+ EventType_name = map[int32]string{
+ 0: "EVENT_TYPE_UNSPECIFIED",
+ 1: "EVENT_TYPE_USAGE",
+ 4: "EVENT_TYPE_RESOURCE_CHANGE",
+ 5: "EVENT_TYPE_CREATE_GRANT",
+ 6: "EVENT_TYPE_CREATE_REVOKE",
+ }
+ EventType_value = map[string]int32{
+ "EVENT_TYPE_UNSPECIFIED": 0,
+ "EVENT_TYPE_USAGE": 1,
+ "EVENT_TYPE_RESOURCE_CHANGE": 4,
+ "EVENT_TYPE_CREATE_GRANT": 5,
+ "EVENT_TYPE_CREATE_REVOKE": 6,
+ }
+)
+
+func (x EventType) Enum() *EventType {
+ p := new(EventType)
+ *p = x
+ return p
+}
+
+func (x EventType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (EventType) Descriptor() protoreflect.EnumDescriptor {
+ return file_c1_connector_v2_event_feed_proto_enumTypes[0].Descriptor()
+}
+
+func (EventType) Type() protoreflect.EnumType {
+ return &file_c1_connector_v2_event_feed_proto_enumTypes[0]
+}
+
+func (x EventType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use EventType.Descriptor instead.
+func (EventType) EnumDescriptor() ([]byte, []int) {
+ return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{0}
+}
+
type ListEventsRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Can function like a page token but also can be arbitrary to resume a feed at any point
- Cursor string `protobuf:"bytes,1,opt,name=cursor,proto3" json:"cursor,omitempty"`
- StartAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_at,json=startAt,proto3" json:"start_at,omitempty"`
- PageSize uint32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
- Annotations []*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3" json:"annotations,omitempty"`
+ Cursor string `protobuf:"bytes,1,opt,name=cursor,proto3" json:"cursor,omitempty"`
+ StartAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_at,json=startAt,proto3" json:"start_at,omitempty"`
+ PageSize uint32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+ Annotations []*anypb.Any `protobuf:"bytes,4,rep,name=annotations,proto3" json:"annotations,omitempty"`
+ // Used to specify a specific event feed to list events from.
+ // If not provided, the connector will use the old event feed.
+ EventFeedId string `protobuf:"bytes,5,opt,name=event_feed_id,json=eventFeedId,proto3" json:"event_feed_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
@@ -93,6 +151,13 @@ func (x *ListEventsRequest) GetAnnotations() []*anypb.Any {
return nil
}
+func (x *ListEventsRequest) GetEventFeedId() string {
+ if x != nil {
+ return x.EventFeedId
+ }
+ return ""
+}
+
type ListEventsResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Events []*Event `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"`
@@ -161,6 +226,102 @@ func (x *ListEventsResponse) GetAnnotations() []*anypb.Any {
return nil
}
+type ListEventFeedsRequest struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ListEventFeedsRequest) Reset() {
+ *x = ListEventFeedsRequest{}
+ mi := &file_c1_connector_v2_event_feed_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ListEventFeedsRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ListEventFeedsRequest) ProtoMessage() {}
+
+func (x *ListEventFeedsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_c1_connector_v2_event_feed_proto_msgTypes[2]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ListEventFeedsRequest.ProtoReflect.Descriptor instead.
+func (*ListEventFeedsRequest) Descriptor() ([]byte, []int) {
+ return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *ListEventFeedsRequest) GetAnnotations() []*anypb.Any {
+ if x != nil {
+ return x.Annotations
+ }
+ return nil
+}
+
+type ListEventFeedsResponse struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ List []*EventFeedMetadata `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"`
+ Annotations []*anypb.Any `protobuf:"bytes,2,rep,name=annotations,proto3" json:"annotations,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *ListEventFeedsResponse) Reset() {
+ *x = ListEventFeedsResponse{}
+ mi := &file_c1_connector_v2_event_feed_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *ListEventFeedsResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ListEventFeedsResponse) ProtoMessage() {}
+
+func (x *ListEventFeedsResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_c1_connector_v2_event_feed_proto_msgTypes[3]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ListEventFeedsResponse.ProtoReflect.Descriptor instead.
+func (*ListEventFeedsResponse) Descriptor() ([]byte, []int) {
+ return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *ListEventFeedsResponse) GetList() []*EventFeedMetadata {
+ if x != nil {
+ return x.List
+ }
+ return nil
+}
+
+func (x *ListEventFeedsResponse) GetAnnotations() []*anypb.Any {
+ if x != nil {
+ return x.Annotations
+ }
+ return nil
+}
+
type Event struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
@@ -174,6 +335,8 @@ type Event struct {
// *Event_GrantEvent
// *Event_RevokeEvent
// *Event_ResourceChangeEvent
+ // *Event_CreateGrantEvent
+ // *Event_CreateRevokeEvent
Event isEvent_Event `protobuf_oneof:"event"`
// May contain resources for targets, actor, or items referenced in events
Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"`
@@ -183,7 +346,7 @@ type Event struct {
func (x *Event) Reset() {
*x = Event{}
- mi := &file_c1_connector_v2_event_feed_proto_msgTypes[2]
+ mi := &file_c1_connector_v2_event_feed_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -195,7 +358,7 @@ func (x *Event) String() string {
func (*Event) ProtoMessage() {}
func (x *Event) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_event_feed_proto_msgTypes[2]
+ mi := &file_c1_connector_v2_event_feed_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -208,7 +371,7 @@ func (x *Event) ProtoReflect() protoreflect.Message {
// Deprecated: Use Event.ProtoReflect.Descriptor instead.
func (*Event) Descriptor() ([]byte, []int) {
- return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{2}
+ return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{4}
}
func (x *Event) GetId() string {
@@ -268,6 +431,24 @@ func (x *Event) GetResourceChangeEvent() *ResourceChangeEvent {
return nil
}
+func (x *Event) GetCreateGrantEvent() *CreateGrantEvent {
+ if x != nil {
+ if x, ok := x.Event.(*Event_CreateGrantEvent); ok {
+ return x.CreateGrantEvent
+ }
+ }
+ return nil
+}
+
+func (x *Event) GetCreateRevokeEvent() *CreateRevokeEvent {
+ if x != nil {
+ if x, ok := x.Event.(*Event_CreateRevokeEvent); ok {
+ return x.CreateRevokeEvent
+ }
+ }
+ return nil
+}
+
func (x *Event) GetAnnotations() []*anypb.Any {
if x != nil {
return x.Annotations
@@ -295,6 +476,14 @@ type Event_ResourceChangeEvent struct {
ResourceChangeEvent *ResourceChangeEvent `protobuf:"bytes,103,opt,name=resource_change_event,json=resourceChangeEvent,proto3,oneof"`
}
+type Event_CreateGrantEvent struct {
+ CreateGrantEvent *CreateGrantEvent `protobuf:"bytes,104,opt,name=create_grant_event,json=createGrantEvent,proto3,oneof"`
+}
+
+type Event_CreateRevokeEvent struct {
+ CreateRevokeEvent *CreateRevokeEvent `protobuf:"bytes,105,opt,name=create_revoke_event,json=createRevokeEvent,proto3,oneof"`
+}
+
func (*Event_UsageEvent) isEvent_Event() {}
func (*Event_GrantEvent) isEvent_Event() {}
@@ -303,6 +492,10 @@ func (*Event_RevokeEvent) isEvent_Event() {}
func (*Event_ResourceChangeEvent) isEvent_Event() {}
+func (*Event_CreateGrantEvent) isEvent_Event() {}
+
+func (*Event_CreateRevokeEvent) isEvent_Event() {}
+
type UsageEvent struct {
state protoimpl.MessageState `protogen:"open.v1"`
TargetResource *Resource `protobuf:"bytes,1,opt,name=target_resource,json=targetResource,proto3" json:"target_resource,omitempty"`
@@ -313,7 +506,7 @@ type UsageEvent struct {
func (x *UsageEvent) Reset() {
*x = UsageEvent{}
- mi := &file_c1_connector_v2_event_feed_proto_msgTypes[3]
+ mi := &file_c1_connector_v2_event_feed_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -325,7 +518,7 @@ func (x *UsageEvent) String() string {
func (*UsageEvent) ProtoMessage() {}
func (x *UsageEvent) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_event_feed_proto_msgTypes[3]
+ mi := &file_c1_connector_v2_event_feed_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -338,7 +531,7 @@ func (x *UsageEvent) ProtoReflect() protoreflect.Message {
// Deprecated: Use UsageEvent.ProtoReflect.Descriptor instead.
func (*UsageEvent) Descriptor() ([]byte, []int) {
- return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{3}
+ return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{5}
}
func (x *UsageEvent) GetTargetResource() *Resource {
@@ -365,7 +558,7 @@ type GrantEvent struct {
func (x *GrantEvent) Reset() {
*x = GrantEvent{}
- mi := &file_c1_connector_v2_event_feed_proto_msgTypes[4]
+ mi := &file_c1_connector_v2_event_feed_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -377,7 +570,7 @@ func (x *GrantEvent) String() string {
func (*GrantEvent) ProtoMessage() {}
func (x *GrantEvent) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_event_feed_proto_msgTypes[4]
+ mi := &file_c1_connector_v2_event_feed_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -390,7 +583,7 @@ func (x *GrantEvent) ProtoReflect() protoreflect.Message {
// Deprecated: Use GrantEvent.ProtoReflect.Descriptor instead.
func (*GrantEvent) Descriptor() ([]byte, []int) {
- return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{4}
+ return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{6}
}
func (x *GrantEvent) GetGrant() *Grant {
@@ -400,6 +593,126 @@ func (x *GrantEvent) GetGrant() *Grant {
return nil
}
+type CreateGrantEvent struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ Entitlement *Entitlement `protobuf:"bytes,1,opt,name=entitlement,proto3" json:"entitlement,omitempty"`
+ Principal *Resource `protobuf:"bytes,2,opt,name=principal,proto3" json:"principal,omitempty"`
+ Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *CreateGrantEvent) Reset() {
+ *x = CreateGrantEvent{}
+ mi := &file_c1_connector_v2_event_feed_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *CreateGrantEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CreateGrantEvent) ProtoMessage() {}
+
+func (x *CreateGrantEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_c1_connector_v2_event_feed_proto_msgTypes[7]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CreateGrantEvent.ProtoReflect.Descriptor instead.
+func (*CreateGrantEvent) Descriptor() ([]byte, []int) {
+ return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{7}
+}
+
+func (x *CreateGrantEvent) GetEntitlement() *Entitlement {
+ if x != nil {
+ return x.Entitlement
+ }
+ return nil
+}
+
+func (x *CreateGrantEvent) GetPrincipal() *Resource {
+ if x != nil {
+ return x.Principal
+ }
+ return nil
+}
+
+func (x *CreateGrantEvent) GetAnnotations() []*anypb.Any {
+ if x != nil {
+ return x.Annotations
+ }
+ return nil
+}
+
+type CreateRevokeEvent struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ Entitlement *Entitlement `protobuf:"bytes,1,opt,name=entitlement,proto3" json:"entitlement,omitempty"`
+ Principal *Resource `protobuf:"bytes,2,opt,name=principal,proto3" json:"principal,omitempty"`
+ Annotations []*anypb.Any `protobuf:"bytes,3,rep,name=annotations,proto3" json:"annotations,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *CreateRevokeEvent) Reset() {
+ *x = CreateRevokeEvent{}
+ mi := &file_c1_connector_v2_event_feed_proto_msgTypes[8]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *CreateRevokeEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CreateRevokeEvent) ProtoMessage() {}
+
+func (x *CreateRevokeEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_c1_connector_v2_event_feed_proto_msgTypes[8]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CreateRevokeEvent.ProtoReflect.Descriptor instead.
+func (*CreateRevokeEvent) Descriptor() ([]byte, []int) {
+ return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{8}
+}
+
+func (x *CreateRevokeEvent) GetEntitlement() *Entitlement {
+ if x != nil {
+ return x.Entitlement
+ }
+ return nil
+}
+
+func (x *CreateRevokeEvent) GetPrincipal() *Resource {
+ if x != nil {
+ return x.Principal
+ }
+ return nil
+}
+
+func (x *CreateRevokeEvent) GetAnnotations() []*anypb.Any {
+ if x != nil {
+ return x.Annotations
+ }
+ return nil
+}
+
type RevokeEvent struct {
state protoimpl.MessageState `protogen:"open.v1"`
Entitlement *Entitlement `protobuf:"bytes,1,opt,name=entitlement,proto3" json:"entitlement,omitempty"`
@@ -410,7 +723,7 @@ type RevokeEvent struct {
func (x *RevokeEvent) Reset() {
*x = RevokeEvent{}
- mi := &file_c1_connector_v2_event_feed_proto_msgTypes[5]
+ mi := &file_c1_connector_v2_event_feed_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -422,7 +735,7 @@ func (x *RevokeEvent) String() string {
func (*RevokeEvent) ProtoMessage() {}
func (x *RevokeEvent) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_event_feed_proto_msgTypes[5]
+ mi := &file_c1_connector_v2_event_feed_proto_msgTypes[9]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -435,7 +748,7 @@ func (x *RevokeEvent) ProtoReflect() protoreflect.Message {
// Deprecated: Use RevokeEvent.ProtoReflect.Descriptor instead.
func (*RevokeEvent) Descriptor() ([]byte, []int) {
- return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{5}
+ return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{9}
}
func (x *RevokeEvent) GetEntitlement() *Entitlement {
@@ -463,7 +776,7 @@ type ResourceChangeEvent struct {
func (x *ResourceChangeEvent) Reset() {
*x = ResourceChangeEvent{}
- mi := &file_c1_connector_v2_event_feed_proto_msgTypes[6]
+ mi := &file_c1_connector_v2_event_feed_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -475,7 +788,7 @@ func (x *ResourceChangeEvent) String() string {
func (*ResourceChangeEvent) ProtoMessage() {}
func (x *ResourceChangeEvent) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_event_feed_proto_msgTypes[6]
+ mi := &file_c1_connector_v2_event_feed_proto_msgTypes[10]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -488,7 +801,7 @@ func (x *ResourceChangeEvent) ProtoReflect() protoreflect.Message {
// Deprecated: Use ResourceChangeEvent.ProtoReflect.Descriptor instead.
func (*ResourceChangeEvent) Descriptor() ([]byte, []int) {
- return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{6}
+ return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{10}
}
func (x *ResourceChangeEvent) GetResourceId() *ResourceId {
@@ -505,6 +818,59 @@ func (x *ResourceChangeEvent) GetParentResourceId() *ResourceId {
return nil
}
+type EventFeedMetadata struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ // unique identifier for the event feed
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ SupportedEventTypes []EventType `protobuf:"varint,2,rep,packed,name=supported_event_types,json=supportedEventTypes,proto3,enum=c1.connector.v2.EventType" json:"supported_event_types,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *EventFeedMetadata) Reset() {
+ *x = EventFeedMetadata{}
+ mi := &file_c1_connector_v2_event_feed_proto_msgTypes[11]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *EventFeedMetadata) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EventFeedMetadata) ProtoMessage() {}
+
+func (x *EventFeedMetadata) ProtoReflect() protoreflect.Message {
+ mi := &file_c1_connector_v2_event_feed_proto_msgTypes[11]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EventFeedMetadata.ProtoReflect.Descriptor instead.
+func (*EventFeedMetadata) Descriptor() ([]byte, []int) {
+ return file_c1_connector_v2_event_feed_proto_rawDescGZIP(), []int{11}
+}
+
+func (x *EventFeedMetadata) GetId() string {
+ if x != nil {
+ return x.Id
+ }
+ return ""
+}
+
+func (x *EventFeedMetadata) GetSupportedEventTypes() []EventType {
+ if x != nil {
+ return x.SupportedEventTypes
+ }
+ return nil
+}
+
var File_c1_connector_v2_event_feed_proto protoreflect.FileDescriptor
var file_c1_connector_v2_event_feed_proto_rawDesc = string([]byte{
@@ -522,7 +888,7 @@ var file_c1_connector_v2_event_feed_proto_rawDesc = string([]byte{
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
- 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd2, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73,
+ 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x02, 0x0a, 0x11, 0x4c, 0x69, 0x73,
0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25,
0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d,
0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01, 0x28, 0x80, 0x20, 0xd0, 0x01, 0x01, 0x52, 0x06, 0x63,
@@ -535,90 +901,170 @@ var file_c1_connector_v2_event_feed_proto_rawDesc = string([]byte{
0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79,
- 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbe, 0x01,
- 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
- 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x65, 0x76,
- 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01, 0x28, 0x80, 0x20,
- 0xd0, 0x01, 0x01, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x68,
- 0x61, 0x73, 0x5f, 0x6d, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68,
- 0x61, 0x73, 0x4d, 0x6f, 0x72, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e,
- 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb4,
- 0x03, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x6f, 0x63, 0x63, 0x75,
- 0x72, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
- 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x6f, 0x63, 0x63, 0x75, 0x72,
- 0x72, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65,
- 0x76, 0x65, 0x6e, 0x74, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e,
- 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x73, 0x61,
- 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x75, 0x73, 0x61, 0x67, 0x65,
- 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x65,
- 0x76, 0x65, 0x6e, 0x74, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e,
- 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x72, 0x61,
- 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x72, 0x61, 0x6e, 0x74,
- 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x0c, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x5f,
- 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x31,
- 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65,
- 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x76,
- 0x6f, 0x6b, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x5a, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e,
- 0x74, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e,
- 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52,
- 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45,
- 0x76, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52,
- 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x07, 0x0a, 0x05,
- 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x92, 0x01, 0x0a, 0x0a, 0x55, 0x73, 0x61, 0x67, 0x65, 0x45,
- 0x76, 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72,
- 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
- 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e,
- 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
- 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x61, 0x63, 0x74, 0x6f,
- 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a,
+ 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01, 0x28, 0x80, 0x08,
+ 0xd0, 0x01, 0x01, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x65, 0x65, 0x64, 0x49, 0x64,
+ 0x22, 0xbe, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74,
+ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e,
+ 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52,
+ 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f,
+ 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01,
+ 0x28, 0x80, 0x20, 0xd0, 0x01, 0x01, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x19,
+ 0x0a, 0x08, 0x68, 0x61, 0x73, 0x5f, 0x6d, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x07, 0x68, 0x61, 0x73, 0x4d, 0x6f, 0x72, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e, 0x6e,
+ 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x73, 0x22, 0x4f, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x65,
+ 0x65, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e,
+ 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x22, 0x88, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74,
+ 0x46, 0x65, 0x65, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a,
+ 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x31,
+ 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x76,
+ 0x65, 0x6e, 0x74, 0x46, 0x65, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52,
+ 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79,
+ 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xdd, 0x04,
+ 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x6f, 0x63, 0x63, 0x75, 0x72,
+ 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
+ 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72,
+ 0x65, 0x64, 0x41, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x76,
+ 0x65, 0x6e, 0x74, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63,
+ 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x73, 0x61, 0x67,
+ 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x75, 0x73, 0x61, 0x67, 0x65, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x65, 0x76,
+ 0x65, 0x6e, 0x74, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63,
+ 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x72, 0x61, 0x6e,
+ 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x0c, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x5f, 0x65,
+ 0x76, 0x65, 0x6e, 0x74, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x31, 0x2e,
+ 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x76,
+ 0x6f, 0x6b, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x65, 0x76, 0x6f,
+ 0x6b, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x5a, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74,
+ 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x13,
+ 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x76,
+ 0x65, 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x67, 0x72,
+ 0x61, 0x6e, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x68, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x21, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76,
+ 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x45, 0x76, 0x65,
+ 0x6e, 0x74, 0x48, 0x00, 0x52, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x61, 0x6e,
+ 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x54, 0x0a, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
+ 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x69, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x76, 0x6f,
+ 0x6b, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x0b,
+ 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x92, 0x01,
+ 0x0a, 0x0a, 0x55, 0x73, 0x61, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x0f,
+ 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x12, 0x40, 0x0a, 0x0e, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f,
+ 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x52, 0x0d, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x22, 0x3a, 0x0a, 0x0a, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74,
+ 0x12, 0x2c, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x16, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76,
+ 0x32, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x22, 0xd7,
+ 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x45, 0x76,
+ 0x65, 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65,
+ 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f,
+ 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01,
+ 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a,
+ 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x19, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
- 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0d, 0x61, 0x63, 0x74,
- 0x6f, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3a, 0x0a, 0x0a, 0x47, 0x72,
- 0x61, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x6e,
- 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e,
- 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52,
- 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x86, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x76, 0x6f, 0x6b,
- 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c,
- 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x31,
- 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e,
- 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74,
- 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69,
- 0x70, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x31, 0x2e, 0x63,
- 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x22,
- 0xa8, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e,
- 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63,
- 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52,
- 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01,
- 0x02, 0x10, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12,
- 0x49, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31,
+ 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05,
+ 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c,
+ 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
+ 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e,
+ 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xd8, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65,
+ 0x61, 0x74, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x48,
+ 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e,
+ 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e,
+ 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x31,
0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65,
- 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x52, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
- 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x32, 0x65, 0x0a, 0x0c, 0x45, 0x76,
- 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x55, 0x0a, 0x0a, 0x4c, 0x69,
- 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x22, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f,
- 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45,
- 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x63,
- 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c,
- 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
- 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x6f, 0x6e, 0x65, 0x2f, 0x62, 0x61, 0x74,
- 0x6f, 0x6e, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x70, 0x62, 0x2f, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e,
- 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x33,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01,
+ 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x0b, 0x61,
+ 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x76,
+ 0x65, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d, 0x65,
+ 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f,
+ 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x6d,
+ 0x65, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x22, 0xa8, 0x01, 0x0a,
+ 0x13, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63,
+ 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01,
+ 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x49, 0x0a, 0x12,
+ 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f,
+ 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x49, 0x64, 0x52, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0x90, 0x01, 0x0a, 0x11, 0x45, 0x76, 0x65, 0x6e,
+ 0x74, 0x46, 0x65, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a,
+ 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05,
+ 0x20, 0x01, 0x28, 0x80, 0x08, 0x52, 0x02, 0x69, 0x64, 0x12, 0x5f, 0x0a, 0x15, 0x73, 0x75, 0x70,
+ 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f,
+ 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74,
+ 0x54, 0x79, 0x70, 0x65, 0x42, 0x0f, 0xfa, 0x42, 0x0c, 0x92, 0x01, 0x09, 0x18, 0x01, 0x22, 0x05,
+ 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x13, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64,
+ 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2a, 0xa4, 0x01, 0x0a, 0x09, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x56, 0x45, 0x4e,
+ 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
+ 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x55, 0x53, 0x41, 0x47, 0x45, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x45, 0x56,
+ 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43,
+ 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x56,
+ 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f,
+ 0x47, 0x52, 0x41, 0x4e, 0x54, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x56, 0x45, 0x4e, 0x54,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x56,
+ 0x4f, 0x4b, 0x45, 0x10, 0x06, 0x22, 0x04, 0x08, 0x02, 0x10, 0x02, 0x22, 0x04, 0x08, 0x03, 0x10,
+ 0x03, 0x32, 0xc8, 0x01, 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69,
+ 0x63, 0x65, 0x12, 0x55, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73,
+ 0x12, 0x22, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
+ 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74,
+ 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x0e, 0x4c, 0x69, 0x73,
+ 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x65, 0x65, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x31,
+ 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69,
+ 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x65, 0x65, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46,
+ 0x65, 0x65, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x36, 0x5a, 0x34,
+ 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, 0x64, 0x75,
+ 0x63, 0x74, 0x6f, 0x72, 0x6f, 0x6e, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2d, 0x73, 0x64,
+ 0x6b, 0x2f, 0x70, 0x62, 0x2f, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x2f, 0x76, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
})
var (
@@ -633,47 +1079,68 @@ func file_c1_connector_v2_event_feed_proto_rawDescGZIP() []byte {
return file_c1_connector_v2_event_feed_proto_rawDescData
}
-var file_c1_connector_v2_event_feed_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
+var file_c1_connector_v2_event_feed_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_c1_connector_v2_event_feed_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
var file_c1_connector_v2_event_feed_proto_goTypes = []any{
- (*ListEventsRequest)(nil), // 0: c1.connector.v2.ListEventsRequest
- (*ListEventsResponse)(nil), // 1: c1.connector.v2.ListEventsResponse
- (*Event)(nil), // 2: c1.connector.v2.Event
- (*UsageEvent)(nil), // 3: c1.connector.v2.UsageEvent
- (*GrantEvent)(nil), // 4: c1.connector.v2.GrantEvent
- (*RevokeEvent)(nil), // 5: c1.connector.v2.RevokeEvent
- (*ResourceChangeEvent)(nil), // 6: c1.connector.v2.ResourceChangeEvent
- (*timestamppb.Timestamp)(nil), // 7: google.protobuf.Timestamp
- (*anypb.Any)(nil), // 8: google.protobuf.Any
- (*Resource)(nil), // 9: c1.connector.v2.Resource
- (*Grant)(nil), // 10: c1.connector.v2.Grant
- (*Entitlement)(nil), // 11: c1.connector.v2.Entitlement
- (*ResourceId)(nil), // 12: c1.connector.v2.ResourceId
+ (EventType)(0), // 0: c1.connector.v2.EventType
+ (*ListEventsRequest)(nil), // 1: c1.connector.v2.ListEventsRequest
+ (*ListEventsResponse)(nil), // 2: c1.connector.v2.ListEventsResponse
+ (*ListEventFeedsRequest)(nil), // 3: c1.connector.v2.ListEventFeedsRequest
+ (*ListEventFeedsResponse)(nil), // 4: c1.connector.v2.ListEventFeedsResponse
+ (*Event)(nil), // 5: c1.connector.v2.Event
+ (*UsageEvent)(nil), // 6: c1.connector.v2.UsageEvent
+ (*GrantEvent)(nil), // 7: c1.connector.v2.GrantEvent
+ (*CreateGrantEvent)(nil), // 8: c1.connector.v2.CreateGrantEvent
+ (*CreateRevokeEvent)(nil), // 9: c1.connector.v2.CreateRevokeEvent
+ (*RevokeEvent)(nil), // 10: c1.connector.v2.RevokeEvent
+ (*ResourceChangeEvent)(nil), // 11: c1.connector.v2.ResourceChangeEvent
+ (*EventFeedMetadata)(nil), // 12: c1.connector.v2.EventFeedMetadata
+ (*timestamppb.Timestamp)(nil), // 13: google.protobuf.Timestamp
+ (*anypb.Any)(nil), // 14: google.protobuf.Any
+ (*Resource)(nil), // 15: c1.connector.v2.Resource
+ (*Grant)(nil), // 16: c1.connector.v2.Grant
+ (*Entitlement)(nil), // 17: c1.connector.v2.Entitlement
+ (*ResourceId)(nil), // 18: c1.connector.v2.ResourceId
}
var file_c1_connector_v2_event_feed_proto_depIdxs = []int32{
- 7, // 0: c1.connector.v2.ListEventsRequest.start_at:type_name -> google.protobuf.Timestamp
- 8, // 1: c1.connector.v2.ListEventsRequest.annotations:type_name -> google.protobuf.Any
- 2, // 2: c1.connector.v2.ListEventsResponse.events:type_name -> c1.connector.v2.Event
- 8, // 3: c1.connector.v2.ListEventsResponse.annotations:type_name -> google.protobuf.Any
- 7, // 4: c1.connector.v2.Event.occurred_at:type_name -> google.protobuf.Timestamp
- 3, // 5: c1.connector.v2.Event.usage_event:type_name -> c1.connector.v2.UsageEvent
- 4, // 6: c1.connector.v2.Event.grant_event:type_name -> c1.connector.v2.GrantEvent
- 5, // 7: c1.connector.v2.Event.revoke_event:type_name -> c1.connector.v2.RevokeEvent
- 6, // 8: c1.connector.v2.Event.resource_change_event:type_name -> c1.connector.v2.ResourceChangeEvent
- 8, // 9: c1.connector.v2.Event.annotations:type_name -> google.protobuf.Any
- 9, // 10: c1.connector.v2.UsageEvent.target_resource:type_name -> c1.connector.v2.Resource
- 9, // 11: c1.connector.v2.UsageEvent.actor_resource:type_name -> c1.connector.v2.Resource
- 10, // 12: c1.connector.v2.GrantEvent.grant:type_name -> c1.connector.v2.Grant
- 11, // 13: c1.connector.v2.RevokeEvent.entitlement:type_name -> c1.connector.v2.Entitlement
- 9, // 14: c1.connector.v2.RevokeEvent.principal:type_name -> c1.connector.v2.Resource
- 12, // 15: c1.connector.v2.ResourceChangeEvent.resource_id:type_name -> c1.connector.v2.ResourceId
- 12, // 16: c1.connector.v2.ResourceChangeEvent.parent_resource_id:type_name -> c1.connector.v2.ResourceId
- 0, // 17: c1.connector.v2.EventService.ListEvents:input_type -> c1.connector.v2.ListEventsRequest
- 1, // 18: c1.connector.v2.EventService.ListEvents:output_type -> c1.connector.v2.ListEventsResponse
- 18, // [18:19] is the sub-list for method output_type
- 17, // [17:18] is the sub-list for method input_type
- 17, // [17:17] is the sub-list for extension type_name
- 17, // [17:17] is the sub-list for extension extendee
- 0, // [0:17] is the sub-list for field type_name
+ 13, // 0: c1.connector.v2.ListEventsRequest.start_at:type_name -> google.protobuf.Timestamp
+ 14, // 1: c1.connector.v2.ListEventsRequest.annotations:type_name -> google.protobuf.Any
+ 5, // 2: c1.connector.v2.ListEventsResponse.events:type_name -> c1.connector.v2.Event
+ 14, // 3: c1.connector.v2.ListEventsResponse.annotations:type_name -> google.protobuf.Any
+ 14, // 4: c1.connector.v2.ListEventFeedsRequest.annotations:type_name -> google.protobuf.Any
+ 12, // 5: c1.connector.v2.ListEventFeedsResponse.list:type_name -> c1.connector.v2.EventFeedMetadata
+ 14, // 6: c1.connector.v2.ListEventFeedsResponse.annotations:type_name -> google.protobuf.Any
+ 13, // 7: c1.connector.v2.Event.occurred_at:type_name -> google.protobuf.Timestamp
+ 6, // 8: c1.connector.v2.Event.usage_event:type_name -> c1.connector.v2.UsageEvent
+ 7, // 9: c1.connector.v2.Event.grant_event:type_name -> c1.connector.v2.GrantEvent
+ 10, // 10: c1.connector.v2.Event.revoke_event:type_name -> c1.connector.v2.RevokeEvent
+ 11, // 11: c1.connector.v2.Event.resource_change_event:type_name -> c1.connector.v2.ResourceChangeEvent
+ 8, // 12: c1.connector.v2.Event.create_grant_event:type_name -> c1.connector.v2.CreateGrantEvent
+ 9, // 13: c1.connector.v2.Event.create_revoke_event:type_name -> c1.connector.v2.CreateRevokeEvent
+ 14, // 14: c1.connector.v2.Event.annotations:type_name -> google.protobuf.Any
+ 15, // 15: c1.connector.v2.UsageEvent.target_resource:type_name -> c1.connector.v2.Resource
+ 15, // 16: c1.connector.v2.UsageEvent.actor_resource:type_name -> c1.connector.v2.Resource
+ 16, // 17: c1.connector.v2.GrantEvent.grant:type_name -> c1.connector.v2.Grant
+ 17, // 18: c1.connector.v2.CreateGrantEvent.entitlement:type_name -> c1.connector.v2.Entitlement
+ 15, // 19: c1.connector.v2.CreateGrantEvent.principal:type_name -> c1.connector.v2.Resource
+ 14, // 20: c1.connector.v2.CreateGrantEvent.annotations:type_name -> google.protobuf.Any
+ 17, // 21: c1.connector.v2.CreateRevokeEvent.entitlement:type_name -> c1.connector.v2.Entitlement
+ 15, // 22: c1.connector.v2.CreateRevokeEvent.principal:type_name -> c1.connector.v2.Resource
+ 14, // 23: c1.connector.v2.CreateRevokeEvent.annotations:type_name -> google.protobuf.Any
+ 17, // 24: c1.connector.v2.RevokeEvent.entitlement:type_name -> c1.connector.v2.Entitlement
+ 15, // 25: c1.connector.v2.RevokeEvent.principal:type_name -> c1.connector.v2.Resource
+ 18, // 26: c1.connector.v2.ResourceChangeEvent.resource_id:type_name -> c1.connector.v2.ResourceId
+ 18, // 27: c1.connector.v2.ResourceChangeEvent.parent_resource_id:type_name -> c1.connector.v2.ResourceId
+ 0, // 28: c1.connector.v2.EventFeedMetadata.supported_event_types:type_name -> c1.connector.v2.EventType
+ 1, // 29: c1.connector.v2.EventService.ListEvents:input_type -> c1.connector.v2.ListEventsRequest
+ 3, // 30: c1.connector.v2.EventService.ListEventFeeds:input_type -> c1.connector.v2.ListEventFeedsRequest
+ 2, // 31: c1.connector.v2.EventService.ListEvents:output_type -> c1.connector.v2.ListEventsResponse
+ 4, // 32: c1.connector.v2.EventService.ListEventFeeds:output_type -> c1.connector.v2.ListEventFeedsResponse
+ 31, // [31:33] is the sub-list for method output_type
+ 29, // [29:31] is the sub-list for method input_type
+ 29, // [29:29] is the sub-list for extension type_name
+ 29, // [29:29] is the sub-list for extension extendee
+ 0, // [0:29] is the sub-list for field type_name
}
func init() { file_c1_connector_v2_event_feed_proto_init() }
@@ -684,24 +1151,27 @@ func file_c1_connector_v2_event_feed_proto_init() {
file_c1_connector_v2_entitlement_proto_init()
file_c1_connector_v2_grant_proto_init()
file_c1_connector_v2_resource_proto_init()
- file_c1_connector_v2_event_feed_proto_msgTypes[2].OneofWrappers = []any{
+ file_c1_connector_v2_event_feed_proto_msgTypes[4].OneofWrappers = []any{
(*Event_UsageEvent)(nil),
(*Event_GrantEvent)(nil),
(*Event_RevokeEvent)(nil),
(*Event_ResourceChangeEvent)(nil),
+ (*Event_CreateGrantEvent)(nil),
+ (*Event_CreateRevokeEvent)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_connector_v2_event_feed_proto_rawDesc), len(file_c1_connector_v2_event_feed_proto_rawDesc)),
- NumEnums: 0,
- NumMessages: 7,
+ NumEnums: 1,
+ NumMessages: 12,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_c1_connector_v2_event_feed_proto_goTypes,
DependencyIndexes: file_c1_connector_v2_event_feed_proto_depIdxs,
+ EnumInfos: file_c1_connector_v2_event_feed_proto_enumTypes,
MessageInfos: file_c1_connector_v2_event_feed_proto_msgTypes,
}.Build()
File_c1_connector_v2_event_feed_proto = out.File
diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/event_feed.pb.validate.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/event_feed.pb.validate.go
index 1f6f2558..131ce870 100644
--- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/event_feed.pb.validate.go
+++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/event_feed.pb.validate.go
@@ -150,6 +150,21 @@ func (m *ListEventsRequest) validate(all bool) error {
}
+ if m.GetEventFeedId() != "" {
+
+ if l := len(m.GetEventFeedId()); l < 1 || l > 1024 {
+ err := ListEventsRequestValidationError{
+ field: "EventFeedId",
+ reason: "value length must be between 1 and 1024 bytes, inclusive",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ }
+
if len(errors) > 0 {
return ListEventsRequestMultiError(errors)
}
@@ -417,6 +432,312 @@ var _ interface {
ErrorName() string
} = ListEventsResponseValidationError{}
+// Validate checks the field values on ListEventFeedsRequest with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *ListEventFeedsRequest) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on ListEventFeedsRequest with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// ListEventFeedsRequestMultiError, or nil if none found.
+func (m *ListEventFeedsRequest) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *ListEventFeedsRequest) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ for idx, item := range m.GetAnnotations() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ListEventFeedsRequestValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ListEventFeedsRequestValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ListEventFeedsRequestValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ if len(errors) > 0 {
+ return ListEventFeedsRequestMultiError(errors)
+ }
+
+ return nil
+}
+
+// ListEventFeedsRequestMultiError is an error wrapping multiple validation
+// errors returned by ListEventFeedsRequest.ValidateAll() if the designated
+// constraints aren't met.
+type ListEventFeedsRequestMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m ListEventFeedsRequestMultiError) Error() string {
+ msgs := make([]string, 0, len(m))
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m ListEventFeedsRequestMultiError) AllErrors() []error { return m }
+
+// ListEventFeedsRequestValidationError is the validation error returned by
+// ListEventFeedsRequest.Validate if the designated constraints aren't met.
+type ListEventFeedsRequestValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e ListEventFeedsRequestValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e ListEventFeedsRequestValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e ListEventFeedsRequestValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e ListEventFeedsRequestValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e ListEventFeedsRequestValidationError) ErrorName() string {
+ return "ListEventFeedsRequestValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e ListEventFeedsRequestValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sListEventFeedsRequest.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = ListEventFeedsRequestValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = ListEventFeedsRequestValidationError{}
+
+// Validate checks the field values on ListEventFeedsResponse with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *ListEventFeedsResponse) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on ListEventFeedsResponse with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// ListEventFeedsResponseMultiError, or nil if none found.
+func (m *ListEventFeedsResponse) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *ListEventFeedsResponse) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ for idx, item := range m.GetList() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ListEventFeedsResponseValidationError{
+ field: fmt.Sprintf("List[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ListEventFeedsResponseValidationError{
+ field: fmt.Sprintf("List[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ListEventFeedsResponseValidationError{
+ field: fmt.Sprintf("List[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ for idx, item := range m.GetAnnotations() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ListEventFeedsResponseValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ListEventFeedsResponseValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ListEventFeedsResponseValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ if len(errors) > 0 {
+ return ListEventFeedsResponseMultiError(errors)
+ }
+
+ return nil
+}
+
+// ListEventFeedsResponseMultiError is an error wrapping multiple validation
+// errors returned by ListEventFeedsResponse.ValidateAll() if the designated
+// constraints aren't met.
+type ListEventFeedsResponseMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m ListEventFeedsResponseMultiError) Error() string {
+ msgs := make([]string, 0, len(m))
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m ListEventFeedsResponseMultiError) AllErrors() []error { return m }
+
+// ListEventFeedsResponseValidationError is the validation error returned by
+// ListEventFeedsResponse.Validate if the designated constraints aren't met.
+type ListEventFeedsResponseValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e ListEventFeedsResponseValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e ListEventFeedsResponseValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e ListEventFeedsResponseValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e ListEventFeedsResponseValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e ListEventFeedsResponseValidationError) ErrorName() string {
+ return "ListEventFeedsResponseValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e ListEventFeedsResponseValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sListEventFeedsResponse.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = ListEventFeedsResponseValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = ListEventFeedsResponseValidationError{}
+
// Validate checks the field values on Event with the rules defined in the
// proto definition for this message. If any rules are violated, the first
// error encountered is returned, or nil if there are no violations.
@@ -668,8 +989,90 @@ func (m *Event) validate(all bool) error {
}
}
- default:
- _ = v // ensures v is used
+ case *Event_CreateGrantEvent:
+ if v == nil {
+ err := EventValidationError{
+ field: "Event",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ if all {
+ switch v := interface{}(m.GetCreateGrantEvent()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, EventValidationError{
+ field: "CreateGrantEvent",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, EventValidationError{
+ field: "CreateGrantEvent",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetCreateGrantEvent()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return EventValidationError{
+ field: "CreateGrantEvent",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ case *Event_CreateRevokeEvent:
+ if v == nil {
+ err := EventValidationError{
+ field: "Event",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ if all {
+ switch v := interface{}(m.GetCreateRevokeEvent()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, EventValidationError{
+ field: "CreateRevokeEvent",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, EventValidationError{
+ field: "CreateRevokeEvent",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetCreateRevokeEvent()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return EventValidationError{
+ field: "CreateRevokeEvent",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ default:
+ _ = v // ensures v is used
}
if len(errors) > 0 {
@@ -1034,33 +1437,44 @@ var _ interface {
ErrorName() string
} = GrantEventValidationError{}
-// Validate checks the field values on RevokeEvent with the rules defined in
-// the proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *RevokeEvent) Validate() error {
+// Validate checks the field values on CreateGrantEvent with the rules defined
+// in the proto definition for this message. If any rules are violated, the
+// first error encountered is returned, or nil if there are no violations.
+func (m *CreateGrantEvent) Validate() error {
return m.validate(false)
}
-// ValidateAll checks the field values on RevokeEvent with the rules defined in
-// the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in RevokeEventMultiError, or
-// nil if none found.
-func (m *RevokeEvent) ValidateAll() error {
+// ValidateAll checks the field values on CreateGrantEvent with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// CreateGrantEventMultiError, or nil if none found.
+func (m *CreateGrantEvent) ValidateAll() error {
return m.validate(true)
}
-func (m *RevokeEvent) validate(all bool) error {
+func (m *CreateGrantEvent) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
+ if m.GetEntitlement() == nil {
+ err := CreateGrantEventValidationError{
+ field: "Entitlement",
+ reason: "value is required",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
if all {
switch v := interface{}(m.GetEntitlement()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
- errors = append(errors, RevokeEventValidationError{
+ errors = append(errors, CreateGrantEventValidationError{
field: "Entitlement",
reason: "embedded message failed validation",
cause: err,
@@ -1068,7 +1482,7 @@ func (m *RevokeEvent) validate(all bool) error {
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
- errors = append(errors, RevokeEventValidationError{
+ errors = append(errors, CreateGrantEventValidationError{
field: "Entitlement",
reason: "embedded message failed validation",
cause: err,
@@ -1077,7 +1491,7 @@ func (m *RevokeEvent) validate(all bool) error {
}
} else if v, ok := interface{}(m.GetEntitlement()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
- return RevokeEventValidationError{
+ return CreateGrantEventValidationError{
field: "Entitlement",
reason: "embedded message failed validation",
cause: err,
@@ -1085,11 +1499,22 @@ func (m *RevokeEvent) validate(all bool) error {
}
}
+ if m.GetPrincipal() == nil {
+ err := CreateGrantEventValidationError{
+ field: "Principal",
+ reason: "value is required",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
if all {
switch v := interface{}(m.GetPrincipal()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
- errors = append(errors, RevokeEventValidationError{
+ errors = append(errors, CreateGrantEventValidationError{
field: "Principal",
reason: "embedded message failed validation",
cause: err,
@@ -1097,7 +1522,7 @@ func (m *RevokeEvent) validate(all bool) error {
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
- errors = append(errors, RevokeEventValidationError{
+ errors = append(errors, CreateGrantEventValidationError{
field: "Principal",
reason: "embedded message failed validation",
cause: err,
@@ -1106,7 +1531,7 @@ func (m *RevokeEvent) validate(all bool) error {
}
} else if v, ok := interface{}(m.GetPrincipal()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
- return RevokeEventValidationError{
+ return CreateGrantEventValidationError{
field: "Principal",
reason: "embedded message failed validation",
cause: err,
@@ -1114,19 +1539,54 @@ func (m *RevokeEvent) validate(all bool) error {
}
}
+ for idx, item := range m.GetAnnotations() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, CreateGrantEventValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, CreateGrantEventValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return CreateGrantEventValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
if len(errors) > 0 {
- return RevokeEventMultiError(errors)
+ return CreateGrantEventMultiError(errors)
}
return nil
}
-// RevokeEventMultiError is an error wrapping multiple validation errors
-// returned by RevokeEvent.ValidateAll() if the designated constraints aren't met.
-type RevokeEventMultiError []error
+// CreateGrantEventMultiError is an error wrapping multiple validation errors
+// returned by CreateGrantEvent.ValidateAll() if the designated constraints
+// aren't met.
+type CreateGrantEventMultiError []error
// Error returns a concatenation of all the error messages it wraps.
-func (m RevokeEventMultiError) Error() string {
+func (m CreateGrantEventMultiError) Error() string {
msgs := make([]string, 0, len(m))
for _, err := range m {
msgs = append(msgs, err.Error())
@@ -1135,11 +1595,11 @@ func (m RevokeEventMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
-func (m RevokeEventMultiError) AllErrors() []error { return m }
+func (m CreateGrantEventMultiError) AllErrors() []error { return m }
-// RevokeEventValidationError is the validation error returned by
-// RevokeEvent.Validate if the designated constraints aren't met.
-type RevokeEventValidationError struct {
+// CreateGrantEventValidationError is the validation error returned by
+// CreateGrantEvent.Validate if the designated constraints aren't met.
+type CreateGrantEventValidationError struct {
field string
reason string
cause error
@@ -1147,22 +1607,22 @@ type RevokeEventValidationError struct {
}
// Field function returns field value.
-func (e RevokeEventValidationError) Field() string { return e.field }
+func (e CreateGrantEventValidationError) Field() string { return e.field }
// Reason function returns reason value.
-func (e RevokeEventValidationError) Reason() string { return e.reason }
+func (e CreateGrantEventValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
-func (e RevokeEventValidationError) Cause() error { return e.cause }
+func (e CreateGrantEventValidationError) Cause() error { return e.cause }
// Key function returns key value.
-func (e RevokeEventValidationError) Key() bool { return e.key }
+func (e CreateGrantEventValidationError) Key() bool { return e.key }
// ErrorName returns error name.
-func (e RevokeEventValidationError) ErrorName() string { return "RevokeEventValidationError" }
+func (e CreateGrantEventValidationError) ErrorName() string { return "CreateGrantEventValidationError" }
// Error satisfies the builtin error interface
-func (e RevokeEventValidationError) Error() string {
+func (e CreateGrantEventValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@@ -1174,14 +1634,14 @@ func (e RevokeEventValidationError) Error() string {
}
return fmt.Sprintf(
- "invalid %sRevokeEvent.%s: %s%s",
+ "invalid %sCreateGrantEvent.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
-var _ error = RevokeEventValidationError{}
+var _ error = CreateGrantEventValidationError{}
var _ interface {
Field() string
@@ -1189,33 +1649,33 @@ var _ interface {
Key() bool
Cause() error
ErrorName() string
-} = RevokeEventValidationError{}
+} = CreateGrantEventValidationError{}
-// Validate checks the field values on ResourceChangeEvent with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *ResourceChangeEvent) Validate() error {
+// Validate checks the field values on CreateRevokeEvent with the rules defined
+// in the proto definition for this message. If any rules are violated, the
+// first error encountered is returned, or nil if there are no violations.
+func (m *CreateRevokeEvent) Validate() error {
return m.validate(false)
}
-// ValidateAll checks the field values on ResourceChangeEvent with the rules
+// ValidateAll checks the field values on CreateRevokeEvent with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
-// ResourceChangeEventMultiError, or nil if none found.
-func (m *ResourceChangeEvent) ValidateAll() error {
+// CreateRevokeEventMultiError, or nil if none found.
+func (m *CreateRevokeEvent) ValidateAll() error {
return m.validate(true)
}
-func (m *ResourceChangeEvent) validate(all bool) error {
+func (m *CreateRevokeEvent) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
- if m.GetResourceId() == nil {
- err := ResourceChangeEventValidationError{
- field: "ResourceId",
+ if m.GetEntitlement() == nil {
+ err := CreateRevokeEventValidationError{
+ field: "Entitlement",
reason: "value is required",
}
if !all {
@@ -1225,77 +1685,122 @@ func (m *ResourceChangeEvent) validate(all bool) error {
}
if all {
- switch v := interface{}(m.GetResourceId()).(type) {
+ switch v := interface{}(m.GetEntitlement()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
- errors = append(errors, ResourceChangeEventValidationError{
- field: "ResourceId",
+ errors = append(errors, CreateRevokeEventValidationError{
+ field: "Entitlement",
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
- errors = append(errors, ResourceChangeEventValidationError{
- field: "ResourceId",
+ errors = append(errors, CreateRevokeEventValidationError{
+ field: "Entitlement",
reason: "embedded message failed validation",
cause: err,
})
}
}
- } else if v, ok := interface{}(m.GetResourceId()).(interface{ Validate() error }); ok {
+ } else if v, ok := interface{}(m.GetEntitlement()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
- return ResourceChangeEventValidationError{
- field: "ResourceId",
+ return CreateRevokeEventValidationError{
+ field: "Entitlement",
reason: "embedded message failed validation",
cause: err,
}
}
}
+ if m.GetPrincipal() == nil {
+ err := CreateRevokeEventValidationError{
+ field: "Principal",
+ reason: "value is required",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
if all {
- switch v := interface{}(m.GetParentResourceId()).(type) {
+ switch v := interface{}(m.GetPrincipal()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
- errors = append(errors, ResourceChangeEventValidationError{
- field: "ParentResourceId",
+ errors = append(errors, CreateRevokeEventValidationError{
+ field: "Principal",
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
- errors = append(errors, ResourceChangeEventValidationError{
- field: "ParentResourceId",
+ errors = append(errors, CreateRevokeEventValidationError{
+ field: "Principal",
reason: "embedded message failed validation",
cause: err,
})
}
}
- } else if v, ok := interface{}(m.GetParentResourceId()).(interface{ Validate() error }); ok {
+ } else if v, ok := interface{}(m.GetPrincipal()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
- return ResourceChangeEventValidationError{
- field: "ParentResourceId",
+ return CreateRevokeEventValidationError{
+ field: "Principal",
reason: "embedded message failed validation",
cause: err,
}
}
}
+ for idx, item := range m.GetAnnotations() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, CreateRevokeEventValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, CreateRevokeEventValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return CreateRevokeEventValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
if len(errors) > 0 {
- return ResourceChangeEventMultiError(errors)
+ return CreateRevokeEventMultiError(errors)
}
return nil
}
-// ResourceChangeEventMultiError is an error wrapping multiple validation
-// errors returned by ResourceChangeEvent.ValidateAll() if the designated
-// constraints aren't met.
-type ResourceChangeEventMultiError []error
+// CreateRevokeEventMultiError is an error wrapping multiple validation errors
+// returned by CreateRevokeEvent.ValidateAll() if the designated constraints
+// aren't met.
+type CreateRevokeEventMultiError []error
// Error returns a concatenation of all the error messages it wraps.
-func (m ResourceChangeEventMultiError) Error() string {
+func (m CreateRevokeEventMultiError) Error() string {
msgs := make([]string, 0, len(m))
for _, err := range m {
msgs = append(msgs, err.Error())
@@ -1304,11 +1809,11 @@ func (m ResourceChangeEventMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
-func (m ResourceChangeEventMultiError) AllErrors() []error { return m }
+func (m CreateRevokeEventMultiError) AllErrors() []error { return m }
-// ResourceChangeEventValidationError is the validation error returned by
-// ResourceChangeEvent.Validate if the designated constraints aren't met.
-type ResourceChangeEventValidationError struct {
+// CreateRevokeEventValidationError is the validation error returned by
+// CreateRevokeEvent.Validate if the designated constraints aren't met.
+type CreateRevokeEventValidationError struct {
field string
reason string
cause error
@@ -1316,24 +1821,24 @@ type ResourceChangeEventValidationError struct {
}
// Field function returns field value.
-func (e ResourceChangeEventValidationError) Field() string { return e.field }
+func (e CreateRevokeEventValidationError) Field() string { return e.field }
// Reason function returns reason value.
-func (e ResourceChangeEventValidationError) Reason() string { return e.reason }
+func (e CreateRevokeEventValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
-func (e ResourceChangeEventValidationError) Cause() error { return e.cause }
+func (e CreateRevokeEventValidationError) Cause() error { return e.cause }
// Key function returns key value.
-func (e ResourceChangeEventValidationError) Key() bool { return e.key }
+func (e CreateRevokeEventValidationError) Key() bool { return e.key }
// ErrorName returns error name.
-func (e ResourceChangeEventValidationError) ErrorName() string {
- return "ResourceChangeEventValidationError"
+func (e CreateRevokeEventValidationError) ErrorName() string {
+ return "CreateRevokeEventValidationError"
}
// Error satisfies the builtin error interface
-func (e ResourceChangeEventValidationError) Error() string {
+func (e CreateRevokeEventValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@@ -1345,14 +1850,342 @@ func (e ResourceChangeEventValidationError) Error() string {
}
return fmt.Sprintf(
- "invalid %sResourceChangeEvent.%s: %s%s",
+ "invalid %sCreateRevokeEvent.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
-var _ error = ResourceChangeEventValidationError{}
+var _ error = CreateRevokeEventValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = CreateRevokeEventValidationError{}
+
+// Validate checks the field values on RevokeEvent with the rules defined in
+// the proto definition for this message. If any rules are violated, the first
+// error encountered is returned, or nil if there are no violations.
+func (m *RevokeEvent) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on RevokeEvent with the rules defined in
+// the proto definition for this message. If any rules are violated, the
+// result is a list of violation errors wrapped in RevokeEventMultiError, or
+// nil if none found.
+func (m *RevokeEvent) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *RevokeEvent) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ if all {
+ switch v := interface{}(m.GetEntitlement()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, RevokeEventValidationError{
+ field: "Entitlement",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, RevokeEventValidationError{
+ field: "Entitlement",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetEntitlement()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return RevokeEventValidationError{
+ field: "Entitlement",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetPrincipal()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, RevokeEventValidationError{
+ field: "Principal",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, RevokeEventValidationError{
+ field: "Principal",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetPrincipal()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return RevokeEventValidationError{
+ field: "Principal",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if len(errors) > 0 {
+ return RevokeEventMultiError(errors)
+ }
+
+ return nil
+}
+
+// RevokeEventMultiError is an error wrapping multiple validation errors
+// returned by RevokeEvent.ValidateAll() if the designated constraints aren't met.
+type RevokeEventMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m RevokeEventMultiError) Error() string {
+ msgs := make([]string, 0, len(m))
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m RevokeEventMultiError) AllErrors() []error { return m }
+
+// RevokeEventValidationError is the validation error returned by
+// RevokeEvent.Validate if the designated constraints aren't met.
+type RevokeEventValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e RevokeEventValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e RevokeEventValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e RevokeEventValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e RevokeEventValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e RevokeEventValidationError) ErrorName() string { return "RevokeEventValidationError" }
+
+// Error satisfies the builtin error interface
+func (e RevokeEventValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sRevokeEvent.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = RevokeEventValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = RevokeEventValidationError{}
+
+// Validate checks the field values on ResourceChangeEvent with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *ResourceChangeEvent) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on ResourceChangeEvent with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// ResourceChangeEventMultiError, or nil if none found.
+func (m *ResourceChangeEvent) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *ResourceChangeEvent) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ if m.GetResourceId() == nil {
+ err := ResourceChangeEventValidationError{
+ field: "ResourceId",
+ reason: "value is required",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ if all {
+ switch v := interface{}(m.GetResourceId()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ResourceChangeEventValidationError{
+ field: "ResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ResourceChangeEventValidationError{
+ field: "ResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetResourceId()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ResourceChangeEventValidationError{
+ field: "ResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetParentResourceId()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ResourceChangeEventValidationError{
+ field: "ParentResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ResourceChangeEventValidationError{
+ field: "ParentResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetParentResourceId()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ResourceChangeEventValidationError{
+ field: "ParentResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if len(errors) > 0 {
+ return ResourceChangeEventMultiError(errors)
+ }
+
+ return nil
+}
+
+// ResourceChangeEventMultiError is an error wrapping multiple validation
+// errors returned by ResourceChangeEvent.ValidateAll() if the designated
+// constraints aren't met.
+type ResourceChangeEventMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m ResourceChangeEventMultiError) Error() string {
+ msgs := make([]string, 0, len(m))
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m ResourceChangeEventMultiError) AllErrors() []error { return m }
+
+// ResourceChangeEventValidationError is the validation error returned by
+// ResourceChangeEvent.Validate if the designated constraints aren't met.
+type ResourceChangeEventValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e ResourceChangeEventValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e ResourceChangeEventValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e ResourceChangeEventValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e ResourceChangeEventValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e ResourceChangeEventValidationError) ErrorName() string {
+ return "ResourceChangeEventValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e ResourceChangeEventValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sResourceChangeEvent.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = ResourceChangeEventValidationError{}
var _ interface {
Field() string
@@ -1361,3 +2194,147 @@ var _ interface {
Cause() error
ErrorName() string
} = ResourceChangeEventValidationError{}
+
+// Validate checks the field values on EventFeedMetadata with the rules defined
+// in the proto definition for this message. If any rules are violated, the
+// first error encountered is returned, or nil if there are no violations.
+func (m *EventFeedMetadata) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on EventFeedMetadata with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// EventFeedMetadataMultiError, or nil if none found.
+func (m *EventFeedMetadata) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *EventFeedMetadata) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ if l := len(m.GetId()); l < 1 || l > 1024 {
+ err := EventFeedMetadataValidationError{
+ field: "Id",
+ reason: "value length must be between 1 and 1024 bytes, inclusive",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ _EventFeedMetadata_SupportedEventTypes_Unique := make(map[EventType]struct{}, len(m.GetSupportedEventTypes()))
+
+ for idx, item := range m.GetSupportedEventTypes() {
+ _, _ = idx, item
+
+ if _, exists := _EventFeedMetadata_SupportedEventTypes_Unique[item]; exists {
+ err := EventFeedMetadataValidationError{
+ field: fmt.Sprintf("SupportedEventTypes[%v]", idx),
+ reason: "repeated value must contain unique items",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ } else {
+ _EventFeedMetadata_SupportedEventTypes_Unique[item] = struct{}{}
+ }
+
+ if _, ok := EventType_name[int32(item)]; !ok {
+ err := EventFeedMetadataValidationError{
+ field: fmt.Sprintf("SupportedEventTypes[%v]", idx),
+ reason: "value must be one of the defined enum values",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ }
+
+ if len(errors) > 0 {
+ return EventFeedMetadataMultiError(errors)
+ }
+
+ return nil
+}
+
+// EventFeedMetadataMultiError is an error wrapping multiple validation errors
+// returned by EventFeedMetadata.ValidateAll() if the designated constraints
+// aren't met.
+type EventFeedMetadataMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m EventFeedMetadataMultiError) Error() string {
+ msgs := make([]string, 0, len(m))
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m EventFeedMetadataMultiError) AllErrors() []error { return m }
+
+// EventFeedMetadataValidationError is the validation error returned by
+// EventFeedMetadata.Validate if the designated constraints aren't met.
+type EventFeedMetadataValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e EventFeedMetadataValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e EventFeedMetadataValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e EventFeedMetadataValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e EventFeedMetadataValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e EventFeedMetadataValidationError) ErrorName() string {
+ return "EventFeedMetadataValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e EventFeedMetadataValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sEventFeedMetadata.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = EventFeedMetadataValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = EventFeedMetadataValidationError{}
diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/event_feed_grpc.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/event_feed_grpc.pb.go
index e82c8c80..1d5b11f2 100644
--- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/event_feed_grpc.pb.go
+++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/event_feed_grpc.pb.go
@@ -19,7 +19,8 @@ import (
const _ = grpc.SupportPackageIsVersion9
const (
- EventService_ListEvents_FullMethodName = "/c1.connector.v2.EventService/ListEvents"
+ EventService_ListEvents_FullMethodName = "/c1.connector.v2.EventService/ListEvents"
+ EventService_ListEventFeeds_FullMethodName = "/c1.connector.v2.EventService/ListEventFeeds"
)
// EventServiceClient is the client API for EventService service.
@@ -27,6 +28,7 @@ const (
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type EventServiceClient interface {
ListEvents(ctx context.Context, in *ListEventsRequest, opts ...grpc.CallOption) (*ListEventsResponse, error)
+ ListEventFeeds(ctx context.Context, in *ListEventFeedsRequest, opts ...grpc.CallOption) (*ListEventFeedsResponse, error)
}
type eventServiceClient struct {
@@ -47,11 +49,22 @@ func (c *eventServiceClient) ListEvents(ctx context.Context, in *ListEventsReque
return out, nil
}
+func (c *eventServiceClient) ListEventFeeds(ctx context.Context, in *ListEventFeedsRequest, opts ...grpc.CallOption) (*ListEventFeedsResponse, error) {
+ cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+ out := new(ListEventFeedsResponse)
+ err := c.cc.Invoke(ctx, EventService_ListEventFeeds_FullMethodName, in, out, cOpts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
// EventServiceServer is the server API for EventService service.
// All implementations should embed UnimplementedEventServiceServer
// for forward compatibility.
type EventServiceServer interface {
ListEvents(context.Context, *ListEventsRequest) (*ListEventsResponse, error)
+ ListEventFeeds(context.Context, *ListEventFeedsRequest) (*ListEventFeedsResponse, error)
}
// UnimplementedEventServiceServer should be embedded to have
@@ -64,6 +77,9 @@ type UnimplementedEventServiceServer struct{}
func (UnimplementedEventServiceServer) ListEvents(context.Context, *ListEventsRequest) (*ListEventsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListEvents not implemented")
}
+func (UnimplementedEventServiceServer) ListEventFeeds(context.Context, *ListEventFeedsRequest) (*ListEventFeedsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListEventFeeds not implemented")
+}
func (UnimplementedEventServiceServer) testEmbeddedByValue() {}
// UnsafeEventServiceServer may be embedded to opt out of forward compatibility for this service.
@@ -102,6 +118,24 @@ func _EventService_ListEvents_Handler(srv interface{}, ctx context.Context, dec
return interceptor(ctx, in, info, handler)
}
+func _EventService_ListEventFeeds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListEventFeedsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(EventServiceServer).ListEventFeeds(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: EventService_ListEventFeeds_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(EventServiceServer).ListEventFeeds(ctx, req.(*ListEventFeedsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
// EventService_ServiceDesc is the grpc.ServiceDesc for EventService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
@@ -113,6 +147,10 @@ var EventService_ServiceDesc = grpc.ServiceDesc{
MethodName: "ListEvents",
Handler: _EventService_ListEvents_Handler,
},
+ {
+ MethodName: "ListEventFeeds",
+ Handler: _EventService_ListEventFeeds_Handler,
+ },
},
Streams: []grpc.StreamDesc{},
Metadata: "c1/connector/v2/event_feed.proto",
diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/resource.pb.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/resource.pb.go
index ad9f2313..27a761c5 100644
--- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/resource.pb.go
+++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/resource.pb.go
@@ -129,7 +129,7 @@ func (x Resource_CreationSource) Number() protoreflect.EnumNumber {
// Deprecated: Use Resource_CreationSource.Descriptor instead.
func (Resource_CreationSource) EnumDescriptor() ([]byte, []int) {
- return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{19, 0}
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{21, 0}
}
type ResourceType struct {
@@ -441,10 +441,11 @@ func (x *CreateResourceResponse) GetAnnotations() []*anypb.Any {
}
type DeleteResourceRequest struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- ResourceId *ResourceId `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
+ state protoimpl.MessageState `protogen:"open.v1"`
+ ResourceId *ResourceId `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
+ ParentResourceId *ResourceId `protobuf:"bytes,2,opt,name=parent_resource_id,json=parentResourceId,proto3" json:"parent_resource_id,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
}
func (x *DeleteResourceRequest) Reset() {
@@ -484,6 +485,13 @@ func (x *DeleteResourceRequest) GetResourceId() *ResourceId {
return nil
}
+func (x *DeleteResourceRequest) GetParentResourceId() *ResourceId {
+ if x != nil {
+ return x.ParentResourceId
+ }
+ return nil
+}
+
type DeleteResourceResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"`
@@ -529,10 +537,11 @@ func (x *DeleteResourceResponse) GetAnnotations() []*anypb.Any {
}
type DeleteResourceV2Request struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- ResourceId *ResourceId `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
+ state protoimpl.MessageState `protogen:"open.v1"`
+ ResourceId *ResourceId `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
+ ParentResourceId *ResourceId `protobuf:"bytes,2,opt,name=parent_resource_id,json=parentResourceId,proto3" json:"parent_resource_id,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
}
func (x *DeleteResourceV2Request) Reset() {
@@ -572,6 +581,13 @@ func (x *DeleteResourceV2Request) GetResourceId() *ResourceId {
return nil
}
+func (x *DeleteResourceV2Request) GetParentResourceId() *ResourceId {
+ if x != nil {
+ return x.ParentResourceId
+ }
+ return nil
+}
+
type DeleteResourceV2Response struct {
state protoimpl.MessageState `protogen:"open.v1"`
Annotations []*anypb.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"`
@@ -813,9 +829,11 @@ type CredentialOptions struct {
// *CredentialOptions_RandomPassword_
// *CredentialOptions_NoPassword_
// *CredentialOptions_Sso
- Options isCredentialOptions_Options `protobuf_oneof:"options"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
+ // *CredentialOptions_EncryptedPassword_
+ Options isCredentialOptions_Options `protobuf_oneof:"options"`
+ ForceChangeAtNextLogin bool `protobuf:"varint,1,opt,name=force_change_at_next_login,json=forceChangeAtNextLogin,proto3" json:"force_change_at_next_login,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
}
func (x *CredentialOptions) Reset() {
@@ -882,6 +900,22 @@ func (x *CredentialOptions) GetSso() *CredentialOptions_SSO {
return nil
}
+func (x *CredentialOptions) GetEncryptedPassword() *CredentialOptions_EncryptedPassword {
+ if x != nil {
+ if x, ok := x.Options.(*CredentialOptions_EncryptedPassword_); ok {
+ return x.EncryptedPassword
+ }
+ }
+ return nil
+}
+
+func (x *CredentialOptions) GetForceChangeAtNextLogin() bool {
+ if x != nil {
+ return x.ForceChangeAtNextLogin
+ }
+ return false
+}
+
type isCredentialOptions_Options interface {
isCredentialOptions_Options()
}
@@ -898,12 +932,193 @@ type CredentialOptions_Sso struct {
Sso *CredentialOptions_SSO `protobuf:"bytes,102,opt,name=sso,proto3,oneof"`
}
+type CredentialOptions_EncryptedPassword_ struct {
+ EncryptedPassword *CredentialOptions_EncryptedPassword `protobuf:"bytes,103,opt,name=encrypted_password,json=encryptedPassword,proto3,oneof"`
+}
+
func (*CredentialOptions_RandomPassword_) isCredentialOptions_Options() {}
func (*CredentialOptions_NoPassword_) isCredentialOptions_Options() {}
func (*CredentialOptions_Sso) isCredentialOptions_Options() {}
+func (*CredentialOptions_EncryptedPassword_) isCredentialOptions_Options() {}
+
+// Do not use this in any RPC or any message that is in an RPC.
+type LocalCredentialOptions struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ // Types that are valid to be assigned to Options:
+ //
+ // *LocalCredentialOptions_RandomPassword_
+ // *LocalCredentialOptions_NoPassword_
+ // *LocalCredentialOptions_Sso
+ // *LocalCredentialOptions_PlaintextPassword_
+ Options isLocalCredentialOptions_Options `protobuf_oneof:"options"`
+ ForceChangeAtNextLogin bool `protobuf:"varint,1,opt,name=force_change_at_next_login,json=forceChangeAtNextLogin,proto3" json:"force_change_at_next_login,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *LocalCredentialOptions) Reset() {
+ *x = LocalCredentialOptions{}
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[13]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *LocalCredentialOptions) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LocalCredentialOptions) ProtoMessage() {}
+
+func (x *LocalCredentialOptions) ProtoReflect() protoreflect.Message {
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[13]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LocalCredentialOptions.ProtoReflect.Descriptor instead.
+func (*LocalCredentialOptions) Descriptor() ([]byte, []int) {
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{13}
+}
+
+func (x *LocalCredentialOptions) GetOptions() isLocalCredentialOptions_Options {
+ if x != nil {
+ return x.Options
+ }
+ return nil
+}
+
+func (x *LocalCredentialOptions) GetRandomPassword() *LocalCredentialOptions_RandomPassword {
+ if x != nil {
+ if x, ok := x.Options.(*LocalCredentialOptions_RandomPassword_); ok {
+ return x.RandomPassword
+ }
+ }
+ return nil
+}
+
+func (x *LocalCredentialOptions) GetNoPassword() *LocalCredentialOptions_NoPassword {
+ if x != nil {
+ if x, ok := x.Options.(*LocalCredentialOptions_NoPassword_); ok {
+ return x.NoPassword
+ }
+ }
+ return nil
+}
+
+func (x *LocalCredentialOptions) GetSso() *LocalCredentialOptions_SSO {
+ if x != nil {
+ if x, ok := x.Options.(*LocalCredentialOptions_Sso); ok {
+ return x.Sso
+ }
+ }
+ return nil
+}
+
+func (x *LocalCredentialOptions) GetPlaintextPassword() *LocalCredentialOptions_PlaintextPassword {
+ if x != nil {
+ if x, ok := x.Options.(*LocalCredentialOptions_PlaintextPassword_); ok {
+ return x.PlaintextPassword
+ }
+ }
+ return nil
+}
+
+func (x *LocalCredentialOptions) GetForceChangeAtNextLogin() bool {
+ if x != nil {
+ return x.ForceChangeAtNextLogin
+ }
+ return false
+}
+
+type isLocalCredentialOptions_Options interface {
+ isLocalCredentialOptions_Options()
+}
+
+type LocalCredentialOptions_RandomPassword_ struct {
+ RandomPassword *LocalCredentialOptions_RandomPassword `protobuf:"bytes,100,opt,name=random_password,json=randomPassword,proto3,oneof"`
+}
+
+type LocalCredentialOptions_NoPassword_ struct {
+ NoPassword *LocalCredentialOptions_NoPassword `protobuf:"bytes,101,opt,name=no_password,json=noPassword,proto3,oneof"`
+}
+
+type LocalCredentialOptions_Sso struct {
+ Sso *LocalCredentialOptions_SSO `protobuf:"bytes,102,opt,name=sso,proto3,oneof"`
+}
+
+type LocalCredentialOptions_PlaintextPassword_ struct {
+ PlaintextPassword *LocalCredentialOptions_PlaintextPassword `protobuf:"bytes,103,opt,name=plaintext_password,json=plaintextPassword,proto3,oneof"`
+}
+
+func (*LocalCredentialOptions_RandomPassword_) isLocalCredentialOptions_Options() {}
+
+func (*LocalCredentialOptions_NoPassword_) isLocalCredentialOptions_Options() {}
+
+func (*LocalCredentialOptions_Sso) isLocalCredentialOptions_Options() {}
+
+func (*LocalCredentialOptions_PlaintextPassword_) isLocalCredentialOptions_Options() {}
+
+type PasswordConstraint struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ CharSet string `protobuf:"bytes,1,opt,name=char_set,json=charSet,proto3" json:"char_set,omitempty"`
+ MinCount uint32 `protobuf:"varint,2,opt,name=min_count,json=minCount,proto3" json:"min_count,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *PasswordConstraint) Reset() {
+ *x = PasswordConstraint{}
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[14]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *PasswordConstraint) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PasswordConstraint) ProtoMessage() {}
+
+func (x *PasswordConstraint) ProtoReflect() protoreflect.Message {
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[14]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PasswordConstraint.ProtoReflect.Descriptor instead.
+func (*PasswordConstraint) Descriptor() ([]byte, []int) {
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{14}
+}
+
+func (x *PasswordConstraint) GetCharSet() string {
+ if x != nil {
+ return x.CharSet
+ }
+ return ""
+}
+
+func (x *PasswordConstraint) GetMinCount() uint32 {
+ if x != nil {
+ return x.MinCount
+ }
+ return 0
+}
+
type CreateAccountRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
AccountInfo *AccountInfo `protobuf:"bytes,1,opt,name=account_info,json=accountInfo,proto3" json:"account_info,omitempty"`
@@ -915,7 +1130,7 @@ type CreateAccountRequest struct {
func (x *CreateAccountRequest) Reset() {
*x = CreateAccountRequest{}
- mi := &file_c1_connector_v2_resource_proto_msgTypes[13]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -927,7 +1142,7 @@ func (x *CreateAccountRequest) String() string {
func (*CreateAccountRequest) ProtoMessage() {}
func (x *CreateAccountRequest) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_resource_proto_msgTypes[13]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[15]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -940,7 +1155,7 @@ func (x *CreateAccountRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use CreateAccountRequest.ProtoReflect.Descriptor instead.
func (*CreateAccountRequest) Descriptor() ([]byte, []int) {
- return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{13}
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{15}
}
func (x *CreateAccountRequest) GetAccountInfo() *AccountInfo {
@@ -979,7 +1194,7 @@ type CreateAccountResponse struct {
func (x *CreateAccountResponse) Reset() {
*x = CreateAccountResponse{}
- mi := &file_c1_connector_v2_resource_proto_msgTypes[14]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -991,7 +1206,7 @@ func (x *CreateAccountResponse) String() string {
func (*CreateAccountResponse) ProtoMessage() {}
func (x *CreateAccountResponse) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_resource_proto_msgTypes[14]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[16]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1004,7 +1219,7 @@ func (x *CreateAccountResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use CreateAccountResponse.ProtoReflect.Descriptor instead.
func (*CreateAccountResponse) Descriptor() ([]byte, []int) {
- return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{14}
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{16}
}
func (x *CreateAccountResponse) GetResult() isCreateAccountResponse_Result {
@@ -1078,7 +1293,7 @@ type EncryptedData struct {
func (x *EncryptedData) Reset() {
*x = EncryptedData{}
- mi := &file_c1_connector_v2_resource_proto_msgTypes[15]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1090,7 +1305,7 @@ func (x *EncryptedData) String() string {
func (*EncryptedData) ProtoMessage() {}
func (x *EncryptedData) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_resource_proto_msgTypes[15]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[17]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1103,7 +1318,7 @@ func (x *EncryptedData) ProtoReflect() protoreflect.Message {
// Deprecated: Use EncryptedData.ProtoReflect.Descriptor instead.
func (*EncryptedData) Descriptor() ([]byte, []int) {
- return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{15}
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{17}
}
func (x *EncryptedData) GetProvider() string {
@@ -1168,7 +1383,7 @@ type PlaintextData struct {
func (x *PlaintextData) Reset() {
*x = PlaintextData{}
- mi := &file_c1_connector_v2_resource_proto_msgTypes[16]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1180,7 +1395,7 @@ func (x *PlaintextData) String() string {
func (*PlaintextData) ProtoMessage() {}
func (x *PlaintextData) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_resource_proto_msgTypes[16]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[18]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1193,7 +1408,7 @@ func (x *PlaintextData) ProtoReflect() protoreflect.Message {
// Deprecated: Use PlaintextData.ProtoReflect.Descriptor instead.
func (*PlaintextData) Descriptor() ([]byte, []int) {
- return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{16}
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{18}
}
func (x *PlaintextData) GetName() string {
@@ -1239,7 +1454,7 @@ type EncryptionConfig struct {
func (x *EncryptionConfig) Reset() {
*x = EncryptionConfig{}
- mi := &file_c1_connector_v2_resource_proto_msgTypes[17]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1251,7 +1466,7 @@ func (x *EncryptionConfig) String() string {
func (*EncryptionConfig) ProtoMessage() {}
func (x *EncryptionConfig) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_resource_proto_msgTypes[17]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[19]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1264,7 +1479,7 @@ func (x *EncryptionConfig) ProtoReflect() protoreflect.Message {
// Deprecated: Use EncryptionConfig.ProtoReflect.Descriptor instead.
func (*EncryptionConfig) Descriptor() ([]byte, []int) {
- return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{17}
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{19}
}
func (x *EncryptionConfig) GetPrincipal() *Resource {
@@ -1325,7 +1540,7 @@ type ResourceId struct {
func (x *ResourceId) Reset() {
*x = ResourceId{}
- mi := &file_c1_connector_v2_resource_proto_msgTypes[18]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1337,7 +1552,7 @@ func (x *ResourceId) String() string {
func (*ResourceId) ProtoMessage() {}
func (x *ResourceId) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_resource_proto_msgTypes[18]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[20]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1350,7 +1565,7 @@ func (x *ResourceId) ProtoReflect() protoreflect.Message {
// Deprecated: Use ResourceId.ProtoReflect.Descriptor instead.
func (*ResourceId) Descriptor() ([]byte, []int) {
- return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{18}
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{20}
}
func (x *ResourceId) GetResourceType() string {
@@ -1390,7 +1605,7 @@ type Resource struct {
func (x *Resource) Reset() {
*x = Resource{}
- mi := &file_c1_connector_v2_resource_proto_msgTypes[19]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1402,7 +1617,7 @@ func (x *Resource) String() string {
func (*Resource) ProtoMessage() {}
func (x *Resource) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_resource_proto_msgTypes[19]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[21]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1415,7 +1630,7 @@ func (x *Resource) ProtoReflect() protoreflect.Message {
// Deprecated: Use Resource.ProtoReflect.Descriptor instead.
func (*Resource) Descriptor() ([]byte, []int) {
- return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{19}
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{21}
}
func (x *Resource) GetId() *ResourceId {
@@ -1487,7 +1702,7 @@ type ResourcesServiceListResourcesRequest struct {
func (x *ResourcesServiceListResourcesRequest) Reset() {
*x = ResourcesServiceListResourcesRequest{}
- mi := &file_c1_connector_v2_resource_proto_msgTypes[20]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1499,7 +1714,7 @@ func (x *ResourcesServiceListResourcesRequest) String() string {
func (*ResourcesServiceListResourcesRequest) ProtoMessage() {}
func (x *ResourcesServiceListResourcesRequest) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_resource_proto_msgTypes[20]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[22]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1512,7 +1727,7 @@ func (x *ResourcesServiceListResourcesRequest) ProtoReflect() protoreflect.Messa
// Deprecated: Use ResourcesServiceListResourcesRequest.ProtoReflect.Descriptor instead.
func (*ResourcesServiceListResourcesRequest) Descriptor() ([]byte, []int) {
- return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{20}
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{22}
}
func (x *ResourcesServiceListResourcesRequest) GetResourceTypeId() string {
@@ -1561,7 +1776,7 @@ type ResourcesServiceListResourcesResponse struct {
func (x *ResourcesServiceListResourcesResponse) Reset() {
*x = ResourcesServiceListResourcesResponse{}
- mi := &file_c1_connector_v2_resource_proto_msgTypes[21]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1573,7 +1788,7 @@ func (x *ResourcesServiceListResourcesResponse) String() string {
func (*ResourcesServiceListResourcesResponse) ProtoMessage() {}
func (x *ResourcesServiceListResourcesResponse) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_resource_proto_msgTypes[21]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[23]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1586,7 +1801,7 @@ func (x *ResourcesServiceListResourcesResponse) ProtoReflect() protoreflect.Mess
// Deprecated: Use ResourcesServiceListResourcesResponse.ProtoReflect.Descriptor instead.
func (*ResourcesServiceListResourcesResponse) Descriptor() ([]byte, []int) {
- return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{21}
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{23}
}
func (x *ResourcesServiceListResourcesResponse) GetList() []*Resource {
@@ -1621,7 +1836,7 @@ type ResourceGetterServiceGetResourceRequest struct {
func (x *ResourceGetterServiceGetResourceRequest) Reset() {
*x = ResourceGetterServiceGetResourceRequest{}
- mi := &file_c1_connector_v2_resource_proto_msgTypes[22]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1633,7 +1848,7 @@ func (x *ResourceGetterServiceGetResourceRequest) String() string {
func (*ResourceGetterServiceGetResourceRequest) ProtoMessage() {}
func (x *ResourceGetterServiceGetResourceRequest) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_resource_proto_msgTypes[22]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[24]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1646,7 +1861,7 @@ func (x *ResourceGetterServiceGetResourceRequest) ProtoReflect() protoreflect.Me
// Deprecated: Use ResourceGetterServiceGetResourceRequest.ProtoReflect.Descriptor instead.
func (*ResourceGetterServiceGetResourceRequest) Descriptor() ([]byte, []int) {
- return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{22}
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{24}
}
func (x *ResourceGetterServiceGetResourceRequest) GetResourceId() *ResourceId {
@@ -1680,7 +1895,7 @@ type ResourceGetterServiceGetResourceResponse struct {
func (x *ResourceGetterServiceGetResourceResponse) Reset() {
*x = ResourceGetterServiceGetResourceResponse{}
- mi := &file_c1_connector_v2_resource_proto_msgTypes[23]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1692,7 +1907,7 @@ func (x *ResourceGetterServiceGetResourceResponse) String() string {
func (*ResourceGetterServiceGetResourceResponse) ProtoMessage() {}
func (x *ResourceGetterServiceGetResourceResponse) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_resource_proto_msgTypes[23]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[25]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1705,7 +1920,7 @@ func (x *ResourceGetterServiceGetResourceResponse) ProtoReflect() protoreflect.M
// Deprecated: Use ResourceGetterServiceGetResourceResponse.ProtoReflect.Descriptor instead.
func (*ResourceGetterServiceGetResourceResponse) Descriptor() ([]byte, []int) {
- return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{23}
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{25}
}
func (x *ResourceGetterServiceGetResourceResponse) GetResource() *Resource {
@@ -1733,7 +1948,7 @@ type ExternalId struct {
func (x *ExternalId) Reset() {
*x = ExternalId{}
- mi := &file_c1_connector_v2_resource_proto_msgTypes[24]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1745,7 +1960,7 @@ func (x *ExternalId) String() string {
func (*ExternalId) ProtoMessage() {}
func (x *ExternalId) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_resource_proto_msgTypes[24]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[26]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1758,7 +1973,7 @@ func (x *ExternalId) ProtoReflect() protoreflect.Message {
// Deprecated: Use ExternalId.ProtoReflect.Descriptor instead.
func (*ExternalId) Descriptor() ([]byte, []int) {
- return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{24}
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{26}
}
func (x *ExternalId) GetId() string {
@@ -1793,7 +2008,7 @@ type AccountInfo_Email struct {
func (x *AccountInfo_Email) Reset() {
*x = AccountInfo_Email{}
- mi := &file_c1_connector_v2_resource_proto_msgTypes[25]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1805,7 +2020,7 @@ func (x *AccountInfo_Email) String() string {
func (*AccountInfo_Email) ProtoMessage() {}
func (x *AccountInfo_Email) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_resource_proto_msgTypes[25]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[27]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1838,13 +2053,14 @@ func (x *AccountInfo_Email) GetIsPrimary() bool {
type CredentialOptions_RandomPassword struct {
state protoimpl.MessageState `protogen:"open.v1"`
Length int64 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"`
+ Constraints []*PasswordConstraint `protobuf:"bytes,2,rep,name=constraints,proto3" json:"constraints,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CredentialOptions_RandomPassword) Reset() {
*x = CredentialOptions_RandomPassword{}
- mi := &file_c1_connector_v2_resource_proto_msgTypes[26]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1856,7 +2072,7 @@ func (x *CredentialOptions_RandomPassword) String() string {
func (*CredentialOptions_RandomPassword) ProtoMessage() {}
func (x *CredentialOptions_RandomPassword) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_resource_proto_msgTypes[26]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[28]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1879,6 +2095,13 @@ func (x *CredentialOptions_RandomPassword) GetLength() int64 {
return 0
}
+func (x *CredentialOptions_RandomPassword) GetConstraints() []*PasswordConstraint {
+ if x != nil {
+ return x.Constraints
+ }
+ return nil
+}
+
type CredentialOptions_NoPassword struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
@@ -1887,7 +2110,7 @@ type CredentialOptions_NoPassword struct {
func (x *CredentialOptions_NoPassword) Reset() {
*x = CredentialOptions_NoPassword{}
- mi := &file_c1_connector_v2_resource_proto_msgTypes[27]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1899,7 +2122,7 @@ func (x *CredentialOptions_NoPassword) String() string {
func (*CredentialOptions_NoPassword) ProtoMessage() {}
func (x *CredentialOptions_NoPassword) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_resource_proto_msgTypes[27]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[29]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1924,7 +2147,7 @@ type CredentialOptions_SSO struct {
func (x *CredentialOptions_SSO) Reset() {
*x = CredentialOptions_SSO{}
- mi := &file_c1_connector_v2_resource_proto_msgTypes[28]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1936,7 +2159,7 @@ func (x *CredentialOptions_SSO) String() string {
func (*CredentialOptions_SSO) ProtoMessage() {}
func (x *CredentialOptions_SSO) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_resource_proto_msgTypes[28]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[30]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1959,6 +2182,226 @@ func (x *CredentialOptions_SSO) GetSsoProvider() string {
return ""
}
+type CredentialOptions_EncryptedPassword struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ EncryptedPasswords []*EncryptedData `protobuf:"bytes,1,rep,name=encrypted_passwords,json=encryptedPasswords,proto3" json:"encrypted_passwords,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *CredentialOptions_EncryptedPassword) Reset() {
+ *x = CredentialOptions_EncryptedPassword{}
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[31]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *CredentialOptions_EncryptedPassword) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CredentialOptions_EncryptedPassword) ProtoMessage() {}
+
+func (x *CredentialOptions_EncryptedPassword) ProtoReflect() protoreflect.Message {
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[31]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CredentialOptions_EncryptedPassword.ProtoReflect.Descriptor instead.
+func (*CredentialOptions_EncryptedPassword) Descriptor() ([]byte, []int) {
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{12, 3}
+}
+
+func (x *CredentialOptions_EncryptedPassword) GetEncryptedPasswords() []*EncryptedData {
+ if x != nil {
+ return x.EncryptedPasswords
+ }
+ return nil
+}
+
+type LocalCredentialOptions_RandomPassword struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ Length int64 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"`
+ Constraints []*PasswordConstraint `protobuf:"bytes,2,rep,name=constraints,proto3" json:"constraints,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *LocalCredentialOptions_RandomPassword) Reset() {
+ *x = LocalCredentialOptions_RandomPassword{}
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[32]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *LocalCredentialOptions_RandomPassword) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LocalCredentialOptions_RandomPassword) ProtoMessage() {}
+
+func (x *LocalCredentialOptions_RandomPassword) ProtoReflect() protoreflect.Message {
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[32]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LocalCredentialOptions_RandomPassword.ProtoReflect.Descriptor instead.
+func (*LocalCredentialOptions_RandomPassword) Descriptor() ([]byte, []int) {
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{13, 0}
+}
+
+func (x *LocalCredentialOptions_RandomPassword) GetLength() int64 {
+ if x != nil {
+ return x.Length
+ }
+ return 0
+}
+
+func (x *LocalCredentialOptions_RandomPassword) GetConstraints() []*PasswordConstraint {
+ if x != nil {
+ return x.Constraints
+ }
+ return nil
+}
+
+type LocalCredentialOptions_NoPassword struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *LocalCredentialOptions_NoPassword) Reset() {
+ *x = LocalCredentialOptions_NoPassword{}
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[33]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *LocalCredentialOptions_NoPassword) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LocalCredentialOptions_NoPassword) ProtoMessage() {}
+
+func (x *LocalCredentialOptions_NoPassword) ProtoReflect() protoreflect.Message {
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[33]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LocalCredentialOptions_NoPassword.ProtoReflect.Descriptor instead.
+func (*LocalCredentialOptions_NoPassword) Descriptor() ([]byte, []int) {
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{13, 1}
+}
+
+type LocalCredentialOptions_SSO struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ SsoProvider string `protobuf:"bytes,1,opt,name=sso_provider,json=ssoProvider,proto3" json:"sso_provider,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *LocalCredentialOptions_SSO) Reset() {
+ *x = LocalCredentialOptions_SSO{}
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[34]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *LocalCredentialOptions_SSO) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LocalCredentialOptions_SSO) ProtoMessage() {}
+
+func (x *LocalCredentialOptions_SSO) ProtoReflect() protoreflect.Message {
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[34]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LocalCredentialOptions_SSO.ProtoReflect.Descriptor instead.
+func (*LocalCredentialOptions_SSO) Descriptor() ([]byte, []int) {
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{13, 2}
+}
+
+func (x *LocalCredentialOptions_SSO) GetSsoProvider() string {
+ if x != nil {
+ return x.SsoProvider
+ }
+ return ""
+}
+
+type LocalCredentialOptions_PlaintextPassword struct {
+ state protoimpl.MessageState `protogen:"open.v1"`
+ PlaintextPassword string `protobuf:"bytes,1,opt,name=plaintext_password,json=plaintextPassword,proto3" json:"plaintext_password,omitempty"`
+ unknownFields protoimpl.UnknownFields
+ sizeCache protoimpl.SizeCache
+}
+
+func (x *LocalCredentialOptions_PlaintextPassword) Reset() {
+ *x = LocalCredentialOptions_PlaintextPassword{}
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[35]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *LocalCredentialOptions_PlaintextPassword) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LocalCredentialOptions_PlaintextPassword) ProtoMessage() {}
+
+func (x *LocalCredentialOptions_PlaintextPassword) ProtoReflect() protoreflect.Message {
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[35]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LocalCredentialOptions_PlaintextPassword.ProtoReflect.Descriptor instead.
+func (*LocalCredentialOptions_PlaintextPassword) Descriptor() ([]byte, []int) {
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{13, 3}
+}
+
+func (x *LocalCredentialOptions_PlaintextPassword) GetPlaintextPassword() string {
+ if x != nil {
+ return x.PlaintextPassword
+ }
+ return ""
+}
+
type CreateAccountResponse_SuccessResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Resource *Resource `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"`
@@ -1969,7 +2412,7 @@ type CreateAccountResponse_SuccessResult struct {
func (x *CreateAccountResponse_SuccessResult) Reset() {
*x = CreateAccountResponse_SuccessResult{}
- mi := &file_c1_connector_v2_resource_proto_msgTypes[29]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1981,7 +2424,7 @@ func (x *CreateAccountResponse_SuccessResult) String() string {
func (*CreateAccountResponse_SuccessResult) ProtoMessage() {}
func (x *CreateAccountResponse_SuccessResult) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_resource_proto_msgTypes[29]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[36]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1994,7 +2437,7 @@ func (x *CreateAccountResponse_SuccessResult) ProtoReflect() protoreflect.Messag
// Deprecated: Use CreateAccountResponse_SuccessResult.ProtoReflect.Descriptor instead.
func (*CreateAccountResponse_SuccessResult) Descriptor() ([]byte, []int) {
- return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{14, 0}
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{16, 0}
}
func (x *CreateAccountResponse_SuccessResult) GetResource() *Resource {
@@ -2022,7 +2465,7 @@ type CreateAccountResponse_ActionRequiredResult struct {
func (x *CreateAccountResponse_ActionRequiredResult) Reset() {
*x = CreateAccountResponse_ActionRequiredResult{}
- mi := &file_c1_connector_v2_resource_proto_msgTypes[30]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2034,7 +2477,7 @@ func (x *CreateAccountResponse_ActionRequiredResult) String() string {
func (*CreateAccountResponse_ActionRequiredResult) ProtoMessage() {}
func (x *CreateAccountResponse_ActionRequiredResult) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_resource_proto_msgTypes[30]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[37]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2047,7 +2490,7 @@ func (x *CreateAccountResponse_ActionRequiredResult) ProtoReflect() protoreflect
// Deprecated: Use CreateAccountResponse_ActionRequiredResult.ProtoReflect.Descriptor instead.
func (*CreateAccountResponse_ActionRequiredResult) Descriptor() ([]byte, []int) {
- return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{14, 1}
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{16, 1}
}
func (x *CreateAccountResponse_ActionRequiredResult) GetResource() *Resource {
@@ -2080,7 +2523,7 @@ type EncryptionConfig_JWKPublicKeyConfig struct {
func (x *EncryptionConfig_JWKPublicKeyConfig) Reset() {
*x = EncryptionConfig_JWKPublicKeyConfig{}
- mi := &file_c1_connector_v2_resource_proto_msgTypes[31]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2092,7 +2535,7 @@ func (x *EncryptionConfig_JWKPublicKeyConfig) String() string {
func (*EncryptionConfig_JWKPublicKeyConfig) ProtoMessage() {}
func (x *EncryptionConfig_JWKPublicKeyConfig) ProtoReflect() protoreflect.Message {
- mi := &file_c1_connector_v2_resource_proto_msgTypes[31]
+ mi := &file_c1_connector_v2_resource_proto_msgTypes[38]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2105,7 +2548,7 @@ func (x *EncryptionConfig_JWKPublicKeyConfig) ProtoReflect() protoreflect.Messag
// Deprecated: Use EncryptionConfig_JWKPublicKeyConfig.ProtoReflect.Descriptor instead.
func (*EncryptionConfig_JWKPublicKeyConfig) Descriptor() ([]byte, []int) {
- return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{17, 0}
+ return file_c1_connector_v2_resource_proto_rawDescGZIP(), []int{19, 0}
}
func (x *EncryptionConfig_JWKPublicKeyConfig) GetPubKey() []byte {
@@ -2195,104 +2638,44 @@ var file_c1_connector_v2_resource_proto_rawDesc = string([]byte{
0x74, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b,
- 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x55, 0x0a, 0x15, 0x44,
- 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63,
- 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x49, 0x64, 0x22, 0x50, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x0b,
- 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x57, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65,
- 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x3c, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
- 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49,
- 0x64, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0x52, 0x0a,
- 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56,
- 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e, 0x6e,
- 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14,
- 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
- 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x22, 0xfc, 0x01, 0x0a, 0x17, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x72, 0x65, 0x64,
- 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a,
- 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f,
- 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x52,
- 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x51, 0x0a, 0x12, 0x63,
- 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e,
- 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e,
- 0x74, 0x69, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x11, 0x63, 0x72, 0x65,
- 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x50,
- 0x0a, 0x12, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x31, 0x2e,
- 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x63,
- 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x65,
- 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73,
- 0x22, 0xd7, 0x01, 0x0a, 0x18, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65,
- 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a,
- 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18,
- 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
- 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65,
- 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64,
- 0x44, 0x61, 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63,
- 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x49, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x61,
- 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x82, 0x02, 0x0a, 0x0b, 0x41,
- 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x06, 0x65, 0x6d,
- 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x31, 0x2e,
- 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63,
- 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x06,
- 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x23, 0x0a, 0x0d,
- 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20,
- 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65,
- 0x73, 0x12, 0x31, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f,
- 0x66, 0x69, 0x6c, 0x65, 0x1a, 0x49, 0x0a, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x21, 0x0a,
- 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07,
- 0xfa, 0x42, 0x04, 0x72, 0x02, 0x60, 0x01, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
- 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22,
- 0xf7, 0x02, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5c, 0x0a, 0x0f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f,
- 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31,
- 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32,
- 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
- 0x64, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x50, 0x61, 0x73, 0x73, 0x77,
- 0x6f, 0x72, 0x64, 0x12, 0x50, 0x0a, 0x0b, 0x6e, 0x6f, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f,
- 0x72, 0x64, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f,
- 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65,
- 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x6f, 0x50,
- 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x6f, 0x50, 0x61, 0x73,
- 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x3a, 0x0a, 0x03, 0x73, 0x73, 0x6f, 0x18, 0x66, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f,
- 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x53, 0x4f, 0x48, 0x00, 0x52, 0x03, 0x73, 0x73,
- 0x6f, 0x1a, 0x33, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x50, 0x61, 0x73, 0x73, 0x77,
- 0x6f, 0x72, 0x64, 0x12, 0x21, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x03, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x22, 0x04, 0x18, 0x40, 0x28, 0x08, 0x52, 0x06,
- 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x1a, 0x0c, 0x0a, 0x0a, 0x4e, 0x6f, 0x50, 0x61, 0x73, 0x73,
- 0x77, 0x6f, 0x72, 0x64, 0x1a, 0x28, 0x0a, 0x03, 0x53, 0x53, 0x4f, 0x12, 0x21, 0x0a, 0x0c, 0x73,
- 0x73, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x0b, 0x73, 0x73, 0x6f, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, 0x09,
- 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xfc, 0x01, 0x0a, 0x14, 0x43, 0x72,
- 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e,
- 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f,
- 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75,
- 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49,
- 0x6e, 0x66, 0x6f, 0x12, 0x51, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
+ 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa0, 0x01, 0x0a, 0x15,
+ 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e,
+ 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x49, 0x64, 0x12, 0x49, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76,
+ 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x52, 0x10, 0x70, 0x61,
+ 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0x50,
+ 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f,
+ 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x22, 0xa2, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0b,
+ 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x52, 0x0a,
+ 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x49, 0x0a, 0x12, 0x70, 0x61,
+ 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x49, 0x64, 0x52, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0x52, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52,
+ 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x61, 0x6e,
+ 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xfc, 0x01, 0x0a, 0x17, 0x52, 0x6f,
+ 0x74, 0x61, 0x74, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e,
+ 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x49, 0x64, 0x12, 0x51, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x22, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76,
0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69,
@@ -2302,270 +2685,410 @@ var file_c1_connector_v2_resource_proto_rawDesc = string([]byte{
0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f,
0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0xfe, 0x04, 0x0a, 0x15, 0x43, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x50, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x64, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
- 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f,
- 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x75, 0x63, 0x63,
- 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x07, 0x73, 0x75, 0x63,
- 0x63, 0x65, 0x73, 0x73, 0x12, 0x66, 0x0a, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72,
- 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e,
+ 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0xd7, 0x01, 0x0a, 0x18, 0x52, 0x6f, 0x74,
+ 0x61, 0x74, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74,
+ 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e,
- 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
- 0x69, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x61, 0x63,
- 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x45, 0x0a, 0x0e,
- 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02,
- 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
- 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64,
- 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x44,
- 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b,
- 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x7f, 0x0a, 0x0d, 0x53,
- 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x35, 0x0a, 0x08,
- 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
- 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32,
- 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
- 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41,
- 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0xa0, 0x01, 0x0a,
- 0x14, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52,
- 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e,
- 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07,
- 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d,
- 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x73, 0x5f, 0x63, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75,
- 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x43, 0x72, 0x65, 0x61,
- 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42,
- 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xd6, 0x01, 0x0a, 0x0d, 0x45, 0x6e,
- 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x70,
- 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
- 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f, 0x69,
- 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 0x6b, 0x65, 0x79,
- 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73,
- 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65,
- 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61,
- 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79,
- 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79,
- 0x70, 0x74, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x6b, 0x65, 0x79,
- 0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6b, 0x65, 0x79, 0x49,
- 0x64, 0x73, 0x22, 0x73, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x44,
- 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
- 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65,
- 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68,
- 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d,
- 0x61, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c,
- 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0xa2, 0x02, 0x0a, 0x10, 0x45, 0x6e, 0x63, 0x72,
- 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x09,
- 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x19, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76,
- 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e,
- 0x63, 0x69, 0x70, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
- 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
- 0x72, 0x12, 0x15, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x69, 0x0a, 0x15, 0x6a, 0x77, 0x6b, 0x5f,
- 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
- 0x67, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e,
- 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4a, 0x57, 0x4b, 0x50, 0x75,
- 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52,
- 0x12, 0x6a, 0x77, 0x6b, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x1a, 0x2d, 0x0a, 0x12, 0x4a, 0x57, 0x4b, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63,
- 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x75, 0x62,
- 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b,
- 0x65, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x8c, 0x01, 0x0a,
- 0x0a, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x0d, 0x72,
- 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x20, 0x01, 0x28, 0x80, 0x08, 0x52, 0x0c,
- 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x08,
- 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a,
- 0xfa, 0x42, 0x07, 0x72, 0x05, 0x20, 0x01, 0x28, 0x80, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x5f, 0x72, 0x65,
- 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x62, 0x61,
- 0x74, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xf0, 0x04, 0x0a, 0x08,
- 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
- 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49,
- 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x49, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f,
- 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72,
- 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x52, 0x10,
- 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64,
- 0x12, 0x30, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01, 0x28,
- 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61,
- 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x61,
- 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2f, 0x0a, 0x0b, 0x64, 0x65,
- 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42,
- 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01, 0x28, 0x80, 0x10, 0xd0, 0x01, 0x01, 0x52, 0x0b,
- 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x62,
- 0x61, 0x74, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x06, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x0d, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69,
- 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e,
- 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e,
- 0x61, 0x6c, 0x49, 0x64, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64,
- 0x12, 0x51, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x31, 0x2e, 0x63,
- 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x22, 0x98, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49,
- 0x4f, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
- 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x52, 0x45, 0x41, 0x54,
- 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45,
- 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52,
- 0x43, 0x45, 0x53, 0x10, 0x01, 0x12, 0x37, 0x0a, 0x33, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4f,
- 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54,
- 0x4f, 0x52, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x5f, 0x50,
- 0x52, 0x49, 0x4e, 0x43, 0x49, 0x50, 0x41, 0x4c, 0x5f, 0x4a, 0x49, 0x54, 0x10, 0x02, 0x22, 0xc1,
- 0x02, 0x0a, 0x24, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x65, 0x72, 0x76,
- 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x20, 0x01, 0x28, 0x80, 0x08, 0x52, 0x0e, 0x72,
- 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x53, 0x0a,
- 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63,
- 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x00,
- 0x52, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x49, 0x64, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x2a, 0x05, 0x18, 0xfa, 0x01, 0x40,
- 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x0a, 0x70,
- 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42,
- 0x0e, 0xfa, 0x42, 0x0b, 0x72, 0x09, 0x20, 0x01, 0x28, 0x80, 0x80, 0x40, 0xd0, 0x01, 0x01, 0x52,
- 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e,
- 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
- 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x22, 0xc6, 0x01, 0x0a, 0x25, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
- 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x04,
- 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x31, 0x2e,
- 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x0f, 0x6e,
- 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x09, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x72, 0x09, 0x20, 0x01, 0x28, 0x80, 0x80,
- 0x40, 0xd0, 0x01, 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f,
- 0x6b, 0x65, 0x6e, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b,
- 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xf4, 0x01, 0x0a, 0x27,
- 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x65,
- 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63,
- 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52,
- 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x53, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f,
+ 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x65,
+ 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x0b,
0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72,
- 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x42, 0x08,
- 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x00, 0x52, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
- 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e,
+ 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x52, 0x0a,
+ 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e,
0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x73, 0x22, 0x99, 0x01, 0x0a, 0x28, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47,
- 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x52,
- 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
- 0x35, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72,
- 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65,
- 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e,
- 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x52,
- 0x0a, 0x0a, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02,
- 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04,
- 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b,
- 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x32, 0xab, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54,
- 0x79, 0x70, 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x92, 0x01, 0x0a, 0x11,
- 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65,
- 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72,
- 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65,
+ 0x6e, 0x73, 0x22, 0x82, 0x02, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x06, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x06, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x14,
+ 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c,
+ 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x61, 0x6c,
+ 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x67,
+ 0x69, 0x6e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x07, 0x70, 0x72, 0x6f,
+ 0x66, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
+ 0x75, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x1a, 0x49, 0x0a, 0x05,
+ 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x60, 0x01, 0x52,
+ 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x70,
+ 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73,
+ 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0xd1, 0x05, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x64,
+ 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5c, 0x0a,
+ 0x0f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
+ 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
+ 0x69, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f,
+ 0x6d, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x61, 0x6e,
+ 0x64, 0x6f, 0x6d, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x50, 0x0a, 0x0b, 0x6e,
+ 0x6f, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x2d, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
+ 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x6f, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x48,
+ 0x00, 0x52, 0x0a, 0x6e, 0x6f, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x3a, 0x0a,
+ 0x03, 0x73, 0x73, 0x6f, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x31, 0x2e,
+ 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65,
+ 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53,
+ 0x53, 0x4f, 0x48, 0x00, 0x52, 0x03, 0x73, 0x73, 0x6f, 0x12, 0x65, 0x0a, 0x12, 0x65, 0x6e, 0x63,
+ 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18,
+ 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
+ 0x61, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70,
+ 0x74, 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x48, 0x00, 0x52, 0x11, 0x65,
+ 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
+ 0x12, 0x3a, 0x0a, 0x1a, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x5f, 0x61, 0x74, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x41, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x1a, 0x7a, 0x0a, 0x0e,
+ 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x21,
+ 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x09,
+ 0xfa, 0x42, 0x06, 0x22, 0x04, 0x18, 0x40, 0x28, 0x08, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74,
+ 0x68, 0x12, 0x45, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
+ 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x63, 0x6f, 0x6e,
+ 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x0c, 0x0a, 0x0a, 0x4e, 0x6f, 0x50, 0x61,
+ 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x1a, 0x28, 0x0a, 0x03, 0x53, 0x53, 0x4f, 0x12, 0x21, 0x0a,
+ 0x0c, 0x73, 0x73, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x73, 0x6f, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
+ 0x1a, 0x6e, 0x0a, 0x11, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x50, 0x61, 0x73,
+ 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x59, 0x0a, 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74,
+ 0x65, 0x64, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x44, 0x61,
+ 0x74, 0x61, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x12, 0x65, 0x6e,
+ 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73,
+ 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbe, 0x05, 0x0a, 0x16,
+ 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x61, 0x0a, 0x0f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d,
+ 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x36, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76,
+ 0x32, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61,
+ 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x50,
+ 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x61, 0x6e, 0x64, 0x6f,
+ 0x6d, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x55, 0x0a, 0x0b, 0x6e, 0x6f, 0x5f,
+ 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32,
+ 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32,
+ 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
+ 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x6f, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f,
+ 0x72, 0x64, 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x6f, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
+ 0x12, 0x3f, 0x0a, 0x03, 0x73, 0x73, 0x6f, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
+ 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e,
+ 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x53, 0x4f, 0x48, 0x00, 0x52, 0x03, 0x73, 0x73,
+ 0x6f, 0x12, 0x6a, 0x0a, 0x12, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x70,
+ 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e,
+ 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e,
+ 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74,
+ 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x48, 0x00, 0x52, 0x11, 0x70, 0x6c, 0x61, 0x69,
+ 0x6e, 0x74, 0x65, 0x78, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x3a, 0x0a,
+ 0x1a, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x61, 0x74,
+ 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x16, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x74,
+ 0x4e, 0x65, 0x78, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x1a, 0x7a, 0x0a, 0x0e, 0x52, 0x61, 0x6e,
+ 0x64, 0x6f, 0x6d, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x21, 0x0a, 0x06, 0x6c,
+ 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x09, 0xfa, 0x42, 0x06,
+ 0x22, 0x04, 0x18, 0x40, 0x28, 0x08, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x45,
+ 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f,
+ 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72,
+ 0x61, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x0c, 0x0a, 0x0a, 0x4e, 0x6f, 0x50, 0x61, 0x73, 0x73, 0x77,
+ 0x6f, 0x72, 0x64, 0x1a, 0x28, 0x0a, 0x03, 0x53, 0x53, 0x4f, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x73,
+ 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0b, 0x73, 0x73, 0x6f, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x1a, 0x42, 0x0a,
+ 0x11, 0x50, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f,
+ 0x72, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f,
+ 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11,
+ 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
+ 0x64, 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x4c, 0x0a, 0x12,
+ 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69,
+ 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x72, 0x53, 0x65, 0x74, 0x12, 0x1b, 0x0a,
+ 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xfc, 0x01, 0x0a, 0x14, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x31, 0x2e, 0x63,
+ 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x51, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69,
+ 0x61, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x22, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
+ 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x11, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
+ 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x50, 0x0a, 0x12, 0x65, 0x6e, 0x63, 0x72, 0x79,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0xfe, 0x04, 0x0a, 0x15, 0x43, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x64,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x75, 0x63,
+ 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x07, 0x73, 0x75,
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x66, 0x0a, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b,
+ 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32,
+ 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
+ 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x45, 0x0a,
+ 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65,
+ 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64,
+ 0x44, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52,
+ 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x7f, 0x0a, 0x0d,
+ 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x35, 0x0a,
+ 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x19, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76,
+ 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
+ 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0xa0, 0x01,
+ 0x0a, 0x14, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64,
+ 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f,
+ 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x18, 0x0a,
+ 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
+ 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x73, 0x5f, 0x63, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x43, 0x72, 0x65,
+ 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xd6, 0x01, 0x0a, 0x0d, 0x45,
+ 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08,
+ 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 0x6b, 0x65,
+ 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
+ 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65,
+ 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x68,
+ 0x65, 0x6d, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d,
+ 0x61, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x62,
+ 0x79, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72,
+ 0x79, 0x70, 0x74, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x6b, 0x65,
+ 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6b, 0x65, 0x79,
+ 0x49, 0x64, 0x73, 0x22, 0x73, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74,
+ 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,
+ 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
+ 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63,
+ 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65,
+ 0x6d, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0xa2, 0x02, 0x0a, 0x10, 0x45, 0x6e, 0x63,
+ 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a,
+ 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x19, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
+ 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x70, 0x72, 0x69,
+ 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
+ 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
+ 0x65, 0x72, 0x12, 0x15, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x69, 0x0a, 0x15, 0x6a, 0x77, 0x6b,
+ 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f,
+ 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4a, 0x57, 0x4b, 0x50,
+ 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00,
+ 0x52, 0x12, 0x6a, 0x77, 0x6b, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x2d, 0x0a, 0x12, 0x4a, 0x57, 0x4b, 0x50, 0x75, 0x62, 0x6c, 0x69,
+ 0x63, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x75,
+ 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x75, 0x62,
+ 0x4b, 0x65, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x8c, 0x01,
+ 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x0d,
+ 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x20, 0x01, 0x28, 0x80, 0x08, 0x52,
+ 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a,
+ 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
+ 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x20, 0x01, 0x28, 0x80, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x5f, 0x72,
+ 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x62,
+ 0x61, 0x74, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xf0, 0x04, 0x0a,
+ 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x02, 0x69, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x49, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
+ 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x52,
+ 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49,
+ 0x64, 0x12, 0x30, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01,
+ 0x28, 0x80, 0x08, 0xd0, 0x01, 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e,
+ 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b,
+ 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2f, 0x0a, 0x0b, 0x64,
+ 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
+ 0x42, 0x0d, 0xfa, 0x42, 0x0a, 0x72, 0x08, 0x20, 0x01, 0x28, 0x80, 0x10, 0xd0, 0x01, 0x01, 0x52,
+ 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e,
+ 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f,
+ 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f,
+ 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72,
+ 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49,
+ 0x64, 0x12, 0x51, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x31, 0x2e,
+ 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x22, 0x98, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x52, 0x45, 0x41, 0x54,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
+ 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x52, 0x45, 0x41,
+ 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e,
+ 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55,
+ 0x52, 0x43, 0x45, 0x53, 0x10, 0x01, 0x12, 0x37, 0x0a, 0x33, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43,
+ 0x54, 0x4f, 0x52, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x53, 0x5f,
+ 0x50, 0x52, 0x49, 0x4e, 0x43, 0x49, 0x50, 0x41, 0x4c, 0x5f, 0x4a, 0x49, 0x54, 0x10, 0x02, 0x22,
+ 0xc1, 0x02, 0x0a, 0x24, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x65, 0x72,
+ 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x20, 0x01, 0x28, 0x80, 0x08, 0x52, 0x0e,
+ 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x53,
+ 0x0a, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e,
+ 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10,
+ 0x00, 0x52, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x2a, 0x05, 0x18, 0xfa, 0x01,
+ 0x40, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x0a,
+ 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
+ 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x72, 0x09, 0x20, 0x01, 0x28, 0x80, 0x80, 0x40, 0xd0, 0x01, 0x01,
+ 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x36, 0x0a, 0x0b, 0x61,
+ 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x22, 0xc6, 0x01, 0x0a, 0x25, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x3e, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
- 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73,
- 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x32, 0x92, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x65,
- 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7e, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x35, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e,
- 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e,
+ 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a,
+ 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x31,
+ 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x0f,
+ 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x72, 0x09, 0x20, 0x01, 0x28, 0x80,
+ 0x80, 0x40, 0xd0, 0x01, 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54,
+ 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52,
+ 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xf4, 0x01, 0x0a,
+ 0x27, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53,
+ 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e,
- 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
- 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x9c, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x47, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
- 0x82, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
- 0x38, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76,
- 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x65, 0x74, 0x74, 0x65, 0x72,
- 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x31, 0x2e, 0x63,
- 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x47, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
- 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xde, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
- 0x61, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x12, 0x26, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72,
- 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x31, 0x2e, 0x63,
- 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61,
- 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x12, 0x61, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
- 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63,
- 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44,
- 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x81, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
- 0x12, 0x67, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x56, 0x32, 0x12, 0x28, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
- 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29,
+ 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x53, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
+ 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x42,
+ 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x00, 0x52, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e,
+ 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x61,
+ 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x22, 0x99, 0x01, 0x0a, 0x28, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x47, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74,
+ 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x12, 0x35, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72,
+ 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41,
+ 0x6e, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22,
+ 0x52, 0x0a, 0x0a, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x0e, 0x0a,
+ 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a,
+ 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e,
+ 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x32, 0xab, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x54, 0x79, 0x70, 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x92, 0x01, 0x0a,
+ 0x11, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70,
+ 0x65, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70,
+ 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65,
+ 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x32, 0x92, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53,
+ 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7e, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x35, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e,
+ 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36,
0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32,
- 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56,
- 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x83, 0x01, 0x0a, 0x18, 0x43, 0x72,
- 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53,
- 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x67, 0x0a, 0x10, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65,
- 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x31, 0x2e,
- 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x74,
- 0x61, 0x74, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
- 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x72, 0x65,
- 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32,
- 0x77, 0x0a, 0x15, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65,
- 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5e, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61,
- 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x31, 0x2e, 0x63,
- 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61,
- 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x1a, 0x26, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
- 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68,
- 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f, 0x72,
- 0x6f, 0x6e, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x70, 0x62,
- 0x2f, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76, 0x32,
- 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
+ 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x9c, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x47, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
+ 0x12, 0x82, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x12, 0x38, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
+ 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x65, 0x74, 0x74, 0x65,
+ 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x31, 0x2e,
+ 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69,
+ 0x63, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xde, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
+ 0x12, 0x61, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x63, 0x31, 0x2e,
+ 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65,
+ 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e,
+ 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e,
+ 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x81, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
+ 0x65, 0x12, 0x67, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x56, 0x32, 0x12, 0x28, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x29, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76,
+ 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x83, 0x01, 0x0a, 0x18, 0x43,
+ 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
+ 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x67, 0x0a, 0x10, 0x52, 0x6f, 0x74, 0x61, 0x74,
+ 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x28, 0x2e, 0x63, 0x31,
+ 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f,
+ 0x74, 0x61, 0x74, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x72,
+ 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x32, 0x77, 0x0a, 0x15, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67,
+ 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5e, 0x0a, 0x0d, 0x43, 0x72, 0x65,
+ 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x31, 0x2e,
+ 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65,
+ 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74,
+ 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, 0x64, 0x75, 0x63, 0x74, 0x6f,
+ 0x72, 0x6f, 0x6e, 0x65, 0x2f, 0x62, 0x61, 0x74, 0x6f, 0x6e, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x70,
+ 0x62, 0x2f, 0x63, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2f, 0x76,
+ 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
})
var (
@@ -2581,7 +3104,7 @@ func file_c1_connector_v2_resource_proto_rawDescGZIP() []byte {
}
var file_c1_connector_v2_resource_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
-var file_c1_connector_v2_resource_proto_msgTypes = make([]protoimpl.MessageInfo, 32)
+var file_c1_connector_v2_resource_proto_msgTypes = make([]protoimpl.MessageInfo, 39)
var file_c1_connector_v2_resource_proto_goTypes = []any{
(ResourceType_Trait)(0), // 0: c1.connector.v2.ResourceType.Trait
(Resource_CreationSource)(0), // 1: c1.connector.v2.Resource.CreationSource
@@ -2598,99 +3121,116 @@ var file_c1_connector_v2_resource_proto_goTypes = []any{
(*RotateCredentialResponse)(nil), // 12: c1.connector.v2.RotateCredentialResponse
(*AccountInfo)(nil), // 13: c1.connector.v2.AccountInfo
(*CredentialOptions)(nil), // 14: c1.connector.v2.CredentialOptions
- (*CreateAccountRequest)(nil), // 15: c1.connector.v2.CreateAccountRequest
- (*CreateAccountResponse)(nil), // 16: c1.connector.v2.CreateAccountResponse
- (*EncryptedData)(nil), // 17: c1.connector.v2.EncryptedData
- (*PlaintextData)(nil), // 18: c1.connector.v2.PlaintextData
- (*EncryptionConfig)(nil), // 19: c1.connector.v2.EncryptionConfig
- (*ResourceId)(nil), // 20: c1.connector.v2.ResourceId
- (*Resource)(nil), // 21: c1.connector.v2.Resource
- (*ResourcesServiceListResourcesRequest)(nil), // 22: c1.connector.v2.ResourcesServiceListResourcesRequest
- (*ResourcesServiceListResourcesResponse)(nil), // 23: c1.connector.v2.ResourcesServiceListResourcesResponse
- (*ResourceGetterServiceGetResourceRequest)(nil), // 24: c1.connector.v2.ResourceGetterServiceGetResourceRequest
- (*ResourceGetterServiceGetResourceResponse)(nil), // 25: c1.connector.v2.ResourceGetterServiceGetResourceResponse
- (*ExternalId)(nil), // 26: c1.connector.v2.ExternalId
- (*AccountInfo_Email)(nil), // 27: c1.connector.v2.AccountInfo.Email
- (*CredentialOptions_RandomPassword)(nil), // 28: c1.connector.v2.CredentialOptions.RandomPassword
- (*CredentialOptions_NoPassword)(nil), // 29: c1.connector.v2.CredentialOptions.NoPassword
- (*CredentialOptions_SSO)(nil), // 30: c1.connector.v2.CredentialOptions.SSO
- (*CreateAccountResponse_SuccessResult)(nil), // 31: c1.connector.v2.CreateAccountResponse.SuccessResult
- (*CreateAccountResponse_ActionRequiredResult)(nil), // 32: c1.connector.v2.CreateAccountResponse.ActionRequiredResult
- (*EncryptionConfig_JWKPublicKeyConfig)(nil), // 33: c1.connector.v2.EncryptionConfig.JWKPublicKeyConfig
- (*anypb.Any)(nil), // 34: google.protobuf.Any
- (*structpb.Struct)(nil), // 35: google.protobuf.Struct
+ (*LocalCredentialOptions)(nil), // 15: c1.connector.v2.LocalCredentialOptions
+ (*PasswordConstraint)(nil), // 16: c1.connector.v2.PasswordConstraint
+ (*CreateAccountRequest)(nil), // 17: c1.connector.v2.CreateAccountRequest
+ (*CreateAccountResponse)(nil), // 18: c1.connector.v2.CreateAccountResponse
+ (*EncryptedData)(nil), // 19: c1.connector.v2.EncryptedData
+ (*PlaintextData)(nil), // 20: c1.connector.v2.PlaintextData
+ (*EncryptionConfig)(nil), // 21: c1.connector.v2.EncryptionConfig
+ (*ResourceId)(nil), // 22: c1.connector.v2.ResourceId
+ (*Resource)(nil), // 23: c1.connector.v2.Resource
+ (*ResourcesServiceListResourcesRequest)(nil), // 24: c1.connector.v2.ResourcesServiceListResourcesRequest
+ (*ResourcesServiceListResourcesResponse)(nil), // 25: c1.connector.v2.ResourcesServiceListResourcesResponse
+ (*ResourceGetterServiceGetResourceRequest)(nil), // 26: c1.connector.v2.ResourceGetterServiceGetResourceRequest
+ (*ResourceGetterServiceGetResourceResponse)(nil), // 27: c1.connector.v2.ResourceGetterServiceGetResourceResponse
+ (*ExternalId)(nil), // 28: c1.connector.v2.ExternalId
+ (*AccountInfo_Email)(nil), // 29: c1.connector.v2.AccountInfo.Email
+ (*CredentialOptions_RandomPassword)(nil), // 30: c1.connector.v2.CredentialOptions.RandomPassword
+ (*CredentialOptions_NoPassword)(nil), // 31: c1.connector.v2.CredentialOptions.NoPassword
+ (*CredentialOptions_SSO)(nil), // 32: c1.connector.v2.CredentialOptions.SSO
+ (*CredentialOptions_EncryptedPassword)(nil), // 33: c1.connector.v2.CredentialOptions.EncryptedPassword
+ (*LocalCredentialOptions_RandomPassword)(nil), // 34: c1.connector.v2.LocalCredentialOptions.RandomPassword
+ (*LocalCredentialOptions_NoPassword)(nil), // 35: c1.connector.v2.LocalCredentialOptions.NoPassword
+ (*LocalCredentialOptions_SSO)(nil), // 36: c1.connector.v2.LocalCredentialOptions.SSO
+ (*LocalCredentialOptions_PlaintextPassword)(nil), // 37: c1.connector.v2.LocalCredentialOptions.PlaintextPassword
+ (*CreateAccountResponse_SuccessResult)(nil), // 38: c1.connector.v2.CreateAccountResponse.SuccessResult
+ (*CreateAccountResponse_ActionRequiredResult)(nil), // 39: c1.connector.v2.CreateAccountResponse.ActionRequiredResult
+ (*EncryptionConfig_JWKPublicKeyConfig)(nil), // 40: c1.connector.v2.EncryptionConfig.JWKPublicKeyConfig
+ (*anypb.Any)(nil), // 41: google.protobuf.Any
+ (*structpb.Struct)(nil), // 42: google.protobuf.Struct
}
var file_c1_connector_v2_resource_proto_depIdxs = []int32{
0, // 0: c1.connector.v2.ResourceType.traits:type_name -> c1.connector.v2.ResourceType.Trait
- 34, // 1: c1.connector.v2.ResourceType.annotations:type_name -> google.protobuf.Any
- 21, // 2: c1.connector.v2.ResourceTypesServiceListResourceTypesRequest.parent:type_name -> c1.connector.v2.Resource
- 34, // 3: c1.connector.v2.ResourceTypesServiceListResourceTypesRequest.annotations:type_name -> google.protobuf.Any
+ 41, // 1: c1.connector.v2.ResourceType.annotations:type_name -> google.protobuf.Any
+ 23, // 2: c1.connector.v2.ResourceTypesServiceListResourceTypesRequest.parent:type_name -> c1.connector.v2.Resource
+ 41, // 3: c1.connector.v2.ResourceTypesServiceListResourceTypesRequest.annotations:type_name -> google.protobuf.Any
2, // 4: c1.connector.v2.ResourceTypesServiceListResourceTypesResponse.list:type_name -> c1.connector.v2.ResourceType
- 34, // 5: c1.connector.v2.ResourceTypesServiceListResourceTypesResponse.annotations:type_name -> google.protobuf.Any
- 21, // 6: c1.connector.v2.CreateResourceRequest.resource:type_name -> c1.connector.v2.Resource
- 21, // 7: c1.connector.v2.CreateResourceResponse.created:type_name -> c1.connector.v2.Resource
- 34, // 8: c1.connector.v2.CreateResourceResponse.annotations:type_name -> google.protobuf.Any
- 20, // 9: c1.connector.v2.DeleteResourceRequest.resource_id:type_name -> c1.connector.v2.ResourceId
- 34, // 10: c1.connector.v2.DeleteResourceResponse.annotations:type_name -> google.protobuf.Any
- 20, // 11: c1.connector.v2.DeleteResourceV2Request.resource_id:type_name -> c1.connector.v2.ResourceId
- 34, // 12: c1.connector.v2.DeleteResourceV2Response.annotations:type_name -> google.protobuf.Any
- 20, // 13: c1.connector.v2.RotateCredentialRequest.resource_id:type_name -> c1.connector.v2.ResourceId
- 14, // 14: c1.connector.v2.RotateCredentialRequest.credential_options:type_name -> c1.connector.v2.CredentialOptions
- 19, // 15: c1.connector.v2.RotateCredentialRequest.encryption_configs:type_name -> c1.connector.v2.EncryptionConfig
- 17, // 16: c1.connector.v2.RotateCredentialResponse.encrypted_data:type_name -> c1.connector.v2.EncryptedData
- 20, // 17: c1.connector.v2.RotateCredentialResponse.resource_id:type_name -> c1.connector.v2.ResourceId
- 34, // 18: c1.connector.v2.RotateCredentialResponse.annotations:type_name -> google.protobuf.Any
- 27, // 19: c1.connector.v2.AccountInfo.emails:type_name -> c1.connector.v2.AccountInfo.Email
- 35, // 20: c1.connector.v2.AccountInfo.profile:type_name -> google.protobuf.Struct
- 28, // 21: c1.connector.v2.CredentialOptions.random_password:type_name -> c1.connector.v2.CredentialOptions.RandomPassword
- 29, // 22: c1.connector.v2.CredentialOptions.no_password:type_name -> c1.connector.v2.CredentialOptions.NoPassword
- 30, // 23: c1.connector.v2.CredentialOptions.sso:type_name -> c1.connector.v2.CredentialOptions.SSO
- 13, // 24: c1.connector.v2.CreateAccountRequest.account_info:type_name -> c1.connector.v2.AccountInfo
- 14, // 25: c1.connector.v2.CreateAccountRequest.credential_options:type_name -> c1.connector.v2.CredentialOptions
- 19, // 26: c1.connector.v2.CreateAccountRequest.encryption_configs:type_name -> c1.connector.v2.EncryptionConfig
- 31, // 27: c1.connector.v2.CreateAccountResponse.success:type_name -> c1.connector.v2.CreateAccountResponse.SuccessResult
- 32, // 28: c1.connector.v2.CreateAccountResponse.action_required:type_name -> c1.connector.v2.CreateAccountResponse.ActionRequiredResult
- 17, // 29: c1.connector.v2.CreateAccountResponse.encrypted_data:type_name -> c1.connector.v2.EncryptedData
- 34, // 30: c1.connector.v2.CreateAccountResponse.annotations:type_name -> google.protobuf.Any
- 21, // 31: c1.connector.v2.EncryptionConfig.principal:type_name -> c1.connector.v2.Resource
- 33, // 32: c1.connector.v2.EncryptionConfig.jwk_public_key_config:type_name -> c1.connector.v2.EncryptionConfig.JWKPublicKeyConfig
- 20, // 33: c1.connector.v2.Resource.id:type_name -> c1.connector.v2.ResourceId
- 20, // 34: c1.connector.v2.Resource.parent_resource_id:type_name -> c1.connector.v2.ResourceId
- 34, // 35: c1.connector.v2.Resource.annotations:type_name -> google.protobuf.Any
- 26, // 36: c1.connector.v2.Resource.external_id:type_name -> c1.connector.v2.ExternalId
- 1, // 37: c1.connector.v2.Resource.creation_source:type_name -> c1.connector.v2.Resource.CreationSource
- 20, // 38: c1.connector.v2.ResourcesServiceListResourcesRequest.parent_resource_id:type_name -> c1.connector.v2.ResourceId
- 34, // 39: c1.connector.v2.ResourcesServiceListResourcesRequest.annotations:type_name -> google.protobuf.Any
- 21, // 40: c1.connector.v2.ResourcesServiceListResourcesResponse.list:type_name -> c1.connector.v2.Resource
- 34, // 41: c1.connector.v2.ResourcesServiceListResourcesResponse.annotations:type_name -> google.protobuf.Any
- 20, // 42: c1.connector.v2.ResourceGetterServiceGetResourceRequest.resource_id:type_name -> c1.connector.v2.ResourceId
- 20, // 43: c1.connector.v2.ResourceGetterServiceGetResourceRequest.parent_resource_id:type_name -> c1.connector.v2.ResourceId
- 34, // 44: c1.connector.v2.ResourceGetterServiceGetResourceRequest.annotations:type_name -> google.protobuf.Any
- 21, // 45: c1.connector.v2.ResourceGetterServiceGetResourceResponse.resource:type_name -> c1.connector.v2.Resource
- 34, // 46: c1.connector.v2.ResourceGetterServiceGetResourceResponse.annotations:type_name -> google.protobuf.Any
- 21, // 47: c1.connector.v2.CreateAccountResponse.SuccessResult.resource:type_name -> c1.connector.v2.Resource
- 21, // 48: c1.connector.v2.CreateAccountResponse.ActionRequiredResult.resource:type_name -> c1.connector.v2.Resource
- 3, // 49: c1.connector.v2.ResourceTypesService.ListResourceTypes:input_type -> c1.connector.v2.ResourceTypesServiceListResourceTypesRequest
- 22, // 50: c1.connector.v2.ResourcesService.ListResources:input_type -> c1.connector.v2.ResourcesServiceListResourcesRequest
- 24, // 51: c1.connector.v2.ResourceGetterService.GetResource:input_type -> c1.connector.v2.ResourceGetterServiceGetResourceRequest
- 5, // 52: c1.connector.v2.ResourceManagerService.CreateResource:input_type -> c1.connector.v2.CreateResourceRequest
- 7, // 53: c1.connector.v2.ResourceManagerService.DeleteResource:input_type -> c1.connector.v2.DeleteResourceRequest
- 9, // 54: c1.connector.v2.ResourceDeleterService.DeleteResourceV2:input_type -> c1.connector.v2.DeleteResourceV2Request
- 11, // 55: c1.connector.v2.CredentialManagerService.RotateCredential:input_type -> c1.connector.v2.RotateCredentialRequest
- 15, // 56: c1.connector.v2.AccountManagerService.CreateAccount:input_type -> c1.connector.v2.CreateAccountRequest
- 4, // 57: c1.connector.v2.ResourceTypesService.ListResourceTypes:output_type -> c1.connector.v2.ResourceTypesServiceListResourceTypesResponse
- 23, // 58: c1.connector.v2.ResourcesService.ListResources:output_type -> c1.connector.v2.ResourcesServiceListResourcesResponse
- 25, // 59: c1.connector.v2.ResourceGetterService.GetResource:output_type -> c1.connector.v2.ResourceGetterServiceGetResourceResponse
- 6, // 60: c1.connector.v2.ResourceManagerService.CreateResource:output_type -> c1.connector.v2.CreateResourceResponse
- 8, // 61: c1.connector.v2.ResourceManagerService.DeleteResource:output_type -> c1.connector.v2.DeleteResourceResponse
- 10, // 62: c1.connector.v2.ResourceDeleterService.DeleteResourceV2:output_type -> c1.connector.v2.DeleteResourceV2Response
- 12, // 63: c1.connector.v2.CredentialManagerService.RotateCredential:output_type -> c1.connector.v2.RotateCredentialResponse
- 16, // 64: c1.connector.v2.AccountManagerService.CreateAccount:output_type -> c1.connector.v2.CreateAccountResponse
- 57, // [57:65] is the sub-list for method output_type
- 49, // [49:57] is the sub-list for method input_type
- 49, // [49:49] is the sub-list for extension type_name
- 49, // [49:49] is the sub-list for extension extendee
- 0, // [0:49] is the sub-list for field type_name
+ 41, // 5: c1.connector.v2.ResourceTypesServiceListResourceTypesResponse.annotations:type_name -> google.protobuf.Any
+ 23, // 6: c1.connector.v2.CreateResourceRequest.resource:type_name -> c1.connector.v2.Resource
+ 23, // 7: c1.connector.v2.CreateResourceResponse.created:type_name -> c1.connector.v2.Resource
+ 41, // 8: c1.connector.v2.CreateResourceResponse.annotations:type_name -> google.protobuf.Any
+ 22, // 9: c1.connector.v2.DeleteResourceRequest.resource_id:type_name -> c1.connector.v2.ResourceId
+ 22, // 10: c1.connector.v2.DeleteResourceRequest.parent_resource_id:type_name -> c1.connector.v2.ResourceId
+ 41, // 11: c1.connector.v2.DeleteResourceResponse.annotations:type_name -> google.protobuf.Any
+ 22, // 12: c1.connector.v2.DeleteResourceV2Request.resource_id:type_name -> c1.connector.v2.ResourceId
+ 22, // 13: c1.connector.v2.DeleteResourceV2Request.parent_resource_id:type_name -> c1.connector.v2.ResourceId
+ 41, // 14: c1.connector.v2.DeleteResourceV2Response.annotations:type_name -> google.protobuf.Any
+ 22, // 15: c1.connector.v2.RotateCredentialRequest.resource_id:type_name -> c1.connector.v2.ResourceId
+ 14, // 16: c1.connector.v2.RotateCredentialRequest.credential_options:type_name -> c1.connector.v2.CredentialOptions
+ 21, // 17: c1.connector.v2.RotateCredentialRequest.encryption_configs:type_name -> c1.connector.v2.EncryptionConfig
+ 19, // 18: c1.connector.v2.RotateCredentialResponse.encrypted_data:type_name -> c1.connector.v2.EncryptedData
+ 22, // 19: c1.connector.v2.RotateCredentialResponse.resource_id:type_name -> c1.connector.v2.ResourceId
+ 41, // 20: c1.connector.v2.RotateCredentialResponse.annotations:type_name -> google.protobuf.Any
+ 29, // 21: c1.connector.v2.AccountInfo.emails:type_name -> c1.connector.v2.AccountInfo.Email
+ 42, // 22: c1.connector.v2.AccountInfo.profile:type_name -> google.protobuf.Struct
+ 30, // 23: c1.connector.v2.CredentialOptions.random_password:type_name -> c1.connector.v2.CredentialOptions.RandomPassword
+ 31, // 24: c1.connector.v2.CredentialOptions.no_password:type_name -> c1.connector.v2.CredentialOptions.NoPassword
+ 32, // 25: c1.connector.v2.CredentialOptions.sso:type_name -> c1.connector.v2.CredentialOptions.SSO
+ 33, // 26: c1.connector.v2.CredentialOptions.encrypted_password:type_name -> c1.connector.v2.CredentialOptions.EncryptedPassword
+ 34, // 27: c1.connector.v2.LocalCredentialOptions.random_password:type_name -> c1.connector.v2.LocalCredentialOptions.RandomPassword
+ 35, // 28: c1.connector.v2.LocalCredentialOptions.no_password:type_name -> c1.connector.v2.LocalCredentialOptions.NoPassword
+ 36, // 29: c1.connector.v2.LocalCredentialOptions.sso:type_name -> c1.connector.v2.LocalCredentialOptions.SSO
+ 37, // 30: c1.connector.v2.LocalCredentialOptions.plaintext_password:type_name -> c1.connector.v2.LocalCredentialOptions.PlaintextPassword
+ 13, // 31: c1.connector.v2.CreateAccountRequest.account_info:type_name -> c1.connector.v2.AccountInfo
+ 14, // 32: c1.connector.v2.CreateAccountRequest.credential_options:type_name -> c1.connector.v2.CredentialOptions
+ 21, // 33: c1.connector.v2.CreateAccountRequest.encryption_configs:type_name -> c1.connector.v2.EncryptionConfig
+ 38, // 34: c1.connector.v2.CreateAccountResponse.success:type_name -> c1.connector.v2.CreateAccountResponse.SuccessResult
+ 39, // 35: c1.connector.v2.CreateAccountResponse.action_required:type_name -> c1.connector.v2.CreateAccountResponse.ActionRequiredResult
+ 19, // 36: c1.connector.v2.CreateAccountResponse.encrypted_data:type_name -> c1.connector.v2.EncryptedData
+ 41, // 37: c1.connector.v2.CreateAccountResponse.annotations:type_name -> google.protobuf.Any
+ 23, // 38: c1.connector.v2.EncryptionConfig.principal:type_name -> c1.connector.v2.Resource
+ 40, // 39: c1.connector.v2.EncryptionConfig.jwk_public_key_config:type_name -> c1.connector.v2.EncryptionConfig.JWKPublicKeyConfig
+ 22, // 40: c1.connector.v2.Resource.id:type_name -> c1.connector.v2.ResourceId
+ 22, // 41: c1.connector.v2.Resource.parent_resource_id:type_name -> c1.connector.v2.ResourceId
+ 41, // 42: c1.connector.v2.Resource.annotations:type_name -> google.protobuf.Any
+ 28, // 43: c1.connector.v2.Resource.external_id:type_name -> c1.connector.v2.ExternalId
+ 1, // 44: c1.connector.v2.Resource.creation_source:type_name -> c1.connector.v2.Resource.CreationSource
+ 22, // 45: c1.connector.v2.ResourcesServiceListResourcesRequest.parent_resource_id:type_name -> c1.connector.v2.ResourceId
+ 41, // 46: c1.connector.v2.ResourcesServiceListResourcesRequest.annotations:type_name -> google.protobuf.Any
+ 23, // 47: c1.connector.v2.ResourcesServiceListResourcesResponse.list:type_name -> c1.connector.v2.Resource
+ 41, // 48: c1.connector.v2.ResourcesServiceListResourcesResponse.annotations:type_name -> google.protobuf.Any
+ 22, // 49: c1.connector.v2.ResourceGetterServiceGetResourceRequest.resource_id:type_name -> c1.connector.v2.ResourceId
+ 22, // 50: c1.connector.v2.ResourceGetterServiceGetResourceRequest.parent_resource_id:type_name -> c1.connector.v2.ResourceId
+ 41, // 51: c1.connector.v2.ResourceGetterServiceGetResourceRequest.annotations:type_name -> google.protobuf.Any
+ 23, // 52: c1.connector.v2.ResourceGetterServiceGetResourceResponse.resource:type_name -> c1.connector.v2.Resource
+ 41, // 53: c1.connector.v2.ResourceGetterServiceGetResourceResponse.annotations:type_name -> google.protobuf.Any
+ 16, // 54: c1.connector.v2.CredentialOptions.RandomPassword.constraints:type_name -> c1.connector.v2.PasswordConstraint
+ 19, // 55: c1.connector.v2.CredentialOptions.EncryptedPassword.encrypted_passwords:type_name -> c1.connector.v2.EncryptedData
+ 16, // 56: c1.connector.v2.LocalCredentialOptions.RandomPassword.constraints:type_name -> c1.connector.v2.PasswordConstraint
+ 23, // 57: c1.connector.v2.CreateAccountResponse.SuccessResult.resource:type_name -> c1.connector.v2.Resource
+ 23, // 58: c1.connector.v2.CreateAccountResponse.ActionRequiredResult.resource:type_name -> c1.connector.v2.Resource
+ 3, // 59: c1.connector.v2.ResourceTypesService.ListResourceTypes:input_type -> c1.connector.v2.ResourceTypesServiceListResourceTypesRequest
+ 24, // 60: c1.connector.v2.ResourcesService.ListResources:input_type -> c1.connector.v2.ResourcesServiceListResourcesRequest
+ 26, // 61: c1.connector.v2.ResourceGetterService.GetResource:input_type -> c1.connector.v2.ResourceGetterServiceGetResourceRequest
+ 5, // 62: c1.connector.v2.ResourceManagerService.CreateResource:input_type -> c1.connector.v2.CreateResourceRequest
+ 7, // 63: c1.connector.v2.ResourceManagerService.DeleteResource:input_type -> c1.connector.v2.DeleteResourceRequest
+ 9, // 64: c1.connector.v2.ResourceDeleterService.DeleteResourceV2:input_type -> c1.connector.v2.DeleteResourceV2Request
+ 11, // 65: c1.connector.v2.CredentialManagerService.RotateCredential:input_type -> c1.connector.v2.RotateCredentialRequest
+ 17, // 66: c1.connector.v2.AccountManagerService.CreateAccount:input_type -> c1.connector.v2.CreateAccountRequest
+ 4, // 67: c1.connector.v2.ResourceTypesService.ListResourceTypes:output_type -> c1.connector.v2.ResourceTypesServiceListResourceTypesResponse
+ 25, // 68: c1.connector.v2.ResourcesService.ListResources:output_type -> c1.connector.v2.ResourcesServiceListResourcesResponse
+ 27, // 69: c1.connector.v2.ResourceGetterService.GetResource:output_type -> c1.connector.v2.ResourceGetterServiceGetResourceResponse
+ 6, // 70: c1.connector.v2.ResourceManagerService.CreateResource:output_type -> c1.connector.v2.CreateResourceResponse
+ 8, // 71: c1.connector.v2.ResourceManagerService.DeleteResource:output_type -> c1.connector.v2.DeleteResourceResponse
+ 10, // 72: c1.connector.v2.ResourceDeleterService.DeleteResourceV2:output_type -> c1.connector.v2.DeleteResourceV2Response
+ 12, // 73: c1.connector.v2.CredentialManagerService.RotateCredential:output_type -> c1.connector.v2.RotateCredentialResponse
+ 18, // 74: c1.connector.v2.AccountManagerService.CreateAccount:output_type -> c1.connector.v2.CreateAccountResponse
+ 67, // [67:75] is the sub-list for method output_type
+ 59, // [59:67] is the sub-list for method input_type
+ 59, // [59:59] is the sub-list for extension type_name
+ 59, // [59:59] is the sub-list for extension extendee
+ 0, // [0:59] is the sub-list for field type_name
}
func init() { file_c1_connector_v2_resource_proto_init() }
@@ -2702,12 +3242,19 @@ func file_c1_connector_v2_resource_proto_init() {
(*CredentialOptions_RandomPassword_)(nil),
(*CredentialOptions_NoPassword_)(nil),
(*CredentialOptions_Sso)(nil),
+ (*CredentialOptions_EncryptedPassword_)(nil),
+ }
+ file_c1_connector_v2_resource_proto_msgTypes[13].OneofWrappers = []any{
+ (*LocalCredentialOptions_RandomPassword_)(nil),
+ (*LocalCredentialOptions_NoPassword_)(nil),
+ (*LocalCredentialOptions_Sso)(nil),
+ (*LocalCredentialOptions_PlaintextPassword_)(nil),
}
- file_c1_connector_v2_resource_proto_msgTypes[14].OneofWrappers = []any{
+ file_c1_connector_v2_resource_proto_msgTypes[16].OneofWrappers = []any{
(*CreateAccountResponse_Success)(nil),
(*CreateAccountResponse_ActionRequired)(nil),
}
- file_c1_connector_v2_resource_proto_msgTypes[17].OneofWrappers = []any{
+ file_c1_connector_v2_resource_proto_msgTypes[19].OneofWrappers = []any{
(*EncryptionConfig_JwkPublicKeyConfig)(nil),
}
type x struct{}
@@ -2716,7 +3263,7 @@ func file_c1_connector_v2_resource_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_c1_connector_v2_resource_proto_rawDesc), len(file_c1_connector_v2_resource_proto_rawDesc)),
NumEnums: 2,
- NumMessages: 32,
+ NumMessages: 39,
NumExtensions: 0,
NumServices: 7,
},
diff --git a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/resource.pb.validate.go b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/resource.pb.validate.go
index 2e0d07a6..bd2901cb 100644
--- a/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/resource.pb.validate.go
+++ b/vendor/github.com/conductorone/baton-sdk/pb/c1/connector/v2/resource.pb.validate.go
@@ -981,6 +981,35 @@ func (m *DeleteResourceRequest) validate(all bool) error {
}
}
+ if all {
+ switch v := interface{}(m.GetParentResourceId()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, DeleteResourceRequestValidationError{
+ field: "ParentResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, DeleteResourceRequestValidationError{
+ field: "ParentResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetParentResourceId()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return DeleteResourceRequestValidationError{
+ field: "ParentResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
if len(errors) > 0 {
return DeleteResourceRequestMultiError(errors)
}
@@ -1248,6 +1277,35 @@ func (m *DeleteResourceV2Request) validate(all bool) error {
}
}
+ if all {
+ switch v := interface{}(m.GetParentResourceId()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, DeleteResourceV2RequestValidationError{
+ field: "ParentResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, DeleteResourceV2RequestValidationError{
+ field: "ParentResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetParentResourceId()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return DeleteResourceV2RequestValidationError{
+ field: "ParentResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
if len(errors) > 0 {
return DeleteResourceV2RequestMultiError(errors)
}
@@ -2043,6 +2101,8 @@ func (m *CredentialOptions) validate(all bool) error {
var errors []error
+ // no validation rules for ForceChangeAtNextLogin
+
switch v := m.Options.(type) {
case *CredentialOptions_RandomPassword_:
if v == nil {
@@ -2167,6 +2227,47 @@ func (m *CredentialOptions) validate(all bool) error {
}
}
+ case *CredentialOptions_EncryptedPassword_:
+ if v == nil {
+ err := CredentialOptionsValidationError{
+ field: "Options",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ if all {
+ switch v := interface{}(m.GetEncryptedPassword()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, CredentialOptionsValidationError{
+ field: "EncryptedPassword",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, CredentialOptionsValidationError{
+ field: "EncryptedPassword",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetEncryptedPassword()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return CredentialOptionsValidationError{
+ field: "EncryptedPassword",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
default:
_ = v // ensures v is used
}
@@ -2251,134 +2352,213 @@ var _ interface {
ErrorName() string
} = CredentialOptionsValidationError{}
-// Validate checks the field values on CreateAccountRequest with the rules
+// Validate checks the field values on LocalCredentialOptions with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *CreateAccountRequest) Validate() error {
+func (m *LocalCredentialOptions) Validate() error {
return m.validate(false)
}
-// ValidateAll checks the field values on CreateAccountRequest with the rules
+// ValidateAll checks the field values on LocalCredentialOptions with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
-// CreateAccountRequestMultiError, or nil if none found.
-func (m *CreateAccountRequest) ValidateAll() error {
+// LocalCredentialOptionsMultiError, or nil if none found.
+func (m *LocalCredentialOptions) ValidateAll() error {
return m.validate(true)
}
-func (m *CreateAccountRequest) validate(all bool) error {
+func (m *LocalCredentialOptions) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
- if all {
- switch v := interface{}(m.GetAccountInfo()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, CreateAccountRequestValidationError{
- field: "AccountInfo",
- reason: "embedded message failed validation",
- cause: err,
- })
+ // no validation rules for ForceChangeAtNextLogin
+
+ switch v := m.Options.(type) {
+ case *LocalCredentialOptions_RandomPassword_:
+ if v == nil {
+ err := LocalCredentialOptionsValidationError{
+ field: "Options",
+ reason: "oneof value cannot be a typed-nil",
}
- case interface{ Validate() error }:
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ if all {
+ switch v := interface{}(m.GetRandomPassword()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, LocalCredentialOptionsValidationError{
+ field: "RandomPassword",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, LocalCredentialOptionsValidationError{
+ field: "RandomPassword",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetRandomPassword()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
- errors = append(errors, CreateAccountRequestValidationError{
- field: "AccountInfo",
+ return LocalCredentialOptionsValidationError{
+ field: "RandomPassword",
reason: "embedded message failed validation",
cause: err,
- })
+ }
}
}
- } else if v, ok := interface{}(m.GetAccountInfo()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return CreateAccountRequestValidationError{
- field: "AccountInfo",
- reason: "embedded message failed validation",
- cause: err,
+
+ case *LocalCredentialOptions_NoPassword_:
+ if v == nil {
+ err := LocalCredentialOptionsValidationError{
+ field: "Options",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
}
+ errors = append(errors, err)
}
- }
- if all {
- switch v := interface{}(m.GetCredentialOptions()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, CreateAccountRequestValidationError{
- field: "CredentialOptions",
+ if all {
+ switch v := interface{}(m.GetNoPassword()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, LocalCredentialOptionsValidationError{
+ field: "NoPassword",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, LocalCredentialOptionsValidationError{
+ field: "NoPassword",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetNoPassword()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return LocalCredentialOptionsValidationError{
+ field: "NoPassword",
reason: "embedded message failed validation",
cause: err,
- })
+ }
}
- case interface{ Validate() error }:
+ }
+
+ case *LocalCredentialOptions_Sso:
+ if v == nil {
+ err := LocalCredentialOptionsValidationError{
+ field: "Options",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ if all {
+ switch v := interface{}(m.GetSso()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, LocalCredentialOptionsValidationError{
+ field: "Sso",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, LocalCredentialOptionsValidationError{
+ field: "Sso",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetSso()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
- errors = append(errors, CreateAccountRequestValidationError{
- field: "CredentialOptions",
+ return LocalCredentialOptionsValidationError{
+ field: "Sso",
reason: "embedded message failed validation",
cause: err,
- })
+ }
}
}
- } else if v, ok := interface{}(m.GetCredentialOptions()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return CreateAccountRequestValidationError{
- field: "CredentialOptions",
- reason: "embedded message failed validation",
- cause: err,
+
+ case *LocalCredentialOptions_PlaintextPassword_:
+ if v == nil {
+ err := LocalCredentialOptionsValidationError{
+ field: "Options",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
}
+ errors = append(errors, err)
}
- }
-
- for idx, item := range m.GetEncryptionConfigs() {
- _, _ = idx, item
if all {
- switch v := interface{}(item).(type) {
+ switch v := interface{}(m.GetPlaintextPassword()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
- errors = append(errors, CreateAccountRequestValidationError{
- field: fmt.Sprintf("EncryptionConfigs[%v]", idx),
+ errors = append(errors, LocalCredentialOptionsValidationError{
+ field: "PlaintextPassword",
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
- errors = append(errors, CreateAccountRequestValidationError{
- field: fmt.Sprintf("EncryptionConfigs[%v]", idx),
+ errors = append(errors, LocalCredentialOptionsValidationError{
+ field: "PlaintextPassword",
reason: "embedded message failed validation",
cause: err,
})
}
}
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ } else if v, ok := interface{}(m.GetPlaintextPassword()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
- return CreateAccountRequestValidationError{
- field: fmt.Sprintf("EncryptionConfigs[%v]", idx),
+ return LocalCredentialOptionsValidationError{
+ field: "PlaintextPassword",
reason: "embedded message failed validation",
cause: err,
}
}
}
+ default:
+ _ = v // ensures v is used
}
if len(errors) > 0 {
- return CreateAccountRequestMultiError(errors)
+ return LocalCredentialOptionsMultiError(errors)
}
return nil
}
-// CreateAccountRequestMultiError is an error wrapping multiple validation
-// errors returned by CreateAccountRequest.ValidateAll() if the designated
+// LocalCredentialOptionsMultiError is an error wrapping multiple validation
+// errors returned by LocalCredentialOptions.ValidateAll() if the designated
// constraints aren't met.
-type CreateAccountRequestMultiError []error
+type LocalCredentialOptionsMultiError []error
// Error returns a concatenation of all the error messages it wraps.
-func (m CreateAccountRequestMultiError) Error() string {
+func (m LocalCredentialOptionsMultiError) Error() string {
msgs := make([]string, 0, len(m))
for _, err := range m {
msgs = append(msgs, err.Error())
@@ -2387,11 +2567,11 @@ func (m CreateAccountRequestMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
-func (m CreateAccountRequestMultiError) AllErrors() []error { return m }
+func (m LocalCredentialOptionsMultiError) AllErrors() []error { return m }
-// CreateAccountRequestValidationError is the validation error returned by
-// CreateAccountRequest.Validate if the designated constraints aren't met.
-type CreateAccountRequestValidationError struct {
+// LocalCredentialOptionsValidationError is the validation error returned by
+// LocalCredentialOptions.Validate if the designated constraints aren't met.
+type LocalCredentialOptionsValidationError struct {
field string
reason string
cause error
@@ -2399,24 +2579,24 @@ type CreateAccountRequestValidationError struct {
}
// Field function returns field value.
-func (e CreateAccountRequestValidationError) Field() string { return e.field }
+func (e LocalCredentialOptionsValidationError) Field() string { return e.field }
// Reason function returns reason value.
-func (e CreateAccountRequestValidationError) Reason() string { return e.reason }
+func (e LocalCredentialOptionsValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
-func (e CreateAccountRequestValidationError) Cause() error { return e.cause }
+func (e LocalCredentialOptionsValidationError) Cause() error { return e.cause }
// Key function returns key value.
-func (e CreateAccountRequestValidationError) Key() bool { return e.key }
+func (e LocalCredentialOptionsValidationError) Key() bool { return e.key }
// ErrorName returns error name.
-func (e CreateAccountRequestValidationError) ErrorName() string {
- return "CreateAccountRequestValidationError"
+func (e LocalCredentialOptionsValidationError) ErrorName() string {
+ return "LocalCredentialOptionsValidationError"
}
// Error satisfies the builtin error interface
-func (e CreateAccountRequestValidationError) Error() string {
+func (e LocalCredentialOptionsValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@@ -2428,14 +2608,14 @@ func (e CreateAccountRequestValidationError) Error() string {
}
return fmt.Sprintf(
- "invalid %sCreateAccountRequest.%s: %s%s",
+ "invalid %sLocalCredentialOptions.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
-var _ error = CreateAccountRequestValidationError{}
+var _ error = LocalCredentialOptionsValidationError{}
var _ interface {
Field() string
@@ -2443,199 +2623,48 @@ var _ interface {
Key() bool
Cause() error
ErrorName() string
-} = CreateAccountRequestValidationError{}
+} = LocalCredentialOptionsValidationError{}
-// Validate checks the field values on CreateAccountResponse with the rules
+// Validate checks the field values on PasswordConstraint with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *CreateAccountResponse) Validate() error {
+func (m *PasswordConstraint) Validate() error {
return m.validate(false)
}
-// ValidateAll checks the field values on CreateAccountResponse with the rules
+// ValidateAll checks the field values on PasswordConstraint with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
-// CreateAccountResponseMultiError, or nil if none found.
-func (m *CreateAccountResponse) ValidateAll() error {
+// PasswordConstraintMultiError, or nil if none found.
+func (m *PasswordConstraint) ValidateAll() error {
return m.validate(true)
}
-func (m *CreateAccountResponse) validate(all bool) error {
+func (m *PasswordConstraint) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
- for idx, item := range m.GetEncryptedData() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, CreateAccountResponseValidationError{
- field: fmt.Sprintf("EncryptedData[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, CreateAccountResponseValidationError{
- field: fmt.Sprintf("EncryptedData[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return CreateAccountResponseValidationError{
- field: fmt.Sprintf("EncryptedData[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- for idx, item := range m.GetAnnotations() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, CreateAccountResponseValidationError{
- field: fmt.Sprintf("Annotations[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, CreateAccountResponseValidationError{
- field: fmt.Sprintf("Annotations[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return CreateAccountResponseValidationError{
- field: fmt.Sprintf("Annotations[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
-
- switch v := m.Result.(type) {
- case *CreateAccountResponse_Success:
- if v == nil {
- err := CreateAccountResponseValidationError{
- field: "Result",
- reason: "oneof value cannot be a typed-nil",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if all {
- switch v := interface{}(m.GetSuccess()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, CreateAccountResponseValidationError{
- field: "Success",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, CreateAccountResponseValidationError{
- field: "Success",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetSuccess()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return CreateAccountResponseValidationError{
- field: "Success",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- case *CreateAccountResponse_ActionRequired:
- if v == nil {
- err := CreateAccountResponseValidationError{
- field: "Result",
- reason: "oneof value cannot be a typed-nil",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- if all {
- switch v := interface{}(m.GetActionRequired()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, CreateAccountResponseValidationError{
- field: "ActionRequired",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, CreateAccountResponseValidationError{
- field: "ActionRequired",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetActionRequired()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return CreateAccountResponseValidationError{
- field: "ActionRequired",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
+ // no validation rules for CharSet
- default:
- _ = v // ensures v is used
- }
+ // no validation rules for MinCount
if len(errors) > 0 {
- return CreateAccountResponseMultiError(errors)
+ return PasswordConstraintMultiError(errors)
}
return nil
}
-// CreateAccountResponseMultiError is an error wrapping multiple validation
-// errors returned by CreateAccountResponse.ValidateAll() if the designated
-// constraints aren't met.
-type CreateAccountResponseMultiError []error
+// PasswordConstraintMultiError is an error wrapping multiple validation errors
+// returned by PasswordConstraint.ValidateAll() if the designated constraints
+// aren't met.
+type PasswordConstraintMultiError []error
// Error returns a concatenation of all the error messages it wraps.
-func (m CreateAccountResponseMultiError) Error() string {
+func (m PasswordConstraintMultiError) Error() string {
msgs := make([]string, 0, len(m))
for _, err := range m {
msgs = append(msgs, err.Error())
@@ -2644,11 +2673,11 @@ func (m CreateAccountResponseMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
-func (m CreateAccountResponseMultiError) AllErrors() []error { return m }
+func (m PasswordConstraintMultiError) AllErrors() []error { return m }
-// CreateAccountResponseValidationError is the validation error returned by
-// CreateAccountResponse.Validate if the designated constraints aren't met.
-type CreateAccountResponseValidationError struct {
+// PasswordConstraintValidationError is the validation error returned by
+// PasswordConstraint.Validate if the designated constraints aren't met.
+type PasswordConstraintValidationError struct {
field string
reason string
cause error
@@ -2656,24 +2685,24 @@ type CreateAccountResponseValidationError struct {
}
// Field function returns field value.
-func (e CreateAccountResponseValidationError) Field() string { return e.field }
+func (e PasswordConstraintValidationError) Field() string { return e.field }
// Reason function returns reason value.
-func (e CreateAccountResponseValidationError) Reason() string { return e.reason }
+func (e PasswordConstraintValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
-func (e CreateAccountResponseValidationError) Cause() error { return e.cause }
+func (e PasswordConstraintValidationError) Cause() error { return e.cause }
// Key function returns key value.
-func (e CreateAccountResponseValidationError) Key() bool { return e.key }
+func (e PasswordConstraintValidationError) Key() bool { return e.key }
// ErrorName returns error name.
-func (e CreateAccountResponseValidationError) ErrorName() string {
- return "CreateAccountResponseValidationError"
+func (e PasswordConstraintValidationError) ErrorName() string {
+ return "PasswordConstraintValidationError"
}
// Error satisfies the builtin error interface
-func (e CreateAccountResponseValidationError) Error() string {
+func (e PasswordConstraintValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@@ -2685,14 +2714,14 @@ func (e CreateAccountResponseValidationError) Error() string {
}
return fmt.Sprintf(
- "invalid %sCreateAccountResponse.%s: %s%s",
+ "invalid %sPasswordConstraint.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
-var _ error = CreateAccountResponseValidationError{}
+var _ error = PasswordConstraintValidationError{}
var _ interface {
Field() string
@@ -2700,56 +2729,1171 @@ var _ interface {
Key() bool
Cause() error
ErrorName() string
-} = CreateAccountResponseValidationError{}
+} = PasswordConstraintValidationError{}
-// Validate checks the field values on EncryptedData with the rules defined in
-// the proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *EncryptedData) Validate() error {
+// Validate checks the field values on CreateAccountRequest with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *CreateAccountRequest) Validate() error {
return m.validate(false)
}
-// ValidateAll checks the field values on EncryptedData with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in EncryptedDataMultiError, or
-// nil if none found.
-func (m *EncryptedData) ValidateAll() error {
+// ValidateAll checks the field values on CreateAccountRequest with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// CreateAccountRequestMultiError, or nil if none found.
+func (m *CreateAccountRequest) ValidateAll() error {
return m.validate(true)
}
-func (m *EncryptedData) validate(all bool) error {
+func (m *CreateAccountRequest) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
- // no validation rules for Provider
-
- // no validation rules for KeyId
-
- // no validation rules for Name
-
- // no validation rules for Description
-
- // no validation rules for Schema
-
- // no validation rules for EncryptedBytes
-
- if len(errors) > 0 {
- return EncryptedDataMultiError(errors)
+ if all {
+ switch v := interface{}(m.GetAccountInfo()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, CreateAccountRequestValidationError{
+ field: "AccountInfo",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, CreateAccountRequestValidationError{
+ field: "AccountInfo",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetAccountInfo()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return CreateAccountRequestValidationError{
+ field: "AccountInfo",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
}
- return nil
+ if all {
+ switch v := interface{}(m.GetCredentialOptions()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, CreateAccountRequestValidationError{
+ field: "CredentialOptions",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, CreateAccountRequestValidationError{
+ field: "CredentialOptions",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetCredentialOptions()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return CreateAccountRequestValidationError{
+ field: "CredentialOptions",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ for idx, item := range m.GetEncryptionConfigs() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, CreateAccountRequestValidationError{
+ field: fmt.Sprintf("EncryptionConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, CreateAccountRequestValidationError{
+ field: fmt.Sprintf("EncryptionConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return CreateAccountRequestValidationError{
+ field: fmt.Sprintf("EncryptionConfigs[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ if len(errors) > 0 {
+ return CreateAccountRequestMultiError(errors)
+ }
+
+ return nil
+}
+
+// CreateAccountRequestMultiError is an error wrapping multiple validation
+// errors returned by CreateAccountRequest.ValidateAll() if the designated
+// constraints aren't met.
+type CreateAccountRequestMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m CreateAccountRequestMultiError) Error() string {
+ msgs := make([]string, 0, len(m))
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m CreateAccountRequestMultiError) AllErrors() []error { return m }
+
+// CreateAccountRequestValidationError is the validation error returned by
+// CreateAccountRequest.Validate if the designated constraints aren't met.
+type CreateAccountRequestValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e CreateAccountRequestValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e CreateAccountRequestValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e CreateAccountRequestValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e CreateAccountRequestValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e CreateAccountRequestValidationError) ErrorName() string {
+ return "CreateAccountRequestValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e CreateAccountRequestValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sCreateAccountRequest.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = CreateAccountRequestValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = CreateAccountRequestValidationError{}
+
+// Validate checks the field values on CreateAccountResponse with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *CreateAccountResponse) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on CreateAccountResponse with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// CreateAccountResponseMultiError, or nil if none found.
+func (m *CreateAccountResponse) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *CreateAccountResponse) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ for idx, item := range m.GetEncryptedData() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, CreateAccountResponseValidationError{
+ field: fmt.Sprintf("EncryptedData[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, CreateAccountResponseValidationError{
+ field: fmt.Sprintf("EncryptedData[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return CreateAccountResponseValidationError{
+ field: fmt.Sprintf("EncryptedData[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ for idx, item := range m.GetAnnotations() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, CreateAccountResponseValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, CreateAccountResponseValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return CreateAccountResponseValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ switch v := m.Result.(type) {
+ case *CreateAccountResponse_Success:
+ if v == nil {
+ err := CreateAccountResponseValidationError{
+ field: "Result",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ if all {
+ switch v := interface{}(m.GetSuccess()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, CreateAccountResponseValidationError{
+ field: "Success",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, CreateAccountResponseValidationError{
+ field: "Success",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetSuccess()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return CreateAccountResponseValidationError{
+ field: "Success",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ case *CreateAccountResponse_ActionRequired:
+ if v == nil {
+ err := CreateAccountResponseValidationError{
+ field: "Result",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ if all {
+ switch v := interface{}(m.GetActionRequired()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, CreateAccountResponseValidationError{
+ field: "ActionRequired",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, CreateAccountResponseValidationError{
+ field: "ActionRequired",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetActionRequired()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return CreateAccountResponseValidationError{
+ field: "ActionRequired",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ default:
+ _ = v // ensures v is used
+ }
+
+ if len(errors) > 0 {
+ return CreateAccountResponseMultiError(errors)
+ }
+
+ return nil
+}
+
+// CreateAccountResponseMultiError is an error wrapping multiple validation
+// errors returned by CreateAccountResponse.ValidateAll() if the designated
+// constraints aren't met.
+type CreateAccountResponseMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m CreateAccountResponseMultiError) Error() string {
+ msgs := make([]string, 0, len(m))
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m CreateAccountResponseMultiError) AllErrors() []error { return m }
+
+// CreateAccountResponseValidationError is the validation error returned by
+// CreateAccountResponse.Validate if the designated constraints aren't met.
+type CreateAccountResponseValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e CreateAccountResponseValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e CreateAccountResponseValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e CreateAccountResponseValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e CreateAccountResponseValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e CreateAccountResponseValidationError) ErrorName() string {
+ return "CreateAccountResponseValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e CreateAccountResponseValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sCreateAccountResponse.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = CreateAccountResponseValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = CreateAccountResponseValidationError{}
+
+// Validate checks the field values on EncryptedData with the rules defined in
+// the proto definition for this message. If any rules are violated, the first
+// error encountered is returned, or nil if there are no violations.
+func (m *EncryptedData) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on EncryptedData with the rules defined
+// in the proto definition for this message. If any rules are violated, the
+// result is a list of violation errors wrapped in EncryptedDataMultiError, or
+// nil if none found.
+func (m *EncryptedData) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *EncryptedData) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for Provider
+
+ // no validation rules for KeyId
+
+ // no validation rules for Name
+
+ // no validation rules for Description
+
+ // no validation rules for Schema
+
+ // no validation rules for EncryptedBytes
+
+ if len(errors) > 0 {
+ return EncryptedDataMultiError(errors)
+ }
+
+ return nil
+}
+
+// EncryptedDataMultiError is an error wrapping multiple validation errors
+// returned by EncryptedData.ValidateAll() if the designated constraints
+// aren't met.
+type EncryptedDataMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m EncryptedDataMultiError) Error() string {
+ msgs := make([]string, 0, len(m))
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m EncryptedDataMultiError) AllErrors() []error { return m }
+
+// EncryptedDataValidationError is the validation error returned by
+// EncryptedData.Validate if the designated constraints aren't met.
+type EncryptedDataValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e EncryptedDataValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e EncryptedDataValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e EncryptedDataValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e EncryptedDataValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e EncryptedDataValidationError) ErrorName() string { return "EncryptedDataValidationError" }
+
+// Error satisfies the builtin error interface
+func (e EncryptedDataValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sEncryptedData.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = EncryptedDataValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = EncryptedDataValidationError{}
+
+// Validate checks the field values on PlaintextData with the rules defined in
+// the proto definition for this message. If any rules are violated, the first
+// error encountered is returned, or nil if there are no violations.
+func (m *PlaintextData) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on PlaintextData with the rules defined
+// in the proto definition for this message. If any rules are violated, the
+// result is a list of violation errors wrapped in PlaintextDataMultiError, or
+// nil if none found.
+func (m *PlaintextData) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *PlaintextData) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ // no validation rules for Name
+
+ // no validation rules for Description
+
+ // no validation rules for Schema
+
+ // no validation rules for Bytes
+
+ if len(errors) > 0 {
+ return PlaintextDataMultiError(errors)
+ }
+
+ return nil
+}
+
+// PlaintextDataMultiError is an error wrapping multiple validation errors
+// returned by PlaintextData.ValidateAll() if the designated constraints
+// aren't met.
+type PlaintextDataMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m PlaintextDataMultiError) Error() string {
+ msgs := make([]string, 0, len(m))
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m PlaintextDataMultiError) AllErrors() []error { return m }
+
+// PlaintextDataValidationError is the validation error returned by
+// PlaintextData.Validate if the designated constraints aren't met.
+type PlaintextDataValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e PlaintextDataValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e PlaintextDataValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e PlaintextDataValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e PlaintextDataValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e PlaintextDataValidationError) ErrorName() string { return "PlaintextDataValidationError" }
+
+// Error satisfies the builtin error interface
+func (e PlaintextDataValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sPlaintextData.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = PlaintextDataValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = PlaintextDataValidationError{}
+
+// Validate checks the field values on EncryptionConfig with the rules defined
+// in the proto definition for this message. If any rules are violated, the
+// first error encountered is returned, or nil if there are no violations.
+func (m *EncryptionConfig) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on EncryptionConfig with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// EncryptionConfigMultiError, or nil if none found.
+func (m *EncryptionConfig) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *EncryptionConfig) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ if all {
+ switch v := interface{}(m.GetPrincipal()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, EncryptionConfigValidationError{
+ field: "Principal",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, EncryptionConfigValidationError{
+ field: "Principal",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetPrincipal()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return EncryptionConfigValidationError{
+ field: "Principal",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ // no validation rules for Provider
+
+ // no validation rules for KeyId
+
+ switch v := m.Config.(type) {
+ case *EncryptionConfig_JwkPublicKeyConfig:
+ if v == nil {
+ err := EncryptionConfigValidationError{
+ field: "Config",
+ reason: "oneof value cannot be a typed-nil",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ if all {
+ switch v := interface{}(m.GetJwkPublicKeyConfig()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, EncryptionConfigValidationError{
+ field: "JwkPublicKeyConfig",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, EncryptionConfigValidationError{
+ field: "JwkPublicKeyConfig",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetJwkPublicKeyConfig()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return EncryptionConfigValidationError{
+ field: "JwkPublicKeyConfig",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ default:
+ _ = v // ensures v is used
+ }
+
+ if len(errors) > 0 {
+ return EncryptionConfigMultiError(errors)
+ }
+
+ return nil
+}
+
+// EncryptionConfigMultiError is an error wrapping multiple validation errors
+// returned by EncryptionConfig.ValidateAll() if the designated constraints
+// aren't met.
+type EncryptionConfigMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m EncryptionConfigMultiError) Error() string {
+ msgs := make([]string, 0, len(m))
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m EncryptionConfigMultiError) AllErrors() []error { return m }
+
+// EncryptionConfigValidationError is the validation error returned by
+// EncryptionConfig.Validate if the designated constraints aren't met.
+type EncryptionConfigValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e EncryptionConfigValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e EncryptionConfigValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e EncryptionConfigValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e EncryptionConfigValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e EncryptionConfigValidationError) ErrorName() string { return "EncryptionConfigValidationError" }
+
+// Error satisfies the builtin error interface
+func (e EncryptionConfigValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sEncryptionConfig.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = EncryptionConfigValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = EncryptionConfigValidationError{}
+
+// Validate checks the field values on ResourceId with the rules defined in the
+// proto definition for this message. If any rules are violated, the first
+// error encountered is returned, or nil if there are no violations.
+func (m *ResourceId) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on ResourceId with the rules defined in
+// the proto definition for this message. If any rules are violated, the
+// result is a list of violation errors wrapped in ResourceIdMultiError, or
+// nil if none found.
+func (m *ResourceId) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *ResourceId) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ if l := len(m.GetResourceType()); l < 1 || l > 1024 {
+ err := ResourceIdValidationError{
+ field: "ResourceType",
+ reason: "value length must be between 1 and 1024 bytes, inclusive",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ if l := len(m.GetResource()); l < 1 || l > 1024 {
+ err := ResourceIdValidationError{
+ field: "Resource",
+ reason: "value length must be between 1 and 1024 bytes, inclusive",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ // no validation rules for BatonResource
+
+ if len(errors) > 0 {
+ return ResourceIdMultiError(errors)
+ }
+
+ return nil
+}
+
+// ResourceIdMultiError is an error wrapping multiple validation errors
+// returned by ResourceId.ValidateAll() if the designated constraints aren't met.
+type ResourceIdMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m ResourceIdMultiError) Error() string {
+ msgs := make([]string, 0, len(m))
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m ResourceIdMultiError) AllErrors() []error { return m }
+
+// ResourceIdValidationError is the validation error returned by
+// ResourceId.Validate if the designated constraints aren't met.
+type ResourceIdValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e ResourceIdValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e ResourceIdValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e ResourceIdValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e ResourceIdValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e ResourceIdValidationError) ErrorName() string { return "ResourceIdValidationError" }
+
+// Error satisfies the builtin error interface
+func (e ResourceIdValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sResourceId.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = ResourceIdValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = ResourceIdValidationError{}
+
+// Validate checks the field values on Resource with the rules defined in the
+// proto definition for this message. If any rules are violated, the first
+// error encountered is returned, or nil if there are no violations.
+func (m *Resource) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on Resource with the rules defined in
+// the proto definition for this message. If any rules are violated, the
+// result is a list of violation errors wrapped in ResourceMultiError, or nil
+// if none found.
+func (m *Resource) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *Resource) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ if all {
+ switch v := interface{}(m.GetId()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ResourceValidationError{
+ field: "Id",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ResourceValidationError{
+ field: "Id",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetId()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ResourceValidationError{
+ field: "Id",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetParentResourceId()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ResourceValidationError{
+ field: "ParentResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ResourceValidationError{
+ field: "ParentResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetParentResourceId()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ResourceValidationError{
+ field: "ParentResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if m.GetDisplayName() != "" {
+
+ if l := len(m.GetDisplayName()); l < 1 || l > 1024 {
+ err := ResourceValidationError{
+ field: "DisplayName",
+ reason: "value length must be between 1 and 1024 bytes, inclusive",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ }
+
+ for idx, item := range m.GetAnnotations() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ResourceValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ResourceValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ResourceValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
+
+ if m.GetDescription() != "" {
+
+ if l := len(m.GetDescription()); l < 1 || l > 2048 {
+ err := ResourceValidationError{
+ field: "Description",
+ reason: "value length must be between 1 and 2048 bytes, inclusive",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ }
+
+ // no validation rules for BatonResource
+
+ if all {
+ switch v := interface{}(m.GetExternalId()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ResourceValidationError{
+ field: "ExternalId",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ResourceValidationError{
+ field: "ExternalId",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetExternalId()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ResourceValidationError{
+ field: "ExternalId",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ // no validation rules for CreationSource
+
+ if len(errors) > 0 {
+ return ResourceMultiError(errors)
+ }
+
+ return nil
}
-// EncryptedDataMultiError is an error wrapping multiple validation errors
-// returned by EncryptedData.ValidateAll() if the designated constraints
-// aren't met.
-type EncryptedDataMultiError []error
+// ResourceMultiError is an error wrapping multiple validation errors returned
+// by Resource.ValidateAll() if the designated constraints aren't met.
+type ResourceMultiError []error
// Error returns a concatenation of all the error messages it wraps.
-func (m EncryptedDataMultiError) Error() string {
+func (m ResourceMultiError) Error() string {
msgs := make([]string, 0, len(m))
for _, err := range m {
msgs = append(msgs, err.Error())
@@ -2758,11 +3902,11 @@ func (m EncryptedDataMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
-func (m EncryptedDataMultiError) AllErrors() []error { return m }
+func (m ResourceMultiError) AllErrors() []error { return m }
-// EncryptedDataValidationError is the validation error returned by
-// EncryptedData.Validate if the designated constraints aren't met.
-type EncryptedDataValidationError struct {
+// ResourceValidationError is the validation error returned by
+// Resource.Validate if the designated constraints aren't met.
+type ResourceValidationError struct {
field string
reason string
cause error
@@ -2770,22 +3914,22 @@ type EncryptedDataValidationError struct {
}
// Field function returns field value.
-func (e EncryptedDataValidationError) Field() string { return e.field }
+func (e ResourceValidationError) Field() string { return e.field }
// Reason function returns reason value.
-func (e EncryptedDataValidationError) Reason() string { return e.reason }
+func (e ResourceValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
-func (e EncryptedDataValidationError) Cause() error { return e.cause }
+func (e ResourceValidationError) Cause() error { return e.cause }
// Key function returns key value.
-func (e EncryptedDataValidationError) Key() bool { return e.key }
+func (e ResourceValidationError) Key() bool { return e.key }
// ErrorName returns error name.
-func (e EncryptedDataValidationError) ErrorName() string { return "EncryptedDataValidationError" }
+func (e ResourceValidationError) ErrorName() string { return "ResourceValidationError" }
// Error satisfies the builtin error interface
-func (e EncryptedDataValidationError) Error() string {
+func (e ResourceValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@@ -2797,14 +3941,14 @@ func (e EncryptedDataValidationError) Error() string {
}
return fmt.Sprintf(
- "invalid %sEncryptedData.%s: %s%s",
+ "invalid %sResource.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
-var _ error = EncryptedDataValidationError{}
+var _ error = ResourceValidationError{}
var _ interface {
Field() string
@@ -2812,52 +3956,150 @@ var _ interface {
Key() bool
Cause() error
ErrorName() string
-} = EncryptedDataValidationError{}
+} = ResourceValidationError{}
-// Validate checks the field values on PlaintextData with the rules defined in
-// the proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *PlaintextData) Validate() error {
+// Validate checks the field values on ResourcesServiceListResourcesRequest
+// with the rules defined in the proto definition for this message. If any
+// rules are violated, the first error encountered is returned, or nil if
+// there are no violations.
+func (m *ResourcesServiceListResourcesRequest) Validate() error {
return m.validate(false)
}
-// ValidateAll checks the field values on PlaintextData with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in PlaintextDataMultiError, or
-// nil if none found.
-func (m *PlaintextData) ValidateAll() error {
+// ValidateAll checks the field values on ResourcesServiceListResourcesRequest
+// with the rules defined in the proto definition for this message. If any
+// rules are violated, the result is a list of violation errors wrapped in
+// ResourcesServiceListResourcesRequestMultiError, or nil if none found.
+func (m *ResourcesServiceListResourcesRequest) ValidateAll() error {
return m.validate(true)
}
-func (m *PlaintextData) validate(all bool) error {
+func (m *ResourcesServiceListResourcesRequest) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
- // no validation rules for Name
+ if l := len(m.GetResourceTypeId()); l < 1 || l > 1024 {
+ err := ResourcesServiceListResourcesRequestValidationError{
+ field: "ResourceTypeId",
+ reason: "value length must be between 1 and 1024 bytes, inclusive",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
- // no validation rules for Description
+ if all {
+ switch v := interface{}(m.GetParentResourceId()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ResourcesServiceListResourcesRequestValidationError{
+ field: "ParentResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ResourcesServiceListResourcesRequestValidationError{
+ field: "ParentResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetParentResourceId()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ResourcesServiceListResourcesRequestValidationError{
+ field: "ParentResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
- // no validation rules for Schema
+ if m.GetPageSize() != 0 {
- // no validation rules for Bytes
+ if m.GetPageSize() > 250 {
+ err := ResourcesServiceListResourcesRequestValidationError{
+ field: "PageSize",
+ reason: "value must be less than or equal to 250",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ }
+
+ if m.GetPageToken() != "" {
+
+ if l := len(m.GetPageToken()); l < 1 || l > 1048576 {
+ err := ResourcesServiceListResourcesRequestValidationError{
+ field: "PageToken",
+ reason: "value length must be between 1 and 1048576 bytes, inclusive",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ }
+
+ for idx, item := range m.GetAnnotations() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ResourcesServiceListResourcesRequestValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ResourcesServiceListResourcesRequestValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ResourcesServiceListResourcesRequestValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ }
if len(errors) > 0 {
- return PlaintextDataMultiError(errors)
+ return ResourcesServiceListResourcesRequestMultiError(errors)
}
return nil
}
-// PlaintextDataMultiError is an error wrapping multiple validation errors
-// returned by PlaintextData.ValidateAll() if the designated constraints
-// aren't met.
-type PlaintextDataMultiError []error
+// ResourcesServiceListResourcesRequestMultiError is an error wrapping multiple
+// validation errors returned by
+// ResourcesServiceListResourcesRequest.ValidateAll() if the designated
+// constraints aren't met.
+type ResourcesServiceListResourcesRequestMultiError []error
// Error returns a concatenation of all the error messages it wraps.
-func (m PlaintextDataMultiError) Error() string {
+func (m ResourcesServiceListResourcesRequestMultiError) Error() string {
msgs := make([]string, 0, len(m))
for _, err := range m {
msgs = append(msgs, err.Error())
@@ -2866,11 +4108,12 @@ func (m PlaintextDataMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
-func (m PlaintextDataMultiError) AllErrors() []error { return m }
+func (m ResourcesServiceListResourcesRequestMultiError) AllErrors() []error { return m }
-// PlaintextDataValidationError is the validation error returned by
-// PlaintextData.Validate if the designated constraints aren't met.
-type PlaintextDataValidationError struct {
+// ResourcesServiceListResourcesRequestValidationError is the validation error
+// returned by ResourcesServiceListResourcesRequest.Validate if the designated
+// constraints aren't met.
+type ResourcesServiceListResourcesRequestValidationError struct {
field string
reason string
cause error
@@ -2878,22 +4121,24 @@ type PlaintextDataValidationError struct {
}
// Field function returns field value.
-func (e PlaintextDataValidationError) Field() string { return e.field }
+func (e ResourcesServiceListResourcesRequestValidationError) Field() string { return e.field }
// Reason function returns reason value.
-func (e PlaintextDataValidationError) Reason() string { return e.reason }
+func (e ResourcesServiceListResourcesRequestValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
-func (e PlaintextDataValidationError) Cause() error { return e.cause }
+func (e ResourcesServiceListResourcesRequestValidationError) Cause() error { return e.cause }
// Key function returns key value.
-func (e PlaintextDataValidationError) Key() bool { return e.key }
+func (e ResourcesServiceListResourcesRequestValidationError) Key() bool { return e.key }
// ErrorName returns error name.
-func (e PlaintextDataValidationError) ErrorName() string { return "PlaintextDataValidationError" }
+func (e ResourcesServiceListResourcesRequestValidationError) ErrorName() string {
+ return "ResourcesServiceListResourcesRequestValidationError"
+}
// Error satisfies the builtin error interface
-func (e PlaintextDataValidationError) Error() string {
+func (e ResourcesServiceListResourcesRequestValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@@ -2905,14 +4150,14 @@ func (e PlaintextDataValidationError) Error() string {
}
return fmt.Sprintf(
- "invalid %sPlaintextData.%s: %s%s",
+ "invalid %sResourcesServiceListResourcesRequest.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
-var _ error = PlaintextDataValidationError{}
+var _ error = ResourcesServiceListResourcesRequestValidationError{}
var _ interface {
Field() string
@@ -2920,69 +4165,71 @@ var _ interface {
Key() bool
Cause() error
ErrorName() string
-} = PlaintextDataValidationError{}
+} = ResourcesServiceListResourcesRequestValidationError{}
-// Validate checks the field values on EncryptionConfig with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// first error encountered is returned, or nil if there are no violations.
-func (m *EncryptionConfig) Validate() error {
+// Validate checks the field values on ResourcesServiceListResourcesResponse
+// with the rules defined in the proto definition for this message. If any
+// rules are violated, the first error encountered is returned, or nil if
+// there are no violations.
+func (m *ResourcesServiceListResourcesResponse) Validate() error {
return m.validate(false)
}
-// ValidateAll checks the field values on EncryptionConfig with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// EncryptionConfigMultiError, or nil if none found.
-func (m *EncryptionConfig) ValidateAll() error {
+// ValidateAll checks the field values on ResourcesServiceListResourcesResponse
+// with the rules defined in the proto definition for this message. If any
+// rules are violated, the result is a list of violation errors wrapped in
+// ResourcesServiceListResourcesResponseMultiError, or nil if none found.
+func (m *ResourcesServiceListResourcesResponse) ValidateAll() error {
return m.validate(true)
}
-func (m *EncryptionConfig) validate(all bool) error {
+func (m *ResourcesServiceListResourcesResponse) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
- if all {
- switch v := interface{}(m.GetPrincipal()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, EncryptionConfigValidationError{
- field: "Principal",
- reason: "embedded message failed validation",
- cause: err,
- })
+ for idx, item := range m.GetList() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ResourcesServiceListResourcesResponseValidationError{
+ field: fmt.Sprintf("List[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ResourcesServiceListResourcesResponseValidationError{
+ field: fmt.Sprintf("List[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
}
- case interface{ Validate() error }:
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
- errors = append(errors, EncryptionConfigValidationError{
- field: "Principal",
+ return ResourcesServiceListResourcesResponseValidationError{
+ field: fmt.Sprintf("List[%v]", idx),
reason: "embedded message failed validation",
cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetPrincipal()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return EncryptionConfigValidationError{
- field: "Principal",
- reason: "embedded message failed validation",
- cause: err,
+ }
}
}
- }
- // no validation rules for Provider
+ }
- // no validation rules for KeyId
+ if m.GetNextPageToken() != "" {
- switch v := m.Config.(type) {
- case *EncryptionConfig_JwkPublicKeyConfig:
- if v == nil {
- err := EncryptionConfigValidationError{
- field: "Config",
- reason: "oneof value cannot be a typed-nil",
+ if l := len(m.GetNextPageToken()); l < 1 || l > 1048576 {
+ err := ResourcesServiceListResourcesResponseValidationError{
+ field: "NextPageToken",
+ reason: "value length must be between 1 and 1048576 bytes, inclusive",
}
if !all {
return err
@@ -2990,53 +4237,57 @@ func (m *EncryptionConfig) validate(all bool) error {
errors = append(errors, err)
}
+ }
+
+ for idx, item := range m.GetAnnotations() {
+ _, _ = idx, item
+
if all {
- switch v := interface{}(m.GetJwkPublicKeyConfig()).(type) {
+ switch v := interface{}(item).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
- errors = append(errors, EncryptionConfigValidationError{
- field: "JwkPublicKeyConfig",
+ errors = append(errors, ResourcesServiceListResourcesResponseValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
- errors = append(errors, EncryptionConfigValidationError{
- field: "JwkPublicKeyConfig",
+ errors = append(errors, ResourcesServiceListResourcesResponseValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
reason: "embedded message failed validation",
cause: err,
})
}
}
- } else if v, ok := interface{}(m.GetJwkPublicKeyConfig()).(interface{ Validate() error }); ok {
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
- return EncryptionConfigValidationError{
- field: "JwkPublicKeyConfig",
+ return ResourcesServiceListResourcesResponseValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
reason: "embedded message failed validation",
cause: err,
}
}
}
- default:
- _ = v // ensures v is used
}
if len(errors) > 0 {
- return EncryptionConfigMultiError(errors)
+ return ResourcesServiceListResourcesResponseMultiError(errors)
}
return nil
}
-// EncryptionConfigMultiError is an error wrapping multiple validation errors
-// returned by EncryptionConfig.ValidateAll() if the designated constraints
-// aren't met.
-type EncryptionConfigMultiError []error
+// ResourcesServiceListResourcesResponseMultiError is an error wrapping
+// multiple validation errors returned by
+// ResourcesServiceListResourcesResponse.ValidateAll() if the designated
+// constraints aren't met.
+type ResourcesServiceListResourcesResponseMultiError []error
// Error returns a concatenation of all the error messages it wraps.
-func (m EncryptionConfigMultiError) Error() string {
+func (m ResourcesServiceListResourcesResponseMultiError) Error() string {
msgs := make([]string, 0, len(m))
for _, err := range m {
msgs = append(msgs, err.Error())
@@ -3045,11 +4296,12 @@ func (m EncryptionConfigMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
-func (m EncryptionConfigMultiError) AllErrors() []error { return m }
+func (m ResourcesServiceListResourcesResponseMultiError) AllErrors() []error { return m }
-// EncryptionConfigValidationError is the validation error returned by
-// EncryptionConfig.Validate if the designated constraints aren't met.
-type EncryptionConfigValidationError struct {
+// ResourcesServiceListResourcesResponseValidationError is the validation error
+// returned by ResourcesServiceListResourcesResponse.Validate if the
+// designated constraints aren't met.
+type ResourcesServiceListResourcesResponseValidationError struct {
field string
reason string
cause error
@@ -3057,22 +4309,24 @@ type EncryptionConfigValidationError struct {
}
// Field function returns field value.
-func (e EncryptionConfigValidationError) Field() string { return e.field }
+func (e ResourcesServiceListResourcesResponseValidationError) Field() string { return e.field }
// Reason function returns reason value.
-func (e EncryptionConfigValidationError) Reason() string { return e.reason }
+func (e ResourcesServiceListResourcesResponseValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
-func (e EncryptionConfigValidationError) Cause() error { return e.cause }
+func (e ResourcesServiceListResourcesResponseValidationError) Cause() error { return e.cause }
// Key function returns key value.
-func (e EncryptionConfigValidationError) Key() bool { return e.key }
+func (e ResourcesServiceListResourcesResponseValidationError) Key() bool { return e.key }
// ErrorName returns error name.
-func (e EncryptionConfigValidationError) ErrorName() string { return "EncryptionConfigValidationError" }
+func (e ResourcesServiceListResourcesResponseValidationError) ErrorName() string {
+ return "ResourcesServiceListResourcesResponseValidationError"
+}
// Error satisfies the builtin error interface
-func (e EncryptionConfigValidationError) Error() string {
+func (e ResourcesServiceListResourcesResponseValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@@ -3084,14 +4338,14 @@ func (e EncryptionConfigValidationError) Error() string {
}
return fmt.Sprintf(
- "invalid %sEncryptionConfig.%s: %s%s",
+ "invalid %sResourcesServiceListResourcesResponse.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
-var _ error = EncryptionConfigValidationError{}
+var _ error = ResourcesServiceListResourcesResponseValidationError{}
var _ interface {
Field() string
@@ -3099,67 +4353,139 @@ var _ interface {
Key() bool
Cause() error
ErrorName() string
-} = EncryptionConfigValidationError{}
+} = ResourcesServiceListResourcesResponseValidationError{}
-// Validate checks the field values on ResourceId with the rules defined in the
-// proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *ResourceId) Validate() error {
+// Validate checks the field values on ResourceGetterServiceGetResourceRequest
+// with the rules defined in the proto definition for this message. If any
+// rules are violated, the first error encountered is returned, or nil if
+// there are no violations.
+func (m *ResourceGetterServiceGetResourceRequest) Validate() error {
return m.validate(false)
}
-// ValidateAll checks the field values on ResourceId with the rules defined in
-// the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in ResourceIdMultiError, or
-// nil if none found.
-func (m *ResourceId) ValidateAll() error {
+// ValidateAll checks the field values on
+// ResourceGetterServiceGetResourceRequest with the rules defined in the proto
+// definition for this message. If any rules are violated, the result is a
+// list of violation errors wrapped in
+// ResourceGetterServiceGetResourceRequestMultiError, or nil if none found.
+func (m *ResourceGetterServiceGetResourceRequest) ValidateAll() error {
return m.validate(true)
}
-func (m *ResourceId) validate(all bool) error {
+func (m *ResourceGetterServiceGetResourceRequest) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
- if l := len(m.GetResourceType()); l < 1 || l > 1024 {
- err := ResourceIdValidationError{
- field: "ResourceType",
- reason: "value length must be between 1 and 1024 bytes, inclusive",
+ if all {
+ switch v := interface{}(m.GetResourceId()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ResourceGetterServiceGetResourceRequestValidationError{
+ field: "ResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ResourceGetterServiceGetResourceRequestValidationError{
+ field: "ResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
}
- if !all {
- return err
+ } else if v, ok := interface{}(m.GetResourceId()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ResourceGetterServiceGetResourceRequestValidationError{
+ field: "ResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ if all {
+ switch v := interface{}(m.GetParentResourceId()).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ResourceGetterServiceGetResourceRequestValidationError{
+ field: "ParentResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ResourceGetterServiceGetResourceRequestValidationError{
+ field: "ParentResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(m.GetParentResourceId()).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ResourceGetterServiceGetResourceRequestValidationError{
+ field: "ParentResourceId",
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
+ for idx, item := range m.GetAnnotations() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, ResourceGetterServiceGetResourceRequestValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, ResourceGetterServiceGetResourceRequestValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return ResourceGetterServiceGetResourceRequestValidationError{
+ field: fmt.Sprintf("Annotations[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
}
- errors = append(errors, err)
- }
- if l := len(m.GetResource()); l < 1 || l > 1024 {
- err := ResourceIdValidationError{
- field: "Resource",
- reason: "value length must be between 1 and 1024 bytes, inclusive",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
}
- // no validation rules for BatonResource
-
if len(errors) > 0 {
- return ResourceIdMultiError(errors)
+ return ResourceGetterServiceGetResourceRequestMultiError(errors)
}
return nil
}
-// ResourceIdMultiError is an error wrapping multiple validation errors
-// returned by ResourceId.ValidateAll() if the designated constraints aren't met.
-type ResourceIdMultiError []error
+// ResourceGetterServiceGetResourceRequestMultiError is an error wrapping
+// multiple validation errors returned by
+// ResourceGetterServiceGetResourceRequest.ValidateAll() if the designated
+// constraints aren't met.
+type ResourceGetterServiceGetResourceRequestMultiError []error
// Error returns a concatenation of all the error messages it wraps.
-func (m ResourceIdMultiError) Error() string {
+func (m ResourceGetterServiceGetResourceRequestMultiError) Error() string {
msgs := make([]string, 0, len(m))
for _, err := range m {
msgs = append(msgs, err.Error())
@@ -3168,11 +4494,12 @@ func (m ResourceIdMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
-func (m ResourceIdMultiError) AllErrors() []error { return m }
+func (m ResourceGetterServiceGetResourceRequestMultiError) AllErrors() []error { return m }
-// ResourceIdValidationError is the validation error returned by
-// ResourceId.Validate if the designated constraints aren't met.
-type ResourceIdValidationError struct {
+// ResourceGetterServiceGetResourceRequestValidationError is the validation
+// error returned by ResourceGetterServiceGetResourceRequest.Validate if the
+// designated constraints aren't met.
+type ResourceGetterServiceGetResourceRequestValidationError struct {
field string
reason string
cause error
@@ -3180,22 +4507,24 @@ type ResourceIdValidationError struct {
}
// Field function returns field value.
-func (e ResourceIdValidationError) Field() string { return e.field }
+func (e ResourceGetterServiceGetResourceRequestValidationError) Field() string { return e.field }
// Reason function returns reason value.
-func (e ResourceIdValidationError) Reason() string { return e.reason }
+func (e ResourceGetterServiceGetResourceRequestValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
-func (e ResourceIdValidationError) Cause() error { return e.cause }
+func (e ResourceGetterServiceGetResourceRequestValidationError) Cause() error { return e.cause }
// Key function returns key value.
-func (e ResourceIdValidationError) Key() bool { return e.key }
+func (e ResourceGetterServiceGetResourceRequestValidationError) Key() bool { return e.key }
// ErrorName returns error name.
-func (e ResourceIdValidationError) ErrorName() string { return "ResourceIdValidationError" }
+func (e ResourceGetterServiceGetResourceRequestValidationError) ErrorName() string {
+ return "ResourceGetterServiceGetResourceRequestValidationError"
+}
// Error satisfies the builtin error interface
-func (e ResourceIdValidationError) Error() string {
+func (e ResourceGetterServiceGetResourceRequestValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@@ -3207,14 +4536,14 @@ func (e ResourceIdValidationError) Error() string {
}
return fmt.Sprintf(
- "invalid %sResourceId.%s: %s%s",
+ "invalid %sResourceGetterServiceGetResourceRequest.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
-var _ error = ResourceIdValidationError{}
+var _ error = ResourceGetterServiceGetResourceRequestValidationError{}
var _ interface {
Field() string
@@ -3222,24 +4551,26 @@ var _ interface {
Key() bool
Cause() error
ErrorName() string
-} = ResourceIdValidationError{}
+} = ResourceGetterServiceGetResourceRequestValidationError{}
-// Validate checks the field values on Resource with the rules defined in the
-// proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *Resource) Validate() error {
+// Validate checks the field values on ResourceGetterServiceGetResourceResponse
+// with the rules defined in the proto definition for this message. If any
+// rules are violated, the first error encountered is returned, or nil if
+// there are no violations.
+func (m *ResourceGetterServiceGetResourceResponse) Validate() error {
return m.validate(false)
}
-// ValidateAll checks the field values on Resource with the rules defined in
-// the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in ResourceMultiError, or nil
-// if none found.
-func (m *Resource) ValidateAll() error {
+// ValidateAll checks the field values on
+// ResourceGetterServiceGetResourceResponse with the rules defined in the
+// proto definition for this message. If any rules are violated, the result is
+// a list of violation errors wrapped in
+// ResourceGetterServiceGetResourceResponseMultiError, or nil if none found.
+func (m *ResourceGetterServiceGetResourceResponse) ValidateAll() error {
return m.validate(true)
}
-func (m *Resource) validate(all bool) error {
+func (m *ResourceGetterServiceGetResourceResponse) validate(all bool) error {
if m == nil {
return nil
}
@@ -3247,78 +4578,34 @@ func (m *Resource) validate(all bool) error {
var errors []error
if all {
- switch v := interface{}(m.GetId()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ResourceValidationError{
- field: "Id",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ResourceValidationError{
- field: "Id",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetId()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ResourceValidationError{
- field: "Id",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetParentResourceId()).(type) {
+ switch v := interface{}(m.GetResource()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
- errors = append(errors, ResourceValidationError{
- field: "ParentResourceId",
+ errors = append(errors, ResourceGetterServiceGetResourceResponseValidationError{
+ field: "Resource",
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
- errors = append(errors, ResourceValidationError{
- field: "ParentResourceId",
+ errors = append(errors, ResourceGetterServiceGetResourceResponseValidationError{
+ field: "Resource",
reason: "embedded message failed validation",
cause: err,
})
}
}
- } else if v, ok := interface{}(m.GetParentResourceId()).(interface{ Validate() error }); ok {
+ } else if v, ok := interface{}(m.GetResource()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
- return ResourceValidationError{
- field: "ParentResourceId",
+ return ResourceGetterServiceGetResourceResponseValidationError{
+ field: "Resource",
reason: "embedded message failed validation",
cause: err,
}
}
}
- if m.GetDisplayName() != "" {
-
- if l := len(m.GetDisplayName()); l < 1 || l > 1024 {
- err := ResourceValidationError{
- field: "DisplayName",
- reason: "value length must be between 1 and 1024 bytes, inclusive",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
- }
-
for idx, item := range m.GetAnnotations() {
_, _ = idx, item
@@ -3326,7 +4613,7 @@ func (m *Resource) validate(all bool) error {
switch v := interface{}(item).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
- errors = append(errors, ResourceValidationError{
+ errors = append(errors, ResourceGetterServiceGetResourceResponseValidationError{
field: fmt.Sprintf("Annotations[%v]", idx),
reason: "embedded message failed validation",
cause: err,
@@ -3334,7 +4621,7 @@ func (m *Resource) validate(all bool) error {
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
- errors = append(errors, ResourceValidationError{
+ errors = append(errors, ResourceGetterServiceGetResourceResponseValidationError{
field: fmt.Sprintf("Annotations[%v]", idx),
reason: "embedded message failed validation",
cause: err,
@@ -3343,7 +4630,7 @@ func (m *Resource) validate(all bool) error {
}
} else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
- return ResourceValidationError{
+ return ResourceGetterServiceGetResourceResponseValidationError{
field: fmt.Sprintf("Annotations[%v]", idx),
reason: "embedded message failed validation",
cause: err,
@@ -3353,67 +4640,129 @@ func (m *Resource) validate(all bool) error {
}
- if m.GetDescription() != "" {
+ if len(errors) > 0 {
+ return ResourceGetterServiceGetResourceResponseMultiError(errors)
+ }
- if l := len(m.GetDescription()); l < 1 || l > 2048 {
- err := ResourceValidationError{
- field: "Description",
- reason: "value length must be between 1 and 2048 bytes, inclusive",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
+ return nil
+}
+
+// ResourceGetterServiceGetResourceResponseMultiError is an error wrapping
+// multiple validation errors returned by
+// ResourceGetterServiceGetResourceResponse.ValidateAll() if the designated
+// constraints aren't met.
+type ResourceGetterServiceGetResourceResponseMultiError []error
+
+// Error returns a concatenation of all the error messages it wraps.
+func (m ResourceGetterServiceGetResourceResponseMultiError) Error() string {
+ msgs := make([]string, 0, len(m))
+ for _, err := range m {
+ msgs = append(msgs, err.Error())
+ }
+ return strings.Join(msgs, "; ")
+}
+
+// AllErrors returns a list of validation violation errors.
+func (m ResourceGetterServiceGetResourceResponseMultiError) AllErrors() []error { return m }
+
+// ResourceGetterServiceGetResourceResponseValidationError is the validation
+// error returned by ResourceGetterServiceGetResourceResponse.Validate if the
+// designated constraints aren't met.
+type ResourceGetterServiceGetResourceResponseValidationError struct {
+ field string
+ reason string
+ cause error
+ key bool
+}
+
+// Field function returns field value.
+func (e ResourceGetterServiceGetResourceResponseValidationError) Field() string { return e.field }
+
+// Reason function returns reason value.
+func (e ResourceGetterServiceGetResourceResponseValidationError) Reason() string { return e.reason }
+
+// Cause function returns cause value.
+func (e ResourceGetterServiceGetResourceResponseValidationError) Cause() error { return e.cause }
+
+// Key function returns key value.
+func (e ResourceGetterServiceGetResourceResponseValidationError) Key() bool { return e.key }
+
+// ErrorName returns error name.
+func (e ResourceGetterServiceGetResourceResponseValidationError) ErrorName() string {
+ return "ResourceGetterServiceGetResourceResponseValidationError"
+}
+
+// Error satisfies the builtin error interface
+func (e ResourceGetterServiceGetResourceResponseValidationError) Error() string {
+ cause := ""
+ if e.cause != nil {
+ cause = fmt.Sprintf(" | caused by: %v", e.cause)
+ }
+
+ key := ""
+ if e.key {
+ key = "key for "
+ }
+
+ return fmt.Sprintf(
+ "invalid %sResourceGetterServiceGetResourceResponse.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = ResourceGetterServiceGetResourceResponseValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = ResourceGetterServiceGetResourceResponseValidationError{}
+
+// Validate checks the field values on ExternalId with the rules defined in the
+// proto definition for this message. If any rules are violated, the first
+// error encountered is returned, or nil if there are no violations.
+func (m *ExternalId) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on ExternalId with the rules defined in
+// the proto definition for this message. If any rules are violated, the
+// result is a list of violation errors wrapped in ExternalIdMultiError, or
+// nil if none found.
+func (m *ExternalId) ValidateAll() error {
+ return m.validate(true)
+}
+func (m *ExternalId) validate(all bool) error {
+ if m == nil {
+ return nil
}
- // no validation rules for BatonResource
+ var errors []error
- if all {
- switch v := interface{}(m.GetExternalId()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ResourceValidationError{
- field: "ExternalId",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ResourceValidationError{
- field: "ExternalId",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetExternalId()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ResourceValidationError{
- field: "ExternalId",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
+ // no validation rules for Id
- // no validation rules for CreationSource
+ // no validation rules for Link
+
+ // no validation rules for Description
if len(errors) > 0 {
- return ResourceMultiError(errors)
+ return ExternalIdMultiError(errors)
}
return nil
}
-// ResourceMultiError is an error wrapping multiple validation errors returned
-// by Resource.ValidateAll() if the designated constraints aren't met.
-type ResourceMultiError []error
+// ExternalIdMultiError is an error wrapping multiple validation errors
+// returned by ExternalId.ValidateAll() if the designated constraints aren't met.
+type ExternalIdMultiError []error
// Error returns a concatenation of all the error messages it wraps.
-func (m ResourceMultiError) Error() string {
+func (m ExternalIdMultiError) Error() string {
msgs := make([]string, 0, len(m))
for _, err := range m {
msgs = append(msgs, err.Error())
@@ -3422,11 +4771,11 @@ func (m ResourceMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
-func (m ResourceMultiError) AllErrors() []error { return m }
+func (m ExternalIdMultiError) AllErrors() []error { return m }
-// ResourceValidationError is the validation error returned by
-// Resource.Validate if the designated constraints aren't met.
-type ResourceValidationError struct {
+// ExternalIdValidationError is the validation error returned by
+// ExternalId.Validate if the designated constraints aren't met.
+type ExternalIdValidationError struct {
field string
reason string
cause error
@@ -3434,22 +4783,22 @@ type ResourceValidationError struct {
}
// Field function returns field value.
-func (e ResourceValidationError) Field() string { return e.field }
+func (e ExternalIdValidationError) Field() string { return e.field }
// Reason function returns reason value.
-func (e ResourceValidationError) Reason() string { return e.reason }
+func (e ExternalIdValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
-func (e ResourceValidationError) Cause() error { return e.cause }
+func (e ExternalIdValidationError) Cause() error { return e.cause }
// Key function returns key value.
-func (e ResourceValidationError) Key() bool { return e.key }
+func (e ExternalIdValidationError) Key() bool { return e.key }
// ErrorName returns error name.
-func (e ResourceValidationError) ErrorName() string { return "ResourceValidationError" }
+func (e ExternalIdValidationError) ErrorName() string { return "ExternalIdValidationError" }
// Error satisfies the builtin error interface
-func (e ResourceValidationError) Error() string {
+func (e ExternalIdValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@@ -3461,14 +4810,14 @@ func (e ResourceValidationError) Error() string {
}
return fmt.Sprintf(
- "invalid %sResource.%s: %s%s",
+ "invalid %sExternalId.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
-var _ error = ResourceValidationError{}
+var _ error = ExternalIdValidationError{}
var _ interface {
Field() string
@@ -3476,35 +4825,35 @@ var _ interface {
Key() bool
Cause() error
ErrorName() string
-} = ResourceValidationError{}
+} = ExternalIdValidationError{}
-// Validate checks the field values on ResourcesServiceListResourcesRequest
-// with the rules defined in the proto definition for this message. If any
-// rules are violated, the first error encountered is returned, or nil if
-// there are no violations.
-func (m *ResourcesServiceListResourcesRequest) Validate() error {
+// Validate checks the field values on AccountInfo_Email with the rules defined
+// in the proto definition for this message. If any rules are violated, the
+// first error encountered is returned, or nil if there are no violations.
+func (m *AccountInfo_Email) Validate() error {
return m.validate(false)
}
-// ValidateAll checks the field values on ResourcesServiceListResourcesRequest
-// with the rules defined in the proto definition for this message. If any
-// rules are violated, the result is a list of violation errors wrapped in
-// ResourcesServiceListResourcesRequestMultiError, or nil if none found.
-func (m *ResourcesServiceListResourcesRequest) ValidateAll() error {
+// ValidateAll checks the field values on AccountInfo_Email with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// AccountInfo_EmailMultiError, or nil if none found.
+func (m *AccountInfo_Email) ValidateAll() error {
return m.validate(true)
}
-func (m *ResourcesServiceListResourcesRequest) validate(all bool) error {
+func (m *AccountInfo_Email) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
- if l := len(m.GetResourceTypeId()); l < 1 || l > 1024 {
- err := ResourcesServiceListResourcesRequestValidationError{
- field: "ResourceTypeId",
- reason: "value length must be between 1 and 1024 bytes, inclusive",
+ if err := m._validateEmail(m.GetAddress()); err != nil {
+ err = AccountInfo_EmailValidationError{
+ field: "Address",
+ reason: "value must be a valid email address",
+ cause: err,
}
if !all {
return err
@@ -3512,114 +4861,72 @@ func (m *ResourcesServiceListResourcesRequest) validate(all bool) error {
errors = append(errors, err)
}
- if all {
- switch v := interface{}(m.GetParentResourceId()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ResourcesServiceListResourcesRequestValidationError{
- field: "ParentResourceId",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ResourcesServiceListResourcesRequestValidationError{
- field: "ParentResourceId",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetParentResourceId()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ResourcesServiceListResourcesRequestValidationError{
- field: "ParentResourceId",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
+ // no validation rules for IsPrimary
+
+ if len(errors) > 0 {
+ return AccountInfo_EmailMultiError(errors)
}
- if m.GetPageSize() != 0 {
+ return nil
+}
- if m.GetPageSize() > 250 {
- err := ResourcesServiceListResourcesRequestValidationError{
- field: "PageSize",
- reason: "value must be less than or equal to 250",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
+func (m *AccountInfo_Email) _validateHostname(host string) error {
+ s := strings.ToLower(strings.TrimSuffix(host, "."))
+ if len(host) > 253 {
+ return errors.New("hostname cannot exceed 253 characters")
}
- if m.GetPageToken() != "" {
-
- if l := len(m.GetPageToken()); l < 1 || l > 1048576 {
- err := ResourcesServiceListResourcesRequestValidationError{
- field: "PageToken",
- reason: "value length must be between 1 and 1048576 bytes, inclusive",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
+ for _, part := range strings.Split(s, ".") {
+ if l := len(part); l == 0 || l > 63 {
+ return errors.New("hostname part must be non-empty and cannot exceed 63 characters")
}
- }
+ if part[0] == '-' {
+ return errors.New("hostname parts cannot begin with hyphens")
+ }
- for idx, item := range m.GetAnnotations() {
- _, _ = idx, item
+ if part[len(part)-1] == '-' {
+ return errors.New("hostname parts cannot end with hyphens")
+ }
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ResourcesServiceListResourcesRequestValidationError{
- field: fmt.Sprintf("Annotations[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ResourcesServiceListResourcesRequestValidationError{
- field: fmt.Sprintf("Annotations[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ResourcesServiceListResourcesRequestValidationError{
- field: fmt.Sprintf("Annotations[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
+ for _, r := range part {
+ if (r < 'a' || r > 'z') && (r < '0' || r > '9') && r != '-' {
+ return fmt.Errorf("hostname parts can only contain alphanumeric characters or hyphens, got %q", string(r))
}
}
+ }
+
+ return nil
+}
+func (m *AccountInfo_Email) _validateEmail(addr string) error {
+ a, err := mail.ParseAddress(addr)
+ if err != nil {
+ return err
}
+ addr = a.Address
- if len(errors) > 0 {
- return ResourcesServiceListResourcesRequestMultiError(errors)
+ if len(addr) > 254 {
+ return errors.New("email addresses cannot exceed 254 characters")
}
- return nil
+ parts := strings.SplitN(addr, "@", 2)
+
+ if len(parts[0]) > 64 {
+ return errors.New("email address local phrase cannot exceed 64 characters")
+ }
+
+ return m._validateHostname(parts[1])
}
-// ResourcesServiceListResourcesRequestMultiError is an error wrapping multiple
-// validation errors returned by
-// ResourcesServiceListResourcesRequest.ValidateAll() if the designated
-// constraints aren't met.
-type ResourcesServiceListResourcesRequestMultiError []error
+// AccountInfo_EmailMultiError is an error wrapping multiple validation errors
+// returned by AccountInfo_Email.ValidateAll() if the designated constraints
+// aren't met.
+type AccountInfo_EmailMultiError []error
// Error returns a concatenation of all the error messages it wraps.
-func (m ResourcesServiceListResourcesRequestMultiError) Error() string {
+func (m AccountInfo_EmailMultiError) Error() string {
msgs := make([]string, 0, len(m))
for _, err := range m {
msgs = append(msgs, err.Error())
@@ -3628,12 +4935,11 @@ func (m ResourcesServiceListResourcesRequestMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
-func (m ResourcesServiceListResourcesRequestMultiError) AllErrors() []error { return m }
+func (m AccountInfo_EmailMultiError) AllErrors() []error { return m }
-// ResourcesServiceListResourcesRequestValidationError is the validation error
-// returned by ResourcesServiceListResourcesRequest.Validate if the designated
-// constraints aren't met.
-type ResourcesServiceListResourcesRequestValidationError struct {
+// AccountInfo_EmailValidationError is the validation error returned by
+// AccountInfo_Email.Validate if the designated constraints aren't met.
+type AccountInfo_EmailValidationError struct {
field string
reason string
cause error
@@ -3641,24 +4947,24 @@ type ResourcesServiceListResourcesRequestValidationError struct {
}
// Field function returns field value.
-func (e ResourcesServiceListResourcesRequestValidationError) Field() string { return e.field }
+func (e AccountInfo_EmailValidationError) Field() string { return e.field }
// Reason function returns reason value.
-func (e ResourcesServiceListResourcesRequestValidationError) Reason() string { return e.reason }
+func (e AccountInfo_EmailValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
-func (e ResourcesServiceListResourcesRequestValidationError) Cause() error { return e.cause }
+func (e AccountInfo_EmailValidationError) Cause() error { return e.cause }
// Key function returns key value.
-func (e ResourcesServiceListResourcesRequestValidationError) Key() bool { return e.key }
+func (e AccountInfo_EmailValidationError) Key() bool { return e.key }
// ErrorName returns error name.
-func (e ResourcesServiceListResourcesRequestValidationError) ErrorName() string {
- return "ResourcesServiceListResourcesRequestValidationError"
+func (e AccountInfo_EmailValidationError) ErrorName() string {
+ return "AccountInfo_EmailValidationError"
}
// Error satisfies the builtin error interface
-func (e ResourcesServiceListResourcesRequestValidationError) Error() string {
+func (e AccountInfo_EmailValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@@ -3670,14 +4976,14 @@ func (e ResourcesServiceListResourcesRequestValidationError) Error() string {
}
return fmt.Sprintf(
- "invalid %sResourcesServiceListResourcesRequest.%s: %s%s",
+ "invalid %sAccountInfo_Email.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
-var _ error = ResourcesServiceListResourcesRequestValidationError{}
+var _ error = AccountInfo_EmailValidationError{}
var _ interface {
Field() string
@@ -3685,97 +4991,59 @@ var _ interface {
Key() bool
Cause() error
ErrorName() string
-} = ResourcesServiceListResourcesRequestValidationError{}
+} = AccountInfo_EmailValidationError{}
-// Validate checks the field values on ResourcesServiceListResourcesResponse
-// with the rules defined in the proto definition for this message. If any
-// rules are violated, the first error encountered is returned, or nil if
-// there are no violations.
-func (m *ResourcesServiceListResourcesResponse) Validate() error {
+// Validate checks the field values on CredentialOptions_RandomPassword with
+// the rules defined in the proto definition for this message. If any rules
+// are violated, the first error encountered is returned, or nil if there are
+// no violations.
+func (m *CredentialOptions_RandomPassword) Validate() error {
return m.validate(false)
}
-// ValidateAll checks the field values on ResourcesServiceListResourcesResponse
-// with the rules defined in the proto definition for this message. If any
-// rules are violated, the result is a list of violation errors wrapped in
-// ResourcesServiceListResourcesResponseMultiError, or nil if none found.
-func (m *ResourcesServiceListResourcesResponse) ValidateAll() error {
+// ValidateAll checks the field values on CredentialOptions_RandomPassword with
+// the rules defined in the proto definition for this message. If any rules
+// are violated, the result is a list of violation errors wrapped in
+// CredentialOptions_RandomPasswordMultiError, or nil if none found.
+func (m *CredentialOptions_RandomPassword) ValidateAll() error {
return m.validate(true)
}
-func (m *ResourcesServiceListResourcesResponse) validate(all bool) error {
+func (m *CredentialOptions_RandomPassword) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
- for idx, item := range m.GetList() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ResourcesServiceListResourcesResponseValidationError{
- field: fmt.Sprintf("List[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ResourcesServiceListResourcesResponseValidationError{
- field: fmt.Sprintf("List[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ResourcesServiceListResourcesResponseValidationError{
- field: fmt.Sprintf("List[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
+ if val := m.GetLength(); val < 8 || val > 64 {
+ err := CredentialOptions_RandomPasswordValidationError{
+ field: "Length",
+ reason: "value must be inside range [8, 64]",
}
-
- }
-
- if m.GetNextPageToken() != "" {
-
- if l := len(m.GetNextPageToken()); l < 1 || l > 1048576 {
- err := ResourcesServiceListResourcesResponseValidationError{
- field: "NextPageToken",
- reason: "value length must be between 1 and 1048576 bytes, inclusive",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
+ if !all {
+ return err
}
-
+ errors = append(errors, err)
}
- for idx, item := range m.GetAnnotations() {
+ for idx, item := range m.GetConstraints() {
_, _ = idx, item
if all {
switch v := interface{}(item).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
- errors = append(errors, ResourcesServiceListResourcesResponseValidationError{
- field: fmt.Sprintf("Annotations[%v]", idx),
+ errors = append(errors, CredentialOptions_RandomPasswordValidationError{
+ field: fmt.Sprintf("Constraints[%v]", idx),
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
- errors = append(errors, ResourcesServiceListResourcesResponseValidationError{
- field: fmt.Sprintf("Annotations[%v]", idx),
+ errors = append(errors, CredentialOptions_RandomPasswordValidationError{
+ field: fmt.Sprintf("Constraints[%v]", idx),
reason: "embedded message failed validation",
cause: err,
})
@@ -3783,8 +5051,8 @@ func (m *ResourcesServiceListResourcesResponse) validate(all bool) error {
}
} else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
- return ResourcesServiceListResourcesResponseValidationError{
- field: fmt.Sprintf("Annotations[%v]", idx),
+ return CredentialOptions_RandomPasswordValidationError{
+ field: fmt.Sprintf("Constraints[%v]", idx),
reason: "embedded message failed validation",
cause: err,
}
@@ -3794,20 +5062,20 @@ func (m *ResourcesServiceListResourcesResponse) validate(all bool) error {
}
if len(errors) > 0 {
- return ResourcesServiceListResourcesResponseMultiError(errors)
+ return CredentialOptions_RandomPasswordMultiError(errors)
}
return nil
}
-// ResourcesServiceListResourcesResponseMultiError is an error wrapping
-// multiple validation errors returned by
-// ResourcesServiceListResourcesResponse.ValidateAll() if the designated
+// CredentialOptions_RandomPasswordMultiError is an error wrapping multiple
+// validation errors returned by
+// CredentialOptions_RandomPassword.ValidateAll() if the designated
// constraints aren't met.
-type ResourcesServiceListResourcesResponseMultiError []error
+type CredentialOptions_RandomPasswordMultiError []error
// Error returns a concatenation of all the error messages it wraps.
-func (m ResourcesServiceListResourcesResponseMultiError) Error() string {
+func (m CredentialOptions_RandomPasswordMultiError) Error() string {
msgs := make([]string, 0, len(m))
for _, err := range m {
msgs = append(msgs, err.Error())
@@ -3816,12 +5084,12 @@ func (m ResourcesServiceListResourcesResponseMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
-func (m ResourcesServiceListResourcesResponseMultiError) AllErrors() []error { return m }
+func (m CredentialOptions_RandomPasswordMultiError) AllErrors() []error { return m }
-// ResourcesServiceListResourcesResponseValidationError is the validation error
-// returned by ResourcesServiceListResourcesResponse.Validate if the
-// designated constraints aren't met.
-type ResourcesServiceListResourcesResponseValidationError struct {
+// CredentialOptions_RandomPasswordValidationError is the validation error
+// returned by CredentialOptions_RandomPassword.Validate if the designated
+// constraints aren't met.
+type CredentialOptions_RandomPasswordValidationError struct {
field string
reason string
cause error
@@ -3829,24 +5097,24 @@ type ResourcesServiceListResourcesResponseValidationError struct {
}
// Field function returns field value.
-func (e ResourcesServiceListResourcesResponseValidationError) Field() string { return e.field }
+func (e CredentialOptions_RandomPasswordValidationError) Field() string { return e.field }
// Reason function returns reason value.
-func (e ResourcesServiceListResourcesResponseValidationError) Reason() string { return e.reason }
+func (e CredentialOptions_RandomPasswordValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
-func (e ResourcesServiceListResourcesResponseValidationError) Cause() error { return e.cause }
+func (e CredentialOptions_RandomPasswordValidationError) Cause() error { return e.cause }
// Key function returns key value.
-func (e ResourcesServiceListResourcesResponseValidationError) Key() bool { return e.key }
+func (e CredentialOptions_RandomPasswordValidationError) Key() bool { return e.key }
// ErrorName returns error name.
-func (e ResourcesServiceListResourcesResponseValidationError) ErrorName() string {
- return "ResourcesServiceListResourcesResponseValidationError"
+func (e CredentialOptions_RandomPasswordValidationError) ErrorName() string {
+ return "CredentialOptions_RandomPasswordValidationError"
}
// Error satisfies the builtin error interface
-func (e ResourcesServiceListResourcesResponseValidationError) Error() string {
+func (e CredentialOptions_RandomPasswordValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@@ -3858,154 +5126,59 @@ func (e ResourcesServiceListResourcesResponseValidationError) Error() string {
}
return fmt.Sprintf(
- "invalid %sResourcesServiceListResourcesResponse.%s: %s%s",
- key,
- e.field,
- e.reason,
- cause)
-}
-
-var _ error = ResourcesServiceListResourcesResponseValidationError{}
-
-var _ interface {
- Field() string
- Reason() string
- Key() bool
- Cause() error
- ErrorName() string
-} = ResourcesServiceListResourcesResponseValidationError{}
-
-// Validate checks the field values on ResourceGetterServiceGetResourceRequest
-// with the rules defined in the proto definition for this message. If any
-// rules are violated, the first error encountered is returned, or nil if
-// there are no violations.
-func (m *ResourceGetterServiceGetResourceRequest) Validate() error {
- return m.validate(false)
-}
-
-// ValidateAll checks the field values on
-// ResourceGetterServiceGetResourceRequest with the rules defined in the proto
-// definition for this message. If any rules are violated, the result is a
-// list of violation errors wrapped in
-// ResourceGetterServiceGetResourceRequestMultiError, or nil if none found.
-func (m *ResourceGetterServiceGetResourceRequest) ValidateAll() error {
- return m.validate(true)
-}
-
-func (m *ResourceGetterServiceGetResourceRequest) validate(all bool) error {
- if m == nil {
- return nil
- }
-
- var errors []error
-
- if all {
- switch v := interface{}(m.GetResourceId()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ResourceGetterServiceGetResourceRequestValidationError{
- field: "ResourceId",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ResourceGetterServiceGetResourceRequestValidationError{
- field: "ResourceId",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetResourceId()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ResourceGetterServiceGetResourceRequestValidationError{
- field: "ResourceId",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- if all {
- switch v := interface{}(m.GetParentResourceId()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ResourceGetterServiceGetResourceRequestValidationError{
- field: "ParentResourceId",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ResourceGetterServiceGetResourceRequestValidationError{
- field: "ParentResourceId",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetParentResourceId()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ResourceGetterServiceGetResourceRequestValidationError{
- field: "ParentResourceId",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- for idx, item := range m.GetAnnotations() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ResourceGetterServiceGetResourceRequestValidationError{
- field: fmt.Sprintf("Annotations[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ResourceGetterServiceGetResourceRequestValidationError{
- field: fmt.Sprintf("Annotations[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ResourceGetterServiceGetResourceRequestValidationError{
- field: fmt.Sprintf("Annotations[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
+ "invalid %sCredentialOptions_RandomPassword.%s: %s%s",
+ key,
+ e.field,
+ e.reason,
+ cause)
+}
+
+var _ error = CredentialOptions_RandomPasswordValidationError{}
+
+var _ interface {
+ Field() string
+ Reason() string
+ Key() bool
+ Cause() error
+ ErrorName() string
+} = CredentialOptions_RandomPasswordValidationError{}
+// Validate checks the field values on CredentialOptions_NoPassword with the
+// rules defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *CredentialOptions_NoPassword) Validate() error {
+ return m.validate(false)
+}
+
+// ValidateAll checks the field values on CredentialOptions_NoPassword with the
+// rules defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// CredentialOptions_NoPasswordMultiError, or nil if none found.
+func (m *CredentialOptions_NoPassword) ValidateAll() error {
+ return m.validate(true)
+}
+
+func (m *CredentialOptions_NoPassword) validate(all bool) error {
+ if m == nil {
+ return nil
}
+ var errors []error
+
if len(errors) > 0 {
- return ResourceGetterServiceGetResourceRequestMultiError(errors)
+ return CredentialOptions_NoPasswordMultiError(errors)
}
return nil
}
-// ResourceGetterServiceGetResourceRequestMultiError is an error wrapping
-// multiple validation errors returned by
-// ResourceGetterServiceGetResourceRequest.ValidateAll() if the designated
-// constraints aren't met.
-type ResourceGetterServiceGetResourceRequestMultiError []error
+// CredentialOptions_NoPasswordMultiError is an error wrapping multiple
+// validation errors returned by CredentialOptions_NoPassword.ValidateAll() if
+// the designated constraints aren't met.
+type CredentialOptions_NoPasswordMultiError []error
// Error returns a concatenation of all the error messages it wraps.
-func (m ResourceGetterServiceGetResourceRequestMultiError) Error() string {
+func (m CredentialOptions_NoPasswordMultiError) Error() string {
msgs := make([]string, 0, len(m))
for _, err := range m {
msgs = append(msgs, err.Error())
@@ -4014,12 +5187,12 @@ func (m ResourceGetterServiceGetResourceRequestMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
-func (m ResourceGetterServiceGetResourceRequestMultiError) AllErrors() []error { return m }
+func (m CredentialOptions_NoPasswordMultiError) AllErrors() []error { return m }
-// ResourceGetterServiceGetResourceRequestValidationError is the validation
-// error returned by ResourceGetterServiceGetResourceRequest.Validate if the
-// designated constraints aren't met.
-type ResourceGetterServiceGetResourceRequestValidationError struct {
+// CredentialOptions_NoPasswordValidationError is the validation error returned
+// by CredentialOptions_NoPassword.Validate if the designated constraints
+// aren't met.
+type CredentialOptions_NoPasswordValidationError struct {
field string
reason string
cause error
@@ -4027,24 +5200,24 @@ type ResourceGetterServiceGetResourceRequestValidationError struct {
}
// Field function returns field value.
-func (e ResourceGetterServiceGetResourceRequestValidationError) Field() string { return e.field }
+func (e CredentialOptions_NoPasswordValidationError) Field() string { return e.field }
// Reason function returns reason value.
-func (e ResourceGetterServiceGetResourceRequestValidationError) Reason() string { return e.reason }
+func (e CredentialOptions_NoPasswordValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
-func (e ResourceGetterServiceGetResourceRequestValidationError) Cause() error { return e.cause }
+func (e CredentialOptions_NoPasswordValidationError) Cause() error { return e.cause }
// Key function returns key value.
-func (e ResourceGetterServiceGetResourceRequestValidationError) Key() bool { return e.key }
+func (e CredentialOptions_NoPasswordValidationError) Key() bool { return e.key }
// ErrorName returns error name.
-func (e ResourceGetterServiceGetResourceRequestValidationError) ErrorName() string {
- return "ResourceGetterServiceGetResourceRequestValidationError"
+func (e CredentialOptions_NoPasswordValidationError) ErrorName() string {
+ return "CredentialOptions_NoPasswordValidationError"
}
// Error satisfies the builtin error interface
-func (e ResourceGetterServiceGetResourceRequestValidationError) Error() string {
+func (e CredentialOptions_NoPasswordValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@@ -4056,14 +5229,14 @@ func (e ResourceGetterServiceGetResourceRequestValidationError) Error() string {
}
return fmt.Sprintf(
- "invalid %sResourceGetterServiceGetResourceRequest.%s: %s%s",
+ "invalid %sCredentialOptions_NoPassword.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
-var _ error = ResourceGetterServiceGetResourceRequestValidationError{}
+var _ error = CredentialOptions_NoPasswordValidationError{}
var _ interface {
Field() string
@@ -4071,110 +5244,46 @@ var _ interface {
Key() bool
Cause() error
ErrorName() string
-} = ResourceGetterServiceGetResourceRequestValidationError{}
+} = CredentialOptions_NoPasswordValidationError{}
-// Validate checks the field values on ResourceGetterServiceGetResourceResponse
-// with the rules defined in the proto definition for this message. If any
-// rules are violated, the first error encountered is returned, or nil if
-// there are no violations.
-func (m *ResourceGetterServiceGetResourceResponse) Validate() error {
+// Validate checks the field values on CredentialOptions_SSO with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the first error encountered is returned, or nil if there are no violations.
+func (m *CredentialOptions_SSO) Validate() error {
return m.validate(false)
}
-// ValidateAll checks the field values on
-// ResourceGetterServiceGetResourceResponse with the rules defined in the
-// proto definition for this message. If any rules are violated, the result is
-// a list of violation errors wrapped in
-// ResourceGetterServiceGetResourceResponseMultiError, or nil if none found.
-func (m *ResourceGetterServiceGetResourceResponse) ValidateAll() error {
+// ValidateAll checks the field values on CredentialOptions_SSO with the rules
+// defined in the proto definition for this message. If any rules are
+// violated, the result is a list of violation errors wrapped in
+// CredentialOptions_SSOMultiError, or nil if none found.
+func (m *CredentialOptions_SSO) ValidateAll() error {
return m.validate(true)
}
-func (m *ResourceGetterServiceGetResourceResponse) validate(all bool) error {
+func (m *CredentialOptions_SSO) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
- if all {
- switch v := interface{}(m.GetResource()).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ResourceGetterServiceGetResourceResponseValidationError{
- field: "Resource",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ResourceGetterServiceGetResourceResponseValidationError{
- field: "Resource",
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(m.GetResource()).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ResourceGetterServiceGetResourceResponseValidationError{
- field: "Resource",
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- for idx, item := range m.GetAnnotations() {
- _, _ = idx, item
-
- if all {
- switch v := interface{}(item).(type) {
- case interface{ ValidateAll() error }:
- if err := v.ValidateAll(); err != nil {
- errors = append(errors, ResourceGetterServiceGetResourceResponseValidationError{
- field: fmt.Sprintf("Annotations[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- case interface{ Validate() error }:
- if err := v.Validate(); err != nil {
- errors = append(errors, ResourceGetterServiceGetResourceResponseValidationError{
- field: fmt.Sprintf("Annotations[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- })
- }
- }
- } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
- if err := v.Validate(); err != nil {
- return ResourceGetterServiceGetResourceResponseValidationError{
- field: fmt.Sprintf("Annotations[%v]", idx),
- reason: "embedded message failed validation",
- cause: err,
- }
- }
- }
-
- }
+ // no validation rules for SsoProvider
if len(errors) > 0 {
- return ResourceGetterServiceGetResourceResponseMultiError(errors)
+ return CredentialOptions_SSOMultiError(errors)
}
return nil
}
-// ResourceGetterServiceGetResourceResponseMultiError is an error wrapping
-// multiple validation errors returned by
-// ResourceGetterServiceGetResourceResponse.ValidateAll() if the designated
+// CredentialOptions_SSOMultiError is an error wrapping multiple validation
+// errors returned by CredentialOptions_SSO.ValidateAll() if the designated
// constraints aren't met.
-type ResourceGetterServiceGetResourceResponseMultiError []error
+type CredentialOptions_SSOMultiError []error
// Error returns a concatenation of all the error messages it wraps.
-func (m ResourceGetterServiceGetResourceResponseMultiError) Error() string {
+func (m CredentialOptions_SSOMultiError) Error() string {
msgs := make([]string, 0, len(m))
for _, err := range m {
msgs = append(msgs, err.Error())
@@ -4183,12 +5292,11 @@ func (m ResourceGetterServiceGetResourceResponseMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
-func (m ResourceGetterServiceGetResourceResponseMultiError) AllErrors() []error { return m }
+func (m CredentialOptions_SSOMultiError) AllErrors() []error { return m }
-// ResourceGetterServiceGetResourceResponseValidationError is the validation
-// error returned by ResourceGetterServiceGetResourceResponse.Validate if the
-// designated constraints aren't met.
-type ResourceGetterServiceGetResourceResponseValidationError struct {
+// CredentialOptions_SSOValidationError is the validation error returned by
+// CredentialOptions_SSO.Validate if the designated constraints aren't met.
+type CredentialOptions_SSOValidationError struct {
field string
reason string
cause error
@@ -4196,24 +5304,24 @@ type ResourceGetterServiceGetResourceResponseValidationError struct {
}
// Field function returns field value.
-func (e ResourceGetterServiceGetResourceResponseValidationError) Field() string { return e.field }
+func (e CredentialOptions_SSOValidationError) Field() string { return e.field }
// Reason function returns reason value.
-func (e ResourceGetterServiceGetResourceResponseValidationError) Reason() string { return e.reason }
+func (e CredentialOptions_SSOValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
-func (e ResourceGetterServiceGetResourceResponseValidationError) Cause() error { return e.cause }
+func (e CredentialOptions_SSOValidationError) Cause() error { return e.cause }
// Key function returns key value.
-func (e ResourceGetterServiceGetResourceResponseValidationError) Key() bool { return e.key }
+func (e CredentialOptions_SSOValidationError) Key() bool { return e.key }
// ErrorName returns error name.
-func (e ResourceGetterServiceGetResourceResponseValidationError) ErrorName() string {
- return "ResourceGetterServiceGetResourceResponseValidationError"
+func (e CredentialOptions_SSOValidationError) ErrorName() string {
+ return "CredentialOptions_SSOValidationError"
}
// Error satisfies the builtin error interface
-func (e ResourceGetterServiceGetResourceResponseValidationError) Error() string {
+func (e CredentialOptions_SSOValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@@ -4225,14 +5333,14 @@ func (e ResourceGetterServiceGetResourceResponseValidationError) Error() string
}
return fmt.Sprintf(
- "invalid %sResourceGetterServiceGetResourceResponse.%s: %s%s",
+ "invalid %sCredentialOptions_SSO.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
-var _ error = ResourceGetterServiceGetResourceResponseValidationError{}
+var _ error = CredentialOptions_SSOValidationError{}
var _ interface {
Field() string
@@ -4240,49 +5348,91 @@ var _ interface {
Key() bool
Cause() error
ErrorName() string
-} = ResourceGetterServiceGetResourceResponseValidationError{}
+} = CredentialOptions_SSOValidationError{}
-// Validate checks the field values on ExternalId with the rules defined in the
-// proto definition for this message. If any rules are violated, the first
-// error encountered is returned, or nil if there are no violations.
-func (m *ExternalId) Validate() error {
+// Validate checks the field values on CredentialOptions_EncryptedPassword with
+// the rules defined in the proto definition for this message. If any rules
+// are violated, the first error encountered is returned, or nil if there are
+// no violations.
+func (m *CredentialOptions_EncryptedPassword) Validate() error {
return m.validate(false)
}
-// ValidateAll checks the field values on ExternalId with the rules defined in
-// the proto definition for this message. If any rules are violated, the
-// result is a list of violation errors wrapped in ExternalIdMultiError, or
-// nil if none found.
-func (m *ExternalId) ValidateAll() error {
+// ValidateAll checks the field values on CredentialOptions_EncryptedPassword
+// with the rules defined in the proto definition for this message. If any
+// rules are violated, the result is a list of violation errors wrapped in
+// CredentialOptions_EncryptedPasswordMultiError, or nil if none found.
+func (m *CredentialOptions_EncryptedPassword) ValidateAll() error {
return m.validate(true)
}
-func (m *ExternalId) validate(all bool) error {
- if m == nil {
- return nil
+func (m *CredentialOptions_EncryptedPassword) validate(all bool) error {
+ if m == nil {
+ return nil
+ }
+
+ var errors []error
+
+ if len(m.GetEncryptedPasswords()) < 1 {
+ err := CredentialOptions_EncryptedPasswordValidationError{
+ field: "EncryptedPasswords",
+ reason: "value must contain at least 1 item(s)",
+ }
+ if !all {
+ return err
+ }
+ errors = append(errors, err)
+ }
+
+ for idx, item := range m.GetEncryptedPasswords() {
+ _, _ = idx, item
+
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, CredentialOptions_EncryptedPasswordValidationError{
+ field: fmt.Sprintf("EncryptedPasswords[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, CredentialOptions_EncryptedPasswordValidationError{
+ field: fmt.Sprintf("EncryptedPasswords[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return CredentialOptions_EncryptedPasswordValidationError{
+ field: fmt.Sprintf("EncryptedPasswords[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
+ }
+ }
+
}
- var errors []error
-
- // no validation rules for Id
-
- // no validation rules for Link
-
- // no validation rules for Description
-
if len(errors) > 0 {
- return ExternalIdMultiError(errors)
+ return CredentialOptions_EncryptedPasswordMultiError(errors)
}
return nil
}
-// ExternalIdMultiError is an error wrapping multiple validation errors
-// returned by ExternalId.ValidateAll() if the designated constraints aren't met.
-type ExternalIdMultiError []error
+// CredentialOptions_EncryptedPasswordMultiError is an error wrapping multiple
+// validation errors returned by
+// CredentialOptions_EncryptedPassword.ValidateAll() if the designated
+// constraints aren't met.
+type CredentialOptions_EncryptedPasswordMultiError []error
// Error returns a concatenation of all the error messages it wraps.
-func (m ExternalIdMultiError) Error() string {
+func (m CredentialOptions_EncryptedPasswordMultiError) Error() string {
msgs := make([]string, 0, len(m))
for _, err := range m {
msgs = append(msgs, err.Error())
@@ -4291,11 +5441,12 @@ func (m ExternalIdMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
-func (m ExternalIdMultiError) AllErrors() []error { return m }
+func (m CredentialOptions_EncryptedPasswordMultiError) AllErrors() []error { return m }
-// ExternalIdValidationError is the validation error returned by
-// ExternalId.Validate if the designated constraints aren't met.
-type ExternalIdValidationError struct {
+// CredentialOptions_EncryptedPasswordValidationError is the validation error
+// returned by CredentialOptions_EncryptedPassword.Validate if the designated
+// constraints aren't met.
+type CredentialOptions_EncryptedPasswordValidationError struct {
field string
reason string
cause error
@@ -4303,22 +5454,24 @@ type ExternalIdValidationError struct {
}
// Field function returns field value.
-func (e ExternalIdValidationError) Field() string { return e.field }
+func (e CredentialOptions_EncryptedPasswordValidationError) Field() string { return e.field }
// Reason function returns reason value.
-func (e ExternalIdValidationError) Reason() string { return e.reason }
+func (e CredentialOptions_EncryptedPasswordValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
-func (e ExternalIdValidationError) Cause() error { return e.cause }
+func (e CredentialOptions_EncryptedPasswordValidationError) Cause() error { return e.cause }
// Key function returns key value.
-func (e ExternalIdValidationError) Key() bool { return e.key }
+func (e CredentialOptions_EncryptedPasswordValidationError) Key() bool { return e.key }
// ErrorName returns error name.
-func (e ExternalIdValidationError) ErrorName() string { return "ExternalIdValidationError" }
+func (e CredentialOptions_EncryptedPasswordValidationError) ErrorName() string {
+ return "CredentialOptions_EncryptedPasswordValidationError"
+}
// Error satisfies the builtin error interface
-func (e ExternalIdValidationError) Error() string {
+func (e CredentialOptions_EncryptedPasswordValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@@ -4330,14 +5483,14 @@ func (e ExternalIdValidationError) Error() string {
}
return fmt.Sprintf(
- "invalid %sExternalId.%s: %s%s",
+ "invalid %sCredentialOptions_EncryptedPassword.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
-var _ error = ExternalIdValidationError{}
+var _ error = CredentialOptions_EncryptedPasswordValidationError{}
var _ interface {
Field() string
@@ -4345,35 +5498,35 @@ var _ interface {
Key() bool
Cause() error
ErrorName() string
-} = ExternalIdValidationError{}
+} = CredentialOptions_EncryptedPasswordValidationError{}
-// Validate checks the field values on AccountInfo_Email with the rules defined
-// in the proto definition for this message. If any rules are violated, the
-// first error encountered is returned, or nil if there are no violations.
-func (m *AccountInfo_Email) Validate() error {
+// Validate checks the field values on LocalCredentialOptions_RandomPassword
+// with the rules defined in the proto definition for this message. If any
+// rules are violated, the first error encountered is returned, or nil if
+// there are no violations.
+func (m *LocalCredentialOptions_RandomPassword) Validate() error {
return m.validate(false)
}
-// ValidateAll checks the field values on AccountInfo_Email with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// AccountInfo_EmailMultiError, or nil if none found.
-func (m *AccountInfo_Email) ValidateAll() error {
+// ValidateAll checks the field values on LocalCredentialOptions_RandomPassword
+// with the rules defined in the proto definition for this message. If any
+// rules are violated, the result is a list of violation errors wrapped in
+// LocalCredentialOptions_RandomPasswordMultiError, or nil if none found.
+func (m *LocalCredentialOptions_RandomPassword) ValidateAll() error {
return m.validate(true)
}
-func (m *AccountInfo_Email) validate(all bool) error {
+func (m *LocalCredentialOptions_RandomPassword) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
- if err := m._validateEmail(m.GetAddress()); err != nil {
- err = AccountInfo_EmailValidationError{
- field: "Address",
- reason: "value must be a valid email address",
- cause: err,
+ if val := m.GetLength(); val < 8 || val > 64 {
+ err := LocalCredentialOptions_RandomPasswordValidationError{
+ field: "Length",
+ reason: "value must be inside range [8, 64]",
}
if !all {
return err
@@ -4381,72 +5534,55 @@ func (m *AccountInfo_Email) validate(all bool) error {
errors = append(errors, err)
}
- // no validation rules for IsPrimary
-
- if len(errors) > 0 {
- return AccountInfo_EmailMultiError(errors)
- }
-
- return nil
-}
-
-func (m *AccountInfo_Email) _validateHostname(host string) error {
- s := strings.ToLower(strings.TrimSuffix(host, "."))
-
- if len(host) > 253 {
- return errors.New("hostname cannot exceed 253 characters")
- }
-
- for _, part := range strings.Split(s, ".") {
- if l := len(part); l == 0 || l > 63 {
- return errors.New("hostname part must be non-empty and cannot exceed 63 characters")
- }
-
- if part[0] == '-' {
- return errors.New("hostname parts cannot begin with hyphens")
- }
-
- if part[len(part)-1] == '-' {
- return errors.New("hostname parts cannot end with hyphens")
- }
+ for idx, item := range m.GetConstraints() {
+ _, _ = idx, item
- for _, r := range part {
- if (r < 'a' || r > 'z') && (r < '0' || r > '9') && r != '-' {
- return fmt.Errorf("hostname parts can only contain alphanumeric characters or hyphens, got %q", string(r))
+ if all {
+ switch v := interface{}(item).(type) {
+ case interface{ ValidateAll() error }:
+ if err := v.ValidateAll(); err != nil {
+ errors = append(errors, LocalCredentialOptions_RandomPasswordValidationError{
+ field: fmt.Sprintf("Constraints[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ case interface{ Validate() error }:
+ if err := v.Validate(); err != nil {
+ errors = append(errors, LocalCredentialOptions_RandomPasswordValidationError{
+ field: fmt.Sprintf("Constraints[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ })
+ }
+ }
+ } else if v, ok := interface{}(item).(interface{ Validate() error }); ok {
+ if err := v.Validate(); err != nil {
+ return LocalCredentialOptions_RandomPasswordValidationError{
+ field: fmt.Sprintf("Constraints[%v]", idx),
+ reason: "embedded message failed validation",
+ cause: err,
+ }
}
}
- }
-
- return nil
-}
-func (m *AccountInfo_Email) _validateEmail(addr string) error {
- a, err := mail.ParseAddress(addr)
- if err != nil {
- return err
- }
- addr = a.Address
-
- if len(addr) > 254 {
- return errors.New("email addresses cannot exceed 254 characters")
}
- parts := strings.SplitN(addr, "@", 2)
-
- if len(parts[0]) > 64 {
- return errors.New("email address local phrase cannot exceed 64 characters")
+ if len(errors) > 0 {
+ return LocalCredentialOptions_RandomPasswordMultiError(errors)
}
- return m._validateHostname(parts[1])
+ return nil
}
-// AccountInfo_EmailMultiError is an error wrapping multiple validation errors
-// returned by AccountInfo_Email.ValidateAll() if the designated constraints
-// aren't met.
-type AccountInfo_EmailMultiError []error
+// LocalCredentialOptions_RandomPasswordMultiError is an error wrapping
+// multiple validation errors returned by
+// LocalCredentialOptions_RandomPassword.ValidateAll() if the designated
+// constraints aren't met.
+type LocalCredentialOptions_RandomPasswordMultiError []error
// Error returns a concatenation of all the error messages it wraps.
-func (m AccountInfo_EmailMultiError) Error() string {
+func (m LocalCredentialOptions_RandomPasswordMultiError) Error() string {
msgs := make([]string, 0, len(m))
for _, err := range m {
msgs = append(msgs, err.Error())
@@ -4455,11 +5591,12 @@ func (m AccountInfo_EmailMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
-func (m AccountInfo_EmailMultiError) AllErrors() []error { return m }
+func (m LocalCredentialOptions_RandomPasswordMultiError) AllErrors() []error { return m }
-// AccountInfo_EmailValidationError is the validation error returned by
-// AccountInfo_Email.Validate if the designated constraints aren't met.
-type AccountInfo_EmailValidationError struct {
+// LocalCredentialOptions_RandomPasswordValidationError is the validation error
+// returned by LocalCredentialOptions_RandomPassword.Validate if the
+// designated constraints aren't met.
+type LocalCredentialOptions_RandomPasswordValidationError struct {
field string
reason string
cause error
@@ -4467,24 +5604,24 @@ type AccountInfo_EmailValidationError struct {
}
// Field function returns field value.
-func (e AccountInfo_EmailValidationError) Field() string { return e.field }
+func (e LocalCredentialOptions_RandomPasswordValidationError) Field() string { return e.field }
// Reason function returns reason value.
-func (e AccountInfo_EmailValidationError) Reason() string { return e.reason }
+func (e LocalCredentialOptions_RandomPasswordValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
-func (e AccountInfo_EmailValidationError) Cause() error { return e.cause }
+func (e LocalCredentialOptions_RandomPasswordValidationError) Cause() error { return e.cause }
// Key function returns key value.
-func (e AccountInfo_EmailValidationError) Key() bool { return e.key }
+func (e LocalCredentialOptions_RandomPasswordValidationError) Key() bool { return e.key }
// ErrorName returns error name.
-func (e AccountInfo_EmailValidationError) ErrorName() string {
- return "AccountInfo_EmailValidationError"
+func (e LocalCredentialOptions_RandomPasswordValidationError) ErrorName() string {
+ return "LocalCredentialOptions_RandomPasswordValidationError"
}
// Error satisfies the builtin error interface
-func (e AccountInfo_EmailValidationError) Error() string {
+func (e LocalCredentialOptions_RandomPasswordValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@@ -4496,14 +5633,14 @@ func (e AccountInfo_EmailValidationError) Error() string {
}
return fmt.Sprintf(
- "invalid %sAccountInfo_Email.%s: %s%s",
+ "invalid %sLocalCredentialOptions_RandomPassword.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
-var _ error = AccountInfo_EmailValidationError{}
+var _ error = LocalCredentialOptions_RandomPasswordValidationError{}
var _ interface {
Field() string
@@ -4511,57 +5648,46 @@ var _ interface {
Key() bool
Cause() error
ErrorName() string
-} = AccountInfo_EmailValidationError{}
+} = LocalCredentialOptions_RandomPasswordValidationError{}
-// Validate checks the field values on CredentialOptions_RandomPassword with
+// Validate checks the field values on LocalCredentialOptions_NoPassword with
// the rules defined in the proto definition for this message. If any rules
// are violated, the first error encountered is returned, or nil if there are
// no violations.
-func (m *CredentialOptions_RandomPassword) Validate() error {
+func (m *LocalCredentialOptions_NoPassword) Validate() error {
return m.validate(false)
}
-// ValidateAll checks the field values on CredentialOptions_RandomPassword with
-// the rules defined in the proto definition for this message. If any rules
-// are violated, the result is a list of violation errors wrapped in
-// CredentialOptions_RandomPasswordMultiError, or nil if none found.
-func (m *CredentialOptions_RandomPassword) ValidateAll() error {
+// ValidateAll checks the field values on LocalCredentialOptions_NoPassword
+// with the rules defined in the proto definition for this message. If any
+// rules are violated, the result is a list of violation errors wrapped in
+// LocalCredentialOptions_NoPasswordMultiError, or nil if none found.
+func (m *LocalCredentialOptions_NoPassword) ValidateAll() error {
return m.validate(true)
}
-func (m *CredentialOptions_RandomPassword) validate(all bool) error {
+func (m *LocalCredentialOptions_NoPassword) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
- if val := m.GetLength(); val < 8 || val > 64 {
- err := CredentialOptions_RandomPasswordValidationError{
- field: "Length",
- reason: "value must be inside range [8, 64]",
- }
- if !all {
- return err
- }
- errors = append(errors, err)
- }
-
if len(errors) > 0 {
- return CredentialOptions_RandomPasswordMultiError(errors)
+ return LocalCredentialOptions_NoPasswordMultiError(errors)
}
return nil
}
-// CredentialOptions_RandomPasswordMultiError is an error wrapping multiple
+// LocalCredentialOptions_NoPasswordMultiError is an error wrapping multiple
// validation errors returned by
-// CredentialOptions_RandomPassword.ValidateAll() if the designated
+// LocalCredentialOptions_NoPassword.ValidateAll() if the designated
// constraints aren't met.
-type CredentialOptions_RandomPasswordMultiError []error
+type LocalCredentialOptions_NoPasswordMultiError []error
// Error returns a concatenation of all the error messages it wraps.
-func (m CredentialOptions_RandomPasswordMultiError) Error() string {
+func (m LocalCredentialOptions_NoPasswordMultiError) Error() string {
msgs := make([]string, 0, len(m))
for _, err := range m {
msgs = append(msgs, err.Error())
@@ -4570,12 +5696,12 @@ func (m CredentialOptions_RandomPasswordMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
-func (m CredentialOptions_RandomPasswordMultiError) AllErrors() []error { return m }
+func (m LocalCredentialOptions_NoPasswordMultiError) AllErrors() []error { return m }
-// CredentialOptions_RandomPasswordValidationError is the validation error
-// returned by CredentialOptions_RandomPassword.Validate if the designated
+// LocalCredentialOptions_NoPasswordValidationError is the validation error
+// returned by LocalCredentialOptions_NoPassword.Validate if the designated
// constraints aren't met.
-type CredentialOptions_RandomPasswordValidationError struct {
+type LocalCredentialOptions_NoPasswordValidationError struct {
field string
reason string
cause error
@@ -4583,24 +5709,24 @@ type CredentialOptions_RandomPasswordValidationError struct {
}
// Field function returns field value.
-func (e CredentialOptions_RandomPasswordValidationError) Field() string { return e.field }
+func (e LocalCredentialOptions_NoPasswordValidationError) Field() string { return e.field }
// Reason function returns reason value.
-func (e CredentialOptions_RandomPasswordValidationError) Reason() string { return e.reason }
+func (e LocalCredentialOptions_NoPasswordValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
-func (e CredentialOptions_RandomPasswordValidationError) Cause() error { return e.cause }
+func (e LocalCredentialOptions_NoPasswordValidationError) Cause() error { return e.cause }
// Key function returns key value.
-func (e CredentialOptions_RandomPasswordValidationError) Key() bool { return e.key }
+func (e LocalCredentialOptions_NoPasswordValidationError) Key() bool { return e.key }
// ErrorName returns error name.
-func (e CredentialOptions_RandomPasswordValidationError) ErrorName() string {
- return "CredentialOptions_RandomPasswordValidationError"
+func (e LocalCredentialOptions_NoPasswordValidationError) ErrorName() string {
+ return "LocalCredentialOptions_NoPasswordValidationError"
}
// Error satisfies the builtin error interface
-func (e CredentialOptions_RandomPasswordValidationError) Error() string {
+func (e LocalCredentialOptions_NoPasswordValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@@ -4612,14 +5738,14 @@ func (e CredentialOptions_RandomPasswordValidationError) Error() string {
}
return fmt.Sprintf(
- "invalid %sCredentialOptions_RandomPassword.%s: %s%s",
+ "invalid %sLocalCredentialOptions_NoPassword.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
-var _ error = CredentialOptions_RandomPasswordValidationError{}
+var _ error = LocalCredentialOptions_NoPasswordValidationError{}
var _ interface {
Field() string
@@ -4627,44 +5753,46 @@ var _ interface {
Key() bool
Cause() error
ErrorName() string
-} = CredentialOptions_RandomPasswordValidationError{}
+} = LocalCredentialOptions_NoPasswordValidationError{}
-// Validate checks the field values on CredentialOptions_NoPassword with the
+// Validate checks the field values on LocalCredentialOptions_SSO with the
// rules defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *CredentialOptions_NoPassword) Validate() error {
+func (m *LocalCredentialOptions_SSO) Validate() error {
return m.validate(false)
}
-// ValidateAll checks the field values on CredentialOptions_NoPassword with the
+// ValidateAll checks the field values on LocalCredentialOptions_SSO with the
// rules defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
-// CredentialOptions_NoPasswordMultiError, or nil if none found.
-func (m *CredentialOptions_NoPassword) ValidateAll() error {
+// LocalCredentialOptions_SSOMultiError, or nil if none found.
+func (m *LocalCredentialOptions_SSO) ValidateAll() error {
return m.validate(true)
}
-func (m *CredentialOptions_NoPassword) validate(all bool) error {
+func (m *LocalCredentialOptions_SSO) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
+ // no validation rules for SsoProvider
+
if len(errors) > 0 {
- return CredentialOptions_NoPasswordMultiError(errors)
+ return LocalCredentialOptions_SSOMultiError(errors)
}
return nil
}
-// CredentialOptions_NoPasswordMultiError is an error wrapping multiple
-// validation errors returned by CredentialOptions_NoPassword.ValidateAll() if
+// LocalCredentialOptions_SSOMultiError is an error wrapping multiple
+// validation errors returned by LocalCredentialOptions_SSO.ValidateAll() if
// the designated constraints aren't met.
-type CredentialOptions_NoPasswordMultiError []error
+type LocalCredentialOptions_SSOMultiError []error
// Error returns a concatenation of all the error messages it wraps.
-func (m CredentialOptions_NoPasswordMultiError) Error() string {
+func (m LocalCredentialOptions_SSOMultiError) Error() string {
msgs := make([]string, 0, len(m))
for _, err := range m {
msgs = append(msgs, err.Error())
@@ -4673,12 +5801,11 @@ func (m CredentialOptions_NoPasswordMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
-func (m CredentialOptions_NoPasswordMultiError) AllErrors() []error { return m }
+func (m LocalCredentialOptions_SSOMultiError) AllErrors() []error { return m }
-// CredentialOptions_NoPasswordValidationError is the validation error returned
-// by CredentialOptions_NoPassword.Validate if the designated constraints
-// aren't met.
-type CredentialOptions_NoPasswordValidationError struct {
+// LocalCredentialOptions_SSOValidationError is the validation error returned
+// by LocalCredentialOptions_SSO.Validate if the designated constraints aren't met.
+type LocalCredentialOptions_SSOValidationError struct {
field string
reason string
cause error
@@ -4686,24 +5813,24 @@ type CredentialOptions_NoPasswordValidationError struct {
}
// Field function returns field value.
-func (e CredentialOptions_NoPasswordValidationError) Field() string { return e.field }
+func (e LocalCredentialOptions_SSOValidationError) Field() string { return e.field }
// Reason function returns reason value.
-func (e CredentialOptions_NoPasswordValidationError) Reason() string { return e.reason }
+func (e LocalCredentialOptions_SSOValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
-func (e CredentialOptions_NoPasswordValidationError) Cause() error { return e.cause }
+func (e LocalCredentialOptions_SSOValidationError) Cause() error { return e.cause }
// Key function returns key value.
-func (e CredentialOptions_NoPasswordValidationError) Key() bool { return e.key }
+func (e LocalCredentialOptions_SSOValidationError) Key() bool { return e.key }
// ErrorName returns error name.
-func (e CredentialOptions_NoPasswordValidationError) ErrorName() string {
- return "CredentialOptions_NoPasswordValidationError"
+func (e LocalCredentialOptions_SSOValidationError) ErrorName() string {
+ return "LocalCredentialOptions_SSOValidationError"
}
// Error satisfies the builtin error interface
-func (e CredentialOptions_NoPasswordValidationError) Error() string {
+func (e LocalCredentialOptions_SSOValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@@ -4715,14 +5842,14 @@ func (e CredentialOptions_NoPasswordValidationError) Error() string {
}
return fmt.Sprintf(
- "invalid %sCredentialOptions_NoPassword.%s: %s%s",
+ "invalid %sLocalCredentialOptions_SSO.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
-var _ error = CredentialOptions_NoPasswordValidationError{}
+var _ error = LocalCredentialOptions_SSOValidationError{}
var _ interface {
Field() string
@@ -4730,46 +5857,49 @@ var _ interface {
Key() bool
Cause() error
ErrorName() string
-} = CredentialOptions_NoPasswordValidationError{}
+} = LocalCredentialOptions_SSOValidationError{}
-// Validate checks the field values on CredentialOptions_SSO with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the first error encountered is returned, or nil if there are no violations.
-func (m *CredentialOptions_SSO) Validate() error {
+// Validate checks the field values on LocalCredentialOptions_PlaintextPassword
+// with the rules defined in the proto definition for this message. If any
+// rules are violated, the first error encountered is returned, or nil if
+// there are no violations.
+func (m *LocalCredentialOptions_PlaintextPassword) Validate() error {
return m.validate(false)
}
-// ValidateAll checks the field values on CredentialOptions_SSO with the rules
-// defined in the proto definition for this message. If any rules are
-// violated, the result is a list of violation errors wrapped in
-// CredentialOptions_SSOMultiError, or nil if none found.
-func (m *CredentialOptions_SSO) ValidateAll() error {
+// ValidateAll checks the field values on
+// LocalCredentialOptions_PlaintextPassword with the rules defined in the
+// proto definition for this message. If any rules are violated, the result is
+// a list of violation errors wrapped in
+// LocalCredentialOptions_PlaintextPasswordMultiError, or nil if none found.
+func (m *LocalCredentialOptions_PlaintextPassword) ValidateAll() error {
return m.validate(true)
}
-func (m *CredentialOptions_SSO) validate(all bool) error {
+func (m *LocalCredentialOptions_PlaintextPassword) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
- // no validation rules for SsoProvider
+ // no validation rules for PlaintextPassword
if len(errors) > 0 {
- return CredentialOptions_SSOMultiError(errors)
+ return LocalCredentialOptions_PlaintextPasswordMultiError(errors)
}
return nil
}
-// CredentialOptions_SSOMultiError is an error wrapping multiple validation
-// errors returned by CredentialOptions_SSO.ValidateAll() if the designated
+// LocalCredentialOptions_PlaintextPasswordMultiError is an error wrapping
+// multiple validation errors returned by
+// LocalCredentialOptions_PlaintextPassword.ValidateAll() if the designated
// constraints aren't met.
-type CredentialOptions_SSOMultiError []error
+type LocalCredentialOptions_PlaintextPasswordMultiError []error
// Error returns a concatenation of all the error messages it wraps.
-func (m CredentialOptions_SSOMultiError) Error() string {
+func (m LocalCredentialOptions_PlaintextPasswordMultiError) Error() string {
msgs := make([]string, 0, len(m))
for _, err := range m {
msgs = append(msgs, err.Error())
@@ -4778,11 +5908,12 @@ func (m CredentialOptions_SSOMultiError) Error() string {
}
// AllErrors returns a list of validation violation errors.
-func (m CredentialOptions_SSOMultiError) AllErrors() []error { return m }
+func (m LocalCredentialOptions_PlaintextPasswordMultiError) AllErrors() []error { return m }
-// CredentialOptions_SSOValidationError is the validation error returned by
-// CredentialOptions_SSO.Validate if the designated constraints aren't met.
-type CredentialOptions_SSOValidationError struct {
+// LocalCredentialOptions_PlaintextPasswordValidationError is the validation
+// error returned by LocalCredentialOptions_PlaintextPassword.Validate if the
+// designated constraints aren't met.
+type LocalCredentialOptions_PlaintextPasswordValidationError struct {
field string
reason string
cause error
@@ -4790,24 +5921,24 @@ type CredentialOptions_SSOValidationError struct {
}
// Field function returns field value.
-func (e CredentialOptions_SSOValidationError) Field() string { return e.field }
+func (e LocalCredentialOptions_PlaintextPasswordValidationError) Field() string { return e.field }
// Reason function returns reason value.
-func (e CredentialOptions_SSOValidationError) Reason() string { return e.reason }
+func (e LocalCredentialOptions_PlaintextPasswordValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
-func (e CredentialOptions_SSOValidationError) Cause() error { return e.cause }
+func (e LocalCredentialOptions_PlaintextPasswordValidationError) Cause() error { return e.cause }
// Key function returns key value.
-func (e CredentialOptions_SSOValidationError) Key() bool { return e.key }
+func (e LocalCredentialOptions_PlaintextPasswordValidationError) Key() bool { return e.key }
// ErrorName returns error name.
-func (e CredentialOptions_SSOValidationError) ErrorName() string {
- return "CredentialOptions_SSOValidationError"
+func (e LocalCredentialOptions_PlaintextPasswordValidationError) ErrorName() string {
+ return "LocalCredentialOptions_PlaintextPasswordValidationError"
}
// Error satisfies the builtin error interface
-func (e CredentialOptions_SSOValidationError) Error() string {
+func (e LocalCredentialOptions_PlaintextPasswordValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
@@ -4819,14 +5950,14 @@ func (e CredentialOptions_SSOValidationError) Error() string {
}
return fmt.Sprintf(
- "invalid %sCredentialOptions_SSO.%s: %s%s",
+ "invalid %sLocalCredentialOptions_PlaintextPassword.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
-var _ error = CredentialOptions_SSOValidationError{}
+var _ error = LocalCredentialOptions_PlaintextPasswordValidationError{}
var _ interface {
Field() string
@@ -4834,7 +5965,7 @@ var _ interface {
Key() bool
Cause() error
ErrorName() string
-} = CredentialOptions_SSOValidationError{}
+} = LocalCredentialOptions_PlaintextPasswordValidationError{}
// Validate checks the field values on CreateAccountResponse_SuccessResult with
// the rules defined in the proto definition for this message. If any rules
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/annotations/annotations.go b/vendor/github.com/conductorone/baton-sdk/pkg/annotations/annotations.go
index 0f062108..d0566e71 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/annotations/annotations.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/annotations/annotations.go
@@ -124,6 +124,7 @@ func (a *Annotations) WithRateLimiting(rateLimit *v2.RateLimitDescription) *Anno
return a
}
+// NOTE: the store is the only usage of this.
func GetSyncIdFromAnnotations(annos Annotations) (string, error) {
syncDetails := &c1zpb.SyncDetails{}
ok, err := annos.Pick(syncDetails)
@@ -136,3 +137,13 @@ func GetSyncIdFromAnnotations(annos Annotations) (string, error) {
return "", nil
}
+
+// NOTE: this is used to communicate the active sync to the connector proper, for session storage.
+func GetActiveSyncIdFromAnnotations(annos Annotations) (string, error) {
+ v2SyncId := &v2.ActiveSync{}
+ _, err := annos.Pick(v2SyncId)
+ if err != nil {
+ return "", err
+ }
+ return v2SyncId.GetId(), nil
+}
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/connectorstore/connectorstore.go b/vendor/github.com/conductorone/baton-sdk/pkg/connectorstore/connectorstore.go
index c2482e81..64e352ec 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/connectorstore/connectorstore.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/connectorstore/connectorstore.go
@@ -8,6 +8,22 @@ import (
reader_v2 "github.com/conductorone/baton-sdk/pb/c1/reader/v2"
)
+type SyncType string
+
+const (
+ SyncTypeFull SyncType = "full"
+ SyncTypePartial SyncType = "partial"
+ SyncTypeResourcesOnly SyncType = "resources_only"
+ SyncTypeAny SyncType = ""
+)
+
+var AllSyncTypes = []SyncType{
+ SyncTypeAny,
+ SyncTypeFull,
+ SyncTypePartial,
+ SyncTypeResourcesOnly,
+}
+
// ConnectorStoreReader implements the ConnectorV2 API, along with getters for individual objects.
type Reader interface {
v2.ResourceTypesServiceServer
@@ -34,9 +50,10 @@ type Reader interface {
// ConnectorStoreWriter defines an implementation for a connector v2 datasource writer. This is used to store sync data from an upstream provider.
type Writer interface {
Reader
- StartSync(ctx context.Context) (string, bool, error)
- StartNewSync(ctx context.Context) (string, error)
- StartNewSyncV2(ctx context.Context, syncType string, parentSyncID string) (string, error)
+ ResumeSync(ctx context.Context, syncType SyncType, syncID string) (string, error)
+ StartOrResumeSync(ctx context.Context, syncType SyncType, syncID string) (string, bool, error)
+ StartNewSync(ctx context.Context, syncType SyncType, parentSyncID string) (string, error)
+ SetCurrentSync(ctx context.Context, syncID string) error
CurrentSyncStep(ctx context.Context) (string, error)
CheckpointSync(ctx context.Context, syncToken string) error
EndSync(ctx context.Context) error
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/c1file.go b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/c1file.go
index ff184d39..dc269cbb 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/c1file.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/c1file.go
@@ -3,6 +3,7 @@ package dotc1z
import (
"context"
"database/sql"
+ "errors"
"fmt"
"os"
"path/filepath"
@@ -10,6 +11,9 @@ import (
"time"
"github.com/doug-martin/goqu/v9"
+ "google.golang.org/grpc/codes"
+ "google.golang.org/grpc/status"
+
// NOTE: required to register the dialect for goqu.
//
// If you remove this import, goqu.Dialect("sqlite3") will
@@ -20,6 +24,7 @@ import (
_ "github.com/glebarez/go-sqlite"
v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2"
+ reader_v2 "github.com/conductorone/baton-sdk/pb/c1/reader/v2"
"github.com/conductorone/baton-sdk/pkg/connectorstore"
)
@@ -93,12 +98,18 @@ func NewC1File(ctx context.Context, dbFilePath string, opts ...C1FOption) (*C1Fi
return nil, err
}
+ err = c1File.init(ctx)
+ if err != nil {
+ return nil, err
+ }
+
return c1File, nil
}
type c1zOptions struct {
- tmpDir string
- pragmas []pragma
+ tmpDir string
+ pragmas []pragma
+ decoderOptions []DecoderOption
}
type C1ZOption func(*c1zOptions)
@@ -114,6 +125,12 @@ func WithPragma(name string, value string) C1ZOption {
}
}
+func WithDecoderOptions(opts ...DecoderOption) C1ZOption {
+ return func(o *c1zOptions) {
+ o.decoderOptions = opts
+ }
+}
+
// Returns a new C1File instance with its state stored at the provided filename.
func NewC1ZFile(ctx context.Context, outputFilePath string, opts ...C1ZOption) (*C1File, error) {
ctx, span := tracer.Start(ctx, "NewC1ZFile")
@@ -124,7 +141,7 @@ func NewC1ZFile(ctx context.Context, outputFilePath string, opts ...C1ZOption) (
opt(options)
}
- dbFilePath, err := loadC1z(outputFilePath, options.tmpDir)
+ dbFilePath, err := loadC1z(outputFilePath, options.tmpDir, options.decoderOptions...)
if err != nil {
return nil, err
}
@@ -141,14 +158,17 @@ func NewC1ZFile(ctx context.Context, outputFilePath string, opts ...C1ZOption) (
c1File.outputFilePath = outputFilePath
- err = c1File.init(ctx)
- if err != nil {
- return nil, err
- }
-
return c1File, nil
}
+func cleanupDbDir(dbFilePath string, err error) error {
+ cleanupErr := os.RemoveAll(filepath.Dir(dbFilePath))
+ if cleanupErr != nil {
+ err = errors.Join(err, cleanupErr)
+ }
+ return err
+}
+
// Close ensures that the sqlite database is flushed to disk, and if any changes were made we update the original database
// with our changes.
func (c *C1File) Close() error {
@@ -157,7 +177,7 @@ func (c *C1File) Close() error {
if c.rawDb != nil {
err = c.rawDb.Close()
if err != nil {
- return err
+ return cleanupDbDir(c.dbFilePath, err)
}
}
c.rawDb = nil
@@ -167,17 +187,11 @@ func (c *C1File) Close() error {
if c.dbUpdated {
err = saveC1z(c.dbFilePath, c.outputFilePath)
if err != nil {
- return err
+ return cleanupDbDir(c.dbFilePath, err)
}
}
- // Cleanup the database filepath. This should always be a file within a temp directory, so we remove the entire dir.
- err = os.RemoveAll(filepath.Dir(c.dbFilePath))
- if err != nil {
- return err
- }
-
- return nil
+ return cleanupDbDir(c.dbFilePath, err)
}
// init ensures that the database has all of the required schema.
@@ -213,16 +227,32 @@ func (c *C1File) init(ctx context.Context) error {
}
// Stats introspects the database and returns the count of objects for the given sync run.
-func (c *C1File) Stats(ctx context.Context) (map[string]int64, error) {
+// If syncId is empty, it will use the latest sync run of the given type.
+func (c *C1File) Stats(ctx context.Context, syncType connectorstore.SyncType, syncId string) (map[string]int64, error) {
ctx, span := tracer.Start(ctx, "C1File.Stats")
defer span.End()
counts := make(map[string]int64)
- syncID, err := c.LatestSyncID(ctx)
+ var err error
+ if syncId == "" {
+ syncId, err = c.LatestSyncID(ctx, syncType)
+ if err != nil {
+ return nil, err
+ }
+ }
+ resp, err := c.GetSync(ctx, &reader_v2.SyncsReaderServiceGetSyncRequest{SyncId: syncId})
if err != nil {
return nil, err
}
+ if resp == nil || resp.Sync == nil {
+ return nil, status.Errorf(codes.NotFound, "sync '%s' not found", syncId)
+ }
+ sync := resp.Sync
+ if syncType != connectorstore.SyncTypeAny && syncType != connectorstore.SyncType(sync.SyncType) {
+ return nil, status.Errorf(codes.InvalidArgument, "sync '%s' is not of type '%s'", syncId, syncType)
+ }
+ syncType = connectorstore.SyncType(sync.SyncType)
counts["resource_types"] = 0
@@ -246,7 +276,7 @@ func (c *C1File) Stats(ctx context.Context) (map[string]int64, error) {
for _, rt := range rtStats {
resourceCount, err := c.db.From(resources.Name()).
Where(goqu.C("resource_type_id").Eq(rt.Id)).
- Where(goqu.C("sync_id").Eq(syncID)).
+ Where(goqu.C("sync_id").Eq(syncId)).
CountContext(ctx)
if err != nil {
return nil, err
@@ -254,23 +284,24 @@ func (c *C1File) Stats(ctx context.Context) (map[string]int64, error) {
counts[rt.Id] = resourceCount
}
- entitlementsCount, err := c.db.From(entitlements.Name()).
- Where(goqu.C("sync_id").Eq(syncID)).
- CountContext(ctx)
- if err != nil {
- return nil, err
- }
- counts["entitlements"] = entitlementsCount
+ if syncType != connectorstore.SyncTypeResourcesOnly {
+ entitlementsCount, err := c.db.From(entitlements.Name()).
+ Where(goqu.C("sync_id").Eq(syncId)).
+ CountContext(ctx)
+ if err != nil {
+ return nil, err
+ }
+ counts["entitlements"] = entitlementsCount
- grantsCount, err := c.db.From(grants.Name()).
- Where(goqu.C("sync_id").Eq(syncID)).
- CountContext(ctx)
- if err != nil {
- return nil, err
+ grantsCount, err := c.db.From(grants.Name()).
+ Where(goqu.C("sync_id").Eq(syncId)).
+ CountContext(ctx)
+ if err != nil {
+ return nil, err
+ }
+ counts["grants"] = grantsCount
}
- counts["grants"] = grantsCount
-
return counts, nil
}
@@ -291,3 +322,93 @@ func (c *C1File) validateSyncDb(ctx context.Context) error {
return c.validateDb(ctx)
}
+
+func (c *C1File) OutputFilepath() (string, error) {
+ if c.outputFilePath == "" {
+ return "", fmt.Errorf("c1file: output file path is empty")
+ }
+ return c.outputFilePath, nil
+}
+
+func (c *C1File) AttachFile(other *C1File, dbName string) (*C1FileAttached, error) {
+ _, err := c.db.Exec(`ATTACH DATABASE ? AS ?`, other.dbFilePath, dbName)
+ if err != nil {
+ return nil, err
+ }
+
+ return &C1FileAttached{
+ safe: true,
+ file: c,
+ }, nil
+}
+
+func (c *C1FileAttached) DetachFile(dbName string) (*C1FileAttached, error) {
+ _, err := c.file.db.Exec(`DETACH DATABASE ?`, dbName)
+ if err != nil {
+ return nil, err
+ }
+
+ return &C1FileAttached{
+ safe: false,
+ file: c.file,
+ }, nil
+}
+
+// GrantStats introspects the database and returns the count of grants for the given sync run.
+// If syncId is empty, it will use the latest sync run of the given type.
+func (c *C1File) GrantStats(ctx context.Context, syncType connectorstore.SyncType, syncId string) (map[string]int64, error) {
+ ctx, span := tracer.Start(ctx, "C1File.GrantStats")
+ defer span.End()
+
+ var err error
+ if syncId == "" {
+ syncId, err = c.LatestSyncID(ctx, syncType)
+ if err != nil {
+ return nil, err
+ }
+ } else {
+ lastSync, err := c.GetSync(ctx, &reader_v2.SyncsReaderServiceGetSyncRequest{SyncId: syncId})
+ if err != nil {
+ return nil, err
+ }
+ if lastSync == nil {
+ return nil, status.Errorf(codes.NotFound, "sync '%s' not found", syncId)
+ }
+ if syncType != connectorstore.SyncTypeAny && syncType != connectorstore.SyncType(lastSync.Sync.SyncType) {
+ return nil, status.Errorf(codes.InvalidArgument, "sync '%s' is not of type '%s'", syncId, syncType)
+ }
+ }
+
+ var allResourceTypes []*v2.ResourceType
+ pageToken := ""
+ for {
+ resp, err := c.ListResourceTypes(ctx, &v2.ResourceTypesServiceListResourceTypesRequest{PageToken: pageToken})
+ if err != nil {
+ return nil, err
+ }
+
+ allResourceTypes = append(allResourceTypes, resp.List...)
+
+ if resp.NextPageToken == "" {
+ break
+ }
+
+ pageToken = resp.NextPageToken
+ }
+
+ stats := make(map[string]int64)
+
+ for _, resourceType := range allResourceTypes {
+ grantsCount, err := c.db.From(grants.Name()).
+ Where(goqu.C("sync_id").Eq(syncId)).
+ Where(goqu.C("resource_type_id").Eq(resourceType.Id)).
+ CountContext(ctx)
+ if err != nil {
+ return nil, err
+ }
+
+ stats[resourceType.Id] = grantsCount
+ }
+
+ return stats, nil
+}
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/c1file_attached.go b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/c1file_attached.go
new file mode 100644
index 00000000..34bf5ea4
--- /dev/null
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/c1file_attached.go
@@ -0,0 +1,142 @@
+package dotc1z
+
+import (
+ "context"
+ "errors"
+ "fmt"
+)
+
+type C1FileAttached struct {
+ safe bool
+ file *C1File
+}
+
+func (c *C1FileAttached) CompactTable(ctx context.Context, destSyncID string, baseSyncID string, appliedSyncID string, tableName string) error {
+ if !c.safe {
+ return errors.New("database has been detached")
+ }
+ ctx, span := tracer.Start(ctx, "C1FileAttached.CompactTable")
+ defer span.End()
+
+ // Get the column structure for this table by querying the schema
+ columns, err := c.getTableColumns(ctx, tableName)
+ if err != nil {
+ return fmt.Errorf("failed to get table columns: %w", err)
+ }
+
+ // Build column lists for INSERT statements
+ columnList := ""
+ selectList := ""
+ for i, col := range columns {
+ if i > 0 {
+ columnList += ", "
+ selectList += ", "
+ }
+ columnList += col
+ if col == "sync_id" {
+ selectList += "? as sync_id"
+ } else {
+ selectList += col
+ }
+ }
+
+ // Step 1: Insert ALL records from base sync
+ insertBaseQuery := fmt.Sprintf(`
+ INSERT INTO main.%s (%s)
+ SELECT %s
+ FROM base.%s
+ WHERE sync_id = ?
+ `, tableName, columnList, selectList, tableName)
+
+ _, err = c.file.db.ExecContext(ctx, insertBaseQuery, destSyncID, baseSyncID)
+ if err != nil {
+ return fmt.Errorf("failed to copy base records: %w", err)
+ }
+
+ // Step 2: Insert/replace records from applied sync where applied.discovered_at > main.discovered_at
+ insertOrReplaceAppliedQuery := fmt.Sprintf(`
+ INSERT OR REPLACE INTO main.%s (%s)
+ SELECT %s
+ FROM attached.%s AS a
+ WHERE a.sync_id = ?
+ AND (
+ NOT EXISTS (
+ SELECT 1 FROM main.%s AS m
+ WHERE m.external_id = a.external_id AND m.sync_id = ?
+ )
+ OR EXISTS (
+ SELECT 1 FROM main.%s AS m
+ WHERE m.external_id = a.external_id
+ AND m.sync_id = ?
+ AND a.discovered_at > m.discovered_at
+ )
+ )
+ `, tableName, columnList, selectList, tableName, tableName, tableName)
+
+ _, err = c.file.db.ExecContext(ctx, insertOrReplaceAppliedQuery, destSyncID, appliedSyncID, destSyncID, destSyncID)
+ return err
+}
+
+func (c *C1FileAttached) getTableColumns(ctx context.Context, tableName string) ([]string, error) {
+ if !c.safe {
+ return nil, errors.New("database has been detached")
+ }
+ // PRAGMA doesn't support parameter binding, so we format the table name directly
+ query := fmt.Sprintf("PRAGMA table_info(%s)", tableName)
+ rows, err := c.file.db.QueryContext(ctx, query)
+ if err != nil {
+ return nil, err
+ }
+ defer rows.Close()
+
+ var columns []string
+ for rows.Next() {
+ var cid int
+ var name, dataType string
+ var notNull, pk int
+ var defaultValue interface{}
+
+ err := rows.Scan(&cid, &name, &dataType, ¬Null, &defaultValue, &pk)
+ if err != nil {
+ return nil, err
+ }
+
+ // Skip the 'id' column as it's auto-increment
+ if name != "id" {
+ columns = append(columns, name)
+ }
+ }
+ if rows.Err() != nil {
+ return nil, rows.Err()
+ }
+
+ return columns, nil
+}
+
+func (c *C1FileAttached) CompactResourceTypes(ctx context.Context, destSyncID string, baseSyncID string, appliedSyncID string) error {
+ if !c.safe {
+ return errors.New("database has been detached")
+ }
+ return c.CompactTable(ctx, destSyncID, baseSyncID, appliedSyncID, "v1_resource_types")
+}
+
+func (c *C1FileAttached) CompactResources(ctx context.Context, destSyncID string, baseSyncID string, appliedSyncID string) error {
+ if !c.safe {
+ return errors.New("database has been detached")
+ }
+ return c.CompactTable(ctx, destSyncID, baseSyncID, appliedSyncID, "v1_resources")
+}
+
+func (c *C1FileAttached) CompactEntitlements(ctx context.Context, destSyncID string, baseSyncID string, appliedSyncID string) error {
+ if !c.safe {
+ return errors.New("database has been detached")
+ }
+ return c.CompactTable(ctx, destSyncID, baseSyncID, appliedSyncID, "v1_entitlements")
+}
+
+func (c *C1FileAttached) CompactGrants(ctx context.Context, destSyncID string, baseSyncID string, appliedSyncID string) error {
+ if !c.safe {
+ return errors.New("database has been detached")
+ }
+ return c.CompactTable(ctx, destSyncID, baseSyncID, appliedSyncID, "v1_grants")
+}
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/clone_sync.go b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/clone_sync.go
index 8d8767b3..0a6050d0 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/clone_sync.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/clone_sync.go
@@ -8,6 +8,8 @@ import (
"os"
"path/filepath"
"strings"
+
+ "github.com/conductorone/baton-sdk/pkg/connectorstore"
)
func cloneTableQuery(tableName string) (string, error) {
@@ -84,7 +86,7 @@ func (c *C1File) CloneSync(ctx context.Context, outPath string, syncID string) (
}
if syncID == "" {
- syncID, err = c.LatestSyncID(ctx)
+ syncID, err = c.LatestSyncID(ctx, connectorstore.SyncTypeFull)
if err != nil {
return err
}
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/decoder.go b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/decoder.go
index e2360c68..68480acc 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/decoder.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/decoder.go
@@ -58,9 +58,10 @@ type DecoderOption func(*decoderOptions) error
// options retains accumulated state of multiple options.
type decoderOptions struct {
- ctx context.Context
- maxDecodedSize uint64
- maxMemorySize uint64
+ ctx context.Context
+ maxDecodedSize uint64
+ maxMemorySize uint64
+ decoderConcurrency int
}
// WithContext sets a context, when cancelled, will cause subequent calls to Read() to return ctx.Error().
@@ -73,7 +74,7 @@ func WithContext(ctx context.Context) DecoderOption {
// WithDecoderMaxMemory sets the maximum window size for streaming operations.
// This can be used to control memory usage of potentially hostile content.
-// Maximum is 1 << 63 bytes. Default is 32MiB.
+// Maximum is 1 << 63 bytes. Default is 128MiB.
func WithDecoderMaxMemory(n uint64) DecoderOption {
return func(o *decoderOptions) error {
if n == 0 {
@@ -103,6 +104,16 @@ func WithDecoderMaxDecodedSize(n uint64) DecoderOption {
}
}
+// WithDecoderConcurrency sets the number of created decoders.
+// Default is 1, which disables async decoding/concurrency.
+// 0 uses GOMAXPROCS.
+func WithDecoderConcurrency(n int) DecoderOption {
+ return func(o *decoderOptions) error {
+ o.decoderConcurrency = n
+ return nil
+ }
+}
+
type decoder struct {
o *decoderOptions
f io.Reader
@@ -128,11 +139,18 @@ func (d *decoder) Read(p []byte) (int, error) {
if maxMemSize == 0 {
maxMemSize = defaultDecoderMaxMemory
}
- zd, err := zstd.NewReader(
- d.f,
- zstd.WithDecoderConcurrency(1), // disables async decoding/concurrency
+
+ zstdOpts := []zstd.DOption{
zstd.WithDecoderLowmem(true), // uses lower memory, trading potentially more allocations
zstd.WithDecoderMaxMemory(maxMemSize), // sets limit on maximum memory used when decoding stream
+ }
+ if d.o.decoderConcurrency >= 0 {
+ zstdOpts = append(zstdOpts, zstd.WithDecoderConcurrency(d.o.decoderConcurrency))
+ }
+
+ zd, err := zstd.NewReader(
+ d.f,
+ zstdOpts...,
)
if err != nil {
d.decoderInitErr = err
@@ -206,7 +224,9 @@ func NewDecoder(f io.Reader, opts ...DecoderOption) (*decoder, error) {
}
}
- o := &decoderOptions{}
+ o := &decoderOptions{
+ decoderConcurrency: 1,
+ }
for _, opt := range opts {
err := opt(o)
if err != nil {
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/diff.go b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/diff.go
index 476b4ccc..6db52b61 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/diff.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/diff.go
@@ -5,6 +5,7 @@ import (
"fmt"
"strings"
+ "github.com/conductorone/baton-sdk/pkg/connectorstore"
"github.com/doug-martin/goqu/v9"
"github.com/segmentio/ksuid"
)
@@ -30,7 +31,7 @@ func (c *C1File) GenerateSyncDiff(ctx context.Context, baseSyncID string, applie
// Generate a new unique ID for the diff sync
diffSyncID := ksuid.New().String()
- if err := c.insertSyncRun(ctx, diffSyncID, SyncTypePartial, baseSyncID); err != nil {
+ if err := c.insertSyncRun(ctx, diffSyncID, connectorstore.SyncTypePartial, baseSyncID); err != nil {
return "", err
}
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/dotc1z.go b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/dotc1z.go
index cc46a12f..835a2958 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/dotc1z.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/dotc1z.go
@@ -14,12 +14,12 @@ import (
var tracer = otel.Tracer("baton-sdk/pkg.dotc1z")
// NewC1FileReader returns a connectorstore.Reader implementation for the given sqlite db file path.
-func NewC1FileReader(ctx context.Context, dbFilePath string) (connectorstore.Reader, error) {
- return NewC1File(ctx, dbFilePath)
+func NewC1FileReader(ctx context.Context, dbFilePath string, opts ...C1FOption) (connectorstore.Reader, error) {
+ return NewC1File(ctx, dbFilePath, opts...)
}
// NewC1ZFileDecoder wraps a given .c1z io.Reader that validates the .c1z and decompresses/decodes the underlying file.
-// Defaults: 32MiB max memory and 2GiB max decoded size
+// Defaults: 128MiB max memory and 3GiB max decoded size
// You must close the resulting io.ReadCloser when you are done, do not forget to close the given io.Reader if necessary.
func NewC1ZFileDecoder(f io.Reader, opts ...DecoderOption) (io.ReadCloser, error) {
return NewDecoder(f, opts...)
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/entitlements.go b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/entitlements.go
index 95eb7d83..9456ae77 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/entitlements.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/entitlements.go
@@ -101,7 +101,20 @@ func (c *C1File) PutEntitlements(ctx context.Context, entitlementObjs ...*v2.Ent
ctx, span := tracer.Start(ctx, "C1File.PutEntitlements")
defer span.End()
- err := bulkPutConnectorObject(ctx, c, entitlements.Name(),
+ return c.putEntitlementsInternal(ctx, bulkPutConnectorObject, entitlementObjs...)
+}
+
+func (c *C1File) PutEntitlementsIfNewer(ctx context.Context, entitlementObjs ...*v2.Entitlement) error {
+ ctx, span := tracer.Start(ctx, "C1File.PutEntitlementsIfNewer")
+ defer span.End()
+
+ return c.putEntitlementsInternal(ctx, bulkPutConnectorObjectIfNewer, entitlementObjs...)
+}
+
+type entitlementPutFunc func(context.Context, *C1File, string, func(m *v2.Entitlement) (goqu.Record, error), ...*v2.Entitlement) error
+
+func (c *C1File) putEntitlementsInternal(ctx context.Context, f entitlementPutFunc, entitlementObjs ...*v2.Entitlement) error {
+ err := f(ctx, c, entitlements.Name(),
func(entitlement *v2.Entitlement) (goqu.Record, error) {
return goqu.Record{
"resource_id": entitlement.Resource.Id.Resource,
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/file.go b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/file.go
index 44bfc4a9..8e0b296e 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/file.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/file.go
@@ -11,7 +11,7 @@ import (
"go.uber.org/zap"
)
-func loadC1z(filePath string, tmpDir string) (string, error) {
+func loadC1z(filePath string, tmpDir string, opts ...DecoderOption) (string, error) {
var err error
workingDir, err := os.MkdirTemp(tmpDir, "c1z")
if err != nil {
@@ -38,7 +38,7 @@ func loadC1z(filePath string, tmpDir string) (string, error) {
}
defer c1zFile.Close()
- r, err := NewDecoder(c1zFile)
+ r, err := NewDecoder(c1zFile, opts...)
if err != nil {
return "", err
}
@@ -69,12 +69,6 @@ func saveC1z(dbFilePath string, outputFilePath string) error {
if err != nil {
zap.L().Error("failed to close db file", zap.Error(err))
}
-
- // Cleanup the database filepath. This should always be a file within a temp directory, so we remove the entire dir.
- err = os.RemoveAll(filepath.Dir(dbFilePath))
- if err != nil {
- zap.L().Error("failed to remove db dir", zap.Error(err))
- }
}()
outFile, err := os.OpenFile(outputFilePath, os.O_RDWR|os.O_CREATE|syscall.O_TRUNC, 0644)
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/grants.go b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/grants.go
index 2ac105f8..4edc283d 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/grants.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/grants.go
@@ -194,7 +194,20 @@ func (c *C1File) PutGrants(ctx context.Context, bulkGrants ...*v2.Grant) error {
ctx, span := tracer.Start(ctx, "C1File.PutGrants")
defer span.End()
- err := bulkPutConnectorObject(ctx, c, grants.Name(),
+ return c.putGrantsInternal(ctx, bulkPutConnectorObject, bulkGrants...)
+}
+
+func (c *C1File) PutGrantsIfNewer(ctx context.Context, bulkGrants ...*v2.Grant) error {
+ ctx, span := tracer.Start(ctx, "C1File.PutGrantsIfNewer")
+ defer span.End()
+
+ return c.putGrantsInternal(ctx, bulkPutConnectorObjectIfNewer, bulkGrants...)
+}
+
+type grantPutFunc func(context.Context, *C1File, string, func(m *v2.Grant) (goqu.Record, error), ...*v2.Grant) error
+
+func (c *C1File) putGrantsInternal(ctx context.Context, f grantPutFunc, bulkGrants ...*v2.Grant) error {
+ err := f(ctx, c, grants.Name(),
func(grant *v2.Grant) (goqu.Record, error) {
return goqu.Record{
"resource_type_id": grant.Entitlement.Resource.Id.ResourceType,
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/manager/local/local.go b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/manager/local/local.go
index 79e8195a..f07f6b6e 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/manager/local/local.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/manager/local/local.go
@@ -16,9 +16,10 @@ import (
var tracer = otel.Tracer("baton-sdk/pkg.dotc1z.manager.local")
type localManager struct {
- filePath string
- tmpPath string
- tmpDir string
+ filePath string
+ tmpPath string
+ tmpDir string
+ decoderOptions []dotc1z.DecoderOption
}
type Option func(*localManager)
@@ -29,6 +30,12 @@ func WithTmpDir(tmpDir string) Option {
}
}
+func WithDecoderOptions(opts ...dotc1z.DecoderOption) Option {
+ return func(o *localManager) {
+ o.decoderOptions = opts
+ }
+}
+
func (l *localManager) copyFileToTmp(ctx context.Context) error {
_, span := tracer.Start(ctx, "localManager.copyFileToTmp")
defer span.End()
@@ -97,7 +104,14 @@ func (l *localManager) LoadC1Z(ctx context.Context) (*dotc1z.C1File, error) {
zap.String("temp_path", l.tmpPath),
)
- return dotc1z.NewC1ZFile(ctx, l.tmpPath, dotc1z.WithTmpDir(l.tmpDir), dotc1z.WithPragma("journal_mode", "WAL"))
+ opts := []dotc1z.C1ZOption{
+ dotc1z.WithTmpDir(l.tmpDir),
+ dotc1z.WithPragma("journal_mode", "WAL"),
+ }
+ if len(l.decoderOptions) > 0 {
+ opts = append(opts, dotc1z.WithDecoderOptions(l.decoderOptions...))
+ }
+ return dotc1z.NewC1ZFile(ctx, l.tmpPath, opts...)
}
// SaveC1Z saves the C1Z file to the local file system.
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/manager/manager.go b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/manager/manager.go
index a3b0bfb1..e9466525 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/manager/manager.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/manager/manager.go
@@ -18,7 +18,8 @@ type Manager interface {
}
type managerOptions struct {
- tmpDir string
+ tmpDir string
+ decoderOptions []dotc1z.DecoderOption
}
type ManagerOption func(*managerOptions)
@@ -29,6 +30,12 @@ func WithTmpDir(tmpDir string) ManagerOption {
}
}
+func WithDecoderOptions(opts ...dotc1z.DecoderOption) ManagerOption {
+ return func(o *managerOptions) {
+ o.decoderOptions = opts
+ }
+}
+
// Given a file path, return a Manager that can read and write files to that path.
//
// The first thing we do is check if the file path starts with "s3://". If it does, we return a new
@@ -46,12 +53,18 @@ func New(ctx context.Context, filePath string, opts ...ManagerOption) (Manager,
if options.tmpDir != "" {
s3Opts = append(s3Opts, s3.WithTmpDir(options.tmpDir))
}
+ if len(options.decoderOptions) > 0 {
+ s3Opts = append(s3Opts, s3.WithDecoderOptions(options.decoderOptions...))
+ }
return s3.NewS3Manager(ctx, filePath, s3Opts...)
default:
var localOpts []local.Option
if options.tmpDir != "" {
localOpts = append(localOpts, local.WithTmpDir(options.tmpDir))
}
+ if len(options.decoderOptions) > 0 {
+ localOpts = append(localOpts, local.WithDecoderOptions(options.decoderOptions...))
+ }
return local.New(ctx, filePath, localOpts...)
}
}
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/manager/s3/s3.go b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/manager/s3/s3.go
index eed8b599..385b1bc4 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/manager/s3/s3.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/manager/s3/s3.go
@@ -19,10 +19,11 @@ import (
var tracer = otel.Tracer("baton-sdk/pkg.dotc1z.manager.s3")
type s3Manager struct {
- client *us3.S3Client
- fileName string
- tmpFile string
- tmpDir string
+ client *us3.S3Client
+ fileName string
+ tmpFile string
+ tmpDir string
+ decoderOptions []dotc1z.DecoderOption
}
type Option func(*s3Manager)
@@ -33,6 +34,12 @@ func WithTmpDir(tmpDir string) Option {
}
}
+func WithDecoderOptions(opts ...dotc1z.DecoderOption) Option {
+ return func(o *s3Manager) {
+ o.decoderOptions = opts
+ }
+}
+
func (s *s3Manager) copyToTempFile(ctx context.Context, r io.Reader) error {
_, span := tracer.Start(ctx, "s3Manager.copyToTempFile")
defer span.End()
@@ -116,7 +123,14 @@ func (s *s3Manager) LoadC1Z(ctx context.Context) (*dotc1z.C1File, error) {
return nil, err
}
- return dotc1z.NewC1ZFile(ctx, s.tmpFile, dotc1z.WithTmpDir(s.tmpDir))
+ opts := []dotc1z.C1ZOption{
+ dotc1z.WithTmpDir(s.tmpDir),
+ dotc1z.WithPragma("journal_mode", "WAL"),
+ }
+ if len(s.decoderOptions) > 0 {
+ opts = append(opts, dotc1z.WithDecoderOptions(s.decoderOptions...))
+ }
+ return dotc1z.NewC1ZFile(ctx, s.tmpFile, opts...)
}
// SaveC1Z saves a file to the AWS S3 bucket.
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/resouce_types.go b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/resouce_types.go
index d24a3310..53a7f64e 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/resouce_types.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/resouce_types.go
@@ -97,7 +97,20 @@ func (c *C1File) PutResourceTypes(ctx context.Context, resourceTypesObjs ...*v2.
ctx, span := tracer.Start(ctx, "C1File.PutResourceTypes")
defer span.End()
- err := bulkPutConnectorObject(ctx, c, resourceTypes.Name(),
+ return c.putResourceTypesInternal(ctx, bulkPutConnectorObject, resourceTypesObjs...)
+}
+
+func (c *C1File) PutResourceTypesIfNewer(ctx context.Context, resourceTypesObjs ...*v2.ResourceType) error {
+ ctx, span := tracer.Start(ctx, "C1File.PutResourceTypesIfNewer")
+ defer span.End()
+
+ return c.putResourceTypesInternal(ctx, bulkPutConnectorObjectIfNewer, resourceTypesObjs...)
+}
+
+type resourceTypePutFunc func(context.Context, *C1File, string, func(m *v2.ResourceType) (goqu.Record, error), ...*v2.ResourceType) error
+
+func (c *C1File) putResourceTypesInternal(ctx context.Context, f resourceTypePutFunc, resourceTypesObjs ...*v2.ResourceType) error {
+ err := f(ctx, c, resourceTypes.Name(),
func(resource *v2.ResourceType) (goqu.Record, error) {
return nil, nil
},
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/resources.go b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/resources.go
index 0f1a7533..b28b8bb5 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/resources.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/resources.go
@@ -106,7 +106,20 @@ func (c *C1File) PutResources(ctx context.Context, resourceObjs ...*v2.Resource)
ctx, span := tracer.Start(ctx, "C1File.PutResources")
defer span.End()
- err := bulkPutConnectorObject(ctx, c, resources.Name(),
+ return c.putResourcesInternal(ctx, bulkPutConnectorObject, resourceObjs...)
+}
+
+func (c *C1File) PutResourcesIfNewer(ctx context.Context, resourceObjs ...*v2.Resource) error {
+ ctx, span := tracer.Start(ctx, "C1File.PutResourcesIfNewer")
+ defer span.End()
+
+ return c.putResourcesInternal(ctx, bulkPutConnectorObjectIfNewer, resourceObjs...)
+}
+
+type resourcePutFunc func(context.Context, *C1File, string, func(m *v2.Resource) (goqu.Record, error), ...*v2.Resource) error
+
+func (c *C1File) putResourcesInternal(ctx context.Context, f resourcePutFunc, resourceObjs ...*v2.Resource) error {
+ err := f(ctx, c, resources.Name(),
func(resource *v2.Resource) (goqu.Record, error) {
fields := goqu.Record{
"resource_type_id": resource.Id.ResourceType,
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/sql_helpers.go b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/sql_helpers.go
index b316d8ea..60ede846 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/sql_helpers.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/sql_helpers.go
@@ -2,6 +2,7 @@ package dotc1z
import (
"context"
+ "errors"
"fmt"
"strconv"
"time"
@@ -13,6 +14,7 @@ import (
"google.golang.org/protobuf/types/known/anypb"
"github.com/conductorone/baton-sdk/pkg/annotations"
+ "github.com/conductorone/baton-sdk/pkg/connectorstore"
v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2"
)
@@ -179,13 +181,13 @@ func (c *C1File) listConnectorObjects(ctx context.Context, tableName string, req
default:
var latestSyncRun *syncRun
var err error
- latestSyncRun, err = c.getFinishedSync(ctx, 0, SyncTypeFull)
+ latestSyncRun, err = c.getFinishedSync(ctx, 0, connectorstore.SyncTypeFull)
if err != nil {
return nil, "", err
}
if latestSyncRun == nil {
- latestSyncRun, err = c.getLatestUnfinishedSync(ctx)
+ latestSyncRun, err = c.getLatestUnfinishedSync(ctx, connectorstore.SyncTypeAny)
if err != nil {
return nil, "", err
}
@@ -253,6 +255,9 @@ func (c *C1File) listConnectorObjects(ctx context.Context, tableName string, req
lastRow = rowId
ret = append(ret, data)
}
+ if rows.Err() != nil {
+ return nil, "", rows.Err()
+ }
nextPageToken := ""
if count > pageSize {
@@ -264,31 +269,22 @@ func (c *C1File) listConnectorObjects(ctx context.Context, tableName string, req
var protoMarshaler = proto.MarshalOptions{Deterministic: true}
-func bulkPutConnectorObject[T proto.Message](ctx context.Context, c *C1File,
- tableName string,
+// prepareConnectorObjectRows prepares the rows for bulk insertion.
+func prepareConnectorObjectRows[T proto.Message](
+ c *C1File,
+ msgs []T,
extractFields func(m T) (goqu.Record, error),
- msgs ...T) error {
- if len(msgs) == 0 {
- return nil
- }
- ctx, span := tracer.Start(ctx, "C1File.bulkPutConnectorObjectTx")
- defer span.End()
-
- err := c.validateSyncDb(ctx)
- if err != nil {
- return err
- }
-
+) ([]*goqu.Record, error) {
rows := make([]*goqu.Record, len(msgs))
for i, m := range msgs {
messageBlob, err := protoMarshaler.Marshal(m)
if err != nil {
- return err
+ return nil, err
}
fields, err := extractFields(m)
if err != nil {
- return err
+ return nil, err
}
if fields == nil {
fields = goqu.Record{}
@@ -297,7 +293,7 @@ func bulkPutConnectorObject[T proto.Message](ctx context.Context, c *C1File,
if _, idSet := fields["external_id"]; !idSet {
idGetter, ok := any(m).(protoHasID)
if !ok {
- return fmt.Errorf("unable to get ID for object")
+ return nil, fmt.Errorf("unable to get ID for object")
}
fields["external_id"] = idGetter.GetId()
}
@@ -306,12 +302,30 @@ func bulkPutConnectorObject[T proto.Message](ctx context.Context, c *C1File,
fields["discovered_at"] = time.Now().Format("2006-01-02 15:04:05.999999999")
rows[i] = &fields
}
+ return rows, nil
+}
+
+// executeChunkedInsert executes the insert query in chunks.
+func executeChunkedInsert(
+ ctx context.Context,
+ c *C1File,
+ tableName string,
+ rows []*goqu.Record,
+ buildQueryFn func(*goqu.InsertDataset, []*goqu.Record) (*goqu.InsertDataset, error),
+) error {
chunkSize := 100
chunks := len(rows) / chunkSize
if len(rows)%chunkSize != 0 {
chunks++
}
+ tx, err := c.db.BeginTx(ctx, nil)
+ if err != nil {
+ return err
+ }
+
+ var txError error
+
for i := 0; i < chunks; i++ {
start := i * chunkSize
end := (i + 1) * chunkSize
@@ -319,21 +333,117 @@ func bulkPutConnectorObject[T proto.Message](ctx context.Context, c *C1File,
end = len(rows)
}
chunkedRows := rows[start:end]
- query, args, err := c.db.Insert(tableName).
- OnConflict(goqu.DoUpdate("external_id, sync_id", goqu.C("data").Set(goqu.I("EXCLUDED.data")))).
- Rows(chunkedRows).
- Prepared(true).
- ToSQL()
+
+ // Create the base insert dataset
+ insertDs := tx.Insert(tableName)
+
+ // Apply the custom query building function
+ insertDs, err = buildQueryFn(insertDs, chunkedRows)
if err != nil {
- return err
+ txError = err
+ break
}
- _, err = c.db.Exec(query, args...)
+
+ // Generate the SQL
+ query, args, err := insertDs.ToSQL()
if err != nil {
- return err
+ txError = err
+ break
+ }
+
+ // Execute the query
+ _, err = tx.ExecContext(ctx, query, args...)
+ if err != nil {
+ txError = err
+ break
}
}
- return nil
+ if txError != nil {
+ if rollbackErr := tx.Rollback(); rollbackErr != nil {
+ return errors.Join(rollbackErr, txError)
+ }
+
+ return fmt.Errorf("error executing chunked insert: %w", txError)
+ }
+
+ return tx.Commit()
+}
+
+func bulkPutConnectorObject[T proto.Message](
+ ctx context.Context, c *C1File,
+ tableName string,
+ extractFields func(m T) (goqu.Record, error),
+ msgs ...T,
+) error {
+ if len(msgs) == 0 {
+ return nil
+ }
+ ctx, span := tracer.Start(ctx, "C1File.bulkPutConnectorObject")
+ defer span.End()
+
+ err := c.validateSyncDb(ctx)
+ if err != nil {
+ return err
+ }
+
+ // Prepare rows
+ rows, err := prepareConnectorObjectRows(c, msgs, extractFields)
+ if err != nil {
+ return err
+ }
+
+ // Define query building function
+ buildQueryFn := func(insertDs *goqu.InsertDataset, chunkedRows []*goqu.Record) (*goqu.InsertDataset, error) {
+ return insertDs.
+ OnConflict(goqu.DoUpdate("external_id, sync_id", goqu.C("data").Set(goqu.I("EXCLUDED.data")))).
+ Rows(chunkedRows).
+ Prepared(true), nil
+ }
+
+ // Execute the insert
+ return executeChunkedInsert(ctx, c, tableName, rows, buildQueryFn)
+}
+
+func bulkPutConnectorObjectIfNewer[T proto.Message](
+ ctx context.Context, c *C1File,
+ tableName string,
+ extractFields func(m T) (goqu.Record, error),
+ msgs ...T,
+) error {
+ if len(msgs) == 0 {
+ return nil
+ }
+ ctx, span := tracer.Start(ctx, "C1File.bulkPutConnectorObjectIfNewer")
+ defer span.End()
+
+ err := c.validateSyncDb(ctx)
+ if err != nil {
+ return err
+ }
+
+ // Prepare rows
+ rows, err := prepareConnectorObjectRows(c, msgs, extractFields)
+ if err != nil {
+ return err
+ }
+
+ // Define query building function
+ buildQueryFn := func(insertDs *goqu.InsertDataset, chunkedRows []*goqu.Record) (*goqu.InsertDataset, error) {
+ return insertDs.
+ OnConflict(goqu.DoUpdate("external_id, sync_id",
+ goqu.Record{
+ "data": goqu.I("EXCLUDED.data"),
+ "discovered_at": goqu.I("EXCLUDED.discovered_at"),
+ }).Where(
+ goqu.L("EXCLUDED.discovered_at > ?.discovered_at", goqu.I(tableName)),
+ )).
+ Rows(chunkedRows).
+ Prepared(true), nil
+ }
+
+ // Execute the insert
+ return executeChunkedInsert(ctx, c, tableName, rows, buildQueryFn)
}
func (c *C1File) getResourceObject(ctx context.Context, resourceID *v2.ResourceId, m *v2.Resource, syncID string) error {
@@ -360,13 +470,13 @@ func (c *C1File) getResourceObject(ctx context.Context, resourceID *v2.ResourceI
default:
var latestSyncRun *syncRun
var err error
- latestSyncRun, err = c.getFinishedSync(ctx, 0, SyncTypeFull)
+ latestSyncRun, err = c.getFinishedSync(ctx, 0, connectorstore.SyncTypeFull)
if err != nil {
return err
}
if latestSyncRun == nil {
- latestSyncRun, err = c.getLatestUnfinishedSync(ctx)
+ latestSyncRun, err = c.getLatestUnfinishedSync(ctx, connectorstore.SyncTypeAny)
if err != nil {
return err
}
@@ -420,13 +530,13 @@ func (c *C1File) getConnectorObject(ctx context.Context, tableName string, id st
default:
var latestSyncRun *syncRun
var err error
- latestSyncRun, err = c.getFinishedSync(ctx, 0, SyncTypeAny)
+ latestSyncRun, err = c.getFinishedSync(ctx, 0, connectorstore.SyncTypeAny)
if err != nil {
return fmt.Errorf("error getting finished sync: %w", err)
}
if latestSyncRun == nil {
- latestSyncRun, err = c.getLatestUnfinishedSync(ctx)
+ latestSyncRun, err = c.getLatestUnfinishedSync(ctx, connectorstore.SyncTypeAny)
if err != nil {
return fmt.Errorf("error getting latest unfinished sync: %w", err)
}
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/sync_runs.go b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/sync_runs.go
index cb32c0f9..08157f2f 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/sync_runs.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/dotc1z/sync_runs.go
@@ -6,6 +6,7 @@ import (
"errors"
"fmt"
"os"
+ "slices"
"strconv"
"time"
@@ -13,9 +14,12 @@ import (
"github.com/grpc-ecosystem/go-grpc-middleware/logging/zap/ctxzap"
"github.com/segmentio/ksuid"
"go.uber.org/zap"
+ "google.golang.org/grpc/codes"
+ "google.golang.org/grpc/status"
"google.golang.org/protobuf/types/known/timestamppb"
reader_v2 "github.com/conductorone/baton-sdk/pb/c1/reader/v2"
+ "github.com/conductorone/baton-sdk/pkg/connectorstore"
)
const syncRunsTableVersion = "1"
@@ -82,24 +86,16 @@ func (r *syncRunsTable) Migrations(ctx context.Context, db *goqu.Database) error
return nil
}
-type SyncType string
-
-const (
- SyncTypeFull SyncType = "full"
- SyncTypePartial SyncType = "partial"
- SyncTypeAny SyncType = ""
-)
-
type syncRun struct {
ID string
StartedAt *time.Time
EndedAt *time.Time
SyncToken string
- Type SyncType
+ Type connectorstore.SyncType
ParentSyncID string
}
-func (c *C1File) getLatestUnfinishedSync(ctx context.Context) (*syncRun, error) {
+func (c *C1File) getLatestUnfinishedSync(ctx context.Context, syncType connectorstore.SyncType) (*syncRun, error) {
ctx, span := tracer.Start(ctx, "C1File.getLatestUnfinishedSync")
defer span.End()
@@ -116,6 +112,9 @@ func (c *C1File) getLatestUnfinishedSync(ctx context.Context) (*syncRun, error)
q = q.Where(goqu.C("ended_at").IsNull())
q = q.Where(goqu.C("started_at").Gte(oneWeekAgo))
q = q.Order(goqu.C("started_at").Desc())
+ if syncType != connectorstore.SyncTypeAny {
+ q = q.Where(goqu.C("sync_type").Eq(syncType))
+ }
q = q.Limit(1)
query, args, err := q.ToSQL()
@@ -136,7 +135,7 @@ func (c *C1File) getLatestUnfinishedSync(ctx context.Context) (*syncRun, error)
return ret, nil
}
-func (c *C1File) getFinishedSync(ctx context.Context, offset uint, syncType SyncType) (*syncRun, error) {
+func (c *C1File) getFinishedSync(ctx context.Context, offset uint, syncType connectorstore.SyncType) (*syncRun, error) {
ctx, span := tracer.Start(ctx, "C1File.getFinishedSync")
defer span.End()
@@ -146,15 +145,15 @@ func (c *C1File) getFinishedSync(ctx context.Context, offset uint, syncType Sync
}
// Validate syncType
- if syncType != SyncTypeFull && syncType != SyncTypePartial && syncType != SyncTypeAny {
- return nil, fmt.Errorf("invalid sync type: %s", syncType)
+ if !slices.Contains(connectorstore.AllSyncTypes, syncType) {
+ return nil, status.Errorf(codes.InvalidArgument, "invalid sync type: %s", syncType)
}
ret := &syncRun{}
q := c.db.From(syncRuns.Name())
q = q.Select("sync_id", "started_at", "ended_at", "sync_token", "sync_type", "parent_sync_id")
q = q.Where(goqu.C("ended_at").IsNotNull())
- if syncType != SyncTypeAny {
+ if syncType != connectorstore.SyncTypeAny {
q = q.Where(goqu.C("sync_type").Eq(syncType))
}
q = q.Order(goqu.C("ended_at").Desc())
@@ -234,6 +233,9 @@ func (c *C1File) ListSyncRuns(ctx context.Context, pageToken string, pageSize ui
lastRow = rowId
ret = append(ret, data)
}
+ if rows.Err() != nil {
+ return nil, "", rows.Err()
+ }
nextPageToken := ""
if count > pageSize {
@@ -243,11 +245,11 @@ func (c *C1File) ListSyncRuns(ctx context.Context, pageToken string, pageSize ui
return ret, nextPageToken, nil
}
-func (c *C1File) LatestSyncID(ctx context.Context) (string, error) {
+func (c *C1File) LatestSyncID(ctx context.Context, syncType connectorstore.SyncType) (string, error) {
ctx, span := tracer.Start(ctx, "C1File.LatestSyncID")
defer span.End()
- s, err := c.getFinishedSync(ctx, 0, SyncTypeFull)
+ s, err := c.getFinishedSync(ctx, 0, syncType)
if err != nil {
return "", err
}
@@ -269,11 +271,11 @@ func (c *C1File) ViewSync(ctx context.Context, syncID string) error {
return nil
}
-func (c *C1File) PreviousSyncID(ctx context.Context) (string, error) {
+func (c *C1File) PreviousSyncID(ctx context.Context, syncType connectorstore.SyncType) (string, error) {
ctx, span := tracer.Start(ctx, "C1File.PreviousSyncID")
defer span.End()
- s, err := c.getFinishedSync(ctx, 1, SyncTypeFull)
+ s, err := c.getFinishedSync(ctx, 1, syncType)
if err != nil {
return "", err
}
@@ -285,11 +287,11 @@ func (c *C1File) PreviousSyncID(ctx context.Context) (string, error) {
return s.ID, nil
}
-func (c *C1File) LatestFinishedSync(ctx context.Context) (string, error) {
+func (c *C1File) LatestFinishedSyncID(ctx context.Context, syncType connectorstore.SyncType) (string, error) {
ctx, span := tracer.Start(ctx, "C1File.LatestFinishedSync")
defer span.End()
- s, err := c.getFinishedSync(ctx, 0, SyncTypeFull)
+ s, err := c.getFinishedSync(ctx, 0, syncType)
if err != nil {
return "", err
}
@@ -334,12 +336,25 @@ func (c *C1File) getCurrentSync(ctx context.Context) (*syncRun, error) {
defer span.End()
if c.currentSyncID == "" {
- return nil, fmt.Errorf("c1file: sync must be running to checkpoint")
+ return nil, fmt.Errorf("c1file: sync must be running to get current sync")
}
return c.getSync(ctx, c.currentSyncID)
}
+func (c *C1File) SetCurrentSync(ctx context.Context, syncID string) error {
+ ctx, span := tracer.Start(ctx, "C1File.SetCurrentSync")
+ defer span.End()
+
+ _, err := c.getSync(ctx, syncID)
+ if err != nil {
+ return err
+ }
+
+ c.currentSyncID = syncID
+ return nil
+}
+
func (c *C1File) CheckpointSync(ctx context.Context, syncToken string) error {
ctx, span := tracer.Start(ctx, "C1File.CheckpointSync")
defer span.End()
@@ -368,67 +383,122 @@ func (c *C1File) CheckpointSync(ctx context.Context, syncToken string) error {
return nil
}
-// StartSync generates a sync ID to be associated with all objects discovered during this run.
-func (c *C1File) StartSync(ctx context.Context) (string, bool, error) {
- ctx, span := tracer.Start(ctx, "C1File.StartSync")
+func (c *C1File) ResumeSync(ctx context.Context, syncType connectorstore.SyncType, syncID string) (string, error) {
+ ctx, span := tracer.Start(ctx, "C1File.ResumeSync")
defer span.End()
if c.currentSyncID != "" {
- return c.currentSyncID, false, nil
+ if syncID == c.currentSyncID {
+ return c.currentSyncID, nil
+ }
+ if syncID != "" {
+ return "", status.Errorf(codes.FailedPrecondition, "current sync is %s, cannot resume %s", c.currentSyncID, syncID)
+ }
}
- newSync := false
-
- sync, err := c.getLatestUnfinishedSync(ctx)
- if err != nil {
- return "", false, err
+ if syncID != "" {
+ syncRun, err := c.getSync(ctx, syncID)
+ if err != nil {
+ return "", err
+ }
+ if syncType != connectorstore.SyncTypeAny && syncRun.Type != syncType {
+ return "", status.Errorf(codes.FailedPrecondition, "cannot resume sync (%s) when a different sync type (%s) is running", syncRun.Type, syncType)
+ }
+ if syncRun.EndedAt != nil {
+ return "", status.Errorf(codes.FailedPrecondition, "cannot resume sync that has already ended")
+ }
+ c.currentSyncID = syncID
+ return c.currentSyncID, nil
}
- var syncID string
- if sync != nil && sync.EndedAt == nil {
- syncID = sync.ID
- } else {
- syncID, err = c.StartNewSync(ctx)
+ if c.currentSyncID != "" {
+ syncRun, err := c.getSync(ctx, c.currentSyncID)
if err != nil {
- return "", false, err
+ return "", err
+ }
+ if syncType != connectorstore.SyncTypeAny && syncRun.Type != syncType {
+ return "", status.Errorf(codes.FailedPrecondition, "cannot resume sync. current sync %s is type %s, cannot resume as type %s", syncRun.ID, syncRun.Type, syncType)
+ }
+ if syncRun.EndedAt != nil {
+ return "", status.Errorf(codes.Internal, "current sync %s has already ended. this should never happen", syncRun.ID)
}
- newSync = true
+
+ return c.currentSyncID, nil
}
- c.currentSyncID = syncID
+ syncRun, err := c.getLatestUnfinishedSync(ctx, syncType)
+ if err != nil {
+ return "", err
+ }
+ if syncRun == nil {
+ return "", status.Errorf(codes.NotFound, "no unfinished sync found for type %s", syncType)
+ }
- return c.currentSyncID, newSync, nil
+ c.currentSyncID = syncRun.ID
+ return c.currentSyncID, nil
}
-func (c *C1File) StartNewSync(ctx context.Context) (string, error) {
- ctx, span := tracer.Start(ctx, "C1File.StartNewSync")
+// StartOrResumeSync checks if a sync is already running and resumes it if it is.
+// If no sync is running, it starts a new sync.
+// It returns the sync ID and a boolean indicating if a new sync was started.
+func (c *C1File) StartOrResumeSync(ctx context.Context, syncType connectorstore.SyncType, syncID string) (string, bool, error) {
+ ctx, span := tracer.Start(ctx, "C1File.StartOrResumeSync")
defer span.End()
- return c.startNewSyncInternal(ctx, SyncTypeFull, "")
-}
+ resumedSyncID, err := c.ResumeSync(ctx, syncType, syncID)
+ if err != nil {
+ if status.Code(err) != codes.NotFound && !errors.Is(err, sql.ErrNoRows) {
+ return "", false, err
+ }
+ } else {
+ return resumedSyncID, false, nil
+ }
-func (c *C1File) StartNewSyncV2(ctx context.Context, syncType string, parentSyncID string) (string, error) {
- ctx, span := tracer.Start(ctx, "C1File.StartNewSyncV2")
- defer span.End()
+ if syncID != "" {
+ return "", false, status.Errorf(codes.NotFound, "no sync with id %s found to resume", syncID)
+ }
- var syncTypeEnum SyncType
- switch syncType {
- case "full":
- syncTypeEnum = SyncTypeFull
- case "partial":
- syncTypeEnum = SyncTypePartial
- default:
- return "", fmt.Errorf("invalid sync type: %s", syncType)
+ syncID, err = c.StartNewSync(ctx, syncType, "")
+ if err != nil {
+ return "", false, err
}
- return c.startNewSyncInternal(ctx, syncTypeEnum, parentSyncID)
+
+ c.currentSyncID = syncID
+
+ return c.currentSyncID, true, nil
}
-func (c *C1File) startNewSyncInternal(ctx context.Context, syncType SyncType, parentSyncID string) (string, error) {
- // Not sure if we want to do this here
+func (c *C1File) StartNewSync(ctx context.Context, syncType connectorstore.SyncType, parentSyncID string) (string, error) {
+ ctx, span := tracer.Start(ctx, "C1File.StartNewSync")
+ defer span.End()
+
if c.currentSyncID != "" {
+ cur, err := c.getSync(ctx, c.currentSyncID)
+ if err != nil {
+ return "", err
+ }
+ if cur != nil && cur.EndedAt == nil && cur.Type != syncType {
+ return "", status.Errorf(codes.FailedPrecondition, "current sync (id %s) is type %s. cannot start %s", cur.ID, cur.Type, syncType)
+ }
return c.currentSyncID, nil
}
+ switch syncType {
+ case connectorstore.SyncTypeFull:
+ if parentSyncID != "" {
+ return "", status.Errorf(codes.InvalidArgument, "parent sync id must be empty for full sync")
+ }
+ case connectorstore.SyncTypeResourcesOnly:
+ if parentSyncID != "" {
+ return "", status.Errorf(codes.InvalidArgument, "parent sync id must be empty for resources only sync")
+ }
+ case connectorstore.SyncTypePartial:
+ case connectorstore.SyncTypeAny:
+ return "", status.Errorf(codes.InvalidArgument, "sync cannot be started with SyncTypeAny")
+ default:
+ return "", status.Errorf(codes.InvalidArgument, "invalid sync type: %s", syncType)
+ }
+
syncID := ksuid.New().String()
if err := c.insertSyncRun(ctx, syncID, syncType, parentSyncID); err != nil {
@@ -440,7 +510,7 @@ func (c *C1File) startNewSyncInternal(ctx context.Context, syncType SyncType, pa
return c.currentSyncID, nil
}
-func (c *C1File) insertSyncRun(ctx context.Context, syncID string, syncType SyncType, parentSyncID string) error {
+func (c *C1File) insertSyncRun(ctx context.Context, syncID string, syncType connectorstore.SyncType, parentSyncID string) error {
q := c.db.Insert(syncRuns.Name())
q = q.Rows(goqu.Record{
"sync_id": syncID,
@@ -551,7 +621,7 @@ func (c *C1File) Cleanup(ctx context.Context) error {
if sr.EndedAt == nil {
continue
}
- if sr.Type == SyncTypePartial {
+ if sr.Type == connectorstore.SyncTypePartial || sr.Type == connectorstore.SyncTypeResourcesOnly {
partials = append(partials, sr)
} else {
ret = append(ret, sr)
@@ -583,7 +653,7 @@ func (c *C1File) Cleanup(ctx context.Context) error {
l.Info("Removed old sync data.", zap.String("sync_date", ret[i].EndedAt.Format(time.RFC3339)), zap.String("sync_id", ret[i].ID))
}
- // Delete partial syncs that ended before the earliest-kept sync started
+ // Delete non-full syncs that ended before the earliest-kept full sync started
if len(ret) > syncLimit {
earliestKeptSync := ret[len(ret)-syncLimit]
l.Debug("Earliest kept sync", zap.String("sync_id", earliestKeptSync.ID), zap.Time("started_at", *earliestKeptSync.StartedAt))
@@ -725,12 +795,7 @@ func (c *C1File) GetLatestFinishedSync(ctx context.Context, request *reader_v2.S
ctx, span := tracer.Start(ctx, "C1File.GetLatestFinishedSync")
defer span.End()
- syncType := request.SyncType
- if syncType == "" {
- syncType = string(SyncTypeFull)
- }
-
- sync, err := c.getFinishedSync(ctx, 0, SyncType(syncType))
+ sync, err := c.getFinishedSync(ctx, 0, connectorstore.SyncType(request.SyncType))
if err != nil {
return nil, fmt.Errorf("error fetching latest finished sync: %w", err)
}
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/http.go b/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/http.go
index 12fe545f..2e6e3a41 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/http.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/http.go
@@ -104,7 +104,7 @@ func ExtractRateLimitData(statusCode int, header *http.Header) (*v2.RateLimitDes
if resetAtStr != "" {
resetAt, err = parseTime(resetAtStr)
if err != nil {
- return nil, err
+ continue
}
break
}
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/mem_ratelimiter.go b/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/mem_ratelimiter.go
index 9aa60cb5..ec27d7f2 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/mem_ratelimiter.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/ratelimit/mem_ratelimiter.go
@@ -6,7 +6,6 @@ import (
"time"
ratelimitV1 "github.com/conductorone/baton-sdk/pb/c1/ratelimit/v1"
- v1 "github.com/conductorone/baton-sdk/pb/c1/ratelimit/v1"
"github.com/grpc-ecosystem/go-grpc-middleware/logging/zap/ctxzap"
rl "go.uber.org/ratelimit"
"go.uber.org/zap"
@@ -22,20 +21,20 @@ type MemRateLimiter struct {
// TODO
func (m *MemRateLimiter) Do(ctx context.Context, req *ratelimitV1.DoRequest) (*ratelimitV1.DoResponse, error) {
if m.limiter == nil {
- return &v1.DoResponse{
+ return &ratelimitV1.DoResponse{
RequestToken: req.RequestToken,
- Description: &v1.RateLimitDescription{
- Status: v1.RateLimitDescription_STATUS_EMPTY,
+ Description: &ratelimitV1.RateLimitDescription{
+ Status: ratelimitV1.RateLimitDescription_STATUS_EMPTY,
},
}, nil
}
m.limiter.Take()
- return &v1.DoResponse{
+ return &ratelimitV1.DoResponse{
RequestToken: req.RequestToken,
- Description: &v1.RateLimitDescription{
- Status: v1.RateLimitDescription_STATUS_EMPTY,
+ Description: &ratelimitV1.RateLimitDescription{
+ Status: ratelimitV1.RateLimitDescription_STATUS_EMPTY,
},
}, nil
}
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/sdk/empty_connector.go b/vendor/github.com/conductorone/baton-sdk/pkg/sdk/empty_connector.go
index 19b7dd35..2667bbab 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/sdk/empty_connector.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/sdk/empty_connector.go
@@ -4,71 +4,162 @@ import (
"context"
v2 "github.com/conductorone/baton-sdk/pb/c1/connector/v2"
+ "google.golang.org/grpc"
+ "google.golang.org/grpc/codes"
+ "google.golang.org/grpc/status"
)
type emptyConnector struct{}
// GetAsset gets an asset.
-func (n *emptyConnector) GetAsset(request *v2.AssetServiceGetAssetRequest, server v2.AssetService_GetAssetServer) error {
- err := server.Send(&v2.AssetServiceGetAssetResponse{
- Msg: &v2.AssetServiceGetAssetResponse_Metadata_{
- Metadata: &v2.AssetServiceGetAssetResponse_Metadata{ContentType: "application/example"},
- },
- })
- if err != nil {
- return err
- }
-
- err = server.Send(&v2.AssetServiceGetAssetResponse{
- Msg: &v2.AssetServiceGetAssetResponse_Data_{
- Data: &v2.AssetServiceGetAssetResponse_Data{Data: nil},
- },
- })
- if err != nil {
- return err
- }
-
- return nil
+func (n *emptyConnector) GetAsset(_ context.Context, request *v2.AssetServiceGetAssetRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[v2.AssetServiceGetAssetResponse], error) {
+ return nil, status.Errorf(codes.NotFound, "empty connector")
}
// ListResourceTypes returns a list of resource types.
-func (n *emptyConnector) ListResourceTypes(ctx context.Context, request *v2.ResourceTypesServiceListResourceTypesRequest) (*v2.ResourceTypesServiceListResourceTypesResponse, error) {
+func (n *emptyConnector) ListResourceTypes(
+ ctx context.Context,
+ request *v2.ResourceTypesServiceListResourceTypesRequest,
+ opts ...grpc.CallOption,
+) (*v2.ResourceTypesServiceListResourceTypesResponse, error) {
return &v2.ResourceTypesServiceListResourceTypesResponse{
List: []*v2.ResourceType{},
}, nil
}
// ListResources returns a list of resources.
-func (n *emptyConnector) ListResources(ctx context.Context, request *v2.ResourcesServiceListResourcesRequest) (*v2.ResourcesServiceListResourcesResponse, error) {
+func (n *emptyConnector) ListResources(ctx context.Context, request *v2.ResourcesServiceListResourcesRequest, opts ...grpc.CallOption) (*v2.ResourcesServiceListResourcesResponse, error) {
return &v2.ResourcesServiceListResourcesResponse{
List: []*v2.Resource{},
}, nil
}
+func (n *emptyConnector) GetResource(
+ ctx context.Context,
+ request *v2.ResourceGetterServiceGetResourceRequest,
+ opts ...grpc.CallOption,
+) (*v2.ResourceGetterServiceGetResourceResponse, error) {
+ return nil, status.Errorf(codes.NotFound, "empty connector")
+}
+
// ListEntitlements returns a list of entitlements.
-func (n *emptyConnector) ListEntitlements(ctx context.Context, request *v2.EntitlementsServiceListEntitlementsRequest) (*v2.EntitlementsServiceListEntitlementsResponse, error) {
+func (n *emptyConnector) ListEntitlements(
+ ctx context.Context,
+ request *v2.EntitlementsServiceListEntitlementsRequest,
+ opts ...grpc.CallOption,
+) (*v2.EntitlementsServiceListEntitlementsResponse, error) {
return &v2.EntitlementsServiceListEntitlementsResponse{
List: []*v2.Entitlement{},
}, nil
}
// ListGrants returns a list of grants.
-func (n *emptyConnector) ListGrants(ctx context.Context, request *v2.GrantsServiceListGrantsRequest) (*v2.GrantsServiceListGrantsResponse, error) {
+func (n *emptyConnector) ListGrants(ctx context.Context, request *v2.GrantsServiceListGrantsRequest, opts ...grpc.CallOption) (*v2.GrantsServiceListGrantsResponse, error) {
return &v2.GrantsServiceListGrantsResponse{
List: []*v2.Grant{},
}, nil
}
+func (n *emptyConnector) Grant(ctx context.Context, request *v2.GrantManagerServiceGrantRequest, opts ...grpc.CallOption) (*v2.GrantManagerServiceGrantResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "empty connector")
+}
+
+func (n *emptyConnector) Revoke(ctx context.Context, request *v2.GrantManagerServiceRevokeRequest, opts ...grpc.CallOption) (*v2.GrantManagerServiceRevokeResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "empty connector")
+}
+
// GetMetadata returns a connector metadata.
-func (n *emptyConnector) GetMetadata(ctx context.Context, request *v2.ConnectorServiceGetMetadataRequest) (*v2.ConnectorServiceGetMetadataResponse, error) {
+func (n *emptyConnector) GetMetadata(ctx context.Context, request *v2.ConnectorServiceGetMetadataRequest, opts ...grpc.CallOption) (*v2.ConnectorServiceGetMetadataResponse, error) {
return &v2.ConnectorServiceGetMetadataResponse{Metadata: &v2.ConnectorMetadata{}}, nil
}
// Validate is called by the connector framework to validate the correct response.
-func (n *emptyConnector) Validate(ctx context.Context, request *v2.ConnectorServiceValidateRequest) (*v2.ConnectorServiceValidateResponse, error) {
+func (n *emptyConnector) Validate(ctx context.Context, request *v2.ConnectorServiceValidateRequest, opts ...grpc.CallOption) (*v2.ConnectorServiceValidateResponse, error) {
return &v2.ConnectorServiceValidateResponse{}, nil
}
+func (n *emptyConnector) BulkCreateTickets(ctx context.Context, request *v2.TicketsServiceBulkCreateTicketsRequest, opts ...grpc.CallOption) (*v2.TicketsServiceBulkCreateTicketsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "empty connector")
+}
+
+func (n *emptyConnector) BulkGetTickets(ctx context.Context, request *v2.TicketsServiceBulkGetTicketsRequest, opts ...grpc.CallOption) (*v2.TicketsServiceBulkGetTicketsResponse, error) {
+ return &v2.TicketsServiceBulkGetTicketsResponse{
+ Tickets: []*v2.TicketsServiceGetTicketResponse{},
+ }, nil
+}
+
+func (n *emptyConnector) CreateTicket(ctx context.Context, request *v2.TicketsServiceCreateTicketRequest, opts ...grpc.CallOption) (*v2.TicketsServiceCreateTicketResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "empty connector")
+}
+
+func (n *emptyConnector) GetTicket(ctx context.Context, request *v2.TicketsServiceGetTicketRequest, opts ...grpc.CallOption) (*v2.TicketsServiceGetTicketResponse, error) {
+ return nil, status.Errorf(codes.NotFound, "empty connector")
+}
+
+func (n *emptyConnector) ListTicketSchemas(ctx context.Context, request *v2.TicketsServiceListTicketSchemasRequest, opts ...grpc.CallOption) (*v2.TicketsServiceListTicketSchemasResponse, error) {
+ return &v2.TicketsServiceListTicketSchemasResponse{
+ List: []*v2.TicketSchema{},
+ }, nil
+}
+
+func (n *emptyConnector) GetTicketSchema(ctx context.Context, request *v2.TicketsServiceGetTicketSchemaRequest, opts ...grpc.CallOption) (*v2.TicketsServiceGetTicketSchemaResponse, error) {
+ return nil, status.Errorf(codes.NotFound, "empty connector")
+}
+
+func (n *emptyConnector) Cleanup(ctx context.Context, request *v2.ConnectorServiceCleanupRequest, opts ...grpc.CallOption) (*v2.ConnectorServiceCleanupResponse, error) {
+ return &v2.ConnectorServiceCleanupResponse{}, nil
+}
+
+func (n *emptyConnector) CreateAccount(ctx context.Context, request *v2.CreateAccountRequest, opts ...grpc.CallOption) (*v2.CreateAccountResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "empty connector")
+}
+
+func (n *emptyConnector) RotateCredential(ctx context.Context, request *v2.RotateCredentialRequest, opts ...grpc.CallOption) (*v2.RotateCredentialResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "empty connector")
+}
+
+func (n *emptyConnector) CreateResource(ctx context.Context, request *v2.CreateResourceRequest, opts ...grpc.CallOption) (*v2.CreateResourceResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "empty connector")
+}
+
+func (n *emptyConnector) DeleteResource(ctx context.Context, request *v2.DeleteResourceRequest, opts ...grpc.CallOption) (*v2.DeleteResourceResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "empty connector")
+}
+
+func (n *emptyConnector) DeleteResourceV2(ctx context.Context, request *v2.DeleteResourceV2Request, opts ...grpc.CallOption) (*v2.DeleteResourceV2Response, error) {
+ return nil, status.Errorf(codes.Unimplemented, "empty connector")
+}
+
+func (n *emptyConnector) GetActionSchema(ctx context.Context, request *v2.GetActionSchemaRequest, opts ...grpc.CallOption) (*v2.GetActionSchemaResponse, error) {
+ return nil, status.Errorf(codes.NotFound, "empty connector")
+}
+
+func (n *emptyConnector) GetActionStatus(ctx context.Context, request *v2.GetActionStatusRequest, opts ...grpc.CallOption) (*v2.GetActionStatusResponse, error) {
+ return nil, status.Errorf(codes.NotFound, "empty connector")
+}
+
+func (n *emptyConnector) InvokeAction(ctx context.Context, request *v2.InvokeActionRequest, opts ...grpc.CallOption) (*v2.InvokeActionResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "empty connector")
+}
+
+func (n *emptyConnector) ListActionSchemas(ctx context.Context, request *v2.ListActionSchemasRequest, opts ...grpc.CallOption) (*v2.ListActionSchemasResponse, error) {
+ return &v2.ListActionSchemasResponse{
+ Schemas: []*v2.BatonActionSchema{},
+ }, nil
+}
+
+func (n *emptyConnector) ListEvents(ctx context.Context, request *v2.ListEventsRequest, opts ...grpc.CallOption) (*v2.ListEventsResponse, error) {
+ return &v2.ListEventsResponse{
+ Events: []*v2.Event{},
+ }, nil
+}
+
+func (n *emptyConnector) ListEventFeeds(ctx context.Context, request *v2.ListEventFeedsRequest, opts ...grpc.CallOption) (*v2.ListEventFeedsResponse, error) {
+ return &v2.ListEventFeedsResponse{
+ List: []*v2.EventFeedMetadata{},
+ }, nil
+}
+
// NewEmptyConnector returns a new emptyConnector.
func NewEmptyConnector() (*emptyConnector, error) {
return &emptyConnector{}, nil
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/sdk/version.go b/vendor/github.com/conductorone/baton-sdk/pkg/sdk/version.go
index 2def28c9..d2252026 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/sdk/version.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/sdk/version.go
@@ -1,3 +1,3 @@
package sdk
-const Version = "v0.3.1"
+const Version = "v0.3.58"
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/dbcache.go b/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/dbcache.go
index 9fb32424..459990df 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/dbcache.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/dbcache.go
@@ -192,7 +192,7 @@ func (d *DBCache) removeDB(ctx context.Context) error {
// Get returns cached response (if exists).
func (d *DBCache) Get(req *http.Request) (*http.Response, error) {
var (
- isFound bool = false
+ isFound = false
resp *http.Response
)
key, err := CreateCacheKey(req)
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/transport.go b/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/transport.go
index d4e42176..cae9b483 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/transport.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/transport.go
@@ -142,6 +142,7 @@ func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) {
zap.String("http.method", req.Method),
zap.String("http.url_details.host", req.URL.Host),
zap.String("http.url_details.path", req.URL.Path),
+ zap.String("http.url_details.query", req.URL.RawQuery),
)
}
resp, err := rt.RoundTrip(req)
@@ -149,6 +150,7 @@ func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) {
fields := []zap.Field{zap.String("http.method", req.Method),
zap.String("http.url_details.host", req.URL.Host),
zap.String("http.url_details.path", req.URL.Path),
+ zap.String("http.url_details.query", req.URL.RawQuery),
}
if err != nil {
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/wrapper.go b/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/wrapper.go
index 0471edb7..0073f1c1 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/wrapper.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/uhttp/wrapper.go
@@ -11,6 +11,7 @@ import (
"net/http"
"net/url"
"os"
+ "strings"
"syscall"
"time"
@@ -133,7 +134,7 @@ func NewBaseHttpClientWithContext(ctx context.Context, httpClient *http.Client,
// WithJSONResponse is a wrapper that marshals the returned response body into
// the provided shape. If the API should return an empty JSON body (i.e. HTTP
// status code 204 No Content), then pass a `nil` to `response`.
-func WithJSONResponse(response interface{}) DoOption {
+func WithJSONResponse(response any) DoOption {
return func(resp *WrapperResponse) error {
contentHeader := resp.Header.Get(ContentType)
@@ -157,7 +158,7 @@ func WithJSONResponse(response interface{}) DoOption {
}
// Ignore content type header and always try to parse the response as JSON.
-func WithAlwaysJSONResponse(response interface{}) DoOption {
+func WithAlwaysJSONResponse(response any) DoOption {
return func(resp *WrapperResponse) error {
if response == nil && len(resp.Body) == 0 {
return nil
@@ -171,6 +172,36 @@ func WithAlwaysJSONResponse(response interface{}) DoOption {
}
}
+func WithXMLResponse(response any) DoOption {
+ return func(resp *WrapperResponse) error {
+ if !IsXMLContentType(resp.Header.Get(ContentType)) {
+ return fmt.Errorf("unexpected content type for xml response: %s", resp.Header.Get(ContentType))
+ }
+ if response == nil && len(resp.Body) == 0 {
+ return nil
+ }
+ err := xml.Unmarshal(resp.Body, response)
+ if err != nil {
+ return fmt.Errorf("failed to unmarshal xml response: %w. status code: %d", err, resp.StatusCode)
+ }
+ return nil
+ }
+}
+
+// Ignore content type header and always try to parse the response as XML.
+func WithAlwaysXMLResponse(response any) DoOption {
+ return func(resp *WrapperResponse) error {
+ if response == nil && len(resp.Body) == 0 {
+ return nil
+ }
+ err := xml.Unmarshal(resp.Body, response)
+ if err != nil {
+ return fmt.Errorf("failed to unmarshal xml response: %w. status code: %d", err, resp.StatusCode)
+ }
+ return nil
+ }
+}
+
type ErrorResponse interface {
Message() string
}
@@ -185,13 +216,13 @@ func WithErrorResponse(resource ErrorResponse) DoOption {
if !IsJSONContentType(contentHeader) {
// to print the response, set the envvar BATON_DEBUG_PRINT_RESPONSE_BODY as non-empty, instead
- return fmt.Errorf("unexpected content type for JSON error response: %s. status code: %d", contentHeader, resp.StatusCode)
+ return fmt.Errorf("unexpected content type for JSON error response: %s. status code: %d. body: %s", contentHeader, resp.StatusCode, string(resp.Body))
}
// Decode the JSON response body into the ErrorResponse
if err := json.Unmarshal(resp.Body, &resource); err != nil {
// to print the response, set the envvar BATON_DEBUG_PRINT_RESPONSE_BODY as non-empty, instead
- return fmt.Errorf("failed to unmarshal JSON error response: %w. status code: %d", err, resp.StatusCode)
+ return fmt.Errorf("failed to unmarshal JSON error response: %w. status code: %d. body: %s", err, resp.StatusCode, string(resp.Body))
}
// Construct a more detailed error message
@@ -220,32 +251,65 @@ func WithRatelimitData(resource *v2.RateLimitDescription) DoOption {
}
}
-func WithXMLResponse(response interface{}) DoOption {
+func WithResponse(response any) DoOption {
return func(resp *WrapperResponse) error {
- if !IsXMLContentType(resp.Header.Get(ContentType)) {
- return fmt.Errorf("unexpected content type for xml response: %s", resp.Header.Get(ContentType))
- }
- if response == nil && len(resp.Body) == 0 {
- return nil
+ if IsJSONContentType(resp.Header.Get(ContentType)) {
+ return WithJSONResponse(response)(resp)
}
- err := xml.Unmarshal(resp.Body, response)
- if err != nil {
- return fmt.Errorf("failed to unmarshal xml response: %w. body %v", err, resp.Body)
+ if IsXMLContentType(resp.Header.Get(ContentType)) {
+ return WithXMLResponse(response)(resp)
}
- return nil
+
+ return status.Error(codes.Unknown, "unsupported content type")
}
}
-func WithResponse(response interface{}) DoOption {
+// Handle anything that can be marshaled into JSON or XML.
+// If the response is a list, its values will be put into the "items" field.
+func WithGenericResponse(response *map[string]any) DoOption {
return func(resp *WrapperResponse) error {
+ if response == nil {
+ return status.Error(codes.InvalidArgument, "response is nil")
+ }
+
+ if resp.StatusCode == http.StatusNoContent {
+ return nil
+ }
+
+ var v any
+ var err error
+
if IsJSONContentType(resp.Header.Get(ContentType)) {
- return WithJSONResponse(response)(resp)
+ err = WithJSONResponse(&v)(resp)
+ if err != nil {
+ return err
+ }
+ if list, ok := v.([]any); ok {
+ (*response)["items"] = list
+ } else if vMap, ok := v.(map[string]any); ok {
+ *response = vMap
+ } else {
+ return status.Errorf(codes.Internal, "unsupported content type: %T", v)
+ }
+ return nil
}
+
if IsXMLContentType(resp.Header.Get(ContentType)) {
- return WithXMLResponse(response)(resp)
+ err = WithXMLResponse(response)(resp)
+ if err != nil {
+ return err
+ }
+ if list, ok := v.([]any); ok {
+ (*response)["items"] = list
+ } else if vMap, ok := v.(map[string]any); ok {
+ *response = vMap
+ } else {
+ return status.Errorf(codes.Internal, "unsupported content type: %T", v)
+ }
+ return nil
}
- return status.Error(codes.Unknown, "unsupported content type")
+ return status.Error(codes.Unknown, fmt.Sprintf("unsupported content type: %s", resp.Header.Get(ContentType)))
}
}
@@ -289,7 +353,7 @@ func (c *BaseHttpClient) Do(req *http.Request, options ...DoOption) (*http.Respo
c.rateLimiter.Take()
}
- if req.Method == http.MethodGet {
+ if req.Method == http.MethodGet && req.Header.Get("Cache-Control") != "no-cache" {
resp, err = c.baseHttpCache.Get(req)
if err != nil {
return nil, err
@@ -304,6 +368,14 @@ func (c *BaseHttpClient) Do(req *http.Request, options ...DoOption) (*http.Respo
if resp == nil {
resp, err = c.HttpClient.Do(req)
if err != nil {
+ l.Error("base-http-client: HTTP error response", zap.Error(err))
+ // Turn certain network errors into grpc statuses so we retry
+ if errors.Is(err, io.ErrUnexpectedEOF) {
+ return resp, WrapErrors(codes.Unavailable, "unexpected EOF", err)
+ }
+ if errors.Is(err, syscall.ECONNRESET) {
+ return nil, WrapErrors(codes.Unavailable, "connection reset", err)
+ }
var urlErr *url.Error
if errors.As(err, &urlErr) {
if urlErr.Timeout() {
@@ -359,10 +431,20 @@ func (c *BaseHttpClient) Do(req *http.Request, options ...DoOption) (*http.Respo
}
}
+ // Log response headers directly for certain errors
+ if resp.StatusCode >= 400 {
+ redactedHeaders := redactHeaders(resp.Header)
+ l.Error("base-http-client: HTTP error status",
+ zap.Int("status_code", resp.StatusCode),
+ zap.String("status", resp.Status),
+ zap.Any("headers", redactedHeaders),
+ )
+ }
+
switch resp.StatusCode {
case http.StatusRequestTimeout:
return resp, WrapErrorsWithRateLimitInfo(codes.DeadlineExceeded, resp, optErrs...)
- case http.StatusTooManyRequests, http.StatusBadGateway, http.StatusServiceUnavailable:
+ case http.StatusTooManyRequests, http.StatusBadGateway, http.StatusServiceUnavailable, http.StatusGatewayTimeout:
return resp, WrapErrorsWithRateLimitInfo(codes.Unavailable, resp, optErrs...)
case http.StatusNotFound:
return resp, WrapErrorsWithRateLimitInfo(codes.NotFound, resp, optErrs...)
@@ -394,6 +476,19 @@ func (c *BaseHttpClient) Do(req *http.Request, options ...DoOption) (*http.Respo
return resp, errors.Join(optErrs...)
}
+func redactHeaders(h http.Header) http.Header {
+ safe := make(http.Header, len(h))
+ for k, v := range h {
+ switch strings.ToLower(k) {
+ case "authorization", "set-cookie", "cookie":
+ safe[k] = []string{"REDACTED"}
+ default:
+ safe[k] = v
+ }
+ }
+ return safe
+}
+
func WithHeader(key, value string) RequestOption {
return func() (io.ReadWriter, map[string]string, error) {
return nil, map[string]string{
@@ -402,13 +497,21 @@ func WithHeader(key, value string) RequestOption {
}
}
+func WithNoCache() RequestOption {
+ return func() (io.ReadWriter, map[string]string, error) {
+ return nil, map[string]string{
+ "Cache-Control": "no-cache",
+ }, nil
+ }
+}
+
func WithBody(body []byte) RequestOption {
return func() (io.ReadWriter, map[string]string, error) {
return bytes.NewBuffer(body), nil, nil
}
}
-func WithJSONBody(body interface{}) RequestOption {
+func WithJSONBody(body any) RequestOption {
return func() (io.ReadWriter, map[string]string, error) {
buffer := new(bytes.Buffer)
err := json.NewEncoder(buffer).Encode(body)
@@ -442,7 +545,7 @@ func WithFormBody(body string) RequestOption {
}
}
-func WithXMLBody(body interface{}) RequestOption {
+func WithXMLBody(body any) RequestOption {
return func() (io.ReadWriter, map[string]string, error) {
var buffer bytes.Buffer
@@ -502,7 +605,7 @@ func WithBearerToken(token string) RequestOption {
func (c *BaseHttpClient) NewRequest(ctx context.Context, method string, url *url.URL, options ...RequestOption) (*http.Request, error) {
var buffer io.ReadWriter
- var headers map[string]string = make(map[string]string)
+ var headers = make(map[string]string)
for _, option := range options {
buf, h, err := option()
if err != nil {
diff --git a/vendor/github.com/conductorone/baton-sdk/pkg/us3/s3.go b/vendor/github.com/conductorone/baton-sdk/pkg/us3/s3.go
index 2f9f05c2..4f699815 100644
--- a/vendor/github.com/conductorone/baton-sdk/pkg/us3/s3.go
+++ b/vendor/github.com/conductorone/baton-sdk/pkg/us3/s3.go
@@ -15,7 +15,6 @@ import (
awsSdk "github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/aws/arn"
- _ "github.com/aws/aws-sdk-go-v2/aws/arn"
awsConfig "github.com/aws/aws-sdk-go-v2/config"
"github.com/aws/aws-sdk-go-v2/credentials"
"github.com/aws/aws-sdk-go-v2/credentials/stscreds"
diff --git a/vendor/github.com/ennyjfrick/ruleguard-logfatal/.gitignore b/vendor/github.com/ennyjfrick/ruleguard-logfatal/.gitignore
new file mode 100644
index 00000000..64ae7f3f
--- /dev/null
+++ b/vendor/github.com/ennyjfrick/ruleguard-logfatal/.gitignore
@@ -0,0 +1,25 @@
+# If you prefer the allow list template instead of the deny list, see community template:
+# https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore
+#
+# Binaries for programs and plugins
+*.exe
+*.exe~
+*.dll
+*.so
+*.dylib
+
+# Test binary, built with `go test -c`
+*.test
+
+# Output of the go coverage tool, specifically when used with LiteIDE
+*.out
+
+# Dependency directories (remove the comment below to include it)
+# vendor/
+
+# Go workspace file
+go.work
+go.work.sum
+
+# env file
+.env
\ No newline at end of file
diff --git a/vendor/github.com/ennyjfrick/ruleguard-logfatal/LICENSE b/vendor/github.com/ennyjfrick/ruleguard-logfatal/LICENSE
new file mode 100644
index 00000000..df02e430
--- /dev/null
+++ b/vendor/github.com/ennyjfrick/ruleguard-logfatal/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2025 Enny J. Frick
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/vendor/github.com/ennyjfrick/ruleguard-logfatal/README.md b/vendor/github.com/ennyjfrick/ruleguard-logfatal/README.md
new file mode 100644
index 00000000..6956f5b1
--- /dev/null
+++ b/vendor/github.com/ennyjfrick/ruleguard-logfatal/README.md
@@ -0,0 +1,96 @@
+# `ruleguard-logfatal`: A `ruleguard` bundle for better log hygiene
+
+`ruleguard-logfatal` is a [`ruleguard`](https://github.com/quasilyte/go-ruleguard) bundle that enforces the absence of logging at `Fatal` or `Panic` levels in a codebase.
+
+It supports most well-known logging libraries with a `Fatal` and/or `Panic` level, including [`zap`](https://github.com/uber-go/zap), [`logrus`](https://github.com/sirupsen/logrus), [`zerolog`](https://github.com/rs/zerolog), and the standard library's [`log`](https://pkg.go.dev/log) package. If you're not using one of these libraries, it should still work just fine if your library has an API similar to any of the above; you can look at the custom logger interface in [`_example/examples.go`](./_example/example.go) as an example.
+
+## Motivation
+
+Quite simply: _it is better to propagate errors so they can be handled rather than crash an application_.
+
+Errors should be propagated and handled accordingly, rather than cause an application to crash; using `Fatal` makes it too easy to be haphazard about failure modes. It is _especially_ important to be considerate of error handling in library; no one wants their application to crash because a dependency decided to call `os.Exit(1)`! Logging at `Panic` is slightly better due to `recover`, but suffers from the same problem: if you don't know it exists in your dependency, you won't know to use `recover`.
+
+## Usage
+
+### Installation
+
+Install `ruleguard-logfatal` like you would any other `ruleguard` bundle:
+1. If you're not using `golangci-lint`, then [get `ruleguard` first](https://github.com/quasilyte/go-ruleguard?tab=readme-ov-file#quick-start)
+2. `go get -u github.com/ennyjfrick/ruleguard-logfatal@latest`
+3. Create a `rules.go` with the following content somewhere in your project directory:
+```go
+//go:build ruleguard
+// +build ruleguard
+
+package gorules
+
+import (
+ "github.com/quasilyte/go-ruleguard/dsl"
+
+ logfatalrules "github.com/ennyjfrick/ruleguard-logfatal"
+)
+
+func init() {
+ dsl.ImportRules("logfatal", logfatalrules.Bundle)
+}
+```
+4. If you're using `ruleguard` as a standalone tool, just point it at your new `rules.go` file:
+```shell
+$ ruleguard -rules /path/to/rules.go ./...
+```
+5. Otherwise, if you're using `ruleguard` through `golangci-lint`, add the following to your `.golangci.yml`:
+```yaml
+linters:
+ enable:
+ - gocritic
+linters-settings:
+ gocritic:
+ enabled-checks:
+ - ruleguard
+ settings:
+ ruleguard:
+ rules: "rules.go"
+```
+
+### Customization
+
+As a `ruleguard` bundle, `ruleguard-logfatal` uses the parent `ruleguard` configuration.
+
+#### Disabling or Enabling Rule Groups
+
+`ruleguard-logfatal` has the following two rule groups:
+- `noFatal`: checks for logging at the `Fatal` level
+- `noPanic`: checks for logging at the `Panic` level
+
+To enable or disable a group, simply pass the prefix you set in the `dsl.ImportRules` call plus the group name to the appropriate `ruleguard` flags. For example, to disable `noPanic`:
+```shell
+# using ruleguard as a standalone tool
+$ ruleguard -rules rules.go -disable logfatal/noPanic . # to disable the check for logging at `Panic`
+# alternatively: ruleguard -rules rules.go -enable logfatal/noFatal .
+```
+```yaml
+# using ruleguard through golangci-lint
+linters:
+ enable:
+ - gocritic
+linters-settings:
+ gocritic:
+ enabled-checks:
+ - ruleguard
+ settings:
+ ruleguard:
+ rules: "rules.go"
+ disable: "logfatal/noPanic"
+ # alternatively
+ # enable: "logfatal/noError"
+```
+
+## Contributing
+
+Feel free to open an [issue](https://github.com/ennyjfrick/ruleguard-logfatal/issues/new) or create a [pull request](https://github.com/ennyjfrick/ruleguard-logfatal/pulls) for any features/bugs/etc.
+
+If you're creating a pull request, please include test cases when applicable.
+
+## TODO
+
+- [ ] add tests for example
\ No newline at end of file
diff --git a/vendor/github.com/ennyjfrick/ruleguard-logfatal/rules.go b/vendor/github.com/ennyjfrick/ruleguard-logfatal/rules.go
new file mode 100644
index 00000000..adcf2432
--- /dev/null
+++ b/vendor/github.com/ennyjfrick/ruleguard-logfatal/rules.go
@@ -0,0 +1,33 @@
+package gorules
+
+import "github.com/quasilyte/go-ruleguard/dsl"
+
+var Bundle = dsl.Bundle{}
+
+func noFatal(m dsl.Matcher) { //nolint:unused // magically exported
+ m.Match(`$caller.Fatal($*_)`, `$caller.fatal($*_)`).Where(!m["caller"].Type.Is(`*testing.T`) && !m["caller"].Type.Is(`*testing.B`) && !m["caller"].Type.Is(`*testing.F`)).Report(`propagate errors rather than calling $$`) // ignore *testing.T.Fatal and equiv, but match log.Fatal and equiv
+
+ m.Match(`$caller.Fatalf($*_)`, `$caller.fatalf($*_)`).Where(!m["caller"].Type.Is(`*testing.T`) && !m["caller"].Type.Is(`*testing.B`) && !m["caller"].Type.Is(`*testing.F`)).Report(`propagate errors rather than calling $$`) // ignore *testing.T.Fatalf and equiv, but match log.Fatalf and equiv
+
+ m.Match(`$_.Fatalln($*_)`, `$_.fatalln($*_)`, `$_.Fatalw($*_)`, `$_.fatalw($*_)`).Report(`propagate errors rather than calling $$`) // catches most, if not all, x.[fF]atal(ln|w)? patterns
+
+ m.Match(`$_.FatalFn($*_)`).Report(`propagate errors rather than calling $$`) // logrus-specific pattern
+
+ m.Match(`$_.Log($level, $*_)`, `$_.Logf($level, $*_)`, `$_.Logln($level, $*_)`, `$_.Logw($level, $*_)`, `$_.log($level, $*_)`, `$_.logf($level, $*_)`, `$_.logln($level, $*_)`, `$_.logw($level, $*_)`).Where(m["level"].Text.Matches(`.*([Ll]evel)?[fF]atal([Ll]evel)?.*`)).Report(`propagate errors rather than logging at $level`) // general "log at fatal"
+
+ m.Match(`$_.LogFn($level, $*_)`).Where(m["level"].Text.Matches(`.*([Ll]evel)?[fF]atal([Ll]evel)?.*`)).Report(`propagate errors rather than logging at $level`) // logrus-specific pattern
+
+ m.Match(`$_.WithLevel($level, $*_)`).Where(m["level"].Text.Matches(`.*([Ll]evel)?[fF]atal([Ll]evel)?.*`)).Report(`propagate errors rather than logging at $level`) // zerolog-style level setting
+}
+
+func noPanic(m dsl.Matcher) { //nolint:unused // magically exported
+ m.Match(`$_.Panic($*_)`, `$_.Panicf($*_)`, `$_.Panicln($*_)`, `$_.Panicw($*_)`, `$_.panic($*_)`, `$_.panicf($*_)`, `$_.panicln($*_), $_.paniclw($*_)`).Report(`propagate errors rather than calling $$`) // catches most, if not all, x.[pP]anic(f|ln|w)? patterns
+
+ m.Match(`$_.PanicFn($*_)`).Report(`propagate errors rather than calling $$`) // logrus-specific pattern
+
+ m.Match(`$_.Log($level, $*_)`, `$_.Logf($level, $*_)`, `$_.Logln($level, $*_)`, `$_.Logw($level, $*_)`, `$_.log($level, $*_)`, `$_.logf($level, $*_)`, `$_.logln($level, $*_)`, `$_.logw($level, $*_)`).Where(m["level"].Text.Matches(`.*([Ll]evel)?[Pp]anic([Ll]evel)?.*`)).Report(`propagate errors rather than logging at $level`) // general "log at fatal"
+
+ m.Match(`$_.LogFn($level, $*_)`).Where(m["level"].Text.Matches(`.*([Ll]evel)?[Pp]anic([Ll]evel)?.*`)).Report(`propagate errors rather than logging at $level`) // logrus-specific pattern
+
+ m.Match(`$_.WithLevel($level, $*_)`).Where(m["level"].Text.Matches(`.*([Ll]evel)?[Pp]anic([Ll]evel)?.*`)).Report(`propagate errors rather than logging at $level`) // zerolog-style level setting
+}
diff --git a/vendor/github.com/klauspost/compress/README.md b/vendor/github.com/klauspost/compress/README.md
index de264c85..244ee19c 100644
--- a/vendor/github.com/klauspost/compress/README.md
+++ b/vendor/github.com/klauspost/compress/README.md
@@ -14,8 +14,34 @@ This package provides various compression algorithms.
[](https://github.com/klauspost/compress/actions/workflows/go.yml)
[](https://sourcegraph.com/github.com/klauspost/compress?badge)
+# package usage
+
+Use `go get github.com/klauspost/compress@latest` to add it to your project.
+
+This package will support the current Go version and 2 versions back.
+
+* Use the `nounsafe` tag to disable all use of the "unsafe" package.
+* Use the `noasm` tag to disable all assembly across packages.
+
+Use the links above for more information on each.
+
# changelog
+* Feb 19th, 2025 - [1.18.0](https://github.com/klauspost/compress/releases/tag/v1.18.0)
+ * Add unsafe little endian loaders https://github.com/klauspost/compress/pull/1036
+ * fix: check `r.err != nil` but return a nil value error `err` by @alingse in https://github.com/klauspost/compress/pull/1028
+ * flate: Simplify L4-6 loading https://github.com/klauspost/compress/pull/1043
+ * flate: Simplify matchlen (remove asm) https://github.com/klauspost/compress/pull/1045
+ * s2: Improve small block compression speed w/o asm https://github.com/klauspost/compress/pull/1048
+ * flate: Fix matchlen L5+L6 https://github.com/klauspost/compress/pull/1049
+ * flate: Cleanup & reduce casts https://github.com/klauspost/compress/pull/1050
+
+* Oct 11th, 2024 - [1.17.11](https://github.com/klauspost/compress/releases/tag/v1.17.11)
+ * zstd: Fix extra CRC written with multiple Close calls https://github.com/klauspost/compress/pull/1017
+ * s2: Don't use stack for index tables https://github.com/klauspost/compress/pull/1014
+ * gzhttp: No content-type on no body response code by @juliens in https://github.com/klauspost/compress/pull/1011
+ * gzhttp: Do not set the content-type when response has no body by @kevinpollet in https://github.com/klauspost/compress/pull/1013
+
* Sep 23rd, 2024 - [1.17.10](https://github.com/klauspost/compress/releases/tag/v1.17.10)
* gzhttp: Add TransportAlwaysDecompress option. https://github.com/klauspost/compress/pull/978
* gzhttp: Add supported decompress request body by @mirecl in https://github.com/klauspost/compress/pull/1002
@@ -65,9 +91,9 @@ https://github.com/klauspost/compress/pull/919 https://github.com/klauspost/comp
* zstd: Fix rare *CORRUPTION* output in "best" mode. See https://github.com/klauspost/compress/pull/876
* Oct 14th, 2023 - [v1.17.1](https://github.com/klauspost/compress/releases/tag/v1.17.1)
- * s2: Fix S2 "best" dictionary wrong encoding by @klauspost in https://github.com/klauspost/compress/pull/871
+ * s2: Fix S2 "best" dictionary wrong encoding https://github.com/klauspost/compress/pull/871
* flate: Reduce allocations in decompressor and minor code improvements by @fakefloordiv in https://github.com/klauspost/compress/pull/869
- * s2: Fix EstimateBlockSize on 6&7 length input by @klauspost in https://github.com/klauspost/compress/pull/867
+ * s2: Fix EstimateBlockSize on 6&7 length input https://github.com/klauspost/compress/pull/867
* Sept 19th, 2023 - [v1.17.0](https://github.com/klauspost/compress/releases/tag/v1.17.0)
* Add experimental dictionary builder https://github.com/klauspost/compress/pull/853
@@ -124,7 +150,7 @@ https://github.com/klauspost/compress/pull/919 https://github.com/klauspost/comp
See changes to v1.15.x
* Jan 21st, 2023 (v1.15.15)
- * deflate: Improve level 7-9 by @klauspost in https://github.com/klauspost/compress/pull/739
+ * deflate: Improve level 7-9 https://github.com/klauspost/compress/pull/739
* zstd: Add delta encoding support by @greatroar in https://github.com/klauspost/compress/pull/728
* zstd: Various speed improvements by @greatroar https://github.com/klauspost/compress/pull/741 https://github.com/klauspost/compress/pull/734 https://github.com/klauspost/compress/pull/736 https://github.com/klauspost/compress/pull/744 https://github.com/klauspost/compress/pull/743 https://github.com/klauspost/compress/pull/745
* gzhttp: Add SuffixETag() and DropETag() options to prevent ETag collisions on compressed responses by @willbicks in https://github.com/klauspost/compress/pull/740
@@ -167,7 +193,7 @@ https://github.com/klauspost/compress/pull/919 https://github.com/klauspost/comp
* zstd: Fix decoder crash on amd64 (no BMI) on invalid input https://github.com/klauspost/compress/pull/645
* zstd: Disable decoder extended memory copies (amd64) due to possible crashes https://github.com/klauspost/compress/pull/644
- * zstd: Allow single segments up to "max decoded size" by @klauspost in https://github.com/klauspost/compress/pull/643
+ * zstd: Allow single segments up to "max decoded size" https://github.com/klauspost/compress/pull/643
* July 13, 2022 (v1.15.8)
@@ -209,7 +235,7 @@ https://github.com/klauspost/compress/pull/919 https://github.com/klauspost/comp
* zstd: Speed up when WithDecoderLowmem(false) https://github.com/klauspost/compress/pull/599
* zstd: faster next state update in BMI2 version of decode by @WojciechMula in https://github.com/klauspost/compress/pull/593
* huff0: Do not check max size when reading table. https://github.com/klauspost/compress/pull/586
- * flate: Inplace hashing for level 7-9 by @klauspost in https://github.com/klauspost/compress/pull/590
+ * flate: Inplace hashing for level 7-9 https://github.com/klauspost/compress/pull/590
* May 11, 2022 (v1.15.4)
@@ -236,12 +262,12 @@ https://github.com/klauspost/compress/pull/919 https://github.com/klauspost/comp
* zstd: Add stricter block size checks in [#523](https://github.com/klauspost/compress/pull/523)
* Mar 3, 2022 (v1.15.0)
- * zstd: Refactor decoder by @klauspost in [#498](https://github.com/klauspost/compress/pull/498)
- * zstd: Add stream encoding without goroutines by @klauspost in [#505](https://github.com/klauspost/compress/pull/505)
+ * zstd: Refactor decoder [#498](https://github.com/klauspost/compress/pull/498)
+ * zstd: Add stream encoding without goroutines [#505](https://github.com/klauspost/compress/pull/505)
* huff0: Prevent single blocks exceeding 16 bits by @klauspost in[#507](https://github.com/klauspost/compress/pull/507)
- * flate: Inline literal emission by @klauspost in [#509](https://github.com/klauspost/compress/pull/509)
- * gzhttp: Add zstd to transport by @klauspost in [#400](https://github.com/klauspost/compress/pull/400)
- * gzhttp: Make content-type optional by @klauspost in [#510](https://github.com/klauspost/compress/pull/510)
+ * flate: Inline literal emission [#509](https://github.com/klauspost/compress/pull/509)
+ * gzhttp: Add zstd to transport [#400](https://github.com/klauspost/compress/pull/400)
+ * gzhttp: Make content-type optional [#510](https://github.com/klauspost/compress/pull/510)
Both compression and decompression now supports "synchronous" stream operations. This means that whenever "concurrency" is set to 1, they will operate without spawning goroutines.
@@ -258,7 +284,7 @@ While the release has been extensively tested, it is recommended to testing when
* flate: Fix rare huffman only (-2) corruption. [#503](https://github.com/klauspost/compress/pull/503)
* zip: Update deprecated CreateHeaderRaw to correctly call CreateRaw by @saracen in [#502](https://github.com/klauspost/compress/pull/502)
* zip: don't read data descriptor early by @saracen in [#501](https://github.com/klauspost/compress/pull/501) #501
- * huff0: Use static decompression buffer up to 30% faster by @klauspost in [#499](https://github.com/klauspost/compress/pull/499) [#500](https://github.com/klauspost/compress/pull/500)
+ * huff0: Use static decompression buffer up to 30% faster [#499](https://github.com/klauspost/compress/pull/499) [#500](https://github.com/klauspost/compress/pull/500)
* Feb 17, 2022 (v1.14.3)
* flate: Improve fastest levels compression speed ~10% more throughput. [#482](https://github.com/klauspost/compress/pull/482) [#489](https://github.com/klauspost/compress/pull/489) [#490](https://github.com/klauspost/compress/pull/490) [#491](https://github.com/klauspost/compress/pull/491) [#494](https://github.com/klauspost/compress/pull/494) [#478](https://github.com/klauspost/compress/pull/478)
@@ -565,12 +591,14 @@ While the release has been extensively tested, it is recommended to testing when
The packages are drop-in replacements for standard libraries. Simply replace the import path to use them:
-| old import | new import | Documentation
-|--------------------|-----------------------------------------|--------------------|
-| `compress/gzip` | `github.com/klauspost/compress/gzip` | [gzip](https://pkg.go.dev/github.com/klauspost/compress/gzip?tab=doc)
-| `compress/zlib` | `github.com/klauspost/compress/zlib` | [zlib](https://pkg.go.dev/github.com/klauspost/compress/zlib?tab=doc)
-| `archive/zip` | `github.com/klauspost/compress/zip` | [zip](https://pkg.go.dev/github.com/klauspost/compress/zip?tab=doc)
-| `compress/flate` | `github.com/klauspost/compress/flate` | [flate](https://pkg.go.dev/github.com/klauspost/compress/flate?tab=doc)
+Typical speed is about 2x of the standard library packages.
+
+| old import | new import | Documentation |
+|------------------|---------------------------------------|-------------------------------------------------------------------------|
+| `compress/gzip` | `github.com/klauspost/compress/gzip` | [gzip](https://pkg.go.dev/github.com/klauspost/compress/gzip?tab=doc) |
+| `compress/zlib` | `github.com/klauspost/compress/zlib` | [zlib](https://pkg.go.dev/github.com/klauspost/compress/zlib?tab=doc) |
+| `archive/zip` | `github.com/klauspost/compress/zip` | [zip](https://pkg.go.dev/github.com/klauspost/compress/zip?tab=doc) |
+| `compress/flate` | `github.com/klauspost/compress/flate` | [flate](https://pkg.go.dev/github.com/klauspost/compress/flate?tab=doc) |
* Optimized [deflate](https://godoc.org/github.com/klauspost/compress/flate) packages which can be used as a dropin replacement for [gzip](https://godoc.org/github.com/klauspost/compress/gzip), [zip](https://godoc.org/github.com/klauspost/compress/zip) and [zlib](https://godoc.org/github.com/klauspost/compress/zlib).
@@ -625,84 +653,6 @@ This will only use up to 4KB in memory when the writer is idle.
Compression is almost always worse than the fastest compression level
and each write will allocate (a little) memory.
-# Performance Update 2018
-
-It has been a while since we have been looking at the speed of this package compared to the standard library, so I thought I would re-do my tests and give some overall recommendations based on the current state. All benchmarks have been performed with Go 1.10 on my Desktop Intel(R) Core(TM) i7-2600 CPU @3.40GHz. Since I last ran the tests, I have gotten more RAM, which means tests with big files are no longer limited by my SSD.
-
-The raw results are in my [updated spreadsheet](https://docs.google.com/spreadsheets/d/1nuNE2nPfuINCZJRMt6wFWhKpToF95I47XjSsc-1rbPQ/edit?usp=sharing). Due to cgo changes and upstream updates i could not get the cgo version of gzip to compile. Instead I included the [zstd](https://github.com/datadog/zstd) cgo implementation. If I get cgo gzip to work again, I might replace the results in the sheet.
-
-The columns to take note of are: *MB/s* - the throughput. *Reduction* - the data size reduction in percent of the original. *Rel Speed* relative speed compared to the standard library at the same level. *Smaller* - how many percent smaller is the compressed output compared to stdlib. Negative means the output was bigger. *Loss* means the loss (or gain) in compression as a percentage difference of the input.
-
-The `gzstd` (standard library gzip) and `gzkp` (this package gzip) only uses one CPU core. [`pgzip`](https://github.com/klauspost/pgzip), [`bgzf`](https://github.com/biogo/hts/tree/master/bgzf) uses all 4 cores. [`zstd`](https://github.com/DataDog/zstd) uses one core, and is a beast (but not Go, yet).
-
-
-## Overall differences.
-
-There appears to be a roughly 5-10% speed advantage over the standard library when comparing at similar compression levels.
-
-The biggest difference you will see is the result of [re-balancing](https://blog.klauspost.com/rebalancing-deflate-compression-levels/) the compression levels. I wanted by library to give a smoother transition between the compression levels than the standard library.
-
-This package attempts to provide a more smooth transition, where "1" is taking a lot of shortcuts, "5" is the reasonable trade-off and "9" is the "give me the best compression", and the values in between gives something reasonable in between. The standard library has big differences in levels 1-4, but levels 5-9 having no significant gains - often spending a lot more time than can be justified by the achieved compression.
-
-There are links to all the test data in the [spreadsheet](https://docs.google.com/spreadsheets/d/1nuNE2nPfuINCZJRMt6wFWhKpToF95I47XjSsc-1rbPQ/edit?usp=sharing) in the top left field on each tab.
-
-## Web Content
-
-This test set aims to emulate typical use in a web server. The test-set is 4GB data in 53k files, and is a mixture of (mostly) HTML, JS, CSS.
-
-Since level 1 and 9 are close to being the same code, they are quite close. But looking at the levels in-between the differences are quite big.
-
-Looking at level 6, this package is 88% faster, but will output about 6% more data. For a web server, this means you can serve 88% more data, but have to pay for 6% more bandwidth. You can draw your own conclusions on what would be the most expensive for your case.
-
-## Object files
-
-This test is for typical data files stored on a server. In this case it is a collection of Go precompiled objects. They are very compressible.
-
-The picture is similar to the web content, but with small differences since this is very compressible. Levels 2-3 offer good speed, but is sacrificing quite a bit of compression.
-
-The standard library seems suboptimal on level 3 and 4 - offering both worse compression and speed than level 6 & 7 of this package respectively.
-
-## Highly Compressible File
-
-This is a JSON file with very high redundancy. The reduction starts at 95% on level 1, so in real life terms we are dealing with something like a highly redundant stream of data, etc.
-
-It is definitely visible that we are dealing with specialized content here, so the results are very scattered. This package does not do very well at levels 1-4, but picks up significantly at level 5 and levels 7 and 8 offering great speed for the achieved compression.
-
-So if you know you content is extremely compressible you might want to go slightly higher than the defaults. The standard library has a huge gap between levels 3 and 4 in terms of speed (2.75x slowdown), so it offers little "middle ground".
-
-## Medium-High Compressible
-
-This is a pretty common test corpus: [enwik9](http://mattmahoney.net/dc/textdata.html). It contains the first 10^9 bytes of the English Wikipedia dump on Mar. 3, 2006. This is a very good test of typical text based compression and more data heavy streams.
-
-We see a similar picture here as in "Web Content". On equal levels some compression is sacrificed for more speed. Level 5 seems to be the best trade-off between speed and size, beating stdlib level 3 in both.
-
-## Medium Compressible
-
-I will combine two test sets, one [10GB file set](http://mattmahoney.net/dc/10gb.html) and a VM disk image (~8GB). Both contain different data types and represent a typical backup scenario.
-
-The most notable thing is how quickly the standard library drops to very low compression speeds around level 5-6 without any big gains in compression. Since this type of data is fairly common, this does not seem like good behavior.
-
-
-## Un-compressible Content
-
-This is mainly a test of how good the algorithms are at detecting un-compressible input. The standard library only offers this feature with very conservative settings at level 1. Obviously there is no reason for the algorithms to try to compress input that cannot be compressed. The only downside is that it might skip some compressible data on false detections.
-
-
-## Huffman only compression
-
-This compression library adds a special compression level, named `HuffmanOnly`, which allows near linear time compression. This is done by completely disabling matching of previous data, and only reduce the number of bits to represent each character.
-
-This means that often used characters, like 'e' and ' ' (space) in text use the fewest bits to represent, and rare characters like '¤' takes more bits to represent. For more information see [wikipedia](https://en.wikipedia.org/wiki/Huffman_coding) or this nice [video](https://youtu.be/ZdooBTdW5bM).
-
-Since this type of compression has much less variance, the compression speed is mostly unaffected by the input data, and is usually more than *180MB/s* for a single core.
-
-The downside is that the compression ratio is usually considerably worse than even the fastest conventional compression. The compression ratio can never be better than 8:1 (12.5%).
-
-The linear time compression can be used as a "better than nothing" mode, where you cannot risk the encoder to slow down on some content. For comparison, the size of the "Twain" text is *233460 bytes* (+29% vs. level 1) and encode speed is 144MB/s (4.5x level 1). So in this case you trade a 30% size increase for a 4 times speedup.
-
-For more information see my blog post on [Fast Linear Time Compression](http://blog.klauspost.com/constant-time-gzipzip-compression/).
-
-This is implemented on Go 1.7 as "Huffman Only" mode, though not exposed for gzip.
# Other packages
diff --git a/vendor/github.com/klauspost/compress/huff0/bitreader.go b/vendor/github.com/klauspost/compress/huff0/bitreader.go
index e36d9742..bfc7a523 100644
--- a/vendor/github.com/klauspost/compress/huff0/bitreader.go
+++ b/vendor/github.com/klauspost/compress/huff0/bitreader.go
@@ -6,10 +6,11 @@
package huff0
import (
- "encoding/binary"
"errors"
"fmt"
"io"
+
+ "github.com/klauspost/compress/internal/le"
)
// bitReader reads a bitstream in reverse.
@@ -46,7 +47,7 @@ func (b *bitReaderBytes) init(in []byte) error {
return nil
}
-// peekBitsFast requires that at least one bit is requested every time.
+// peekByteFast requires that at least one byte is requested every time.
// There are no checks if the buffer is filled.
func (b *bitReaderBytes) peekByteFast() uint8 {
got := uint8(b.value >> 56)
@@ -66,8 +67,7 @@ func (b *bitReaderBytes) fillFast() {
}
// 2 bounds checks.
- v := b.in[b.off-4 : b.off]
- low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
+ low := le.Load32(b.in, b.off-4)
b.value |= uint64(low) << (b.bitsRead - 32)
b.bitsRead -= 32
b.off -= 4
@@ -76,7 +76,7 @@ func (b *bitReaderBytes) fillFast() {
// fillFastStart() assumes the bitReaderBytes is empty and there is at least 8 bytes to read.
func (b *bitReaderBytes) fillFastStart() {
// Do single re-slice to avoid bounds checks.
- b.value = binary.LittleEndian.Uint64(b.in[b.off-8:])
+ b.value = le.Load64(b.in, b.off-8)
b.bitsRead = 0
b.off -= 8
}
@@ -86,9 +86,8 @@ func (b *bitReaderBytes) fill() {
if b.bitsRead < 32 {
return
}
- if b.off > 4 {
- v := b.in[b.off-4 : b.off]
- low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
+ if b.off >= 4 {
+ low := le.Load32(b.in, b.off-4)
b.value |= uint64(low) << (b.bitsRead - 32)
b.bitsRead -= 32
b.off -= 4
@@ -175,9 +174,7 @@ func (b *bitReaderShifted) fillFast() {
return
}
- // 2 bounds checks.
- v := b.in[b.off-4 : b.off]
- low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
+ low := le.Load32(b.in, b.off-4)
b.value |= uint64(low) << ((b.bitsRead - 32) & 63)
b.bitsRead -= 32
b.off -= 4
@@ -185,8 +182,7 @@ func (b *bitReaderShifted) fillFast() {
// fillFastStart() assumes the bitReaderShifted is empty and there is at least 8 bytes to read.
func (b *bitReaderShifted) fillFastStart() {
- // Do single re-slice to avoid bounds checks.
- b.value = binary.LittleEndian.Uint64(b.in[b.off-8:])
+ b.value = le.Load64(b.in, b.off-8)
b.bitsRead = 0
b.off -= 8
}
@@ -197,8 +193,7 @@ func (b *bitReaderShifted) fill() {
return
}
if b.off > 4 {
- v := b.in[b.off-4 : b.off]
- low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
+ low := le.Load32(b.in, b.off-4)
b.value |= uint64(low) << ((b.bitsRead - 32) & 63)
b.bitsRead -= 32
b.off -= 4
diff --git a/vendor/github.com/klauspost/compress/internal/le/le.go b/vendor/github.com/klauspost/compress/internal/le/le.go
new file mode 100644
index 00000000..e54909e1
--- /dev/null
+++ b/vendor/github.com/klauspost/compress/internal/le/le.go
@@ -0,0 +1,5 @@
+package le
+
+type Indexer interface {
+ int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64
+}
diff --git a/vendor/github.com/klauspost/compress/internal/le/unsafe_disabled.go b/vendor/github.com/klauspost/compress/internal/le/unsafe_disabled.go
new file mode 100644
index 00000000..0cfb5c0e
--- /dev/null
+++ b/vendor/github.com/klauspost/compress/internal/le/unsafe_disabled.go
@@ -0,0 +1,42 @@
+//go:build !(amd64 || arm64 || ppc64le || riscv64) || nounsafe || purego || appengine
+
+package le
+
+import (
+ "encoding/binary"
+)
+
+// Load8 will load from b at index i.
+func Load8[I Indexer](b []byte, i I) byte {
+ return b[i]
+}
+
+// Load16 will load from b at index i.
+func Load16[I Indexer](b []byte, i I) uint16 {
+ return binary.LittleEndian.Uint16(b[i:])
+}
+
+// Load32 will load from b at index i.
+func Load32[I Indexer](b []byte, i I) uint32 {
+ return binary.LittleEndian.Uint32(b[i:])
+}
+
+// Load64 will load from b at index i.
+func Load64[I Indexer](b []byte, i I) uint64 {
+ return binary.LittleEndian.Uint64(b[i:])
+}
+
+// Store16 will store v at b.
+func Store16(b []byte, v uint16) {
+ binary.LittleEndian.PutUint16(b, v)
+}
+
+// Store32 will store v at b.
+func Store32(b []byte, v uint32) {
+ binary.LittleEndian.PutUint32(b, v)
+}
+
+// Store64 will store v at b.
+func Store64(b []byte, v uint64) {
+ binary.LittleEndian.PutUint64(b, v)
+}
diff --git a/vendor/github.com/klauspost/compress/internal/le/unsafe_enabled.go b/vendor/github.com/klauspost/compress/internal/le/unsafe_enabled.go
new file mode 100644
index 00000000..ada45cd9
--- /dev/null
+++ b/vendor/github.com/klauspost/compress/internal/le/unsafe_enabled.go
@@ -0,0 +1,55 @@
+// We enable 64 bit LE platforms:
+
+//go:build (amd64 || arm64 || ppc64le || riscv64) && !nounsafe && !purego && !appengine
+
+package le
+
+import (
+ "unsafe"
+)
+
+// Load8 will load from b at index i.
+func Load8[I Indexer](b []byte, i I) byte {
+ //return binary.LittleEndian.Uint16(b[i:])
+ //return *(*uint16)(unsafe.Pointer(&b[i]))
+ return *(*byte)(unsafe.Add(unsafe.Pointer(unsafe.SliceData(b)), i))
+}
+
+// Load16 will load from b at index i.
+func Load16[I Indexer](b []byte, i I) uint16 {
+ //return binary.LittleEndian.Uint16(b[i:])
+ //return *(*uint16)(unsafe.Pointer(&b[i]))
+ return *(*uint16)(unsafe.Add(unsafe.Pointer(unsafe.SliceData(b)), i))
+}
+
+// Load32 will load from b at index i.
+func Load32[I Indexer](b []byte, i I) uint32 {
+ //return binary.LittleEndian.Uint32(b[i:])
+ //return *(*uint32)(unsafe.Pointer(&b[i]))
+ return *(*uint32)(unsafe.Add(unsafe.Pointer(unsafe.SliceData(b)), i))
+}
+
+// Load64 will load from b at index i.
+func Load64[I Indexer](b []byte, i I) uint64 {
+ //return binary.LittleEndian.Uint64(b[i:])
+ //return *(*uint64)(unsafe.Pointer(&b[i]))
+ return *(*uint64)(unsafe.Add(unsafe.Pointer(unsafe.SliceData(b)), i))
+}
+
+// Store16 will store v at b.
+func Store16(b []byte, v uint16) {
+ //binary.LittleEndian.PutUint16(b, v)
+ *(*uint16)(unsafe.Pointer(unsafe.SliceData(b))) = v
+}
+
+// Store32 will store v at b.
+func Store32(b []byte, v uint32) {
+ //binary.LittleEndian.PutUint32(b, v)
+ *(*uint32)(unsafe.Pointer(unsafe.SliceData(b))) = v
+}
+
+// Store64 will store v at b.
+func Store64(b []byte, v uint64) {
+ //binary.LittleEndian.PutUint64(b, v)
+ *(*uint64)(unsafe.Pointer(unsafe.SliceData(b))) = v
+}
diff --git a/vendor/github.com/klauspost/compress/s2sx.mod b/vendor/github.com/klauspost/compress/s2sx.mod
index 5a4412f9..81bda5e2 100644
--- a/vendor/github.com/klauspost/compress/s2sx.mod
+++ b/vendor/github.com/klauspost/compress/s2sx.mod
@@ -1,4 +1,3 @@
module github.com/klauspost/compress
-go 1.19
-
+go 1.22
diff --git a/vendor/github.com/klauspost/compress/zstd/README.md b/vendor/github.com/klauspost/compress/zstd/README.md
index 92e2347b..c11d7fa2 100644
--- a/vendor/github.com/klauspost/compress/zstd/README.md
+++ b/vendor/github.com/klauspost/compress/zstd/README.md
@@ -6,7 +6,7 @@ A high performance compression algorithm is implemented. For now focused on spee
This package provides [compression](#Compressor) to and [decompression](#Decompressor) of Zstandard content.
-This package is pure Go and without use of "unsafe".
+This package is pure Go. Use `noasm` and `nounsafe` to disable relevant features.
The `zstd` package is provided as open source software using a Go standard license.
diff --git a/vendor/github.com/klauspost/compress/zstd/bitreader.go b/vendor/github.com/klauspost/compress/zstd/bitreader.go
index 25ca9839..d41e3e17 100644
--- a/vendor/github.com/klauspost/compress/zstd/bitreader.go
+++ b/vendor/github.com/klauspost/compress/zstd/bitreader.go
@@ -5,11 +5,12 @@
package zstd
import (
- "encoding/binary"
"errors"
"fmt"
"io"
"math/bits"
+
+ "github.com/klauspost/compress/internal/le"
)
// bitReader reads a bitstream in reverse.
@@ -18,6 +19,7 @@ import (
type bitReader struct {
in []byte
value uint64 // Maybe use [16]byte, but shifting is awkward.
+ cursor int // offset where next read should end
bitsRead uint8
}
@@ -32,6 +34,7 @@ func (b *bitReader) init(in []byte) error {
if v == 0 {
return errors.New("corrupt stream, did not find end of stream")
}
+ b.cursor = len(in)
b.bitsRead = 64
b.value = 0
if len(in) >= 8 {
@@ -67,18 +70,15 @@ func (b *bitReader) fillFast() {
if b.bitsRead < 32 {
return
}
- v := b.in[len(b.in)-4:]
- b.in = b.in[:len(b.in)-4]
- low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
- b.value = (b.value << 32) | uint64(low)
+ b.cursor -= 4
+ b.value = (b.value << 32) | uint64(le.Load32(b.in, b.cursor))
b.bitsRead -= 32
}
// fillFastStart() assumes the bitreader is empty and there is at least 8 bytes to read.
func (b *bitReader) fillFastStart() {
- v := b.in[len(b.in)-8:]
- b.in = b.in[:len(b.in)-8]
- b.value = binary.LittleEndian.Uint64(v)
+ b.cursor -= 8
+ b.value = le.Load64(b.in, b.cursor)
b.bitsRead = 0
}
@@ -87,25 +87,23 @@ func (b *bitReader) fill() {
if b.bitsRead < 32 {
return
}
- if len(b.in) >= 4 {
- v := b.in[len(b.in)-4:]
- b.in = b.in[:len(b.in)-4]
- low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
- b.value = (b.value << 32) | uint64(low)
+ if b.cursor >= 4 {
+ b.cursor -= 4
+ b.value = (b.value << 32) | uint64(le.Load32(b.in, b.cursor))
b.bitsRead -= 32
return
}
- b.bitsRead -= uint8(8 * len(b.in))
- for len(b.in) > 0 {
- b.value = (b.value << 8) | uint64(b.in[len(b.in)-1])
- b.in = b.in[:len(b.in)-1]
+ b.bitsRead -= uint8(8 * b.cursor)
+ for b.cursor > 0 {
+ b.cursor -= 1
+ b.value = (b.value << 8) | uint64(b.in[b.cursor])
}
}
// finished returns true if all bits have been read from the bit stream.
func (b *bitReader) finished() bool {
- return len(b.in) == 0 && b.bitsRead >= 64
+ return b.cursor == 0 && b.bitsRead >= 64
}
// overread returns true if more bits have been requested than is on the stream.
@@ -115,13 +113,14 @@ func (b *bitReader) overread() bool {
// remain returns the number of bits remaining.
func (b *bitReader) remain() uint {
- return 8*uint(len(b.in)) + 64 - uint(b.bitsRead)
+ return 8*uint(b.cursor) + 64 - uint(b.bitsRead)
}
// close the bitstream and returns an error if out-of-buffer reads occurred.
func (b *bitReader) close() error {
// Release reference.
b.in = nil
+ b.cursor = 0
if !b.finished() {
return fmt.Errorf("%d extra bits on block, should be 0", b.remain())
}
diff --git a/vendor/github.com/klauspost/compress/zstd/blockdec.go b/vendor/github.com/klauspost/compress/zstd/blockdec.go
index 9c28840c..0dd742fd 100644
--- a/vendor/github.com/klauspost/compress/zstd/blockdec.go
+++ b/vendor/github.com/klauspost/compress/zstd/blockdec.go
@@ -5,14 +5,10 @@
package zstd
import (
- "bytes"
- "encoding/binary"
"errors"
"fmt"
"hash/crc32"
"io"
- "os"
- "path/filepath"
"sync"
"github.com/klauspost/compress/huff0"
@@ -648,21 +644,6 @@ func (b *blockDec) prepareSequences(in []byte, hist *history) (err error) {
println("initializing sequences:", err)
return err
}
- // Extract blocks...
- if false && hist.dict == nil {
- fatalErr := func(err error) {
- if err != nil {
- panic(err)
- }
- }
- fn := fmt.Sprintf("n-%d-lits-%d-prev-%d-%d-%d-win-%d.blk", hist.decoders.nSeqs, len(hist.decoders.literals), hist.recentOffsets[0], hist.recentOffsets[1], hist.recentOffsets[2], hist.windowSize)
- var buf bytes.Buffer
- fatalErr(binary.Write(&buf, binary.LittleEndian, hist.decoders.litLengths.fse))
- fatalErr(binary.Write(&buf, binary.LittleEndian, hist.decoders.matchLengths.fse))
- fatalErr(binary.Write(&buf, binary.LittleEndian, hist.decoders.offsets.fse))
- buf.Write(in)
- os.WriteFile(filepath.Join("testdata", "seqs", fn), buf.Bytes(), os.ModePerm)
- }
return nil
}
diff --git a/vendor/github.com/klauspost/compress/zstd/blockenc.go b/vendor/github.com/klauspost/compress/zstd/blockenc.go
index 32a7f401..fd35ea14 100644
--- a/vendor/github.com/klauspost/compress/zstd/blockenc.go
+++ b/vendor/github.com/klauspost/compress/zstd/blockenc.go
@@ -9,6 +9,7 @@ import (
"fmt"
"math"
"math/bits"
+ "slices"
"github.com/klauspost/compress/huff0"
)
@@ -457,16 +458,7 @@ func fuzzFseEncoder(data []byte) int {
// All 0
return 0
}
- maxCount := func(a []uint32) int {
- var max uint32
- for _, v := range a {
- if v > max {
- max = v
- }
- }
- return int(max)
- }
- cnt := maxCount(hist[:maxSym])
+ cnt := int(slices.Max(hist[:maxSym]))
if cnt == len(data) {
// RLE
return 0
@@ -884,15 +876,6 @@ func (b *blockEnc) genCodes() {
}
}
}
- maxCount := func(a []uint32) int {
- var max uint32
- for _, v := range a {
- if v > max {
- max = v
- }
- }
- return int(max)
- }
if debugAsserts && mlMax > maxMatchLengthSymbol {
panic(fmt.Errorf("mlMax > maxMatchLengthSymbol (%d)", mlMax))
}
@@ -903,7 +886,7 @@ func (b *blockEnc) genCodes() {
panic(fmt.Errorf("llMax > maxLiteralLengthSymbol (%d)", llMax))
}
- b.coders.mlEnc.HistogramFinished(mlMax, maxCount(mlH[:mlMax+1]))
- b.coders.ofEnc.HistogramFinished(ofMax, maxCount(ofH[:ofMax+1]))
- b.coders.llEnc.HistogramFinished(llMax, maxCount(llH[:llMax+1]))
+ b.coders.mlEnc.HistogramFinished(mlMax, int(slices.Max(mlH[:mlMax+1])))
+ b.coders.ofEnc.HistogramFinished(ofMax, int(slices.Max(ofH[:ofMax+1])))
+ b.coders.llEnc.HistogramFinished(llMax, int(slices.Max(llH[:llMax+1])))
}
diff --git a/vendor/github.com/klauspost/compress/zstd/decoder.go b/vendor/github.com/klauspost/compress/zstd/decoder.go
index bbca1723..ea2a1937 100644
--- a/vendor/github.com/klauspost/compress/zstd/decoder.go
+++ b/vendor/github.com/klauspost/compress/zstd/decoder.go
@@ -123,7 +123,7 @@ func NewReader(r io.Reader, opts ...DOption) (*Decoder, error) {
}
// Read bytes from the decompressed stream into p.
-// Returns the number of bytes written and any error that occurred.
+// Returns the number of bytes read and any error that occurred.
// When the stream is done, io.EOF will be returned.
func (d *Decoder) Read(p []byte) (int, error) {
var n int
@@ -323,6 +323,7 @@ func (d *Decoder) DecodeAll(input, dst []byte) ([]byte, error) {
frame.bBuf = nil
if frame.history.decoders.br != nil {
frame.history.decoders.br.in = nil
+ frame.history.decoders.br.cursor = 0
}
d.decoders <- block
}()
diff --git a/vendor/github.com/klauspost/compress/zstd/enc_base.go b/vendor/github.com/klauspost/compress/zstd/enc_base.go
index 5ca46038..7d250c67 100644
--- a/vendor/github.com/klauspost/compress/zstd/enc_base.go
+++ b/vendor/github.com/klauspost/compress/zstd/enc_base.go
@@ -116,7 +116,7 @@ func (e *fastBase) matchlen(s, t int32, src []byte) int32 {
panic(err)
}
if t < 0 {
- err := fmt.Sprintf("s (%d) < 0", s)
+ err := fmt.Sprintf("t (%d) < 0", t)
panic(err)
}
if s-t > e.maxMatchOff {
diff --git a/vendor/github.com/klauspost/compress/zstd/matchlen_generic.go b/vendor/github.com/klauspost/compress/zstd/matchlen_generic.go
index 57b9c31c..bea1779e 100644
--- a/vendor/github.com/klauspost/compress/zstd/matchlen_generic.go
+++ b/vendor/github.com/klauspost/compress/zstd/matchlen_generic.go
@@ -7,20 +7,25 @@
package zstd
import (
- "encoding/binary"
"math/bits"
+
+ "github.com/klauspost/compress/internal/le"
)
// matchLen returns the maximum common prefix length of a and b.
// a must be the shortest of the two.
func matchLen(a, b []byte) (n int) {
- for ; len(a) >= 8 && len(b) >= 8; a, b = a[8:], b[8:] {
- diff := binary.LittleEndian.Uint64(a) ^ binary.LittleEndian.Uint64(b)
+ left := len(a)
+ for left >= 8 {
+ diff := le.Load64(a, n) ^ le.Load64(b, n)
if diff != 0 {
return n + bits.TrailingZeros64(diff)>>3
}
n += 8
+ left -= 8
}
+ a = a[n:]
+ b = b[n:]
for i := range a {
if a[i] != b[i] {
diff --git a/vendor/github.com/klauspost/compress/zstd/seqdec.go b/vendor/github.com/klauspost/compress/zstd/seqdec.go
index d7fe6d82..9a7de82f 100644
--- a/vendor/github.com/klauspost/compress/zstd/seqdec.go
+++ b/vendor/github.com/klauspost/compress/zstd/seqdec.go
@@ -245,7 +245,7 @@ func (s *sequenceDecs) decodeSync(hist []byte) error {
return io.ErrUnexpectedEOF
}
var ll, mo, ml int
- if len(br.in) > 4+((maxOffsetBits+16+16)>>3) {
+ if br.cursor > 4+((maxOffsetBits+16+16)>>3) {
// inlined function:
// ll, mo, ml = s.nextFast(br, llState, mlState, ofState)
diff --git a/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s b/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s
index f5591fa1..a708ca6d 100644
--- a/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s
+++ b/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s
@@ -7,9 +7,9 @@
TEXT ·sequenceDecs_decode_amd64(SB), $8-32
MOVQ br+8(FP), CX
MOVQ 24(CX), DX
- MOVBQZX 32(CX), BX
+ MOVBQZX 40(CX), BX
MOVQ (CX), AX
- MOVQ 8(CX), SI
+ MOVQ 32(CX), SI
ADDQ SI, AX
MOVQ AX, (SP)
MOVQ ctx+16(FP), AX
@@ -299,8 +299,8 @@ sequenceDecs_decode_amd64_match_len_ofs_ok:
MOVQ R13, 160(AX)
MOVQ br+8(FP), AX
MOVQ DX, 24(AX)
- MOVB BL, 32(AX)
- MOVQ SI, 8(AX)
+ MOVB BL, 40(AX)
+ MOVQ SI, 32(AX)
// Return success
MOVQ $0x00000000, ret+24(FP)
@@ -335,9 +335,9 @@ error_overread:
TEXT ·sequenceDecs_decode_56_amd64(SB), $8-32
MOVQ br+8(FP), CX
MOVQ 24(CX), DX
- MOVBQZX 32(CX), BX
+ MOVBQZX 40(CX), BX
MOVQ (CX), AX
- MOVQ 8(CX), SI
+ MOVQ 32(CX), SI
ADDQ SI, AX
MOVQ AX, (SP)
MOVQ ctx+16(FP), AX
@@ -598,8 +598,8 @@ sequenceDecs_decode_56_amd64_match_len_ofs_ok:
MOVQ R13, 160(AX)
MOVQ br+8(FP), AX
MOVQ DX, 24(AX)
- MOVB BL, 32(AX)
- MOVQ SI, 8(AX)
+ MOVB BL, 40(AX)
+ MOVQ SI, 32(AX)
// Return success
MOVQ $0x00000000, ret+24(FP)
@@ -634,9 +634,9 @@ error_overread:
TEXT ·sequenceDecs_decode_bmi2(SB), $8-32
MOVQ br+8(FP), BX
MOVQ 24(BX), AX
- MOVBQZX 32(BX), DX
+ MOVBQZX 40(BX), DX
MOVQ (BX), CX
- MOVQ 8(BX), BX
+ MOVQ 32(BX), BX
ADDQ BX, CX
MOVQ CX, (SP)
MOVQ ctx+16(FP), CX
@@ -884,8 +884,8 @@ sequenceDecs_decode_bmi2_match_len_ofs_ok:
MOVQ R12, 160(CX)
MOVQ br+8(FP), CX
MOVQ AX, 24(CX)
- MOVB DL, 32(CX)
- MOVQ BX, 8(CX)
+ MOVB DL, 40(CX)
+ MOVQ BX, 32(CX)
// Return success
MOVQ $0x00000000, ret+24(FP)
@@ -920,9 +920,9 @@ error_overread:
TEXT ·sequenceDecs_decode_56_bmi2(SB), $8-32
MOVQ br+8(FP), BX
MOVQ 24(BX), AX
- MOVBQZX 32(BX), DX
+ MOVBQZX 40(BX), DX
MOVQ (BX), CX
- MOVQ 8(BX), BX
+ MOVQ 32(BX), BX
ADDQ BX, CX
MOVQ CX, (SP)
MOVQ ctx+16(FP), CX
@@ -1141,8 +1141,8 @@ sequenceDecs_decode_56_bmi2_match_len_ofs_ok:
MOVQ R12, 160(CX)
MOVQ br+8(FP), CX
MOVQ AX, 24(CX)
- MOVB DL, 32(CX)
- MOVQ BX, 8(CX)
+ MOVB DL, 40(CX)
+ MOVQ BX, 32(CX)
// Return success
MOVQ $0x00000000, ret+24(FP)
@@ -1787,9 +1787,9 @@ empty_seqs:
TEXT ·sequenceDecs_decodeSync_amd64(SB), $64-32
MOVQ br+8(FP), CX
MOVQ 24(CX), DX
- MOVBQZX 32(CX), BX
+ MOVBQZX 40(CX), BX
MOVQ (CX), AX
- MOVQ 8(CX), SI
+ MOVQ 32(CX), SI
ADDQ SI, AX
MOVQ AX, (SP)
MOVQ ctx+16(FP), AX
@@ -2281,8 +2281,8 @@ handle_loop:
loop_finished:
MOVQ br+8(FP), AX
MOVQ DX, 24(AX)
- MOVB BL, 32(AX)
- MOVQ SI, 8(AX)
+ MOVB BL, 40(AX)
+ MOVQ SI, 32(AX)
// Update the context
MOVQ ctx+16(FP), AX
@@ -2349,9 +2349,9 @@ error_not_enough_space:
TEXT ·sequenceDecs_decodeSync_bmi2(SB), $64-32
MOVQ br+8(FP), BX
MOVQ 24(BX), AX
- MOVBQZX 32(BX), DX
+ MOVBQZX 40(BX), DX
MOVQ (BX), CX
- MOVQ 8(BX), BX
+ MOVQ 32(BX), BX
ADDQ BX, CX
MOVQ CX, (SP)
MOVQ ctx+16(FP), CX
@@ -2801,8 +2801,8 @@ handle_loop:
loop_finished:
MOVQ br+8(FP), CX
MOVQ AX, 24(CX)
- MOVB DL, 32(CX)
- MOVQ BX, 8(CX)
+ MOVB DL, 40(CX)
+ MOVQ BX, 32(CX)
// Update the context
MOVQ ctx+16(FP), AX
@@ -2869,9 +2869,9 @@ error_not_enough_space:
TEXT ·sequenceDecs_decodeSync_safe_amd64(SB), $64-32
MOVQ br+8(FP), CX
MOVQ 24(CX), DX
- MOVBQZX 32(CX), BX
+ MOVBQZX 40(CX), BX
MOVQ (CX), AX
- MOVQ 8(CX), SI
+ MOVQ 32(CX), SI
ADDQ SI, AX
MOVQ AX, (SP)
MOVQ ctx+16(FP), AX
@@ -3465,8 +3465,8 @@ handle_loop:
loop_finished:
MOVQ br+8(FP), AX
MOVQ DX, 24(AX)
- MOVB BL, 32(AX)
- MOVQ SI, 8(AX)
+ MOVB BL, 40(AX)
+ MOVQ SI, 32(AX)
// Update the context
MOVQ ctx+16(FP), AX
@@ -3533,9 +3533,9 @@ error_not_enough_space:
TEXT ·sequenceDecs_decodeSync_safe_bmi2(SB), $64-32
MOVQ br+8(FP), BX
MOVQ 24(BX), AX
- MOVBQZX 32(BX), DX
+ MOVBQZX 40(BX), DX
MOVQ (BX), CX
- MOVQ 8(BX), BX
+ MOVQ 32(BX), BX
ADDQ BX, CX
MOVQ CX, (SP)
MOVQ ctx+16(FP), CX
@@ -4087,8 +4087,8 @@ handle_loop:
loop_finished:
MOVQ br+8(FP), CX
MOVQ AX, 24(CX)
- MOVB DL, 32(CX)
- MOVQ BX, 8(CX)
+ MOVB DL, 40(CX)
+ MOVQ BX, 32(CX)
// Update the context
MOVQ ctx+16(FP), AX
diff --git a/vendor/github.com/klauspost/compress/zstd/seqdec_generic.go b/vendor/github.com/klauspost/compress/zstd/seqdec_generic.go
index 2fb35b78..7cec2197 100644
--- a/vendor/github.com/klauspost/compress/zstd/seqdec_generic.go
+++ b/vendor/github.com/klauspost/compress/zstd/seqdec_generic.go
@@ -29,7 +29,7 @@ func (s *sequenceDecs) decode(seqs []seqVals) error {
}
for i := range seqs {
var ll, mo, ml int
- if len(br.in) > 4+((maxOffsetBits+16+16)>>3) {
+ if br.cursor > 4+((maxOffsetBits+16+16)>>3) {
// inlined function:
// ll, mo, ml = s.nextFast(br, llState, mlState, ofState)
diff --git a/vendor/github.com/klauspost/compress/zstd/seqenc.go b/vendor/github.com/klauspost/compress/zstd/seqenc.go
index 8014174a..65045eab 100644
--- a/vendor/github.com/klauspost/compress/zstd/seqenc.go
+++ b/vendor/github.com/klauspost/compress/zstd/seqenc.go
@@ -69,7 +69,6 @@ var llBitsTable = [maxLLCode + 1]byte{
func llCode(litLength uint32) uint8 {
const llDeltaCode = 19
if litLength <= 63 {
- // Compiler insists on bounds check (Go 1.12)
return llCodeTable[litLength&63]
}
return uint8(highBit(litLength)) + llDeltaCode
@@ -102,7 +101,6 @@ var mlBitsTable = [maxMLCode + 1]byte{
func mlCode(mlBase uint32) uint8 {
const mlDeltaCode = 36
if mlBase <= 127 {
- // Compiler insists on bounds check (Go 1.12)
return mlCodeTable[mlBase&127]
}
return uint8(highBit(mlBase)) + mlDeltaCode
diff --git a/vendor/github.com/klauspost/compress/zstd/snappy.go b/vendor/github.com/klauspost/compress/zstd/snappy.go
index ec13594e..a17381b8 100644
--- a/vendor/github.com/klauspost/compress/zstd/snappy.go
+++ b/vendor/github.com/klauspost/compress/zstd/snappy.go
@@ -197,7 +197,7 @@ func (r *SnappyConverter) Convert(in io.Reader, w io.Writer) (int64, error) {
n, r.err = w.Write(r.block.output)
if r.err != nil {
- return written, err
+ return written, r.err
}
written += int64(n)
continue
@@ -239,7 +239,7 @@ func (r *SnappyConverter) Convert(in io.Reader, w io.Writer) (int64, error) {
}
n, r.err = w.Write(r.block.output)
if r.err != nil {
- return written, err
+ return written, r.err
}
written += int64(n)
continue
diff --git a/vendor/github.com/klauspost/compress/zstd/zstd.go b/vendor/github.com/klauspost/compress/zstd/zstd.go
index 066bef2a..6252b46a 100644
--- a/vendor/github.com/klauspost/compress/zstd/zstd.go
+++ b/vendor/github.com/klauspost/compress/zstd/zstd.go
@@ -5,10 +5,11 @@ package zstd
import (
"bytes"
- "encoding/binary"
"errors"
"log"
"math"
+
+ "github.com/klauspost/compress/internal/le"
)
// enable debug printing
@@ -110,11 +111,11 @@ func printf(format string, a ...interface{}) {
}
func load3232(b []byte, i int32) uint32 {
- return binary.LittleEndian.Uint32(b[:len(b):len(b)][i:])
+ return le.Load32(b, i)
}
func load6432(b []byte, i int32) uint64 {
- return binary.LittleEndian.Uint64(b[:len(b):len(b)][i:])
+ return le.Load64(b, i)
}
type byter interface {
diff --git a/vendor/github.com/quasilyte/go-ruleguard/dsl/LICENSE b/vendor/github.com/quasilyte/go-ruleguard/dsl/LICENSE
new file mode 100644
index 00000000..558f81ff
--- /dev/null
+++ b/vendor/github.com/quasilyte/go-ruleguard/dsl/LICENSE
@@ -0,0 +1,29 @@
+BSD 3-Clause License
+
+Copyright (c) 2022, Iskander (Alex) Sharipov / quasilyte
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/vendor/github.com/quasilyte/go-ruleguard/dsl/bundle.go b/vendor/github.com/quasilyte/go-ruleguard/dsl/bundle.go
new file mode 100644
index 00000000..45a9455d
--- /dev/null
+++ b/vendor/github.com/quasilyte/go-ruleguard/dsl/bundle.go
@@ -0,0 +1,19 @@
+package dsl
+
+// Bundle is a rules file export manifest.
+type Bundle struct {
+ // TODO: figure out which fields we might want to add here.
+}
+
+// ImportRules imports all rules from the bundle and prefixes them with a specified string.
+//
+// Empty string prefix is something like "dot import" in Go.
+// Group name collisions will result in an error.
+//
+// Only packages that have an exported Bundle variable can be imported.
+//
+// Note: right now imported bundle can't import other bundles.
+// This is not a fundamental limitation but rather a precaution
+// measure before we understand how it should work better.
+// If you need this feature, please open an issue at github.com/quasilyte/go-ruleguard.
+func ImportRules(prefix string, bundle Bundle) {}
diff --git a/vendor/github.com/quasilyte/go-ruleguard/dsl/do.go b/vendor/github.com/quasilyte/go-ruleguard/dsl/do.go
new file mode 100644
index 00000000..86bc163a
--- /dev/null
+++ b/vendor/github.com/quasilyte/go-ruleguard/dsl/do.go
@@ -0,0 +1,19 @@
+package dsl
+
+import (
+ "github.com/quasilyte/go-ruleguard/dsl/types"
+)
+
+type DoContext struct{}
+
+func (*DoContext) Var(varname string) *DoVar { return nil }
+
+func (*DoContext) SetReport(report string) {}
+
+func (*DoContext) SetSuggest(suggest string) {}
+
+type DoVar struct{}
+
+func (*DoVar) Text() string { return "" }
+
+func (*DoVar) Type() types.Type { return nil }
diff --git a/vendor/github.com/quasilyte/go-ruleguard/dsl/dsl.go b/vendor/github.com/quasilyte/go-ruleguard/dsl/dsl.go
new file mode 100644
index 00000000..d3c73bdd
--- /dev/null
+++ b/vendor/github.com/quasilyte/go-ruleguard/dsl/dsl.go
@@ -0,0 +1,361 @@
+package dsl
+
+// Matcher is a main API group-level entry point.
+// It's used to define and configure the group rules.
+// It also represents a map of all rule-local variables.
+type Matcher map[string]Var
+
+// Import loads given package path into a rule group imports table.
+//
+// That table is used during the rules compilation.
+//
+// The table has the following effect on the rules:
+// * For type expressions, it's used to resolve the
+// full package paths of qualified types, like `foo.Bar`.
+// If Import(`a/b/foo`) is called, `foo.Bar` will match
+// `a/b/foo.Bar` type during the pattern execution.
+func (m Matcher) Import(pkgPath string) {}
+
+// Match specifies a set of patterns that match a rule being defined.
+// Pattern matching succeeds if at least 1 pattern matches.
+//
+// If none of the given patterns matched, rule execution stops.
+func (m Matcher) Match(pattern string, alternatives ...string) Matcher {
+ return m
+}
+
+// MatchComment is like Match, but handles only comments and uses regexp patterns.
+//
+// Multi-line /**/ comments are passed as a single string.
+// Single-line // comments are passed line-by-line.
+//
+// Hint: if you want to match a plain text and don't want to do meta char escaping,
+// prepend `\Q` to your pattern. `\Qf(x)` will match `f(x)` as a plain text
+// and there is no need to escape the `(` and `)` chars.
+//
+// Named regexp capture groups can be accessed using the usual indexing notation.
+//
+// Given this pattern:
+//
+// `(?P\d+)\.(\d+).(?P\d+)`
+//
+// And this input comment: `// 14.6.600`
+//
+// We'll get these submatches:
+//
+// m["$$"] => `14.6.600`
+// m["first"] => `14`
+// m["second"] => `600`
+//
+// All usual filters can be applied:
+//
+// Where(!m["first"].Text.Matches(`foo`))
+//
+// You can use this to reject some matches (allow-list behavior).
+func (m Matcher) MatchComment(pattern string, alternatives ...string) Matcher {
+ return m
+}
+
+// Where applies additional constraint to a match.
+// If a given cond is not satisfied, a match is rejected and
+// rule execution stops.
+func (m Matcher) Where(cond bool) Matcher {
+ return m
+}
+
+// Report prints a message if associated rule match is successful.
+//
+// A message is a string that can contain interpolated expressions.
+// For every matched variable it's possible to interpolate
+// their printed representation into the message text with $.
+// An entire match can be addressed with $$.
+func (m Matcher) Report(message string) Matcher {
+ return m
+}
+
+// Suggest assigns a quickfix suggestion for the matched code.
+func (m Matcher) Suggest(suggestion string) Matcher {
+ return m
+}
+
+func (m Matcher) Do(fn func(*DoContext)) Matcher {
+ return m
+}
+
+// At binds the reported node to a named submatch.
+// If no explicit location is given, the outermost node ($$) is used.
+func (m Matcher) At(v Var) Matcher {
+ return m
+}
+
+// File returns the current file context.
+func (m Matcher) File() File { return File{} }
+
+// GoVersion returns the analyzer associated target Go language version.
+func (m Matcher) GoVersion() GoVersion { return GoVersion{} }
+
+// Deadcode reports whether this match is contained inside a dead code path.
+func (m Matcher) Deadcode() bool { return boolResult }
+
+// Var is a pattern variable that describes a named submatch.
+type Var struct {
+ // Pure reports whether expr matched by var is side-effect-free.
+ Pure bool
+
+ // Const reports whether expr matched by var is a constant value.
+ Const bool
+
+ // ConstSlice reports whether expr matched by var is a slice literal
+ // consisting of contant elements.
+ //
+ // We need a separate Const-like predicate here because Go doesn't
+ // treat slices of const elements as constants, so including
+ // them in Const would be incorrect.
+ // Use `m["x"].Const || m["x"].ConstSlice` when you need
+ // to have extended definition of "constant value".
+ //
+ // Some examples:
+ // []byte("foo") -- constant byte slice
+ // []byte{'f', 'o', 'o'} -- same constant byte slice
+ // []int{1, 2} -- constant int slice
+ ConstSlice bool
+
+ // Value is a compile-time computable value of the expression.
+ Value ExprValue
+
+ // Addressable reports whether the corresponding expression is addressable.
+ // See https://golang.org/ref/spec#Address_operators.
+ Addressable bool
+
+ // Comparable reports whether the corresponding expression value is comparable.
+ // See https://pkg.go.dev/go/types#Comparable.
+ Comparable bool
+
+ // Type is a type of a matched expr.
+ //
+ // For function call expressions, a type is a function result type,
+ // but for a function expression itself it's a *types.Signature.
+ //
+ // Suppose we have a `a.b()` expression:
+ // `$x()` m["x"].Type is `a.b` function type
+ // `$x` m["x"].Type is `a.b()` function call result type
+ Type ExprType
+
+ SinkType SinkType
+
+ // Object is an associated "go/types" Object.
+ Object TypesObject
+
+ // Text is a captured node text as in the source code.
+ Text MatchedText
+
+ // Node is a captured AST node.
+ Node MatchedNode
+
+ // Line is a source code line number that contains this match.
+ // If this match is multi-line, this is the first line number.
+ Line int
+}
+
+// Filter applies a custom predicate function on a submatch.
+//
+// The callback function should use VarFilterContext to access the
+// information that is usually accessed through Var.
+// For example, `VarFilterContext.Type` is mapped to `Var.Type`.
+func (Var) Filter(pred func(*VarFilterContext) bool) bool { return boolResult }
+
+// Contains runs a sub-search from a given pattern using the captured
+// vars from the original pattern match.
+//
+// For example, given the Match(`$lhs = append($lhs, $x)`) pattern,
+// we can do m["lhs"].Contains(`$x`) and learn whether $lhs contains
+// $x as its sub-expression.
+//
+// Experimental: this function is not part of the stable API.
+func (Var) Contains(pattern string) bool { return boolResult }
+
+// MatchedNode represents an AST node associated with a named submatch.
+type MatchedNode struct{}
+
+// Is reports whether a matched node AST type is compatible with the specified type.
+// A valid argument is a ast.Node implementing type name from the "go/ast" package.
+// Examples: "BasicLit", "Expr", "Stmt", "Ident", "ParenExpr".
+// See https://golang.org/pkg/go/ast/.
+func (MatchedNode) Is(typ string) bool { return boolResult }
+
+// Parent returns a matched node parent.
+func (MatchedNode) Parent() Node { return Node{} }
+
+// Node represents an AST node somewhere inside a match.
+// Unlike MatchedNode, it doesn't have to be associated with a named submatch.
+type Node struct{}
+
+// Is reports whether a node AST type is compatible with the specified type.
+// See `MatchedNode.Is` for the full reference.
+func (Node) Is(typ string) bool { return boolResult }
+
+// ExprValue describes a compile-time computable value of a matched expr.
+type ExprValue struct{}
+
+// Int returns compile-time computable int value of the expression.
+// If value can't be computed, condition will fail.
+func (ExprValue) Int() int { return intResult }
+
+// TypesObject is a types.Object mapping.
+type TypesObject struct{}
+
+// Is reports whether an associated types.Object is compatible with the specified type.
+// A valid argument is a types.Object type name from the "go/types" package.
+// Examples: "Func", "Var", "Const", "TypeName", "Label", "PkgName", "Builtin", "Nil"
+// See https://golang.org/pkg/go/types/.
+func (TypesObject) Is(typ string) bool { return boolResult }
+
+// IsGlobal reports whether an associated types.Object is defined in global scope.
+func (TypesObject) IsGlobal() bool { return boolResult }
+
+// IsVariadicParam reports whether this object represents a function variadic param.
+// This property is not propagated between the assignments.
+func (TypesObject) IsVariadicParam() bool { return boolResult }
+
+type SinkType struct{}
+
+// Is reports whether a type is identical to a given type.
+// Works like ExprType.Is method.
+func (SinkType) Is(typ string) bool { return boolResult }
+
+// ExprType describes a type of a matcher expr.
+type ExprType struct {
+ // Size represents expression type size in bytes.
+ //
+ // For expressions of unknown size, like type params in generics,
+ // any filter using this operand will fail.
+ Size int
+}
+
+// IdenticalTo applies types.Identical(this, v.Type) operation.
+// See https://golang.org/pkg/go/types/#Identical function documentation.
+//
+// Experimental: this function is not part of the stable API.
+func (ExprType) IdenticalTo(v Var) bool { return boolResult }
+
+// Underlying returns expression type underlying type.
+// See https://golang.org/pkg/go/types/#Type Underlying() method documentation.
+// Read https://golang.org/ref/spec#Types section to learn more about underlying types.
+func (ExprType) Underlying() ExprType { return underlyingType }
+
+// AssignableTo reports whether a type is assign-compatible with a given type.
+// See https://golang.org/pkg/go/types/#AssignableTo.
+func (ExprType) AssignableTo(typ string) bool { return boolResult }
+
+// ConvertibleTo reports whether a type is conversible to a given type.
+// See https://golang.org/pkg/go/types/#ConvertibleTo.
+func (ExprType) ConvertibleTo(typ string) bool { return boolResult }
+
+// Implements reports whether a type implements a given interface.
+// See https://golang.org/pkg/go/types/#Implements.
+func (ExprType) Implements(typ typeName) bool { return boolResult }
+
+// HasMethod reports whether a type has a given method.
+// Unlike Implements(), it will work for both value and pointer types.
+//
+// fn argument is a function signature, like `WriteString(string) (int, error)`.
+// It can also be in form of a method reference for importable types: `io.StringWriter.WriteString`.
+//
+// To avoid confusion with Implements() method, here is a hint when to use which:
+//
+// - To check if it's possible to call F on x, use HasMethod(F)
+// - To check if x can be passed as I interface, use Implements(I)
+func (ExprType) HasMethod(fn string) bool { return boolResult }
+
+// Is reports whether a type is identical to a given type.
+func (ExprType) Is(typ string) bool { return boolResult }
+
+// HasPointers reports whether a type contains at least one pointer.
+//
+// We try to be as close to the Go sense of pointer-free objects as possible,
+// therefore string type is not considered to be a pointer-free type.
+//
+// This function may return "true" for some complicated cases as a
+// conservative result. It never returns "false" for a type that
+// actually contains a pointer.
+//
+// So this function is mostly useful for !HasPointers() form.
+func (ExprType) HasPointers() bool { return boolResult }
+
+// OfKind reports whether a matched expr type is compatible with the specified kind.
+//
+// Only a few "kinds" are recognized, the list is provided below.
+//
+// "integer" -- typ is *types.Basic, where typ.Info()&types.Integer != 0
+// "unsigned" -- typ is *types.Basic, where typ.Info()&types.Unsigned != 0
+// "float" -- typ is *types.Basic, where typ.Info()&types.Float != 0
+// "complex" -- typ is *types.Basic, where typ.Info()&types.Complex != 0
+// "untyped" -- typ is *types.Basic, where typ.Info()&types.Untyped != 0
+// "numeric" -- typ is *types.Basic, where typ.Info()&types.Numeric != 0
+// "signed" -- identical to `OfKind("integer") && !OfKind("unsigned")`
+// "int" -- int, int8, int16, int32, int64
+// "uint" -- uint, uint8, uint16, uint32, uint64
+//
+// Note: "int" will include "rune" as well, as it's an alias.
+// In the same manner, "uint" includes the "byte" type.
+//
+// Using OfKind("unsigned") is more efficient (and concise) than using a set
+// of or-conditions with Is("uint8"), Is("uint16") and so on.
+func (ExprType) OfKind(kind string) bool { return boolResult }
+
+// MatchedText represents a source text associated with a matched node.
+type MatchedText string
+
+// Matches reports whether the text matches the given regexp pattern.
+func (MatchedText) Matches(pattern string) bool { return boolResult }
+
+// String represents an arbitrary string-typed data.
+type String string
+
+// Matches reports whether a string matches the given regexp pattern.
+func (String) Matches(pattern string) bool { return boolResult }
+
+// File represents the current Go source file.
+type File struct {
+ // Name is a file base name.
+ Name String
+
+ // PkgPath is a file package path.
+ // Examples: "io/ioutil", "strings", "github.com/quasilyte/go-ruleguard/dsl".
+ PkgPath String
+}
+
+// Imports reports whether the current file imports the given path.
+func (File) Imports(path string) bool { return boolResult }
+
+// GoVersion is an analysis target go language version.
+// It can be compared to Go versions like "1.10", "1.16" using
+// the associated methods.
+type GoVersion struct{}
+
+// Eq asserts that target Go version is equal to (==) specified version.
+func (GoVersion) Eq(version string) bool { return boolResult }
+
+// GreaterEqThan asserts that target Go version is greater or equal than (>=) specified version.
+func (GoVersion) GreaterEqThan(version string) bool { return boolResult }
+
+// GreaterThan asserts that target Go version is greater than (>) specified version.
+func (GoVersion) GreaterThan(version string) bool { return boolResult }
+
+// LessThan asserts that target Go version is less than (<) specified version.
+func (GoVersion) LessThan(version string) bool { return boolResult }
+
+// LessEqThan asserts that target Go version is less or equal than (<=) specified version.
+func (GoVersion) LessEqThan(version string) bool { return boolResult }
+
+// typeName is a helper type used to document function params better.
+//
+// A type name can be:
+// - builtin type name: `error`, `string`, etc.
+// - qualified name from a standard library: `io.Reader`, etc.
+// - fully-qualified type name, like `github.com/username/pkgname.TypeName`
+//
+// typeName is also affected by a local import table, which can override
+// how qualified names are interpreted.
+// See `Matcher.Import` for more info.
+type typeName = string
diff --git a/vendor/github.com/quasilyte/go-ruleguard/dsl/filter.go b/vendor/github.com/quasilyte/go-ruleguard/dsl/filter.go
new file mode 100644
index 00000000..cef88009
--- /dev/null
+++ b/vendor/github.com/quasilyte/go-ruleguard/dsl/filter.go
@@ -0,0 +1,24 @@
+package dsl
+
+import (
+ "github.com/quasilyte/go-ruleguard/dsl/types"
+)
+
+// VarFilterContext carries Var and environment information into the filter function.
+// It's an input parameter type for the Var.Filter function callback.
+type VarFilterContext struct {
+ // Type is mapped to Var.Type field.
+ Type types.Type
+}
+
+// SizeOf returns the size of the given type.
+// It uses the ruleguard.Context.Sizes to calculate the result.
+func (*VarFilterContext) SizeOf(x types.Type) int { return 0 }
+
+// GetType finds a type value by a given name.
+// If a type can't be found (or a name is malformed), this function panics.
+func (*VarFilterContext) GetType(name typeName) types.Type { return nil }
+
+// GetInterface finds a type value that represents an interface by a given name.
+// Works like `types.AsInterface(ctx.GetType(name))`.
+func (*VarFilterContext) GetInterface(name typeName) *types.Interface { return nil }
diff --git a/vendor/github.com/quasilyte/go-ruleguard/dsl/internal.go b/vendor/github.com/quasilyte/go-ruleguard/dsl/internal.go
new file mode 100644
index 00000000..3bb6d85d
--- /dev/null
+++ b/vendor/github.com/quasilyte/go-ruleguard/dsl/internal.go
@@ -0,0 +1,6 @@
+package dsl
+
+var boolResult bool
+var intResult int
+
+var underlyingType ExprType
diff --git a/vendor/github.com/quasilyte/go-ruleguard/dsl/types/ext.go b/vendor/github.com/quasilyte/go-ruleguard/dsl/types/ext.go
new file mode 100644
index 00000000..82595ff3
--- /dev/null
+++ b/vendor/github.com/quasilyte/go-ruleguard/dsl/types/ext.go
@@ -0,0 +1,21 @@
+package types
+
+// AsArray is a type-assert like operation, x.(*Array), but never panics.
+// Returns nil if type is not an array.
+func AsArray(x Type) *Array { return nil }
+
+// AsSlice is a type-assert like operation, x.(*Slice), but never panics.
+// Returns nil if type is not an array.
+func AsSlice(x Type) *Slice { return nil }
+
+// AsPointer is a type-assert like operation, x.(*Pointer), but never panics.
+// Returns nil if type is not a pointer.
+func AsPointer(x Type) *Pointer { return nil }
+
+// AsStruct is a type-assert like operation, x.(*Struct), but never panics.
+// Returns nil if type is not a struct.
+func AsStruct(x Type) *Struct { return nil }
+
+// AsInterface is a type-assert like operation, x.(*Interface), but never panics.
+// Returns nil if type is not an interface.
+func AsInterface(x Type) *Interface { return nil }
diff --git a/vendor/github.com/quasilyte/go-ruleguard/dsl/types/type_impl.go b/vendor/github.com/quasilyte/go-ruleguard/dsl/types/type_impl.go
new file mode 100644
index 00000000..9fc71d75
--- /dev/null
+++ b/vendor/github.com/quasilyte/go-ruleguard/dsl/types/type_impl.go
@@ -0,0 +1,17 @@
+package types
+
+// Method stubs to make various types implement Type interface.
+//
+// Nothing interesting here, hence it's moved to a separate file.
+
+func (*Array) String() string { return "" }
+func (*Slice) String() string { return "" }
+func (*Pointer) String() string { return "" }
+func (*Interface) String() string { return "" }
+func (*Struct) String() string { return "" }
+
+func (*Array) Underlying() Type { return nil }
+func (*Slice) Underlying() Type { return nil }
+func (*Pointer) Underlying() Type { return nil }
+func (*Interface) Underlying() Type { return nil }
+func (*Struct) Underlying() Type { return nil }
diff --git a/vendor/github.com/quasilyte/go-ruleguard/dsl/types/types.go b/vendor/github.com/quasilyte/go-ruleguard/dsl/types/types.go
new file mode 100644
index 00000000..b6be7cc3
--- /dev/null
+++ b/vendor/github.com/quasilyte/go-ruleguard/dsl/types/types.go
@@ -0,0 +1,68 @@
+// Package types mimics the https://golang.org/pkg/go/types/ package.
+// It also contains some extra utility functions, they're defined in ext.go file.
+package types
+
+// Implements reports whether a given type implements the specified interface.
+func Implements(typ Type, iface *Interface) bool { return false }
+
+// Identical reports whether x and y are identical types. Receivers of Signature types are ignored.
+func Identical(x, y Type) bool { return false }
+
+// A Type represents a type of Go. All types implement the Type interface.
+type Type interface {
+ // Underlying returns the underlying type of a type.
+ Underlying() Type
+
+ // String returns a string representation of a type.
+ String() string
+}
+
+type (
+ // An Array represents an array type.
+ Array struct{}
+
+ // A Slice represents a slice type.
+ Slice struct{}
+
+ // A Pointer represents a pointer type.
+ Pointer struct{}
+
+ // An Interface represents an interface type.
+ Interface struct{}
+
+ // A struct represents a struct type.
+ Struct struct{}
+)
+
+// NewArray returns a new array type for the given element type and length.
+// A negative length indicates an unknown length.
+func NewArray(elem Type, len int) *Array { return nil }
+
+// Elem returns element type of array.
+func (*Array) Elem() Type { return nil }
+
+// NewSlice returns a new slice type for the given element type.
+func NewSlice(elem Type) *Slice { return nil }
+
+// Elem returns element type of slice.
+func (*Slice) Elem() Type { return nil }
+
+// Len returns the length of array.
+// A negative result indicates an unknown length.
+func (*Array) Len() int { return 0 }
+
+// NewPointer returns a new pointer type for the given element (base) type.
+func NewPointer(elem Type) *Pointer { return nil }
+
+// Elem returns the element type for the given pointer.
+func (*Pointer) Elem() Type { return nil }
+
+func (*Struct) NumFields() int { return 0 }
+
+func (*Struct) Field(i int) *Var { return nil }
+
+type Var struct{}
+
+func (*Var) Embedded() bool { return false }
+
+func (*Var) Type() Type { return nil }
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 3d7f782f..e53ec628 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -190,8 +190,8 @@ github.com/cloudwego/base64x/internal/native
github.com/cloudwego/base64x/internal/native/avx2
github.com/cloudwego/base64x/internal/native/sse
github.com/cloudwego/base64x/internal/rt
-# github.com/conductorone/baton-sdk v0.3.2
-## explicit; go 1.23.4
+# github.com/conductorone/baton-sdk v0.4.0
+## explicit; go 1.25
github.com/conductorone/baton-sdk/pb/c1/c1z/v1
github.com/conductorone/baton-sdk/pb/c1/config/v1
github.com/conductorone/baton-sdk/pb/c1/connector/v2
@@ -229,6 +229,9 @@ github.com/doug-martin/goqu/v9/sqlgen
# github.com/dustin/go-humanize v1.0.1
## explicit; go 1.16
github.com/dustin/go-humanize
+# github.com/ennyjfrick/ruleguard-logfatal v0.0.2
+## explicit; go 1.23
+github.com/ennyjfrick/ruleguard-logfatal
# github.com/envoyproxy/protoc-gen-validate v1.2.1
## explicit; go 1.21.1
github.com/envoyproxy/protoc-gen-validate/validate
@@ -302,12 +305,13 @@ github.com/inconshreveable/mousetrap
# github.com/json-iterator/go v1.1.12
## explicit; go 1.12
github.com/json-iterator/go
-# github.com/klauspost/compress v1.17.11
-## explicit; go 1.21
+# github.com/klauspost/compress v1.18.0
+## explicit; go 1.22
github.com/klauspost/compress
github.com/klauspost/compress/fse
github.com/klauspost/compress/huff0
github.com/klauspost/compress/internal/cpuinfo
+github.com/klauspost/compress/internal/le
github.com/klauspost/compress/internal/snapref
github.com/klauspost/compress/zstd
github.com/klauspost/compress/zstd/internal/xxhash
@@ -365,6 +369,10 @@ github.com/pelletier/go-toml/v2/unstable
github.com/pterm/pterm
github.com/pterm/pterm/internal
github.com/pterm/pterm/putils
+# github.com/quasilyte/go-ruleguard/dsl v0.3.22
+## explicit; go 1.15
+github.com/quasilyte/go-ruleguard/dsl
+github.com/quasilyte/go-ruleguard/dsl/types
# github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec
## explicit; go 1.12
github.com/remyoudompheng/bigfft